Developer hub



This is the place to come if you want to contribute to the development of the MediaWiki software. For help installing or customizing MediaWiki, please see the administrator help.

These pages are in the early stage of development. If you can't find the information you are looking for, or have found useful information somewhere we have not linked to, then please leave a comment on the talk page and someone will look into it.

Primary developer resources

 * BugZilla – Bug tracker for MediaWiki and issues with Wikimedia projects (sometimes referred to as MediaZilla)
 * Subversion browser – Web-based viewer for the MediaWiki source code
 * Code documentation – Machine-generated documentation on the classes and other functions used in MediaWiki
 * Code Review – List and status of recent commits

Info on MediaWiki.org

 * MediaWiki roadmap – planned features for forthcoming releases. Guidelines only, and subject to change.
 * Manual:Contents – Technical reference for the MediaWiki software (under development)
 * Commit access – How to commit to the MediaWiki code repository, and what you need to do to be granted permission to do so.
 * Localisation – Technical description of MediaWiki's I18N / internationalization system.
 * meta:Category:MediaWiki Development
 * API – external API for the direct data-layer access.

Extending MediaWiki
There are 5 main extension points that allow developers to add features and functionalities to MediaWiki or to change existing functionalities. MediaWiki has been designed to allow for modification without changing the "core code". This makes it easy to update to a new version of MediaWiki without having to manually merge in old extension code changes. The extension points are:


 * Hooks – Every time "X" happens do something...
 * Tag Extensions – Create a new tag like:
 * Parser Functions – Create a new command like:
 * Special Pages – Add a new special page.
 * Skins – Change the look and feel of MediaWiki.
 * Integration with S3 - Using S3 to host your image files

Help for extension writers

 * Extensions:
 * Manual:Extensions
 * Extensions FAQ
 * Category:Extensions – A (very incomplete) list of existing extensions
 * Extension Matrix – A better auto-generated list.
 * Manual:$wgExtensionFunctions
 * Code:
 * Manual:Code
 * Manual:Coding conventions
 * Skins:
 * Manual:Skinning
 * Manual:Skin configuration
 * Database:
 * Manual:Database layout
 * Manual:Database access
 * Manual:Magic words
 * How to become a MediaWiki hacker
 * Category:MediaWiki Development

Developer discussion

 * #mediawiki - the IRC channel.
 * wikitech-l, the MediaWiki developers mailing list.
 * Evaluation of Tracker/Project Management Tool

For more information about the above, please see Communication.