User:AKlapper (WMF)/T126330

This page lists common requests to change the configuration of a Wikimedia website.

If you are a new technical contributor, 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 (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.

After you have proposed your change 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.

TODO: Each section should have the following items: Directory/File, Process, Past examples.

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

 * Alias old names (if necessary)
 * Past example: T224349 ?
 * After config change,  maintenance script
 * TODO: Explain and cover difference between Wikimedia-configured namespaces and MediaWiki extension namespaces.

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

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

Change the linktrail

 * Directory/File: The corresponding messages file for that language code in  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/
 * TODO: How is Update the interwiki cache related?

Change local group rights

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

Change user groups and restriction levels

 * Past examples: T225896 and its patch in https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/517371/
 * Past examples: T225896 and its patch in https://gerrit.wikimedia.org/r/#/c/operations/mediawiki-config/+/517371/

Enable or disable extensions on a site

 * Fixing requests coming from Requesting wiki configuration changes
 * Need to make sure that the person who requests changes presents a community consensus
 * For enabling, need to make sure that the request is not against Limits to configuration changes and that the requested extension has a maintainer/steward
 * For enabling, need to make sure that the extension is already deployed on Wikimedia servers in https://phabricator.wikimedia.org/diffusion/MREL/browse/master/make-wmf-branch/config.json and https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/wmf-config/extension-list. If not the request is blocked and the extension must first go through Review queue

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

 * Directory/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

 * Directory/File: The corresponding messages file for that language code in  in the repository
 * Past example: T212221 and its patch in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/480589/
 * Past example: T212221 and its patch in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/480589/

Add grammar support to a message

 * Past examples: T227706

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.