[pmwiki-devel] Admin interface design ideas

Henrik Bechmann henrik at bechmann.ca
Wed Feb 4 11:19:48 CST 2009

I want to surface some (more) admin settings to wiki pages through a 
recipe, and wanted to kick some ideas around.

Initially, I want to allow admins of my websites to set skins through an 
admin interface, but I anticipate other uses as well (enabling certain 
recipes for example). So I'm searching for a fairly generic way of 
approaching this, that could easily be extended.

My current thoughts:

Admin settings could be in four types of wiki pages:


... as appropriate, probably using PTV's in the short run, though 
possibly using forms.

Config values should be written to an executable php file (so that they 
can be changed at the file level as well). This file I presume would 
have to be written to wiki.d (to deal with write restrictions). The file 
when executed would load the config values into a global array 
$configsettings, from whence the values could be assigned to the 
appropriate PmWiki variables.

There could be a separate executable file for each wiki page, or a 
combined file for all wiki pages (any thoughts on this?)

Probably easiest to have php files with ".php" appended to the wiki page 
name (much like config files are now handled in the local dir).

The format of the file would be:

$configsettings['variable'] = value;
$configsettings['Skin'] = 'MySkin';
$configsettings['selector.subselector.subselector'] = value1;
$configsettings['selector.subselector.subselector2'] = value2;

where the dot notation indicates sub-arrays.

The values would then be mapped to variables (or arrays).

So for instance

$configsettings['EnableRelativePageVars'] =1;

would be assigned to the $EnableRelativePageVars global variable.

On the SiteAdmin.Config wiki page the entry would (in the short run) 
look like this:


BTW do PTV's support dot notation? So could I do


as a PTV on a wiki page?

Also, the PTV values could be parsed with ParseArgs, I presume, for more 
complex settings.

Anyone have any thoughts on any of this?

- Henrik


Henrik Bechmann

More information about the pmwiki-devel mailing list