Configure Plugin

configure interface using json-rpc

This plugin provides access to all Foswiki configuration data through the webserver, supports running server-side checkers and wizards, and allows you to save modifications.

You do not have to have this plugin installed to run Foswiki. Checkers and wizards can be run from the command-line using the tools/configure_test script, and LocalSite.cfg can be manually edited to add your required settings. However this UI provides a simple way to access the configuration without requiring login access to the server.

If your system has an existing LocalSite.cfg, then you must be logged in to Foswiki as an administrator, or as a user identified by the {FeatureAccess}{Configure} parameter before attempting to use this interface. If no LocalSite.cfg exists, then you will automatically logged in as an admin. Do not log out of Foswiki until you have done one or more of the following:
  • Registered a user and added them to the AdminGroup
  • Registered a user and added them to the {FeatureAccess}{Configure} list of users
  • Set an internal admin user password in the expert setting {Password}

Users of the configure interface access it through the CGI script in bin/configure. The UI is self-explanatory and needs no further introduction here.

Of interest to developers may be the JSON RPC interface provided by the plugin, which gives access to the Foswiki configuration to web clients (who must, of course, meet the above criteria to make RPC calls).

Remote Procedure Call (RPC) interface

RPC calls are handled via the JsonRpcContrib. Callers must authenticate as admins, or the request will be rejected with a 403 status.

Note: If Foswiki is running in 'bootstrap' mode (without a LocalSite.cfg) then all calls are automatically assumed to be from an admin. As soon as a LocalSite.cfg is put in place, then the authentication set up therein will apply, and users are required to logged in as admins.

Entry points for each of the static methods published by the Foswiki::Configure::Query class are supported. See that class for descriptions.

Invocation examples

Call using a URL of the format:

while POSTing a request encoded according to the JSON-RPC 2.0 specification:

  jsonrpc: "2.0", 
  method: "getspec", 
  params: {
     get : { keys: "{DataDir}" },
     depth : 0
  id: "caller's id"

.spec format

The format of .spec files is documented in detail in There are two node types in the .spec tree:

SECTIONs have:
  • headline (default UNKNOWN, the root is usually '')
  • typename (always SECTION)
  • children - array of child nodes (sections and keys)

Key entries (such as {DataDir}) have:
  • keys e.g. {Store}{Cupboard}
  • typename (from the .spec)
  • Other keys from the .spec e.g. SIZE, FEEDBACK, CHECK


You do not need to install anything in the browser to use this extension. The following instructions are for the administrator who installs the extension on the server.

Open configure, and open the "Extensions" section. Use "Find More Extensions" to get a list of available extensions. Select "Install".

If you have any problems, or if the extension isn't available in configure, then you can still install manually from the command-line. See for more help.

The plugin uses the JsonRpcContrib, which must be installed.


Foswiki::Plugins::JQueryPlugin>=6.00Required JQuery
Foswiki::Contrib::JsonRpcContrib>=0Required JSON interface

Change History

11 Apr 2016: (1.05) Foswikitask:Item14049: fixed jsonrpc endpoint
03 Feb 2016: (1.04) Foswikitask:Item13917: Regex type doesn't correctly compare default value
14 Oct 2015: (1.03) fixed base use of console not supported by all browsers
08 Sep 2015: (1.02) Foswikitask:Item13560: Configure does not set initial values for extensions.
18 Dec 2014: (1.01) Initial version

PackageForm edit

Author CrawfordCurrie
Version 1.05
Release 11 Apr 2016
Description configure interface using json-rpc
Copyright 2013-2016, CrawfordCurrie, All Rights Reserved
License GPL (GNU General Public License)
ExtensionType PluginPackage
Compatibility Foswiki 2.0.2. Do not install this update on Foswiki 1.x, 2.0.0, or 2.0.1.
IncompatibleWith 2.0.1, 2.0.0
DemoUrl http://
SupportUrl ConfigurePlugin
ModificationPolicy FollowsReleaseProcess
Topic attachments
I Attachment Action Size Date Who Comment
ConfigurePlugin.md5md5 ConfigurePlugin.md5 manage 168 bytes 01 May 2016 - 03:45 GeorgeClark  
ConfigurePlugin.sha1sha1 ConfigurePlugin.sha1 manage 192 bytes 01 May 2016 - 03:47 GeorgeClark  
ConfigurePlugin.tgztgz ConfigurePlugin.tgz manage 78 K 01 May 2016 - 03:44 GeorgeClark  
ConfigurePlugin.zipzip manage 88 K 01 May 2016 - 03:43 GeorgeClark  
ConfigurePlugin_installerEXT ConfigurePlugin_installer manage 7 K 01 May 2016 - 03:45 GeorgeClark  
Topic revision: r7 - 01 May 2016, GeorgeClark - This page was cached on 25 Oct 2016 - 07:06.

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License