external: Work around XML RPC's lack of support for null by passing a special sentina...
authorJoey Hess <joey@kodama.kitenet.net>
Fri, 21 Mar 2008 19:12:15 +0000 (15:12 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Fri, 21 Mar 2008 19:12:15 +0000 (15:12 -0400)
debian/changelog
doc/plugins/write/external.mdwn

index 2169f310d2029b9d67fddc89c04b1ccd60e29715..1b046b20c152b81d15ebc795bd6c6620a6111ee2 100644 (file)
@@ -59,6 +59,8 @@ ikiwiki (2.41) UNRELEASED; urgency=low
   * inline: Crazy optimisation to work around slow markdown.
   * Precompile pagespecs, about 10% overall speedup.
   * Changed to a binary index file, written using Storable, for speed.
+  * external: Work around XML RPC's lack of support for null by passing
+    a special sentinal value.
 
  -- martin f. krafft <madduck@debian.org>  Sun, 02 Mar 2008 17:46:38 +0100
 
index 4492cd0dabe439bb11c3c2a4b9d6815111fb08e9..bda34b77188301c67cdf30c7dc85ac5ab492c008 100644 (file)
@@ -79,6 +79,19 @@ Other languages might not find it so easy. If not, it might be a good idea
 to convert these named parameters into something more natural for the
 language as part of their XML RPC interface.
 
+## undef
+
+XML RPC has a limitation that it does not have a way to pass
+undef/NULL/None. There is an extension to the protocol that supports this,
+but it is not yet available in the [[cpan XML::RPC]] library used by
+ikiwiki.
+
+Until the extension is available, ikiwiki allows undef to be communicated
+over XML RPC by passing a sentinal value, a hash with a single key "null"
+with a value of an empty string. External plugins that need to communicate
+null values to or from ikiwiki will have to translate between undef and
+the sentinal.
+
 ## Function injection
 
 Some parts of ikiwiki are extensible by adding functions. For example, the