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.
As for database tables, most configuration settings tend to be booleans or relatively short strings. Those probably belong in a single config table. 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?