X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/d5e65e582a34ae2494fee493ddcb2b959e4a4bce..fe001bd7bf8d16ae998aa66513e3d2276ab9749b:/doc/plugins/write/external.mdwn

diff --git a/doc/plugins/write/external.mdwn b/doc/plugins/write/external.mdwn
index cbcd9bf19..a3fbe8a2c 100644
--- a/doc/plugins/write/external.mdwn
+++ b/doc/plugins/write/external.mdwn
@@ -1,7 +1,7 @@
 External plugins are standalone, executable programs, that can be written
 in any language. When ikiwiki starts up, it runs the program, and
-communicates with it using [XML RPC][xmlrpc]. If you want to [[write]] an external
-plugin, read on..
+communicates with it using [XML RPC][xmlrpc]. If you want to [[write]] an
+external plugin, read on..
 
 [xmlrpc]: http://www.xmlrpc.com/
 
@@ -29,7 +29,7 @@ stdin, using XML RPC. Dispatch the command, and return its result to
 stdout, also using XML RPC. After reading a command, and before returning
 the result, the plugin can output XML RPC requests of its own, calling
 functions in ikiwiki. Note: *Never* make an XML RPC request at any other
-time. Ikiwiki won't be listening for it, and you will deadlock.
+time. IkiWiki won't be listening for it, and you will deadlock.
 
 When ikiwiki starts up an external plugin, the first RPC it will make
 is to call the plugin's `import()` function. That function typically makes
@@ -44,7 +44,7 @@ supported in ikiwiki version 2.6.
 
 ## Accessing data structures
 
-Ikiwiki has a few global data structures such as `%config`, which holds
+IkiWiki has a few global data structures such as `%config`, which holds
 its configuration. External plugins can use the `getvar` and `setvar` RPCs
 to access any such global hash. To get the "url" configuration value,
 call `getvar("config", "url")`. To set it, call 
@@ -85,8 +85,8 @@ language as part of their XML RPC interface.
 
 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.
+but it is not yet available in all versions of 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"
@@ -96,14 +96,13 @@ the sentinal.
 
 ## Function injection
 
-Some parts of ikiwiki are extensible by adding functions. For example, the
-RCS interface relies on plugins providing several IkiWiki::rcs_* functions.
+Some parts of ikiwiki are extensible by adding or overriding functions.
 It's actually possible to do this from an external plugin too. 
 
-To make your external plugin provide an `IkiWiki::rcs_update` function, for
+To make your external plugin override the `IkiWiki::formattime` function, for
 example, make an RPC call to `inject`. Pass it named parameters "name" and
 "call", where "name" is the name of the function to inject into perl (here
-"Ikiwiki::rcs_update" and "call" is the RPC call ikiwiki will make whenever
+"Ikiwiki::formattime" and "call" is the RPC call ikiwiki will make whenever
 that function is run.
 
 If the RPC call is memoizable, you can also pass a "memoize" parameter, set
@@ -134,12 +133,12 @@ large quantity of data conversion going on. In contrast, `preprocess` hooks
 are called generally rarely, and pass around minimal data.
 
 External plugins should avoid making RPC calls unnecessarily (ie, in a loop).
-Memoizing the results of appropriate RPC calls is one good way to minimise the
+Memoizing the results of appropriate RPC calls is one good way to minimize the
 number of calls.
 
 Injecting a replacement for a commonly called ikiwiki function
 could result in a lot more RPC calls than expected and slow
-eveything down. `pagetitle`, for instance, is called about 100 times
+everything down. `pagetitle`, for instance, is called about 100 times
 per page build. Whenever possible, you should tell ikiwiki to memoize
 injected functions.