After doing a pile of research on how to best create an extension management platform for MediaWiki as my Google Summer of Code project, I realized that a lot of the work that I wanted to do was already done in some form or another, and decided to somewhat augment my goals. Since I can build upon Configure, and the Deployment Framework of Ontoprise, it should now be possible to also take care of the MediaWiki and extension configuration that I put as optional in my original proposal. To have some transparency here, and not to cause misconceptions, I created an awesome new roadmap.
I did an attempt to get some feedback by posting my roadmap on wikitech-l, but apparently everyone is either happy with it, or more likely, Parkinson’s Law of Triviality is in play here. So feedback and suggestions are definitely welcome, you can post them on the discussion page.
As Configure is doing an awesome job already without making significant changes to any existing code, I decided to start off with the Deployment Framework. I’m currently in the process of figuring out how it works exactly, so I’m able to extend it’s features, and build a GUI in the form of several MediaWiki special pages on top of it. This will have some immediate pay-off as Ontoprise will be able to use this improved version directly.
Both my presentations for Wikimania 2010 have been accepted, of which one is about my project, which will give me a change to explain to people what I’m doing and why it’s so awesome 🙂
My main complaint is that I don’t think Configure *has* done it well. The UI may be nice, but I’m not really a fan of the backend. It didn’t change any of our mentality towards configuration, and IMHO was a hack on top of a bad situation.
Ideally, what I’d like to see is some sort of configuration database (with multiple backends) that can store these values for us. Ideally, using globals for configuration would die (some B/C for people who still have LocalSettings.php in place would be nice, of course). I wrote up some preliminary notes at http://mediawiki.org/wiki/Configuration_database, but it’s far from complete.
@Chad: I did not mean to say Configure is a good solution to the configuration problem, but rather that it’s a good effort to see how far you can go without fundamentally changing the way configuration is done, like with a configuration database. Like you can see on the roadmap, I am planning to do that after the initial deployment work has been done 🙂