User:AKlapper (WMF)/T126330

This page explains how you can fix common requests to change the configuration of a Wikimedia wiki.

If you want to contribute technically, then this is a good way to get familiar and start contributing to software changes. You need very basic knowledge of PHP and follow Gerrit/Tutorial to create your first software change (a so-called "patch"). When you work on these types of tasks you can also look at previous similar software changes. Often you do not even have to too much understanding of what is going on exactly. But still you can get familiar with code and especially processes!

If you follow Gerrit/Commit message guidelines, then the Phabricator task will automatically get updated about your patch in Gerrit. After you have proposed your patch in Gerrit, someone else will review your patch. If your patch is all good, someone will merge your patch and deploy it on the Wikimedia servers, usually within one week but sometimes also faster.

Add a custom namespace

 * Add the new namespace under  in the file   in the repository.
 * Past examples: T221697 and https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/506134/
 * After the change has been deployed (merged), run  to ensure no page will be left unaccessible.
 * Documentation: Manual:Using custom namespaces

Change a namespace

 * Make your changes in the file  in the repository
 * If necessary, also alias old names under  in the file   in the repository
 * Past example: T202347 and https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/454213/
 * After config change,  maintenance script

Change the translation of a namespace

 * Namespace localization must happen in the extension that the namespace belongs to.
 * Namespace localization can require separate patches in quite some repositories. See e.g.
 * https://gerrit.wikimedia.org/r/#/c/348112/ in MediaWiki Core.
 * https://gerrit.wikimedia.org/r/#/c/348114/ in Gadgets extension.
 * https://gerrit.wikimedia.org/r/#/c/348113/ in Scribunto extension (for 'Module:`)
 * To deploy a custom namespace only on Wikimedia sites (and not in the MediaWiki software for everybody), the file to change is  in the repository  . This file also allows you to change project namespace.

Change the logo of a Wikimedia wiki

 * Locally run  on each PNG file that you touch, to compress the PNG.
 * If you have an SVG/PNG file that is large, also add a HD logo: Create dbname-1.5x.png and dbname-2x.png, which are 1.5x/2x of the original file dbname.png).
 * Add the file under  in the file   in the repository  . Check that   is set correctly (some wikis have files in the logo folder which are unused and duplicates of the one used)
 * Add the file itself to the directory  in the repository.
 * Past examples: https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/353012/ https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/368444/ https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/423497/

Disable throttling of account creations for an IP at events

 * Make your changes in the file  in the repository
 * Fixing requests coming from Mass account creation
 * Past example: https://gerrit.wikimedia.org/r/#/c/267186/

Change the linktrail

 * Make your changes to  in the corresponding messages file for that language code in the directory   in the repository  . You will need some regex knowledge for this.
 * Past examples: https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/423523/ https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/384755/

Update the interwiki cache

 * Process: Run  script. Then upload the resulting file as a proposed patch to Gerrit.
 * Past example: https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/520159/
 * Also see Update the interwiki cache

Change local group rights

 * Change/define the group's right under  in the file   in the repository
 * Change who can grant the group using, otherwise, only the stewards will be able to grant/remove it.

Change user groups and restriction levels

 * Make your changes under  in the file   in the repository   in the repository  : There must be an array called   (replace   accordingly) and a line   or.
 * Past examples: T230390 and https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/530381/

Change import sources

 * Make your changes to  in the file   in the repository
 * Past examples: T217104 and https://gerrit.wikimedia.org/r/#/c/492942/ ; T228607 and https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/527229/

Add a website to CopyUploadsDomains (e.g. for GWToolset)

 * Make your changes in the file  in the repository
 * , almost always for Wikimedia Commons (commonswiki)
 * Past examples: T225917 and its patch in https://gerrit.wikimedia.org/r/#/c/518278/ ; T225852 and its patch in https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/517170/

Convert digits (numbers) into a different script

 * Make your changes to  in the corresponding messages file for that language code in the directory   in the repository
 * Past example: T212221 and its patch in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/480589/

Areas in the MediaWiki code base itself
These tasks are about the general MediaWiki code base itself, and not about the configuration of MediaWiki on Wikimedia servers like the tasks above.

Replacing deprecated functions
These functions could be found by phan checks or a good IDE with static analytic code checks.
 * Past examples: https://gerrit.wikimedia.org/r/529092/ ; https://gerrit.wikimedia.org/r/520719/

Upgrading dev libraries
This is sometimes done by a bot, but that is not always and not everywhere the case.
 * Past examples: https://gerrit.wikimedia.org/r/523697/

Alphabetize stuff

 * Past examples: https://gerrit.wikimedia.org/r/523215/

Acknowledgement
Thanks to User:Krenair and and to User:Christoph Jauera (WMDE) for helping collecting cases in T126330.