Extension:UserMerge

From Linux Web Expert

MediaWiki extensions manual
UserMerge
Release status: stable
File:UserMergeScreenshot.png
Implementation Special page , User identity
Description Merges references from one user to another user in the Wiki database - can also delete old users following merge
Author(s)
Latest version 1.10.2
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki >= 1.37.0
Database changes No
License GNU General Public License 2.0 or later
Download
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Translate the UserMerge extension if it is available at translatewiki.net
Vagrant role usermerge
Issues Open tasks · Report a bug

The UserMerge extension allows wiki users with the usermerge permission (Bureaucrat by default) to merge one Wiki user's account with another Wiki user's account.

Features
  • merge (refer contributions, texts, watchlists, edit count of a first account A to a second account B)
  • delete the first account A after the merge (option box)
Limitations
  • you cannot delete a user A without having merged the user A to B
  • you cannot merge your own account (logged-in user) into a different user
Notes
  • if you omit the "New User" field, then the extension auto-populates the New User as "Anonymous" (user_id 0), and ask you to confirm a merge to Anonymous. This is used for user deletion: you first empty (merge to user 0) contributions of a user A, and then delete the user A.
    • If your version of the extension complains about an empty "New User" field you can fill in  "Anonymous"
  • the extension creates a User Merge log and logs all User Merge extension activity.
File:OOjs UI icon notice-destructive.svg <translate> Warning:</translate> UserMerge is currently incompatible with either $wgSharedDB or CentralAuth.

Installation

  • <translate> [[<tvar name=2>Special:ExtensionDistributor/UserMerge</tvar>|Download]] and move the extracted <tvar name=name>UserMerge</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UserMerge
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'UserMerge' );
    // By default nobody can use this function, enable for bureaucrat?
    $wgGroupPermissions['bureaucrat']['usermerge'] = true;
    
    // To enable for administrators add this:
    $wgGroupPermissions['sysop']['usermerge'] = true;
    
    // optional: default is [ 'sysop' ]
    $wgUserMergeProtectedGroups = [ 'groupname' ];
    
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>


<translate> Vagrant installation:</translate>

  • <translate> If using <tvar name=vagrant>Vagrant </tvar>, install with <tvar name=code>vagrant roles enable usermerge --provision</tvar></translate>

Usage

  • follow Installation Instructions
  • a new Special Page Special:UserMerge with the title Merge and Delete Users is created
  • unmergeable users can be defined (examples):
# Allow all users to be merged (by default, the 'sysop' group is unmergeable)
$wgUserMergeProtectedGroups = [];

# Disallow merging of the users in the 'sysop' or 'awesomeusers' groups
$wgUserMergeProtectedGroups = [ 'sysop', 'awesomeusers' ];

# enable the permission for sysops
$wgGroupPermissions['sysop']['usermerge'] = true;

You can use Help:RevisionDelete feature of MediaWiki to replace the UserMerge logs information with neutral information.

Active RevisionDelete in "LocalSettings.php" file with:

$wgGroupPermissions['sysop']['deletelogentry'] = true;
$wgGroupPermissions['sysop']['deleterevision'] = true;

Then, from Special:Log/usermerge, you can check and disable the logs content resulting from modifications made by UserMerge with simple check box.


See also

  • hideuser right - Allows to "hide" users from various lists when indefinitely blocking them
  • phab:T8397 - Flag to mark accounts locked/hidden (aka remove/delete user)