Page MenuHomePhabricator

Merge RenameUser into core
Closed, ResolvedPublicFeature

Description

It really should be core functionality...


Version: unspecified
Severity: enhancement
URL: http://www.mediawiki.org/wiki/Extension:Renameuser

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:16 PM
bzimport set Reference to bz25482.
bzimport added a subscriber: Unknown Object (MLST).

This extensions was bundled (by you) :) and it sits now under "Closed" at http://www.mediawiki.org/wiki/List_of_extensions_to_be_merged_to_the_core#Renameuser

There hasn't been any progress here since 2010. Should we resolve this as WONTFIX?

Reedy: Could you answer comment 1, please?

(In reply to comment #1)

This extensions was bundled (by you) :) and it sits now under "Closed" at
http://www.mediawiki.org/wiki/
List_of_extensions_to_be_merged_to_the_core#Renameuser

There hasn't been any progress here since 2010. Should we resolve this as
WONTFIX?

I think we should do this, rather than just bundling the extension; it's what people will expect of administrator toolsets nowadays.

(In reply to comment #3)

There hasn't been any progress here since 2010. Should we resolve this as
WONTFIX?

I think we should do this, rather than just bundling the extension; it's what
people will expect of administrator toolsets nowadays.

Closing. Please reopen if you disagree.

I think by "we should do this", James meant "we should merge it into core".

Agreed; this is something we should merge.

CC'ing Chris who would be most likely the one responsible. (Sorry, Chris. :-))

It'd be awfully nice to clean up the database schema before doing this, but it's not strictly a blocker.

Please give a deeper elaboration reason other than "we should" when we already have bundled in the installer.

(In reply to comment #8)

Please give a deeper elaboration reason other than "we should" when we
already have bundled in the installer.

See comment 3.

"[W]e already have bundled in the installer" means that *some* people (who use the tarballs, which is far from all our downstream users) will probably, hopefully have it available. That's not sufficient for what is an expected piece of fundamental account management (for anti-vandalism purposes, account management and others).

(In reply to comment #9)

...snip...
"[W]e already have bundled in the installer" means that *some* people (who
use
the tarballs, which is far from all our downstream users)

basically its most people apart from

A. Directly setup from out VCS (I'm sure they can manage installing a extension)
B. People who install from OS-Packages (Which afaik we don't really support anyway, And could bundle the extensions into a seperate package file like they used to do for maths supportor they could probably still do it normally in the installer )
C. CPanel/Fantastio/etc users

There has been numerous discussions on the lists and IRC channels about Bundling in Core vs Bundling ext in the installer package, And I haven't really be swayed away from the latter yet in-regards to the bigger picture.

(In reply to comment #10)

There has been numerous discussions on the lists and IRC channels about
Bundling in Core vs Bundling ext in the installer package, And I haven't
really
be swayed away from the latter yet in-regards to the bigger picture.

Indeed, there's been a fair amount of talk about it. But I don't think there's one fixed rule, like "Always/Never make it an extension if you can".

It depends on how, well, core, the functionality is. If it's something every wiki, or almost every wiki, needs, that's an argument to move it to core. Doing so can sometimes allow structuring the code in a simpler way.

I agree, it should be merged into core. Would a patch to accomplish that be accepted?

(In reply to Nathan Larson from comment #12)

I agree, it should be merged into core. Would a patch to accomplish that be
accepted?

If it's just the current code in the extension, I would say no. I do agree that renameuser-functionality should be in core though.

Special:Renameuser's code is a mess, and should be re-written with FormSpecialPage. The logic should also be abstracted into its own class so make adding an API module trivial.

Also it doesn't support shared user tables, which would be a blocker IMO (though, that would probably just work if bug 31863 was fixed).

Aklapper changed the subtype of this task from "Task" to "Feature Request".Feb 4 2022, 12:24 PM

RenameuserSQL is a public API used by 9 extensions, it can't easily be changed. There are also hook interfaces which are occasionally used. These interfaces are in the MediaWiki\Extension\Renameuser namespace.

We could replace the extension with a stub that defines the necessary class aliases for backwards compatibility.

The logic should also be abstracted into its own class so make adding an API module trivial.

Maybe half of SpecialRenameuser.php belongs in a backend class -- 200 or 250 lines of code. Most of that is page moves. CentralAuth calls RenameuserSQL and needs page moves, so in theory it could use the new backend class. But CentralAuth is actually doing a better job of page moves -- it queues subsidiary jobs whereas Renameuser just does them all in a loop in the same request. So maybe CentralAuth's code needs to go into core instead.

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

[mediawiki/core@master] Copy the Renameuser extension into core

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

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

[mediawiki/extensions/Renameuser@master] Move all source files to core and replace with a class_alias stub

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

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

[mediawiki/core@master] Renameuser: update for core deprecations and actor migration

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

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

[mediawiki/core@master] Add basic test for SpecialRenameuser

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

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

[mediawiki/core@master] Renameuser: refactoring round 2

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

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

[mediawiki/core@master] Renameuser: use MovePage::moveSubpagesIfAllowed

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

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

[mediawiki/core@master] Renameuser: mostly rewrite the maintenance script

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

Change 892916 merged by jenkins-bot:

[mediawiki/core@master] Copy the Renameuser extension into core

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

Change 892917 merged by jenkins-bot:

[mediawiki/extensions/Renameuser@master] Move all source files to core and replace with a class_alias stub

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

Change 893830 merged by jenkins-bot:

[mediawiki/core@master] Add basic test for SpecialRenameuser

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

Change 894649 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/CentralAuth@master] GlobalRename: use core Renameuser classes

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

Change 894649 merged by jenkins-bot:

[mediawiki/extensions/CentralAuth@master] GlobalRename: use core Renameuser classes

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

Change 894728 had a related patch set uploaded (by Zabe; author: Zabe):

[mediawiki/extensions/CheckUser@master] use core Renameuser classes

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

Change 894728 merged by jenkins-bot:

[mediawiki/extensions/CheckUser@master] use core Renameuser classes

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

Change 895703 had a related patch set uploaded (by Majavah; author: Majavah):

[mediawiki/extensions/AbuseFilter@master] UserRenameHandler: Use core RenameUser classes

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

Change 895703 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@master] UserRenameHandler: Use core RenameUser classes

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

Change 895890 had a related patch set uploaded (by Zabe; author: Zabe):

[mediawiki/extensions/LiquidThreads@master] use core Renameuser classes

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

Change 895890 merged by jenkins-bot:

[mediawiki/extensions/LiquidThreads@master] use core Renameuser classes

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

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

[mediawiki/core@master] Renameuser: tweaks and followups

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

Change 893099 merged by jenkins-bot:

[mediawiki/core@master] Renameuser: refactoring round 1

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

Change 893831 merged by jenkins-bot:

[mediawiki/core@master] Renameuser: refactoring round 2

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

Change 896311 had a related patch set uploaded (by Majavah; author: Majavah):

[integration/config@master] zuul: Remove some Renameuser dependencies

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

Change 897187 had a related patch set uploaded (by Zabe; author: Majavah):

[mediawiki/extensions/AbuseFilter@wmf/1.40.0-wmf.26] UserRenameHandler: Use core RenameUser classes

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

Change 897188 had a related patch set uploaded (by Zabe; author: Zabe):

[mediawiki/extensions/LiquidThreads@wmf/1.40.0-wmf.26] use core Renameuser classes

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

Change 897368 had a related patch set uploaded (by Jforrester; author: Jforrester):

[mediawiki/extensions/CodeReview@master] Use core RenameUser classes now it's moved from the extension

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

Change 897188 merged by jenkins-bot:

[mediawiki/extensions/LiquidThreads@wmf/1.40.0-wmf.26] use core Renameuser classes

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

Change 897368 merged by jenkins-bot:

[mediawiki/extensions/CodeReview@master] Use core RenameUser classes now it's moved from the extension

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

Change 897187 merged by jenkins-bot:

[mediawiki/extensions/AbuseFilter@wmf/1.40.0-wmf.26] UserRenameHandler: Use core RenameUser classes

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

Mentioned in SAL (#wikimedia-operations) [2023-03-13T07:51:47Z] <zabe@deploy2002> Started scap: Backport for [[gerrit:897188|use core Renameuser classes (T27482)]], [[gerrit:897187|UserRenameHandler: Use core RenameUser classes (T27482)]]

Mentioned in SAL (#wikimedia-operations) [2023-03-13T07:53:16Z] <zabe@deploy2002> zabe: Backport for [[gerrit:897188|use core Renameuser classes (T27482)]], [[gerrit:897187|UserRenameHandler: Use core RenameUser classes (T27482)]] synced to the testservers: mwdebug2001.codfw.wmnet, mwdebug1002.eqiad.wmnet, mwdebug1001.eqiad.wmnet, mwdebug2002.codfw.wmnet

Mentioned in SAL (#wikimedia-operations) [2023-03-13T07:58:50Z] <zabe@deploy2002> Finished scap: Backport for [[gerrit:897188|use core Renameuser classes (T27482)]], [[gerrit:897187|UserRenameHandler: Use core RenameUser classes (T27482)]] (duration: 07m 02s)

Change 893840 merged by jenkins-bot:

[mediawiki/core@master] Renameuser: use MovePage::moveSubpagesIfAllowed

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

Change 896198 merged by jenkins-bot:

[mediawiki/core@master] Renameuser: tweaks and followups

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

Change 893841 merged by jenkins-bot:

[mediawiki/core@master] Renameuser: mostly rewrite the maintenance script

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