My initial proposal was to create an awesome extension management platform for MediaWiki that would allow for functionality similar to what you have in the WordPress admin panel ... I started with porting the filesystem abstraction classes from WordPress, which are needed for doing any upgrade or installation operations that include changes to the codebase. (The current MediaWiki installer can do upgrades, but only to the database.) I created a new extension called Deployment, where I put in this code ... but it turned out that doing filesystem upgrades securely is not an easy task, so after finishing the port, I stopped work on this temproarily. I then poked somewhat at the new MediaWiki installer [due to ship with MediaWiki version 1.17], which is a complete rewrite of the current installer. I made some minor improvements there, and split the Installer class, which held core installer functionality, into a more generic Installer class and a CoreInstaller. This allows for creating an ExtensionInstaller that uses the same base code ...
I decided to create the package repository, from which MediaWiki and extensions could get updates and new extensions, from scratch, and started working on another extension, titled Distribution, for this purpose. I merged it together with a rewritten version of the MWReleases extension written by Chad, which already had core update detection functionality. After the Distribution APIs where working decently I started work on the Special pages in Distribution that would serve as the equivalent of the WordPress admin panel. As I had put off the configuration work, and also the file-system manipulation for the initial version, this came down to simply listing currently installed software, update detection and browsing through extensions available in the repository ...
So, what is the state of the code at the moment? The interfaces that are finished to some extent are:
- Special:Extensions (pictured): This page lists all installed extensions and allows you to filter on extension type. It’s based on the WordPress "plugins" page and is currently only an improved version of the extension list in Special:Version. It's the only special page added by Deployment that can be viewed by non administrators. When logged in however, every extension has a list of links allowing you do various actions ... A planned feature for this special page is showing update notifications in each extension row.
- Special:Install: This page allows you to search through available extensions in the repository. The interface is based on the "plugin-install" page of WordPress and allows for searching extensions based on term, tag or author. After performing a search you get a list of matching extensions showing their name, version, authors, description, link to the documentation, and a link to download them. Later on this download link will be replaced by an "Install" one.
- Special:Update: This page will inform you of any updates to both core and extensions. It behaves basically identically the WordPress "update" page.
Although some very basic functionality is working, quite some work still needs to be done to get this to the WordPress-awesomeness level.