On 10/9/07, Simetrical Simetrical+wikilist@gmail.com wrote:
On 10/7/07, Andrew Garrett andrew@epstone.net wrote:
As I was discussing last night with another developer, these are almost always better implemented, at least from an interface perspective, as extra special pages and database tables.
But adding extra special pages fragments the interface for configuration more. What would be best is making a Special:Config or Special:Controlpanel, with subpages, to allow any sort of configuration we might want to expose to users. The unified interface presented by most bulletin boards is something we should look to emulate, including a toolbox or other button to access the config page for those with the right to it. Ideally, I would see things like Special:Blockip and Special:Userrights being merged into this.
Yes, this would take away the "hacky" feel of the MediaWiki configuration inferface at the moment. As much as we try to improve each individual special page, the way it's presented to the user still feels ugly, hacky, however functional it may seem.
As for database tables, most configuration settings tend to be booleans or relatively short strings. Those probably belong in a single config table.
Yes, this is how I've implemented this at devanywhere - I have a "site_metadata" table, which has a varchar key and a BLOB value, and it's handy for all the stuff that, on MediaWiki, we put in LocalSettings.php, for instance enabling certain features, setting the site name, and all that kind of stuff.
Some configuration options are much more complicated and possible deserve their own table, but things like the sidebar should be stored in a single field. Are there any examples you were thinking of of things currently stored in messages that really deserve their own database tables?
Certainly. The autoblock-whitelist, the spam blacklist, the spam blacklist, the bad image list, the username blacklist, the list of disambiguation templates, perhaps the licenses list.