System Design: BibMerge
Proposal for a web-based comparing and merging utility.
Motivation
The purpose of this module is to offer to the cataloguers a way to efficiently compare similar records and be able to easily take values from one record and insert them to another.
Idea of implementation
The idea is to have two records side-by-side on the screen and view their tags in parallel. The record on the left (rec1) will be considered as a master record and it will be mutable in the sense that it can receive new values copied from the record on the right (rec2), and also any unneeded values of rec1 can be deleted. Rec2 will be one of possibly many canditate records that will be compared with the master record. The cataloguer will have the ability to move on to the next or the previous canditate and see differences between the master record and them. The canditate records will be immutable (for two reasons: clarity of the procedure and to improve performance/decrease latency/decrease data tranfer load). The user will also be able to see clearly the differences between tags, because they will be marked with a different color.
The interface
https://twiki.cern.ch/twiki/pub/Inspire/SystemDesignBibMerge/screenshot1.bmp
The interface in the picture is not final and will have to be improved, but it is intented to show the main workflow. On the left is the command panel, which is fixed on the window, which means that if the page is very long (because of many datafields), when you scroll down the page, the panel will not move from it's position, so it is always accessible on the screen for the cataloguer to use it. On the right side, the two records are displayed in the scrollable area.
Every tag group can be collapsed to save space on the screen.
Multiple tags and subfields can be selected with the mouse pointer and an action from the panel can be performed on the selected ones. Instead of using the panel buttons, a possible alternative is the use of keyboard shortcuts. The selected tags can be distinguished from non-selected, because their background color will change when selected.
The actions
For choosing canditate records (to be compared with the master record) there are two options. First option is to get all revisions of the same records. Second option is to perform a search, and the results of this search will be used as canditates. So if the user wishes to compare the master record with a specific record, then the search would look something like "recid:1234567"
There is a command to save the changes and a command to pass the record to bibedit for editting the tags.
"Merge selected" will take all non conflicting tags and subfields that are selected from rec2 and add them to rec1.
"Add selected" will take all selected tags and subfields that are selected from rec2 and add them to rec1.
"Replace selected" will take all selected tags and subfields that are selected from rec2 and add them to rec1 if they do not exist there, or replace the tags and subfields that have a conflict in rec1.
"Delete selected" will delete all selected tags and subfields that are selected in rec1.
--
KyriakosLiakopoulos - 14 Oct 2008