User:Dan-nl/Developing extensions for Wikimedia wikis

Below is a rough outline of the steps needed in order to deploy an extension onto a Wikimedia wiki.



Show community support
Community Support can be shown by having an active discussion on the need of the extension on a Wikiproject and document the responses. If there is no active community support, support can be build through discussions and proposals.
 * Show community support/desire for the extension to be deployed, if applicable

Request a component in Bugzilla

 * Add a project or component to Bugzilla

Create a tracking bug
Once the new component in Bugzilla has been created, create a tracking bug for the deploy.
 * Reporting a new bug or feature request

Create Extension: page

 * Create an Extension: page on mediawiki.org

Create Help:Extension: page

 * Create a Help:Extension: on mediawiki.org for the end user documentation

Get code in Gerrit

 * New repositories

Gerrit review(s)

 * Request (and respond to) code review(s) in Gerrit, resulting in an Minimum Viable Product (MVP)
 * Depending on the complexity of the code this may go through several cycles of development before an MVP is ready.

Design/Implementation documentation

 * use sequence diagrams and prose to describe the design and implementation of the extension; e.g., MetadataDetectHandler
 * https://www.websequencediagrams.com/ can be helpful here

Design review

 * Request a design review, if applicable

Performance and Architecture review

 * Request (and respond to) a performance/arch review

Security review

 * Request (and respond to) a security review