Skip to main content
ExLibris
  • Subscribe by RSS
  • ExLibris Dev

    Exporting Alma Records to Primo

    Translatable
    To configure publishing to Primo, you must have one of the following roles:
    • Catalog Administrator
    • Repository Administrator
    • General System Administrator
    The Alma publishing process is run after the bibliographic, holdings, circulation data, and optional course reserves data has been populated in Alma. Alma exports the full set of records the first time and then exports the changed records daily. After Alma exports the records, Primo harvests and normalizes the exported records to be searched and viewed by end users via Primo’s Front End.
    This Publish bibliographic records to Primo profile publishes all types of records, not just MARC21 records. Note that you must configure separate pipes in Primo to support each output type.
    If you encounter export issues that require advanced troubleshooting, contact Ex Libris support for assistance.

    Publishing to Primo

    The publishing profile allows you to configure the settings used to publish the records to Primo.
    In a collaborative network, the Network Zone can publish shared resources for the member institutions. For more information, see Publishing Records from the Network Zone.
    To publish Alma records to Primo:
    1. Configure an S/FTP connection to be used by Alma and Primo (see Configuring S/FTP Connections).
      For example:
      Update S/FTP Connection Page
      • Before saving a new S/FTP connection, you can click Test FTP to test your connection.
      • If you enter a subdirectory, it must not begin with a slash (/) and must be located under the home directory of the specified user. It cannot be located elsewhere on the file system.
      • Make sure that port 22 on the Primo server is open to the Alma server.
    2. On the Resource Management Configuration page (Resource Management > Resource Configuration > Configuration Menu), click Publishing Profiles under Record Export. The Publishing Profile page opens.
      Publishing Profiles Page
    3. In the row that contains the Publish bibliographic records to Primo profile, select Actions > Edit.
      The Publishing Profile Details page appears.
      Publishing Profile Details Page
    4. Configure the Publishing Profile Details page parameters as described in the table below:
      Parameter Description
      Profile Details section:
      Profile Name and Description
      Update these fields as required.
      Run full publishing
      If this option is selected (for example, to publish headings enrichment data to Primo - see Exporting Alma Records to Primo below), the system publishes all records, replacing previously published data. If this option is not selected, the system publishes records that have changed since the last time they were published. This includes bibliographic records that were added, updated, deleted, and linked to inventory records that changed.
      Full publishing publishes only non-deleted records. You must also make sure that old records that have been deleted/suppressed from Alma are treated as expected. For this reason, it is recommended that you run incremental publishing to publish all recently deleted records as deleted, load the deleted record information into Primo using the regular, ongoing pipe (see Harvesting and Publishing Alma Records in Primo), run full publishing, and then load the published Alma records into Primo (again, using the regular, ongoing pipe).
      Scheduling
      From the drop-down list, select one of the scheduling options that are preconfigured by Ex Libris staff.
      Email Notifications
      Opens the Email Notifications for Scheduled Jobs page, which allows you to specify which users and email addresses will receive email notifications when the publishing profile has completed. You will have the option to choose whether to send the notifications for successful jobs and/or jobs that contain errors.
      Status
      Select Active.
      Submission Format section:
      FTP configuration
      By default, the publishing process places the exported files in a directory that Primo uses to harvests the files. This field specifies a predefined profile that contains the FTP information. If the transfer fails, the system includes a link to the published files in the publishing report.
      The directory must be configured in advance because Alma cannot create it.
      From the drop-down list, select the name of the S/FTP connection that you previously defined.
      Sub-directory
      The subdirectory in which the exported files are placed.
      For example, if you specified Alma in the Sub-directory field during S/FTP connection configuration and you enter Primo in this field, the data is exported to the Alma/Primo directory.
      Content Options section:
      Electronic, Physical, Digital, and Collection
      Select the check box next to the type of records that you want to publish.
      To enable digital full-text publishing, contact Ex Libris Support.
      Course information enrichment
      Indicates whether course reserve information is included with the bibliographic records. Note that course reserves are not published as independent records. Instead, the system adds this information to the CNO field in the associated bibliographic record.
      Citation details are not published to Primo. Only the bibliographic record of the citation's attached inventory item (MMS record) is published.
      Related records information enrichment
      Indicates whether related record information is included with the bibliographic records.
      Linked data enrichment
      This allows URIs to be entered in the 0 subfield of the relevant bibliographic fields.
      Headings enrichment
      Select this option to publish headings enrichment data to Primo. For more information, see Publishing Headings Enrichment to Primo below. When you select this option, the display dynamically refreshes with additional option of Heading enrichment - enrich with "See Also" fields.
      The addition of related terms is not supported out-of-the-box in Primo. Before activating this option, make sure that you have decided how to use the related terms in Primo and have updated your normalization rules as necessary. For more information, see Other Implementation Considerations below.
      Heading enrichment – enrich with “See Also” fields
      Select this option to include the 5XX see also fields when publishing headings enrichment data to Primo. For more information,see Publishing Headings Enrichment to Primo below.
      Physical Inventory Enrichment section:
      Quick Add area
      The following fields in the Quick Add area allow you to map holdings tags/subfields from the holdings record to tags/subfields in the published bibliographic record: Holding Tag, Holding Subfield, Bib Tag, and Bib Subfield.
      After you have entered the above mapping data, click Add to add the new mapping to the list.
    5. Click Save. The modified publishing profile appears activated on the Publishing Profiles page. Data that meets the defined criteria is exported to the specified FTP location when the profile is run (either manually or according to the selected schedule).
      The Publishing to Primo job publishes up to 1000 relations per bibliographic record.
      For information on monitoring a publishing export job, see Viewing Running Jobs. For information on the job report, see Viewing Completed Jobs
      Because job monitoring can report a successful completion even when the FTP has failed, it is important to check the job report for errors.

    Publishing Headings Enrichment to Primo

    This feature is not available in the sandbox.
    Alma publishing to Primo options provide the capability to include headings enrichment data. For each MARC 21 or UNIMARC record published to Primo, Alma enables you to include the authority headings information to be used in Primo.
    The focus of this section details Alma’s implementation of publishing headings enrichment data. In addition, there are implementation considerations for integrating this capability with Primo. See the Other Implementation Considerations section below that directs you to the Primo information you’ll need to complete your implementation.
    In Primo, UNIMARC records are supported out-of-the-box as of the May 2016 release.
    For information regarding configuring headings enrichment, see Publishing to Primo. After you configure Publish bibliographic records to Primo to include the headings enrichment configuration option(s), your incremental publishing to Primo includes headings enrichment in the harvested records. This, of course, assumes that your Publish bibliographic records to Primo publishing profile is selected as an Active profile.
    The headings enrichment capability is relevant for Primo version 4.1.1 and later. Before configuring Alma for publishing headings enrichment data to Primo, you need to update your normalization rules in Primo. Additional Primo information is referenced below in the Other Implementation Considerations section. If you decide that you need to run a full publishing of records to Primo, see the instructions above under Run full publishing.
    It is recommended that the Authorities – Preferred Term Correction job be set to Active when implementing and using the publishing headings enrichment to Primo capability. Otherwise, there may be instances when the Primo Browse list may show multiple preferred headings that ultimately link to the same authority in Alma.

    Headings Enrichment Overview

    MARC 21 and UNIMARC records are enriched with information from related Alma authority records (either local or Community Zone authority records) for the following bibliographic record authorization fields:
    • MARC 21 – 100-199, 600, 610, 611, 630, 648, 650, 651, 654, 655, 700, 710, 711, 730, 751, 752, 754, 800, 810, 811 or 830
    • UNIMARC – 410, 411, 416, 500, 600, 601, 602, 605, 606, 607, 616, 617 700, 701, 702, 703, 710, 711, 712, 713, 720, 721, 722, 723, 730, 740, 741, or 742
    Specifically, the enrichment includes the 1XX and 4XX, preferred and nonpreferred, information when available in the related authority record. This enrichment is provided with the selection of the Headings enrichment publishing parameter described in the procedure below
    This especially enhances the Primo search capability of nonpreferred (4XX) terms so that, for example, Mark Twain can be found with Samuel Clemens; and with the cross references to the Primo author and subject browse list, when the heading Samuel Clemens appears, it displays “See Twain, Mark.”
    Optionally, headings enrichment authorization can also include the following 5XX see also authority fields when the Heading enrichment – enrich with “See Also” fields publishing parameter is selected as described in Publishing to Primo:
    • MARC 21 – 500, 510, 511, 530, 548, 550, 551, 555, 562, 580, 581, 582, or 585
    • UNIMARC – 500, 510, 511, 515, 530, 550, 580
    See the table below for a description of how the enrichment is implemented.
    Subfield Change Description
    $2
    Contains the vocabulary code used for authorization. The current supported values include:
    • LCSH
    • LCNAMES
    • MESH
    • LCAC
    If the second indicator of the field is 4 or 7, $2 is not overwritten.
    $0 (subfield zero)
    Contains the Alma authority record ID. If the field in the MARC 21/UNIMARC record is authorized using authority records in Alma (either local or Community Zone authority records), $0 is added. Other $0 considerations include:
    • If the original field already has a value in $0 (from another system), it is replaced with Alma’s authority record ID.>
    • If Alma does not have an authority record for a heading, no $0 is added to the field.
    • If the field has a value in $0, but the field is not authorized in Alma, $0 is deleted.
    $9
    Contains Y, N, or R
    • Y=The term in the authorized field is preferred.
    • N=The term in the authorized field is nonpreferred.
    • R=The term in the authorized field is from a 5XX see also field.
    $9 is added to every field in the original MARC 21/UNIMARC record that is authorized.
    $L Contains the language information (for multilingual authorities).
    For fields associated with authority records that contain preferred and nonpreferred terms, record enrichment processing is handled in the following manner:
    • A field with the same tag as the original, authorized field is added to the MARC record.
    • $0 and $2 are added to this new field with the same values as the ones contained in the original field.
    • $9 is added to the new field with the value Y for preferred and the value N for nonpreferred (as described in the table above).
    • The values of the other subfields for the new field are copied from the authority record field.
    If you optionally select the Heading enrichment – enrich with “See Also” fields publishing parameter (as described in the Publishing to Primo section), record enrichment processing is handled in a similar manner with $9 containing the value R to indicate that the content is from a 5XX see also field.
    See the illustration below for an example of the headings enrichment implementation.
    <datafield tag="100" ind2=" " ind1="1">
    <subfield code="a">Schumaker, Ward.</subfield>
    <subfield code="2">LCNAMES</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-n 93026393</subfield>
    <subfield code="9">Y</subfield> (preferred)
    </datafield>
    <datafield tag="245" ind2="0" ind1="1">
    <subfield code="a">Dance! /</subfield>
    <subfield code="c">Ward Schumaker.</subfield>
    </datafield><datafield tag="250" ind2=" " ind1=" ">
    <subfield code="a">1st ed.</subfield>
    </datafield>
    <datafield tag="260" ind2=" " ind1=" ">
    <subfield code="a">San Diego :</subfield>
    <subfield code="b">Harcourt Brace,</subfield>
    <subfield code="c">©1996.</subfield>
    </datafield>
    <datafield tag="300" ind2=" " ind1=" ">
    <subfield code="a">1 volume (unpaged) :</subfield>
    <subfield code="b">color illustrations ;</subfield>
    <subfield code="c">21 x 28 cm</subfield>
    </datafield>
    <datafield tag="336" ind2=" " ind1=" ">
    <subfield code="a">text</subfield>
    <subfield code="b">txt</subfield>
    <subfield code="2">rdacontent</subfield>
    </datafield
    <datafield tag="337" ind2=" " ind1=" ">
    <subfield code="a">unmediated</subfield>
    <subfield code="b">n</subfield>
    <subfield code="2">rdamedia</subfield>
    </datafield>
    <datafield tag="338" ind2=" " ind1=" ">
    <subfield code="a">volume</subfield>
    <subfield code="b">nc</subfield>
    <subfield code="2">rdacarrier</subfield>
    </datafield>
    <datafield tag="520" ind2=" " ind1=" ">
    <subfield code="a">A number of animals demonstrate some of the many different ways to dance, from bumping and romping to swirls and plie´s.</subfield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="a">Dance</subfield>
    <subfield code="v">Juvenile fiction.</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2009122820</subfield>
    <subfield code="9">Y</subfield> (preferred)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="a">Stories in rhyme</subfield>
    <subfield code="v">Juvenile fiction.</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">Y</subfield> (preferred)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="a">Rhymed stories</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">N</subfield> (nonpreferred)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="a">Rhyming stories</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">N</subfield> (nonpreferred)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="a">Stories in verse</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">N</subfield> (nonpreferred)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="w">g</subfield>
    <subfield code="a">Fiction</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">R</subfield> (see also)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="w">g</subfield>
    <subfield code="a">Narrative poetry</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">41-LIBRARY_OF_CONGRESS-sh2005008473</subfield>
    <subfield code="9">R</subfield> (see also)
    </datafield>
    <datafield tag="650" ind2="0" ind1=" ">
    <subfield code="w">g</subfield>
    <subfield code="a">Dogs</subfield>
    <subfield code="2">LCSH</subfield>
    <subfield code="0">11-LIBRARY_OF_CONGRESS-sh2012004443</subfield>
    <subfield code="9">R</subfield> (see also)
    </datafield>
    Enrichment Implementation Example

    Other Implementation Considerations

    You need to verify that your Primo normalization rules are tailored to address the additional headings enrichment fields to align with your requirements. See the Configuring the Normalization Rules section in the Primo documentation for more information. This documentation first explains the browse section and then explains the rules per template including the Alma MARC Template. Also note that:
    • In general, the rules need to be updated in the following ways:
      • The Browse section needs be updated so that Browse headings including cross-references can be created.
      • A number of rules (detailed in the Primo documentation) have to be updated to prevent nonpreferred terms from being used in display, facets, dedup, and sort.
    • The Alma MARC Template (in Primo) has been updated to support the Alma headings enrichment from Primo V4.1 with some corrections added in V4.5. As a result, it is likely that you already have the necessary rules in place; or if not, possibly you may have already updated your rules. To verify the status of your rules, first check the Browse section. If there are no rules in the Browse section, the rules will have to be updated. If there are rules in the Browse section, the rules are most likely updated but you should also check that the other fields as identified in the Normalization Rules Template section of the Primo documentation have been updated.
    You can update your Primo normalization rules using the following options:
    For Primo Total Care installations, follow the usual procedure of contacting Support for template normalization rule changes (non-preconfigured feature changes) to have your normalization rules updated to incorporate headings enrichment data published from Alma.

    The Output of the Publishing Process

    The output files of the Alma Primo publishing job are placed in the defined FTP directory location of the publishing profile.
    The publishing process places all MARC 21 records directly on the FTP directory location specified, while automatically creating a separate subdirectory for any non-MARC 21 metadata format used by your institution, where relevant. This may include a subdirectory named unimarc for UNIMARC records or dc for Dublin Core records. If your institution uses any non-MARC 21 formats, you will need a separate Primo pipe harvest setup for each format, adding the appropriate subdirectory unimarc or dc to the pipe's FTP source directory definition. For instance, if Alma is publishing to an FTP in directory a/b/c, the MARC 21 pipe in Primo will set the source directory as a/b/c. However, if the same institution uses UNIMARC or Dublin Core, the source directory set for those pipes would need to be set as a/b/c/unimarc or a/b/c/dc, respectively. For more information on publishing to the Primo sandbox from an Alma sandbox, see Alma Sandbox Environments.
    The publishing process output directory contains the archived and compressed (*tar.gz) files with the following naming conventions:
    • IEP*.tar.gz – Contains bibliographic records with the print inventory.
    • IEE*.tar.gz – Contains records with electronic inventory.
    • IED*.tar.gz – Contains records with digital inventory.
    • IE_MMS*.tar.gz – Contains records with no inventory attached.
    Each tar.gz file contains 100 Alma records.
    Course reserves data is not published as a separate record type. It is embedded in the published P (physical), E (electronic), and D (digital) records.

    The Format of Published Data

    Alma publishes data in XML format. The system modifies published MARC XML records to include the following data:
    • Alma Intellectual Entity ID – Stored in the header of the published record, and used as the base for the record ID in Primo:
      <header status="new">
      <identifier>urm_publish:21239404420001021</identifier>
      </header>
    • 001 – Contains the MMS ID.
    • INT – Indicates the entity type, which is stored in the $$a subfield. Alma publishes the following record types to Primo:
      • P (Physical) – Indicates that the exported bibliographic record has an associated holdings record (with or without items).
      • D (Digital) – Indicates that the exported bibliographic record has an associated representation. For more information, refer to the TYP field.
      • E (Electronic) – Record is one of the following electronic types:
        • Electronic – Indicates that the bibliographic record has an associated portfolio.
        • Electronic Collection – Records of this type do not have any associated portfolios but are distinguished from other electronic records with the ECT field.
      • C (Collection). Indicates that the type of record is a collection and may contain mixed types of material.
    • TYP – Indicates the entity type of digital records, which is stored in the $$a subfield.
    • AVA – This field is created for print materials only. It contains location and availability information in the following subfields:
      • $$8 – Contains the MMS ID of the holdings record. This subfield is not used by Primo, but customers who use the Retrieve Bib REST API and SRU can retrieve it.
      • $$a – Institution code
      • $$b – Library code
      • $$c – Location display name
      • $$d – Call number
      • $$e – Availability (such as available, unavailable, or check_holdings)
      • $$f – Total items
      • $$g – Non-available items
      • $$j – Location code
      • $$k – Call number type
      • $$p – Priority
      • $$t – Textual representation taken from the MARC 866, 867, and/or 868 fields. This subfield is not used by Primo, but customers who use the Retrieve Bib REST API and SRU can retrieve it. This subfield is repeatable.
    • AVD – This field is created for digital materials only. It is published for bibliographic records with digital inventory. It contains the following subfields:
      • $$a – Institution code
      • $$b – Representation PID
      • $$c – Representation type: REPRESENTATION or REMOTE_REPRESENTATION
      • $$d – Remote repository name (if this is a remote representation)
      • $$e – Representation's label
      • $$f – Public note
    • AVE – This field is created for available for information (Available Electronic). It contains available for information in the following subfields:
      • $$i – contains a single e-resource's Available for institution code
      • $$c – contains a single e-resource's Available for campus code
      • $$l – contains a single e-resource's Available for library code
      If you have defined a separate Primo institution per Alma campus, this field is the basis for defining the Primo institution in the PNX records. Otherwise, you can use this information to create search scopes and search campus-specific e-resources.
    • COL – This field contains collection information in the following subfields:
      • a – Parent collection ID
      • b – Collection title
      • c – Collection name
      • A – The owning institution. Currently, this field is added only for centralized publishing, but it will be used for standard publishing in the future.
    • CNO – This field contains course reserve list information in the following subfields:
      • $$a – Institution code
      • $$b – Start date
      • $$c – End date
      • $$e – Department name
      • $$f – Department code
      • $$g – Course instructors
      • $$j – Course name
      • $$k – Course code and section
      • $$l – Section ID
      • $$o – Searchable IDs
      • $$r – Course year
      The CNO contains the course details but not the citation details. If the reading list citation is an article in a journal held by the library, in order for the article information to appear in Primo, the article must be cataloged as an MMS record. It is not enough to enter the article details in the reading list citation and then attach it to the resource which is the bibliographic record of the journal. The attached resource is published to Primo, not the reading list citation.
    • ECT – When populated, indicates that the electronic record is an electronic collection.
    • INST – Contains the institution code (needed for the records of type E, for which AVA is not created). Note that the institution code is stored in the $$a subfield. If the Available Electronic functionality is used, the institution may be indicated in the AVE field only.
      For collaborative networks that are using centralized publishing, the $$b subfield contains the entity type instead of the INT field. For example, if the entity is a collection, the $$b subfield would contain a C.
    • OWN – This field contains ownership information (Ownership) in the following subfields and is not included in the Alma MARC - Template template:
      • $$i – contains a single e-resource ownership associated with the bibliographic record (the institution ID)
      • $$l – contains a single e-resource ownership associated with the bibliographic record (the library)
    Enrichment of the published data by the non-preferred terms from authority records is not yet available.
    --> //doorbell.io feedback widged