Page MenuHomePhabricator

Convert all Wikimedia-deployed extensions and skins to use extension registration
Open, NormalPublic

Description

Basic documentation about the extension registration system is at https://www.mediawiki.org/wiki/Extension_registration

The convertExtensionToRegistration.php script can be used to create an extension.json file, though it may not work perfectly and could trigger errors. Use the validateRegistrationFile.php script to make sure your script follows the correct schema.

The PHP entry point will need to be kept and there will be duplication of information until Wikimedia config is updated.

Please add me (Legoktm) as a reviewer to conversion patches and feel free to ask me if something is unclear, some documentation is missing, etc.

Current progress: https://tools.wmflabs.org/extreg-wos/

Currently open tasks: https://phabricator.wikimedia.org/maniphest/query/ZJf4nxzBD.2s/#R

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.
StatusAssignedTask
OpenNone
OpenNone
ResolvedReedy
ResolvedReedy
ResolvedReedy
ResolvedLegoktm
ResolvedAnomie
ResolvedMtDu
ResolvedMhutti1
ResolvedMtDu
DeclinedLegoktm
ResolvedLegoktm
ResolvedJdforrester-WMF
ResolvedMtDu
ResolvedPaladox
Resolvedlcawte
Resolvedmatmarex
Resolvedsanthosh
ResolvedVictorbarbu
Resolvedlcawte
ResolvedLegoktm
ResolvedJdforrester-WMF
ResolvedKrenair
Resolvedananayarora
ResolvedMhutti1
ResolvedLegoktm
ResolvedJdforrester-WMF
DeclinedLegoktm
ResolvedPranavmk98
ResolvedPaladox
ResolvedLegoktm
ResolvedReedy
Resolvedlcawte
Resolvedananayarora
ResolvedLegoktm
ResolvedMtDu
ResolvedLegoktm
ResolvedLegoktm
Resolvedphuedx
ResolvedLegoktm
Resolvedananayarora
ResolvedTpt
ResolvedPrtksxna
Resolvedananayarora
ResolvedLegoktm
ResolvedMhutti1
ResolvedLegoktm
ResolvedArlolra
ResolvedReedy
ResolvedLegoktm
ResolvedReedy
ResolvedReedy
ResolvedLegoktm
ResolvedVictorbarbu
ResolvedMtDu
ResolvedPaladox
ResolvedNone
Resolvedananayarora
ResolvedMhutti1
ResolvedJdlrobson
ResolvedNiharika
ResolvedPhysikerwelt
ResolvedLegoktm
ResolvedMhutti1
Declined Mattflaschen-WMF
ResolvedPaladox
ResolvedLegoktm
ResolvedPaladox
ResolvedMhutti1
ResolvedMtDu
ResolvedReedy
ResolvedJdforrester-WMF
ResolvedFlorian
ResolvedJeanFred
ResolvedNiharika
ResolvedMhutti1
ResolvedPaladox
ResolvedNone
ResolvedPaladox
ResolvedReedy
ResolvedLegoktm
ResolvedReedy
ResolvedPaladox
ResolvedLegoktm
ResolvedTgr
ResolvedReedy
ResolvedPaladox
ResolvedPaladox
ResolvedLegoktm
ResolvedParent5446
DeclinedMtDu
ResolvedLegoktm
ResolvedAnomie
ResolvedParent5446
ResolvedMtDu
ResolvedReedy
ResolvedTgr
ResolvedParent5446
ResolvedDereckson
ResolvedLegoktm
ResolvedParent5446
DeclinedMaxSem
ResolvedKrenair
ResolvedMtDu
ResolvedReedy
ResolvedLegoktm
ResolvedMtDu
Declineddemon
ResolvedPaladox
ResolvedDereckson
ResolvedFlorian
Resolvedananayarora
ResolvedMhutti1
ResolvedPaladox
ResolvedPaladox
ResolvedKrenair
ResolvedLegoktm
ResolvedPaladox
ResolvedLegoktm
Resolvedsanthosh
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedPaladox
ResolvedYurik
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedNone
ResolvedJdforrester-WMF
ResolvedJdlrobson
ResolvedJdforrester-WMF
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
ResolvedLegoktm
Resolved Gilles
ResolvedLegoktm
InvalidNone
OpenNone
ResolvedMtDu
ResolvedAndyRussG
Resolvedawight
Resolvedawight
ResolvedPaladox
Resolvedananayarora
ResolvedFlorian
ResolvedMtDu
InvalidNone
InvalidNone
ResolvedReedy
ResolvedReedy
OpenNone
ResolvedSmalyshev
Open Nikerabbit
OpenNone

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 265212 abandoned by Isarra:
Deprecate and empty PHP entry point

Reason:
So it's, uh, done now. Yes.

https://gerrit.wikimedia.org/r/265212

Can we please have a concerted effort to get this finished?

Could these be Google-Code-In-2016 tasks? If yes, would anyone mentor them?

<tto> andre__, T87875 is probably not suitable for GCI. The ones that are left all look to be very complex or require new features for the extension.json format

Yeah, I think the ones that are left are mostly because they're complex :( I think we got all the GCI-able ones last year.

There is maybe only 1 or 2 that could.

PageTriage is one (which was already reverted because rebasing ontop of it was seen as too much effort due to active development of said extension). Of course, it's not been reapplied. So I wouldn't want a student to do it, to have it reverted soon after, or just not get merged...

Others, such as GWToolset were reverted due to severe breakages, but no one has attempted to do it again. There's patches outstanding for a few more, with no one really reviewing them, due to the complexity they provide...

We have reached more than 50% on the wall of superpowers!

@Reedy can we have updated stats on what needs to be done? Thanks.

Reedy added a comment.Nov 18 2017, 6:20 PM

GWToolset was a huge mess last time it was tried.

Translate needs to support older MW (I dunno when this support ends), so can't be converted (though, in theory, we could have a extension.json and not empty out Translate.php... And keep them in sync. There's a few functions that need moving out, which can be done

TMH, CirrusSearch, Collection and FlaggedRevs are rather complex

Liuxinyu970226 added a comment.EditedNov 20 2017, 1:02 PM

The FlaggedRevs users should worry about their activation problems which therefore lead that convert task for this extension to be a no-go area.

FR is currently blocked/not being deployed to more wikis because of security bugs afaik, so maybe we should not bother with the conversion.

FR is currently blocked/not being deployed to more wikis because of security bugs afaik, so maybe we should not bother with the conversion.

In this case, wouldn't it be a better idea to fix the security bugs instead?

@MGChecker Maybe it is, but I'm not a (FlaggedRevs) developer so it's not in my hands.

Reedy added a comment.Nov 21 2017, 7:33 PM

Don't think there are any FlaggedRevs security bugs...

Don't think there are any FlaggedRevs security bugs...

Yes, my bad. I was thinking on Education Program. Sorry.

How many of the WMF deployed extensions we've got left to be converted?

MarcoAurelio added a comment.EditedJan 22 2018, 11:10 PM

@Reedy If it is not too much asking, can I have a list so I can check if tasks are already created for them? Thanks.

Edit: I see that I made a list at T87875#3772328, but if we have more now we need to canvass their maintainers to just do it :)

extension-list:$IP/extensions/CirrusSearch/CirrusSearch.php
extension-list:$IP/extensions/Collection/Collection.php
extension-list:$IP/extensions/FlaggedRevs/FlaggedRevs.php
extension-list:$IP/extensions/GWToolset/GWToolset.php
extension-list:$IP/extensions/PropertySuggester/PropertySuggester.php
extension-list:$IP/extensions/TimedMediaHandler/TimedMediaHandler.php
extension-list:$IP/extensions/Translate/Translate.php
extension-list:$IP/extensions/Wikibase/client/WikibaseClient.php
extension-list:$IP/extensions/Wikibase/repo/Wikibase.php
extension-list:$IP/extensions/WikibaseQuality/WikibaseQuality.php
extension-list:$IP/extensions/WikibaseQualityConstraints/WikibaseQualityConstraints.php
extension-list:$IP/extensions/Wikidata.org/WikidataOrg.php
extension-list-wikitech:$IP/extensions/LdapAuthentication/LdapAuthentication.php
extension-list-wikitech:$IP/extensions/OpenStackManager/OpenStackManager.php

Of the above, PropertySuggester already has an extension.json file.

$IP/extensions/CirrusSearch/CirrusSearch.php
$IP/extensions/Collection/Collection.php
$IP/extensions/FlaggedRevs/FlaggedRevs.php
$IP/extensions/GWToolset/GWToolset.php
$IP/extensions/LdapAuthentication/LdapAuthentication.php
$IP/extensions/OpenStackManager/OpenStackManager.php
$IP/extensions/TimedMediaHandler/TimedMediaHandler.php
$IP/extensions/Translate/Translate.php
$IP/extensions/Wikibase/client/WikibaseClient.php
$IP/extensions/Wikibase/repo/Wikibase.php
$IP/extensions/CirrusSearch/CirrusSearch.php
$IP/extensions/Collection/Collection.php
$IP/extensions/FlaggedRevs/FlaggedRevs.php
$IP/extensions/GWToolset/GWToolset.php
$IP/extensions/LdapAuthentication/LdapAuthentication.php
$IP/extensions/OpenStackManager/OpenStackManager.php
$IP/extensions/TimedMediaHandler/TimedMediaHandler.php
$IP/extensions/Translate/Translate.php
$IP/extensions/Wikibase/client/WikibaseClient.php
$IP/extensions/Wikibase/repo/Wikibase.php

TMH and GWToolset are done, just waiting for the train to advance far enough

Izno added a subscriber: Izno.Sep 11 2018, 7:55 PM

TMH and GWToolset are done, just waiting for the train to advance far enough

FYI the latter isn't documented on the extension page.

Restricted Application removed a subscriber: Liuxinyu970226. · View Herald TranscriptSep 11 2018, 9:37 PM
Liuxinyu970226 awarded a token.
Liuxinyu970226 added a subscriber: Liuxinyu970226.
D3r1ck01 updated the task description. (Show Details)Sep 22 2018, 10:00 AM