Deployment repository

This page is to create a draft of how to structure and create a deployment repository for MediaWiki and extensions. The repository would be located on mediawiki.org, and be used by the new deployment code, and be similar to what WordPress and PEAR have. This is being implemented in the Distribution extension, of which the API will be used by the Deployment extension.

Required capabilities
A package is single version of either mediawiki core or an extension.


 * Provide detailed information about an individual package. This includes name, authors, licence, version, description, ect.
 * Provide lists of packages filtered on package information and compatibility.
 * Provide data about mw core or an extension, loose from the version. This would include version info (which is stable, which are supported, ect), reviews, ratings, ect.
 * Dependency resolution

Non-initial stuff
Things that should be possible to implement, but are (probably) not for an initial version.


 * Provide support for L10n updates such as the LocalisationUpdate extension has.
 * Installation of content (discussion)
 * Working with 'extensions bundles', which would be similar to Semantic Bundle

Storage of data
How the distribution metadata is stored on mediawiki.org. It's important that this is done in a way that allows the community to keep updating the data, and is flexible enough to be extended in the future. WordPress recently introduced a system that allows people to vote on compatibility. Although such functionality is not needed in a first version of the new deployment code, it would be nice to able to easily add this later on. Depending on how this is done, some extra code (special page?) might be needed to present the data in this format.


 * Semantic MediaWiki would be awesome. This would allow the data present on extension pages to be queried. Via custom scripts additional information available on other locations can be added to the extension pages to make them more complete. The difficulty here lies in getting SMW approved to go on mediawiki.org, as someone needs to review it.

Communication format
The format in which distribution metadata is presented to the MW install making a request.


 * Possibly http://search.cpan.org/~dagolden/CPAN-Meta-2.101670/lib/CPAN/Meta/Spec.pm (suggested by avar)