CiviCRM 1.8: Merging Contacts

Published
2007-05-31 01:53
Written by
One of the main features of CiviCRM 1.8 is the ability to find duplicate contacts and merge them. The relevant spec of phase one is on our wiki, and in this post I’d like to quickly describe the merge screen. As with most of CiviCRM features, we decided to introduce merging functionality incrementally, so we can get the basic merge screen as soon as possible and then add more features based on the feedback we get. The merge screen introduced in CiviCRM 1.8 consists of two columns with selected data from the two contacts to be merged: the main contact and the duplicate one. For every pair of data the ability to overwrite the main contact’s value with the duplicate contact’s value is provided. Choosing which data to display (and in what manner) was not obvious. For CiviCRM 1.8 we ended up displaying a merge option for each of the general data fields (like names, prefixes, privacy options, etc.), an option to merge each of the location types (but without the granularity of different location sub-fields), one for each of the custom data fields, and a single option for each of the following: Contributions, Memberships, Events, Activities, Relationships, Groups, Notes and Tags, which allows to move the related objects from the duplicate contact to the main one. After merging, the duplicate contact gets deleted along with any data not ‘moved’ to the main one; we also do some ‘behind the scenes’ movements that assues the database is not left in an inconsistent state (i.e., we move all log info associated with the operator associated with the duplicate contact to the main one, update the source contact in meetings accordingly, etc.). More info on the merge functionality will be posted as soon as we have a demo version of CiviCRM 1.8 beta put online, so that we can present on an example of what we’re writing about. The duplicate search functionality will be described in general in a post next week.
Filed under