Wiki RPCInterface

Aus Earthdawn-Wiki.v2

JSPWiki comes with a XML-RPC interface. For more information, see:

  • [1]
  • [JSPWiki:WikiRPCInterface]

XML-RPC Standard API

Here is now the API as of v1.6.12 (the command prefix being wiki.). The default URL for this API is <your-wiki-url>/RPC2

  • array getRecentChanges( Date timestamp ): Get list of changed pages since

timestamp, which should be in UTC. The result is an array, where each element is a struct:

    • name (string) : Name of the page. The name is UTF-8 with URL

encoding to make it ASCII.

    • lastModified (date) : Date of last modification, in UTC.
    • author (string) : Name of the author (if available). Again, name is

UTF-8 with URL encoding.

    • version (int) : Current version.
  • A page MAY be specified multiple times. A page MAY NOT be specified multiple

times with the same modification date.

  • int getRPCVersionSupported(): Returns 1 with this version of the JSPWiki API.
  • base64 getPage( String pagename ): Get the raw Wiki text of page, latest

version. Page name must be UTF-8, with URL encoding. Returned value is a binary object, with UTF-8 encoded page data.

  • base64 getPageVersion( String pagename, int version ): Get the raw Wiki

text of page. Returns UTF-8, expects UTF-8 with URL encoding.

  • base64 getPageHTML( String pagename ): Return page in rendered HTML.

Returns UTF-8, expects UTF-8 with URL encoding.

  • base64 getPageHTMLVersion( String pagename, int version ): Return page

in rendered HTML, UTF-8.

  • array getAllPages(): Returns a list of all pages. The result is an array

of strings, again UTF-8 in URL encoding.

  • struct getPageInfo( string pagename ) : returns a struct with elements
    • name (string): the canonical page name, URL-encoded UTF-8.
    • lastModified (date): Last modification date, UTC.
    • author (string): author name, URL-encoded UTF-8.
    • version (int): current version
  • struct getPageInfoVersion( string pagename, int version ) : returns a

struct just like plain getPageInfo(), but this time for a specific version.

  • array listLinks( string pagename ): Lists all links for a given page.

The returned array contains structs, with the following elements:

    • page (string) : The page name or URL the link is to.
    • type (int) : The link type. This is a string, with the following

possible values:

      • "external" : The link is an external hyperlink
      • "local" : This is a local Wiki name for hyperlinking

As you can see, all data is returned in a base64 -type in UTF-8 encoding, regardless of what JSPWiki preference actually is. Also, all incoming or outcoming strings are really UTF-8, but they have been URL-encoded so that the XML-RPC requirement of ASCII is fulfilled.

The UTF-8 API

This is exactly as the upper API, except that ALL strings should be encoded in UTF-8. Also, instead of base64 type, all methods returning page data return UTF-8 format strings. This does break the XML-RPC spec somewhat, but for ease of use I think it is important to serve both models. Use which one you like :-). The default URL for the UTF-8 XML-RPC API is <your-wiki-url>/RPCU

Errors

All methods which handle a page in any way can return a Fault. Current fault codes are:

  • 1 : No such page was found.