Tech:Adding a new extension



Any user can create a pull request to install and enable an extension, but it has to be merged by a sysadmin>Special:MyLanguage/System administrators|sysadmin. If you want to add a new extension, request it rf>Special:MyLanguage/Request features|here.

All of this stuff needs to be done before the steps above:


 * 1) Open a ticket for a Security Review
 * 2) Wait. We will review security>mw:Security for developers|the security checklist, among other things. If we notice a bug, we'll try to fix it or wait for the extension developers to fix it.
 * 3) On passing review, the extension needs to be added to the mediawiki repository:  . We generally use the branch for the current wiki version (e.g. REL1_34) if available, but if not you should use the master branch. Use the actual like to , do NOT use the .git clone link as it will not work!
 * 4) edit .gitmodules to add  .
 * 5) LocalExtensions.php gets a $wmgUseFoo variable added.
 * 6) LocalSettings.php gets this setup:
 * 7) ManageWikiExtensions.php gets a setting added as well. (Make sure to check if it requires another extension or if it should be restricted)
 * 8) If the extension has database tables, make sure to add them to the ManageWikiExtensions.php config!
 * 9) It is not required, but preferable that you also load it on test2wiki in order to make sure that everything works as intended
 * Setup any other extension globals here.
 * 1) Then run the following script as www-data   on all mw servers and jobrunner*.
 * 2) Rebuild Localization Cache as www-data on all mw servers and jobrunner*.
 * 1) Rebuild Localization Cache as www-data on all mw servers and jobrunner*.