Page MenuHomePhabricator

A tool for quickly answering what groups an extension is deployed to
Closed, ResolvedPublic3 Estimated Story Points

Description

I've had this question a few times during situations with the train where there's an issue with a specific extension.

Some useful IRC backscroll:

17:33 <brennen> question i keep having and not knowing the answer to:  what's the quick way to cross reference groups with what extensions are enabled?
17:37 <AntiComposite> "quick way"
17:37 <bd808> Not sure that there is one
17:37 <legoktm[m]> ctrl+f for "wmgUse" in InitialiseSettings :|
17:38 <mutante> wikiapiary kind of knows where each extension is ued
17:38 <mutante> example https://wikiapiary.com/wiki/Extension:Babel
17:38 <mutante> at the bottom there is "Wikibooks (fa)" but amont all other mediawikis out there
17:38 <mutante> among
17:38 <AntiComposite> yeah, cross-referencing CommonSettings.php and InitialiseSettings.php is the best I've got
17:40 <mutante> wikiapiary links are from "check usage and version matrix" link in the infobox on an extension page like  https://www.mediawiki.org/wiki/Extension:RSS
17:40 <AntiComposite> one of the "rethink MediaWiki/Wikimedia configuration" phab tasks may eventually result in a better solution

Ideally, I'd like to just give something an extension name and have it say what groups it's deployed in. Might be less relevant in a Kubernetes future, but would certainly be useful at the moment.

Details

TitleReferenceAuthorSource BranchDest Branch
Add extloc linktoolforge-repos/versions!4brennenwork/link-extlocmain
stub out basic group scraping and displaybrennen/extloc!1brennenwork/groupsmain
Customize query in GitLab

Related Objects

Event Timeline

One truly horrible way would be by scraping Special:Version on all/representative wikis:

[[w:en:Special:Version]] scrape
>> Array.from(document.querySelectorAll("#sv-ext a.mw-version-ext-name")).map(item => item.innerText);
Array(125) [ "ApiFeatureUsage", "CentralAuth", "CheckUser", "CiteThisPage", "Collection", "ContentTranslation", "Echo", "Pending changes", "Global Usage", "GlobalPreferences",  ]

I'm surprised you of all people are advocating screen scraping when there's a perfectly good API for that :)

I'm surprised you of all people are advocating screen scraping when there's a perfectly good API for that :)

Thank you for knowing the Action API action that I was sure existed somewhere but did not find with ctrl-f of https://en.wikipedia.org/w/api.php?action=help&recursivesubmodules=1 :)

brennen set the point value for this task to 3.

Started:

(...which likely should properly live in the toolforge-repos namespace, I'll fix that at some point.)

I'll bash the rest of this out when I get some yak-shaving time.

extloc is useful now on a per-extension / per wiki basis. For example:

It could use some actual UI and knowledge of groups.

It could use some actual UI and knowledge of groups.

Versions gets its group{0,1,2} data by reading data files from noc. See https://gitlab.wikimedia.org/toolforge-repos/versions/-/blob/main/index.php?ref_type=heads#L94-136

brennen claimed this task.
brennen moved this task from Doing to Done or Declined on the User-brennen board.

I'll keep noodling on this a bit, but it does the basic things at this point.