Tech:Adding a new extension
All of this stuff needs to be done before the steps above:
- Open a ticket for a Security Review
- 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.
- On passing review, the extension needs to be added to the
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_36) 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!
- edit .gitmodules to add
ignore = dirty.
The above steps are for the
mediawiki repository. The following are for the
- LocalExtensions.php gets a $wmgUseFoo variable added.
- LocalSettings.php gets this setup:
'wmgUseFoo' => [ 'default' => false, ],
- Add a line like the following to
- ManageWikiExtensions.php gets a setting added as well. (Make sure to check if it requires another extension or if it should be restricted)
- If the extension has database tables, make sure to add them to the ManageWikiExtensions.php config!
- It is not required, but preferable that you also load it on test3wiki in order to make sure that everything works as intended
- Setup any other extension globals here.
- Then run the following script on mw11: deploy-mediawiki --world --config --l10n --gitinfo --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.