summaryrefslogtreecommitdiff
path: root/doc/todo/online_configuration.mdwn
blob: 584eb1dd21205fc698a172aefe659b8175025e7a (plain)

It should be possible to configure ikiwiki online, in the wiki admin's preferences form. Rather than the current situation where most settings are in ikiwiki.setup, and one or two (like locked pages and upload limits) in the admin preferences.

In theory, every setting could be configured there. In practice, some settings, like srcdir and destdir are ones you want to keep far away from editing via the web.

Currently admin prefs are per-admin, and are stored in the userdb. That seems like a bad choice in the context of this idea. Instead, admin setup should be configured on a separate page than the regular user prefs page, and should be shared amoung all admins, and the ideal storage would be a ikiwiki setup file, which could be loaded in, and written back out.

The underlying work has been done to privide metadata about all options via getsetup hooks, so it's just a matter of writing a web interface plugin.

The plugin could have these config options:

# list of options to include in web setup (safe = all things with safe = 1)
websetup_include => [qw{safe}],
# list of options to exclude from web setup
websetup_exclude => [qw{option_baz}],
# list of plugins that cannot be enabled/disabled via the web
# interface
websetup_unconfigurable_plugins => [qw{}]

Leaning toward just making it write out to the same setup file, rather than writing to a subsidiary setup file. However, this would mean that any comments in the file would be lost, and that it couldn't be used if the setup file had weird stuff (perl code, etc).

[[!tag wishlist]]