Skip to Main Content

Metadata Management

This guide is about managing external data in Primo/Alma and other platforms.

External Data Management

External data imported through discovery import profile in Alma does not exist in Alma and only can be viewed in Primo. This guides intends to help with managing the imported external data. It has three sections: import, update, and delete.


There are a few steps that one needs to follow when importing external records into Primo:

  1. Harvesting external records: Unless the external system gives users options to download XML or MARC records, users will need to use the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) to harvest records. Primo can take MARC records without conversions or field mapping and accepts XML records as well. However, for XML records, it requires all fields to map to DC vocabulary or local fields. If MARC is not an exporting file format option, depending on the richness of the data, you may want to use DC for convenience (no mapping needed) or other XML schemas. 
  2. Normalizing the harvested records: If the exported file is an XML file, there needs to be a parent tag that contains all records and each record needs to be contained in a tag. For example, the parent tag can be <collection> or <ListOfRecords>. Each record can under a tag like <record>. Sometimes, the harvested records may have some errors. For instance, it may have incorrect attributes for some tags and may add ns(namespace) ahead of the tag name. Unwanted space may be added ahead of ">" or after "<". Review the harvested records and clean them before importing.
  3. Metadata design: It is possible to add local fields and DC fields in Primo for external records. For non-DC and non-MARC schemas, you will need to map non-DC vocabularies to DC and local fields. An example of schema mapping can be viewed here.
  4. Add local fields if needed: Local fields can be added as string or indexed string. Add new fields to the discovery view. Instruction of doing those jobs is described here
  5. Create norm rules if needed: This includes two steps: create norm rules for discovery and create norm rule process task. See this example for discovery norm rule.
  6. Create a discovery import profile: This is the last step of a new import. One needs to create a new search profile and a new discovery import profile. Details can be viewed here


To update imported records, simply re-run the import profile with updated records.


To delete imported records, one needs to know the MMS ID of the imported records. To check the MMS ID of imported records, one could:

  • Go to Discovery import profiles, select the ellipsis button of the import profile you want, and select History
  • Click the ellipsis button of the job that contains records you want to remove. Select Report
  • Expand Report Table, click the ellipsis button of the appropriate row, and select Preview record. The MMS ID of imported records can be viewed or downloaded by clicking the export button on the top right.

Then, create a TXT file for those MMS IDs. The first row of the MMS IDs TXT file should MMS ID. Create an itemized set using that file. 

Run the "Delete Bibliographic records" job with the itemized set. This job will delete all records in Primo.