From: Joey Hess Date: Fri, 21 Mar 2008 19:12:15 +0000 (-0400) Subject: external: Work around XML RPC's lack of support for null by passing a special sentina... X-Git-Tag: 2.41~33 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ca8852b434dae02b271ba2a1dddadfdf56ea3320;p=ikiwiki.git external: Work around XML RPC's lack of support for null by passing a special sentinal value. --- diff --git a/debian/changelog b/debian/changelog index 2169f310d..1b046b20c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 Sun, 02 Mar 2008 17:46:38 +0100 diff --git a/doc/plugins/write/external.mdwn b/doc/plugins/write/external.mdwn index 4492cd0da..bda34b771 100644 --- a/doc/plugins/write/external.mdwn +++ b/doc/plugins/write/external.mdwn @@ -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