Page MenuHomePhabricator

Deployment review of NamespaceRelations for Wikinews and Wiktionary
Closed, DeclinedPublic

Description

Author: p.selitskas

Description:
I'm requesting a deployment review for NamespaceRelations[0] extension, which was written for Wikinews[1] and Wiktionary[2]. This piece hasn't been deployed to any wiki yet. Link to Gerrit is listed in [0].

[0] https://www.mediawiki.org/wiki/Extension:NamespaceRelations
[1] https://en.wikinews.org/wiki/Wikinews:Water_cooler/technical/archives/2013/January#Opinions_tab:_extension_vs._MediaWiki:Comments.js
[2] https://en.wiktionary.org/wiki/Wiktionary:Grease_pit/2013/January#Citations_tab:_extension_vs._citations_tab.28.29


Version: wmf-deployment
Severity: enhancement

Details

Reference
bz45666

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 1:15 AM
bzimport set Reference to bz45666.
bzimport added a subscriber: Unknown Object (MLST).

Assuming you refer to https://www.mediawiki.org/wiki/Writing_an_extension_for_deployment#Review_for_deployment and that both Design review and Code review have successfully taken place already.

CC'ing sumanah to find a reviewer.

p.selitskas wrote:

(In reply to comment #1)

Assuming you refer to
https://www.mediawiki.org/wiki/
Writing_an_extension_for_deployment#Review_for_deployment
and that both Design review and Code review have successfully taken place
already.

CC'ing sumanah to find a reviewer.

Yes, although design review request didn't get much attention[1], code review[2] pointed out some issues which were further resolved.

[1] http://lists.wikimedia.org/pipermail/design/2013-January/000296.html
[2] http://lists.wikimedia.org/pipermail/wikitech-l/2013-February/066348.html

Pavel: Does that mean that everything has been addressed, or is there anything particular still outstanding or blocking?

p.selitskas wrote:

(In reply to comment #3)

Pavel: Does that mean that everything has been addressed, or is there
anything
particular still outstanding or blocking?

Yes, hooking was simplified and call-time passing by reference deprecations were taken into account and also fixed.

Antoine Musso <hashar> intended to deploy it on a beta cluster about a month and a half ago, but that wasn't done (I'd actually prefer that to be done at the first place, so that people can see what it is and whether it differs, or not, from the current JavaScript implementation).

Addressing your question, I don't observe any blocks out there, although it doesn't mean there aren't any. :)

The extension code is already available on the beta cluster since the extension is registered as submodule of mediawiki/extensions.git

If one would like to enable it, that should be done in the operations/mediawiki-config.git repository.

In wmf-config/InitialiseSettings.php create a global setting to easily enabled/disable the extension:

$wmgUseNamespaceRelations => array(
'default' => false,
);

Actually use the setting in wmf-config/CommonSettings.php :

if( $wmgUseNamespaceRelations ) {
include "$IP/extensions/NamespaceRelations/NamespaceRelations.php";
}

Finally enable the setting on labs in wmf-config/InitialiseSettings-labs.php add in the wmfLabsSettings() array:

'-wmgUseNamespaceRelations' => array(

 'default' => true,
)

The '-' in front of the name instruct to override whatever settings production might have, since I guess we will always want the extension to be enabled.

Then submit for review, get someone to merge it and it will self deploy via the job https://integration.wikimedia.org/ci/view/Beta/job/beta-mediawiki-config-update/ .

Would be beneficial to add some profiling calls, even more so in injectTabs

https://www.mediawiki.org/wiki/Manual:How_to_debug#Advanced_profiling

Pavel: could you see about doing some profiling, as per Reedy's suggestion in comment 6? Thanks.

p.selitskas wrote:

(In reply to comment #7)

Pavel: could you see about doing some profiling, as per Reedy's suggestion in
comment 6? Thanks.

Yes, sorry for such a delay! Would adding wfProfilingIn/Out calls be enough?

Also, after I9fe5728 I'd suggest myself writing some tests to avoid such nasty bugs. That demands further refactoring to make the code testable at some level.

There is one more use case that was not addressed: when we move a page, we suggest that talk page is moved to. Currently, any other pages bonded by means of this extension are not moved. I've already seen the code for moving pages, and it looks kind of ancient, but I'll try working it out. :)

Change 79050 had a related patch set uploaded by Wizardist:
(Bug 45666) Add profiling calls

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

Change 79050 merged by Wizardist:
(Bug 45666) Add profiling calls

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

What is the status here? This would be cool to have on Wiktionary.

TheDJ changed the task status from Open to Stalled.Dec 21 2015, 11:22 PM
TheDJ subscribed.
Nemo_bis changed the task status from Stalled to Open.Jan 11 2017, 11:34 AM
Nemo_bis subscribed.

Product and design review have been handled by the approved RfC, so per https://www.mediawiki.org/wiki/Review_queue#Preparing_for_deployment I think only security review is left.

Product and design review have been handled by the approved RfC, so per https://www.mediawiki.org/wiki/Review_queue#Preparing_for_deployment I think only security review is left.

Can you please link to the RfC? I'd be interested to see who commented and what the arguments were, given how it aligns/conflicts with some of the core changes to MediaWiki being considered right now (multi-content revisions, associated namespaces, etc.).

The RfC is linked from the extension page linked in the task description, but here you go: https://www.mediawiki.org/wiki/Requests_for_comment/Custom_inter-namespace_tabs

given how it aligns/conflicts with some of the core changes to MediaWiki being considered right now (multi-content revisions, associated namespaces, etc.).

The extension seems to be purely UI logic, allowing additional tabs to be added next to "Article"/"Talk", or those predefined tabs to be customised. I don't think it conflicts with any of these RFCs; it could stand alongside them or be replaced by them in the future, should they ever come to fruition.

The code is going to need some cleanup; it hasn't been migrated to extension.json, and has some old wfProfileIn/Out among other things.

Aklapper subscribed.

https://www.mediawiki.org/wiki/Extension:NamespaceRelations states that this is extension is unmaintained.
Does anybody intend to take over maintainership, as I'm reluctant to add technical debt to our stack?

Aklapper lowered the priority of this task from Medium to Low.May 11 2018, 1:42 PM
Jdforrester-WMF changed the task status from Open to Stalled.Jan 14 2019, 6:43 PM

This is at least Stalled, if not in effect Declined given no sponsor.

Declining as of T47666#4084295. Feel free to reopen once there is an active maintainer as we don't plan to deploy unmaintained software.