NAME
RT::Extension::MergeUsers - Merges two users into the same effective
user
DESCRIPTION
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 adds "MergeInto" and "UnMerge" functions to the RT::User class,
which allow you to programmatically accomplish the same thing from your
code.
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.
RT::Shredder and Merged Users
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:
1. Re-run your shredder command with the same or similar options. The
unmerged user records will now be accessible and, depending on your
shredder options, they will likely be shredded on the second run. If
you have multiple layers of merged users, you may need to run
shredder multiple times.
2. MergeUsers will log the unmerged users at the "info" level 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).
INSTALLATION
Be sure to also read "UPGRADING" if you are upgrading.
"perl Makefile.PL"
"make"
"make install"
May need root permissions
Edit your /opt/rt4/etc/RT_SiteConfig.pm
If you are using RT 4.2 or greater, add this line:
Plugin('RT::Extension::MergeUsers');
For RT 4.0, add this line:
Set(@Plugins, qw(RT::Extension::MergeUsers));
or add "RT::Extension::MergeUsers" to your existing @Plugins line.
Clear your mason cache
rm -rf /opt/rt4/var/mason_data/obj
Restart your webserver
UPGRADING
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.
UTILITIES
rt-clean-merged-users
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.
Next
This custom iterator makes sure that duplicate users are never shown in
search results.
AUTHOR
Alex Vandiver
LICENSE
GPL version 2.