Page MenuHomePhabricator

Merge Interwiki extension into MediaWiki core
Closed, ResolvedPublic

Description

Managing interwiki links is a basic activity that almost every new mediawiki setup has to do. For example, the predefined list of interwiki links does not contain links to language versions of wikipedia, one of the first needs for many installations.

Mediawiki core presently assumes that interwiki is being managed by SQL database statements from the command line. This is not realistic for many mediawiki installations and limits the usability of the software.

An excellent extension exists: Extension:Interwiki but is hidden among a set of similar extensions. See "review" on top of http://www.mediawiki.org/wiki/Category:Interwiki_extensions

While the review helps, a less frustrating solution would be to intergrate the extension into core.

Details

Event Timeline

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

I imagine the default case would probably be to not use any interwiki links at all; given also that we can bundle extensions with the distribution, I don't see much reason to integrate more such tools into core itself.

(In reply to comment #2)

I imagine the default case would probably be to not use any interwiki links at
all

It would then be logical to move the interwiki functionality from core into the extension (the huge list of defaults as well as the link-modification functionality itself). I am not joking, I think this would be a sensible solution. But of coures, given the legacy situation, adding a special page to give access to the interwiki definition is probably a better way.

About bundling: Mediawiki comes bundled with 5 Interwiki extensions, the enhancement is making one a standard case, while still supporting the others.

(In reply to comment #3)

About bundling: Mediawiki comes bundled with 5 Interwiki extensions, the
enhancement is making one a standard case, while still supporting the others.

MediaWiki doesn't come bundled with anything. What's being mentioned is the new installer's ability to enable extensions while installing.

This was merged in r45062 back in December 2008 and reverted in r45238. The extension is active now on Wikimedia wikis. I'm closing this WONTFIX. If anything, it could be distributed with the MediaWiki tarballs.

Re-opening this. A blackbox database table is insane. If MediaWiki is going to include an interwiki table, it absolutely should provide a means of viewing and modifying that table.

I don't consider this as an easy task for a new contributor but rather complex for that level, hence removing "easy" keyword.

There is already an sql table for interwiki that the extension is used and that the sql is meant for that extension so interwiki should be integrated into mediawiki.

Change 998407 had a related patch set uploaded (by 沈澄心; author: 沈澄心):

[mediawiki/core@master] Merge Interwiki extension into core

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

Change #1018426 had a related patch set uploaded (by 沈澄心; author: 沈澄心):

[mediawiki/extensions/Interwiki@master] Move all source files to core

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

Dringsim raised the priority of this task from Lowest to Needs Triage.Apr 11 2024, 7:13 AM
Bugreporter subscribed.

Boldly add release tag - we should try to review and merge before 1.43 is cut, otherwise we can only discontinue the extension when 1.43 is EOL in 2027. If it is merged we can archive the extension in 2025.

Previous example: RenameUser is merged to core in 1.40, just one version after LTS; if the change were in 1.39, T331218 (current set to 2025) would be resolved now. But we do not backport breaking changes to LTS.

@Bugreporter: I'm afraid the argument "If a problem is solved earlier, we have to deal less long with the problem" applies to all and any tasks. :) See the description of MW-1.43-release: "tasks which are important enough that they should block 1.43". Is it?

Change #1100217 had a related patch set uploaded (by Tim Starling; author: Tim Starling):

[operations/mediawiki-config@master] Prepare for migration of the Interwiki extension to core

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

Change #1018426 merged by jenkins-bot:

[mediawiki/extensions/Interwiki@master] Move all source files to core

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

Change #998407 merged by jenkins-bot:

[mediawiki/core@master] Merge Interwiki extension into core

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

The translations (JSON files) have been removed from the extension repo but not merged into the core. Therefore, the already translated extension needs to be translated again. Why?

Yeah, that’s bad. If developers were coordinating moving this into core (which is fine), they should’ve coordinated the rename of the existing translations on translatewiki.net, so people don’t have to do the same work twice. Not to mention that this ends up removing support for a bunch of small languages that already translated those messages, since not all of them have communities that would translate them again.

@tstarling please take note.

Adding translatewiki.net so someone can see if the above can be addressed

Yeah, that’s bad. If developers were coordinating moving this into core (which is fine), they should’ve coordinated the rename of the existing translations on translatewiki.net, so people don’t have to do the same work twice. @tstarling please take note.

The translations (JSON files) have been removed from the extension repo but not merged into the core. Therefore, the already translated extension needs to be translated again. Why?

Change #1100217 merged by jenkins-bot:

[operations/mediawiki-config@master] Prepare for migration of the Interwiki extension to core

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

Mentioned in SAL (#wikimedia-operations) [2024-12-09T02:59:04Z] <tstarling@deploy2002> Started scap sync-world: Backport for [[gerrit:1100217|Prepare for migration of the Interwiki extension to core (T33951)]]

Mentioned in SAL (#wikimedia-operations) [2024-12-09T03:10:36Z] <tstarling@deploy2002> tstarling: Backport for [[gerrit:1100217|Prepare for migration of the Interwiki extension to core (T33951)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2024-12-09T03:30:21Z] <tstarling@deploy2002> Finished scap sync-world: Backport for [[gerrit:1100217|Prepare for migration of the Interwiki extension to core (T33951)]] (duration: 31m 17s)

@Raymond removed Interwiki extension from translation in rGTWN3bc647af190f: [Core][Interwiki] Integrated into core. If the core message keys are the same as they were in the extension, translations have been exported (moved) into core by now.

In T33951#10399786, @Nikerabbit hat geschrieben:

@Raymond removed Interwiki extension from translation in rGTWN3bc647af190f: [Core][Interwiki] Integrated into core. If the core message keys are the same as they were in the extension, translations have been exported (moved) into core by now.

Correct. AFAIR all message keys are the same. Were moved Monday morning with https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1101376 . No loss in translations.

A_smart_kitten subscribed.

It turns out that the mediawiki/extensions/Interwiki repo still needs to be removed from being a bundled extension, and from being branched for WMF production; xref https://gitlab.wikimedia.org/repos/releng/release/-/blob/e358bf04db00e434a0192d7ac147221e2b494300/make-release/settings.yaml. (Discovered while working through T399035: Update the Patch demo `tarball` preset to reflect updates to the list of bundled extensions/skins since October 2020)

... and presumably needs to finish being undeployed from WMF production at the same time? It's still listed in extension-list (and still has some WMF site config, e.g. this), which presumably means that a nearly-empty extension folder is currently being deployed onto WMF servers (in addition to being added to the tarball) ^^

Adding Release-Engineering-Team for help with what still needs doing :)

It turns out that the mediawiki/extensions/Interwiki repo still needs to be removed from being a bundled extension, and from being branched for WMF production; xref https://gitlab.wikimedia.org/repos/releng/release/-/blob/e358bf04db00e434a0192d7ac147221e2b494300/make-release/settings.yaml. (Discovered while working through T399035: Update the Patch demo `tarball` preset to reflect updates to the list of bundled extensions/skins since October 2020)

Then all of that is blocked by this, not the other way around.

I suggest re-closing this.

To be honest, I don't really mind how the tasks are structured. I reopened this based on (what seemed like) precedent in T27482: Merge RenameUser into core for the Wikimedia undeployment steps to be handled within the same task as the merging itself; and because (to me) fully undeploying the merged extension from Wikimedia sites (& e.g. removing the extension from the tarball) necessarily seemed like a part of merging the extension into core. (One of the steps in the Wikimedia undeployment has already been done, & was linked to this task - it just seems like the others may have been inadvertently missed :))
If someone wants to open a new parent task for that though, I have no objection - I guess it just seems slightly unnecessary imo, but no objection if anyone else thinks it's worth doing :)

(In case you're referring to the fact I added T381630 as a parent to this task, that was intended to be separate from what I wrote in my comment - I just added that as a parent as it seemed logical to me that the 'archive this merged extension' task would depend on the 'merge this extension into core' task.)

todo:

The first one of these was done (and the second is being done) in T399636: Undeploy the Interwiki extension from WMF prod - thanks @Zabe!