Tech:Add an extension

From Meta
Jump to navigation Jump to search
Other languages:
English • ‎Türkçe • ‎español • ‎italiano • ‎日本語

This is a simple guide showing any user how to add an EXISTING extension to their wiki. If the extension doesn't exist or is not configured, you cannot add it this way.

  1. Create a GitHub account/Login
  2. Check the extension on MediaWiki
  3. Go to our LocalSettings page
  4. Look for 'wmgUseNameofExtension', and like the default, the name of the wiki (ending with wiki)
    1. If the extension is VisualEditor or Flow, you'll have to add the name of the wiki to the Parsoid config list.

If you are confused or want someone else to take care of your request, please request here.

Getting a new extension[edit source]

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. (Reviews are generally done by Labster)
  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_31) if available.
  4. LocalExtensions.php gets a $wmgUseFoo variable added.
  5. LocalSettings.php gets this setup:
    'wmgUseFoo' => array( 'default' => false,);
  6. It is not required that you also load it on test1wiki in order to make sure that everything works as intended
    Setup any other extension globals here.
  7. Then run the following script as www-data mergeMessageFileList.php --output /srv/mediawiki/config/ExtensionMessageFiles.php --wiki loginwiki
  8. Rebuild Localization Cache as www-data on all mw servers.
  9. If the extension has database tables, run "/usr/local/bin/foreachwikiindblist /srv/mediawiki/dblist/all.dblist /srv/mediawiki/w/maintenance/sql.php <file.sql>" 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 operations at with an explanation and it will be acknowledged, discussed or fixed.