Jump to content

Extension:UserMerge

From mediawiki.org
Manual:Merging users redirects here. Not to be confused with Special:MergeAccount provided by Extension:CentralAuth which create a "global" account from local accounts in multiple wikis.
MediaWiki extensions manual
UserMerge
Release status: stable
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.43.0
Database changes No
License GNU General Public License 2.0 or later
Download
  • $wgUserMergeProtectedGroups
  • $wgUserMergeEnableDelete
usermerge
Quarterly downloads 317 (Ranked 10th)
Public wikis using 888 (Ranked 260th)
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.
Warning Warning: UserMerge is currently incompatible with either $wgSharedDB or CentralAuth.

Installation

  • Download and move the extracted UserMerge folder to your extensions/ directory.
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/UserMerge
  • Add the following code at the bottom of your LocalSettings.php file:
    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' ];
    
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.


Vagrant installation:

  • If using Vagrant , install with vagrant roles enable usermerge --provision

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)