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. If you want to add a new extension, request it 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 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) LocalExtensions.php gets a $wmgUseFoo variable added.
 * 5) LocalSettings.php gets this setup:
 * 6) ManageWikiExtensions.php gets a setting added as well. (Make sure to check if it requires another extension or if it should be restricted)
 * 7) 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
 * 2) Rebuild Localization Cache as www-data on all mw servers.
 * 3) If the extension has database tables, run "/usr/local/bin/foreachwikiindblist /srv/mediawiki/dblist/all.dblist /srv/mediawiki/w/maintenance/sql.php " for all SQL queries ran on wikis. Ideally, you should *never* need to run update.php. If this is not done for one reason or another, email sre@undefinedmiraheze.org with an explanation and it will be acknowledged, discussed or fixed.
 * 1) If the extension has database tables, run "/usr/local/bin/foreachwikiindblist /srv/mediawiki/dblist/all.dblist /srv/mediawiki/w/maintenance/sql.php " for all SQL queries ran on wikis. Ideally, you should *never* need to run update.php. If this is not done for one reason or another, email sre@undefinedmiraheze.org with an explanation and it will be acknowledged, discussed or fixed.