User:AKlapper (WMF)/T126330

A collection of common repetitive software changes. This is for potential new technical contributors. It is a good way to get started contributing software changes: You need very basic knowledge of PHP and follow Gerrit/Tutorial to create your first patch! When you work on these types of tasks you can look at previous similar software changes.

After that, 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.

Thanks to User:Krenair for helping collecting cases in T126330.

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

Namespace additions

 * Manual:Using custom namespaces
 * After deploying the change, run  to ensure no page will be left unaccessible.
 * After deploying the change, run  to ensure no page will be left unaccessible.

Namespace changes

 * 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.

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/

Namespace translation changes

 * 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.

Site logo changes

 * Directory/File:  in the repository
 * Run optipng -o7 on each PNG file you touch.
 * Process: Check that  is set correctly (some wikis have files in logo folder that are unused and duplicates of the one used)
 * If you have SVG/PNG that is big enough, add HD logo too (create dbname-1.5x.png and dbname-2x.png, which are 1.5x/2x of dbname.png).
 * 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/

IP account creation throttling exceptions for events

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

Changing 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/

Interwiki cache updates

 * Run  script, upload resulting file as a proposed patch to Gerrit

Local group rights changes

 * 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.

Enabling/disabling extensions

 * 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

CopyUploadsDomains additions (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/

Converting digits 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/