X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/15f393584a799473fa17dccd53df5fc2dcf694a8..147106d755cbae0201e360e7d3e7403e87b9a87c:/doc/plugins/write/external.mdwn diff --git a/doc/plugins/write/external.mdwn b/doc/plugins/write/external.mdwn index e699e43e1..a1a3811dc 100644 --- a/doc/plugins/write/external.mdwn +++ b/doc/plugins/write/external.mdwn @@ -8,6 +8,10 @@ written in perl, but is intended to be an example of how to write an external plugin in your favorite programming language. Wow us at how much easier you can do the same thing in your favorite language. ;-) +There's now a second external plugin, the [[rst]] plugin, written in +python. (Could someone convert it into a python library that can be used by +other plugins?) + [[toc ]] ## How external plugins use XML RPC @@ -45,6 +49,11 @@ to access any such global hash. To get the "url" configuration value, call `getvar("config", "url")`. To set it, call `setvar("config", "url", "http://example.com/)`. +The `%pagestate` is a special hash with a more complex format. To access +it, external plugins can use the `getstate` and `setstate` RPCs. To access +stored state, call `getstate("page", "id", "key")`, and to store state, +call `setstate("page", "id", "key", "value")`. + ## Notes on function parameters The [[plugin_interface_documentation|write]] talks about functions that take @@ -87,7 +96,7 @@ to 1. Since XML RPC can't pass around references to objects, it can't be used with functions that take or return such references. That means you can't -use XML RPC for `cgi` or `formbuilder` hooks (which are passed CGI and +100% use XML RPC for `cgi` or `formbuilder` hooks (which are passed CGI and FormBuilder perl objects), or use it to call `template()` (which returns a perl HTML::Template object).