Record Merging

Record Merging

Record Merging allows users to combine two or more agent records into one. This feature is especially useful when dealing with multiple agents that represent the same person.

For instance, when a user has uploaded a large amount of data that created duplicate agents of the same person, they can now merge the records into one and delete any duplicates, thus keeping their database clean and organized.

This feature is extraordinarily helpful when users have to combine records from different sources which may contain similar information.

Using Record Merging, users can quickly and easily combine records to form a single record. The merged record will contain all selected data from the original records, allowing users to keep the important or correct information from each record, and offering the ability to modify and add additional information to the newly merged record.

The Record Merging feature is accessed through the query builder within Specify 7. After selecting the records to be merged, users can select the Merge Records button after which they will be prompted with the “Merge Records” dialog.

Supported Tables

  • Agent
  • Locality
  • Collecting Event (shared)
  • Paleo Context (shared)

:bulb: Note: See Shared Vs. Embedded for more information

Additional tables will be supported in a future release.

Examples

A simple scenario – two agents, Joe Smith and Joseph Smith, that are intended to be one person are referenced by a variety of different records and tables. Previously, there was no easy way to point all these references to the correct agent, but with the new Merge Records interface it is as simple as selecting the duplicate agents from the query results and merging them in the following dialog:

A more complicated example where many fields in the Agent table differ from each other:

Locality

Simple example:

More complicated example:

Collecting Event

Simple example:

More complicated example:

Paleo Context

Simple example:

More complicated example:

The Basics

In the following video, you can see the basic functionality of the new merging interface:

  • You can click on the :left_: buttons to the left of each field’s value to move it to the new merged record column.
    The :left_: button will display as your “Info button” color as designated in Preferences to indicate that its columns’ information will be included in the new merged record.

  • You can click the Preview button in each duplicate column of the Merge Records dialog to open a read-only record for that column.

  • The leftmost column of the Merge Records dialog contains the data that will be in the new merged record. This section can be manually edited to override the data from the duplicate records and allow the user to quickly modify or add to the final record.

  • The Linked Records button underneath the Timestamp Modified row can be clicked to load all references to that record in the database. The linked records can be explored independently without losing the Record Merging dialog.

For tables which contain more than one reference in the Linked Records section, a date range may be associated with a group of referencing records.

Consider the following example:

date_range.png

In this case, there are 129 Collecting Events (labeled Collecting information on this database) which have a column that either directly or indirectly reference this Agent (Hastings, Leander, Mr., LH).
There are 99 Collectors which reference this Agent through the Created By Agent field and 30 Collectors which reference this Agent through the Modified By Agent field.

The Date Ranges are calculated from any date fields from the associated table (such as Start Date, End Date, Determined Date, Cataloged Date, Borrow Date, etc.)

In the above case, the date ranges are calculated from the Start Date and End Date from the Collecting Events associated with the Collectors.

  • The formatted agent is displayed above each column, allowing the user to visualize how the record will be displayed in query combo box fields on the forms. The new merged record column displays the formatted name in bold to emphasize that it is the final name.

  • For record merges with more than two records, clicking the :x_: to the right of a duplicate agent column will remove them from the merge without leaving the dialog.

  • You can uncheck the “Show conflicting fields only” checkbox to display all fields in that table for a fuller representation of the merged record.

  • The Merge Records dialog supports theoretically unlimited records selected at once.

Once you are satisfied with your changes, you can click Merge.

:warning: Before proceeding, please note that the following action may interrupt other users. This action may cause delays or temporary unavailability of certain features for Specify users. Please consider the impact on their experience. This merge cannot be undone.

To maintain and ensure database integrity, Specify will lock the necessary tables and records which reference the agents involved in the merge. Certain actions such as modifying and deleting these records will be unavailable until the merging process is resolved.

Once the merging process begins, a loading bar will be presented which depicts the progress of the Merging process.

Pressing the Cancel button in this dialog will CANCEL the merging process.
This is the ONLY way to stop a merging process from finishing once it has begun.

The Merging Dialog will NOT reappear if the session crashes or the page is reloaded, but the merging process will continue.

The status of the merging process can still be monitored via the Notification system, which will alert you if the process has been started, canceled, failed, or has succeeded.

The Agent Merging process is ran through an ATOMIC SQL transaction. Because of this, no data will be lost, changed, or otherwise created if the merging process fails.

Screenshot from 2023-09-25 13-24-07

A video demonstrating a successful merge is demonstrated below.

1 Like