Requests for comment/Extension release management

This (fairly old) RFC has been slightly abandoned by it's original proponents and has since been rolled into RFC — Extension manager. --Daniel Renfro 17:02, 2 June 2014 (UTC)[reply]

And then into Requests for comment/Improving extension management.


Request for comment (RFC)
Extension release management
Component General
Creation date
Author(s) Daniel Renfro
Document status declined

Problems to solve edit

  1. Extensions authors have no real way to specify "releases" according to their own development schedule
  2. There is no way to track if version X of an extension works with version Y of MediaWiki
  3. Extensions not in subversion (eg: pasted into the wiki) tend to be not well supported and contain security risks

Requirements edit

  • Must be deployed on MediaWiki.org
  • Track releases of MediaWiki core - release dates, EOL dates, branch points paths to branches/tags, etc.
  • Track releases of Extensions - same deal
  • Track compatibility of released extensions with core MediaWiki releases
  • Provide this information via special pages and the API
  • Extension pages can ONLY exist (excluding subpages) if an extension has been defined in the database, a path to the repo given, and author(s) defined [problem 3]
    • Consider migration issues for existing extension description pages; at a minimum, it should be straightforward to attach them to a new record and start copying version information manually.
      • I was considering moving the whole namespace to like Oldextensions or something. Extension pages should be fully editable, once an extension exists, and subpages should be unrestricted as well. We can then move pages back in once we start populating the data. It'll be a huge effort, but one-time and will really help us clean up the documentation.

Nice to have edit

  • Fold ExtensionDistributor functionality into this, since we're tracking release information
  • Make infoboxes on Extension: pages auto-populated with release information, authors, etc.
  • Some parser functions like {{#latestreleasenum:extname}} or {{#supportedrelease:extname|number}} - helps with templates, documentation, etc etc.

User interface edit

  • Special:ExtensionManagement - Would allow for creating new extensions, assigning authors, adding releases, etc
  • Special:Extensions - Provide categorized information about extension(s), release dates, compatibility, path to download, authors, etc.
  • API modules providing the same information

See also edit