RT::Extension::MergeUsers - Merges two users into the same effective user
This RT extension adds a "Merge Users" box to the User Administration page, which allows you to merge the user you are currently viewing with another user on your RT instance.
It also provides a version of CanonicalizeEmailAddress, which means that all e-mail sent from secondary users is displayed as coming from the primary user.
Merging a user effectively makes it impossible to load the merged user directly. Attempting to access the old user resolves to the merged-into user. Because of this, MergeUsers has some extra code to help RT::Shredder clean up these merged records to avoid leaving merged user records in the DB while removing the user they were merged into.
When running RT::Shredder on a user record with other users merged into it, the merged users are Unmerged before the initial user record is shredded. There are two options to handle these newly unmerged users:
infolevel so you can pull the user ids from the log and shred them manually. This is most likely to be useful if you are shredding one specific user (and all merged accounts).
Be sure to also read "UPGRADING" if you are upgrading.
May need root permissions
If you are using RT 4.2 or greater, add this line:
For RT 4.0, add this line:
RT::Extension::MergeUsers to your existing
rm -rf /opt/rt4/var/mason_data/obj
If you are upgrading from 0.03_01 or earlier, you must run rt-upgrade-merged-users. This script will create MergedUsers Attributes so RT can know when you're looking at a user that other users have been merged into. If you don't run this script, you'll have issues unmerging users. It can be safely run multiple times, it will only create Attributes as needed.
When a user with another user merged into it is shredded, the attributes on that user are also shredded, but the merged user will remain, along with attributes that may point to the now missing user id. This script cleans up attributes if the merged-into user record is now gone. These users will then be converted back to regular unmerged users.
This custom iterator makes sure that duplicate users are never shown in search results.
Alex Vandiver <firstname.lastname@example.org>
GPL version 2.