Tech:Adding a new extension

    From Meta

    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 extension following the MediaWiki extension developers' security checklist, among other things. If we notice a bug or a security vulnerability, 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: git submodule add -f -b <extension-branch> <extension-repo-url> extensions/<extension-name>. We generally use the branch for the current wiki version (e.g. REL1_38) if available, but if not you should use the master branch. Use the actual like to <extension-repo-url>, do NOT use the .git clone link as it will not work!
    4. edit .gitmodules to add ignore = dirty.
    5. If the extension does not use the REL1_X branch, you must add it to .branches.json

    The above steps are for the mediawiki repository. The following are for the mw-config repository.

    1. Add a line like the following to extension-list:
    2. ManageWikiExtensions.php gets a setting added as well. (Make sure to check if it requires another extension or if it should be restricted)
    3. If the extension has database tables, make sure to add them to the ManageWikiExtensions.php config!
    4. It is not required, but preferable that you also load it on test131 in order to make sure that everything works as intended
      Setup any other extension globals here.
    5. Then run the following script on mwtask141 and/or test131: deploy-mediawiki --world --config --l10n --extension-list --servers=all

    It should be noted that it is a good idea to add any configuration variable the extension adds to ManageWiki to save the effort of doing that at a later date and be user-friendly.