Page MenuHomePhabricator

Document common low level site requests (namespace + logo changes, IP throttling expectations) for potential technical contributors and advertise those docs in tasks
Open, LowPublic

Description

A good bunch of Wikimedia-Site-requests items are pretty common / repetitive: Namespace translation changes, namespace additions, site logo changes, IP throttling exceptions for editathons etc.

Let's make sure they are documented for the patch writers (maybe they already are?) so @Aklapper can link to such docs everytime @Aklapper sees a request via his Phabricator stock answers.
We don't want to burn out our existing contributors in this area like @Dereckson etc. and we want to grow our technical contributor base.

Event Timeline

Aklapper created this task.Feb 9 2016, 1:41 PM
Aklapper raised the priority of this task from to Low.
Aklapper updated the task description. (Show Details)
Aklapper added a project: Developer-Advocacy.
Aklapper added a subscriber: Aklapper.
Aklapper updated the task description. (Show Details)Feb 9 2016, 1:59 PM
Aklapper set Security to None.
Aklapper updated the task description. (Show Details)Feb 11 2016, 9:40 AM
Aklapper added a subscriber: Dereckson.
Qgil added a subscriber: Qgil.

About "Let's make sure"... which team or who would be a good candidate for this? I'm trying to discern whether this is a task for Developer Relations or for someone else to work on first.

@Aklapper As you can see, I mostly focus on this kind of requests because they're easy for me and I understand what I have to do, most of the times :) I'm happy to continue if you don't mind. Thanks.

I'm happy to continue if you don't mind.

Heh, of course I do not mind and your contributions are more than welcome and I don't want to stop you at all. :)
I'm more after broadening the contributor base and I don't want people to burn out at some point...

About "Let's make sure"... which team or who would be a good candidate for this?

Anybody who knows what they are doing™ when writing such patches? :)
(Could be moved to Team-Radar on the workboard for the time being.)

Moving this task to Developer-Advocacy team radar without any other project associated is prone to make this task missed by the people who can fix it. I am adding Wikimedia-Site-requests in case it helps.

Restricted Application added subscribers: JEumerus, Matanya. · View Herald TranscriptApr 26 2016, 8:34 AM
Krenair claimed this task.EditedMay 11 2016, 3:16 AM
Krenair added a subscriber: Krenair.

I was involved in the processing of quite a few of these last year but got tired of it. Luckily we have @Dereckson now (along with other helpers who don't have deployment rights - e.g. @MarcoAurelio now who is a steward, which includes experience in certain areas I was never comfortable about not having) and I don't want the same thing to happen to him, I'd like several people to have the technical knowledge necessary to help with this. I'm going to claim this task and work on it in any spare time I can get soon, but other people should feel free to start without me. Thanks for creating this task @Aklapper.

As a couple of meta points:

  • Wikimedia tech involves many unorganised volunteers and multiple organisations, we can do better than just expect organisation staff to leave tasks in their org-team's project in cases where the appropriate people are not necessarily looking at that project. In this case I don't consider Wikimedia-Site-requests a 'team' in the way that phrase is used around here, and in general reject questions about which 'team' would be responsible for any given task. In Wikimedia the answer to that question is not necessarily a team.
Krenair added a comment.EditedMay 19 2016, 2:08 AM

Here are my notes so far:

Common community-requested sysadmin tasks
== General process ==
* Need LDAP account for Gerrit, use of file editing and git over SSH, basic PHP knowledge
* Config changes go through operations/mediawiki-config
* Most things are by wiki DB names
* wmf-config/(Initialise|Common)Settings.php
* Rights required
* [[Deployments]], [[How to deploy]], [[SWAT]]
== Specific types of requests ==
=== Namespace additions ===
* wgExtraNamespaces
=== Namespace changes ===
* Alias old names (if necessary)
* After config change, namespaceDupes.php maintenance script
=== Site logo changes ===
* Check that wgLogo is set correctly (some wikis have files in logo folder that are unused and duplicates of the one used)
* Logo directory: static/images/project-logos
=== IP throttle exemptions ===
* wmf-config/throttle.php
=== Interwiki cache updates ===
* Run extensions/WikimediaMaintenance/dumpInterwiki.php script, upload resulting file to Gerrit
=== Local group rights changes ===
* GroupPermissions
* (Add|Remove)Groups(Self)?
=== Enabling/disabling extensions ===
* Attempt to say something remotely reasonable about community consensus vs. actively-developed extensions
* wmgUse*
=== Changing import sources ===
* wgImportSources
=== CopyUploadsDomains additions (e.g. for GWToolset) ===
* wgCopyUploadsDomains, almost always for commonswiki
== Other common sysadmin tasks not covered here ==
* [[Password reset]]
* [[Add a wiki]] (requested by langcom or groups, not usually existing communities as such) or [[Nova Resource:Deployment-prep/Add a wiki]] for *.beta.wmflabs.org

Some quick links, comments etc:

Here are my notes so far:

General process

  • Need LDAP account for Gerrit, use of file editing and git over SSH, basic PHP knowledge

https://www.mediawiki.org/wiki/Gerrit/Tutorial ; https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker#PHP

  • Config changes go through operations/mediawiki-config

https://phabricator.wikimedia.org/diffusion/OMWC/

  • Most things are by wiki DB names
  • wmf-config/(Initialise|Common)Settings.php
  • Rights required

Any specific ones?

  • [[Deployments]], [[How to deploy]], [[SWAT]]

https://wikitech.wikimedia.org/wiki/Deployments ,
Where is [[How to deploy]] ?,
https://wikitech.wikimedia.org/wiki/SWAT_deploys

Specific types of requests

Namespace additions

  • wgExtraNamespaces

Would that be https://www.mediawiki.org/wiki/Manual:Using_custom_namespaces ?

Namespace changes

  • Alias old names (if necessary)
  • After config change, namespaceDupes.php maintenance script

Site logo changes

  • Check that wgLogo is set correctly (some wikis have files in logo folder that are unused and duplicates of the one used)
  • Logo directory: static/images/project-logos

https://phabricator.wikimedia.org/diffusion/OMWC/browse/master/static/images/project-logos/

IP throttle exemptions

  • wmf-config/throttle.php

https://phabricator.wikimedia.org/diffusion/OMWC/browse/master/wmf-config/throttle.php
Maybe link to example merges?, like https://gerrit.wikimedia.org/r/#/c/267186/

Interwiki cache updates

  • Run extensions/WikimediaMaintenance/dumpInterwiki.php script, upload resulting file to Gerrit

Local group rights changes

  • GroupPermissions
  • (Add|Remove)Groups(Self)?

Enabling/disabling extensions

  • Attempt to say something remotely reasonable about community consensus vs. actively-developed extensions

Covered by https://meta.wikimedia.org/wiki/Requesting_wiki_configuration_changes ?

  • wmgUse*

Changing import sources

  • wgImportSources

CopyUploadsDomains additions (e.g. for GWToolset)

  • wgCopyUploadsDomains, almost always for commonswiki

Other common sysadmin tasks not covered here

  • [[Password reset]]
  • [[Add a wiki]] (requested by langcom or groups, not usually existing communities as such) or [[Nova Resource:Deployment-prep/Add a wiki]] for *.beta.wmflabs.org

In general: For which parts would https://wikitech.wikimedia.org/wiki/Configuration_files be a helpful (required? non-required?) introduction?

Some quick links, comments etc:

Thanks for going through this. A lot of your notes are useful URLs that we should attempt to use in this page instead of duplicating everything, and risking more outdated pages when things change.

  • Most things are by wiki DB names
  • wmf-config/(Initialise|Common)Settings.php
  • Rights required

Any specific ones?

For people processing these patches instead of just creating them: Deployment group in gerrit, deployment access on the servers (set by modules/admin/data/data.yaml in the operations/puppet repository, link how to get shell access page)

  • [[Deployments]], [[How to deploy]], [[SWAT]]

Where is [[How to deploy]] ?,

I probably did this off the top of my head, I meant [[How to deploy code]]: https://wikitech.wikimedia.org/wiki/How_to_deploy_code

Specific types of requests

Namespace additions

  • wgExtraNamespaces

Would that be https://www.mediawiki.org/wiki/Manual:Using_custom_namespaces ?

Yes, but note that some of those examples are not much use in the Wikimedia MW setup (due to our particularly complex config) and I would not just take the SQL on that page and dump it into a production master DB server :)

Namespace changes

  • Alias old names (if necessary)
  • After config change, namespaceDupes.php maintenance script

We should probably note the difference between Wikimedia-configured namespaces and extension namespaces here.

IP throttle exemptions

Maybe link to example merges?, like https://gerrit.wikimedia.org/r/#/c/267186/

Yep.

Enabling/disabling extensions

  • Attempt to say something remotely reasonable about community consensus vs. actively-developed extensions

Covered by https://meta.wikimedia.org/wiki/Requesting_wiki_configuration_changes ?

No, at least that's not what I had in mind. Honestly I might not go into the complex social/governance aspect in this page.
We should link to the extension review checklist/queue(?) here.

For which parts would https://wikitech.wikimedia.org/wiki/Configuration_files be a helpful (required? non-required?) introduction?

The sections about InitialiseSettings and CommonSettings would be useful for the "wmf-config/(Initialise|Common)Settings.php" item in the general process section of this. I would expect the part about extensions would be relevant to our "Enabling/disabling extensions"
Note that the page is marked outdated and I have not read it in detail.

Krenair removed Krenair as the assignee of this task.Jun 29 2016, 7:40 PM

This project is selected for the Developer-Wishlist voting round and will be added to a MediaWiki page very soon. To the subscribers, or proposer of this task: please help modify the task description: add a brief summary (10-12 lines) of the problem that this proposal raises, topics discussed in the comments, and a proposed solution (if there is any yet). Remember to add a header with a title "Description," to your content. Please do so before February 5th, 12:00 pm UTC.

Aklapper added a comment.EditedApr 27 2017, 1:11 PM

Note: Namespace localization can require separate patches in quite some repositories. See e.g.

I'm afraid there might be even more spots?

Edit: ....and to deploy a custom namespace only on Wikimedia sites (and not in the MediaWiki software for everybody), the file to change is wmf-config/InitialiseSettings.php in the repository operations/mediawiki-config.

Tgr added a subscriber: Tgr.Apr 27 2017, 1:41 PM

Namespace localization must happen in whatever extension the namespaces is belonging to. At some point Translatewiki could do it via a special page but it has been broken for a long time.

A special mention about logo sizes and optiPNG settings would be good. I am mostly doing optiPNG -o8 but I've seem -o7 sometimes. Does that make a huge difference?

Samtar added a subscriber: Samtar.Aug 25 2017, 11:54 AM

This would be pretty useful to anyone passing by who feels like picking up a task or two - I've started with the IP throttle exception over at Wikimedia site requests, and will try to add a few more.

I think the Associated configuration file --> Process --> Example layout is rather helpful - any thoughts?

Qgil added a comment.Aug 28 2017, 7:21 PM

Could this become a good pool of first tasks for new developers and/or Google Code-in students?

@Qgil: Documenting is probably not a good GCI task because you need to have a complete understanding where to do which things (see e.g. T126330#3217387).
And I still struggle in some areas after all those years...

Aklapper claimed this task.Jun 27 2019, 5:44 PM

In short: If you work on Wikimedia-Site-requests: Please feel very welcome to edit and improve https://www.mediawiki.org/wiki/User:AKlapper_(WMF)/T126330 and document your knowledge.


In a bit longer:

This task feels aligned with https://wikimania.wikimedia.org/wiki/2019:Technology_outreach_&_innovation so I decided to spend some time on it again - it might be one way to help non-technical community members who have technical interest to gain more knowledge and get acquainted with Gerrit etc.

Phabricator tasks are not a great place to collaborate on editing text, so I went through all comments in this task and finally dumped an initial draft on the wiki:

https://www.mediawiki.org/wiki/User:AKlapper_(WMF)/T126330

Tgr added a subscriber: Majavah.Jun 27 2019, 6:30 PM

@Majavah just started working on site requests as a new volunteer, maybe they have some insight on what needs to be better documented.

@Majavah just started working on site requests as a new volunteer, maybe they have some insight on what needs to be better documented.

Thanks for the ping, I'll take a look tomorrow.

bd808 added a subscriber: bd808.Jun 27 2019, 7:15 PM

I will drop a plug here for getting the last couple of features for https://www.mediawiki.org/wiki/Extension:ThrottleOverride implemented so we can start the security review and deployment process for it. See MediaWiki-extensions-ThrottleOverride for open tasks.