Thu 1 Oct 2015
Convincing Primo to show us the MARC record
The ability to view the full MARC record is a feature that existed in our previous two catalogs – Louis (Aleph OPAC) and LouFind (VuFind). It’s a feature that is missed by staff, so we explored our options and settled on a modified version of a method devised by Jeff Peterson at University of Minnesota. Jeff’s method involved using jsp, Primo normalization rules, and Primo mapping templates to create an entry in the Links menu on the Primo Details tab. Since that method would require a full renorm/reindex of Primo, we looked for a shortcut, and found one that enabled us to build the links on-the-fly instead of through norm rules.
Only two file modifications are needed to do on-the-fly retrieval of the MARC record from Alma.
footer.html – added a new section
- checks that it’s on a full record page (details tab)
- gets the Alma MMS ID from either the URL or embedded in the record in a hidden field (.EXLResultRecordId) (script looks for both because one or the other will exist depending on what path you took to arrive at the details tab)
- if the link is clicked, marc.jsp is invoked
marc.jsp – new file
- lives in a custom directory in fe_web (so it won’t be overwritten by service packs)
- created by Jeff Peterson at University of Minnesota
- only modifications needed were to insert our local hostname and institution
- uses the Alma MMS ID (retrieved by the footer.html jquery section described above) and Primo RTA (Real Time Availability) to retrieve the full marc.xml record from Alma
- uses embedded XSL to transform the marc.xml record into the huma-readable form of MARC we know and love
- Fast to implement
- No Primo renorm/reindex needed
- The MARC record retrieved is the up-to-date version from Alma and reflects any changes to the MARC record that have been made since the last time the record was published to Primo – there is a potential lag time of several hours between record edits in Alma and their appearance in Primo. Because the Staff View is most likely to be used by staff, we felt there wasn’t a large risk for confusion.
If you’d like more details and code samples, please feel free to contact us via the “Leave a Reply” section.