Skip to main content
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Alma Link Resolver Workflow


    The following flow chart depicts the high level logical steps for the Alma Link Resolver from the point of OpenURL requests to the delivery of services.

    Link Resolver Flow2.png


    Receive Open URL

    Alma Link Resolver supports ANSI/NISO Z39.88-2004 (R2010) the OpenURL Framework for Context-Sensitive Services. For more information, see ANSI/NISO publications

    Build Context Object

    Once the OpenURL is received, Alma Link Resolver does the following:

    • Extracts the OpenURL metadata by parsing the metadata element available in the OpenURL

    • Additional metadata elements are augmented from additional sources based on ID, for example: Pubmed, DOI.
      Note: The Link Resolver finds matching services based on the metadata from additional sources based on ID. Wrong metadata, such as on a DOI, can impact the availability of services from these sources, since if the metadata is incorrect, then incorrect matching services will be found. 
      For information on augmentation, see Alma Resolver Augmentation.

    • All metadata from the OpenURL and from augmentation processes are saved in a Context Object.

    Match Bibliographic Record/s

    Based on the metadata elements stored in the Context Object, Alma's Link Resolver attempts to match all bibliographic records in the catalog, based on the following logic:

    • Alma internal identifiers (inventory_id, rft.mms_id, rt_dat=ie=<institution code>:<Alma ID>), and standard identifiers (EISSN, ISSN, EISBN, ISBN, LCCN, CODEN, OCLC unique number). When a Bibliographic record is found, the search stops. The search stops even if the record is not an electronic record.

    Note: Alma Link Resolver supports incoming CDI OpenURLs with multiple ISBNs and EISBNs. Alma will use these ISBNs and EISBNs to match bibliographic records and will return all relevant electronic services. 

    • The standard identifiers are prioritized according to the genre (article/journal/issue genres give a higher priority to EISSN/ISSN; other genres give a higher priority to EISBN/ISBN). When genre is not present, priority is given to EISBN/ISBN over EISSN/ISSN. See Using Standard Identifiers for more information.

    • If no match is found on the identifiers, a search is performed by combination of "title" and "author". This is done if author was supplied as part of the URL and genre is one of the following:

      • book
      • bookitem
      • report
      • document
      • conference
      • proceeding
      • preprint
      • dissertation

      If a match is found, the search stops.

      If genre is not one of these values, author will be ignored even if it was supplied in the url and search by title+author will not be done.

      If genre is Journal, Article, or Issue  - no further search is performed.

    • If there was no search by identifier (no identifier as part of the Context Object), a search is performed by "title" only. When searching by title only, the genre plays a role in determining the material type to be retrieved. If the genre is Book, BookItem, Report, or Document, the material type to be retrieved is monograph. If the genre is Issue, Journal or Article, the material type to be retrieved is serial.

    The functionality to combine the EISSN and ISSN searches is controlled by the parameter: temp_enable_identifier_combined_search which is set to true by default. This functionality opens URLs generated for items that have EISSN and ISSN and matches them on EISSN.
    When set to false, the combined search functionality is turned OFF. 


    This parameter is for use by Ex Libris. To edit the settings, contact Ex Libris support.

    When the Link Resolver searches for an ISSN, it performs an All Titles repository search using the ISSN index, searching for all titles that are not suppressed AND where ISSN equals the value sent in EISSN or ISSN of the OpenURL, according to the rules described on this page. For the subfields of the ISSN field that are considered by the Link Resolver, see the Mapping of MARC21 fields table below.

    If an OpenURL includes both EISSN and ISSN:
    • The Alma Link Resolver searches for a match by EISSN first. If a match by EISSN is found, the search is stopped and an additional search for ISSN is not performed.

    • Important! If a match by EISSN is found, but it is filtered out from View It (for example, the dates are not covered) and the search stops as described above, an additional search for ISSN is not performed.

    The OpenURL Link Resolver provides comprehensive matching on OCLC control numbers when processing an OpenURL with rft.oclcnum in the statement, as in the following example:
    http://<Alma delivery domain>/openurl/EX/example_services_page&rft.oclcnum=12345678
    This is achieved by separately indexing the 035 $a and 035 $z subfields. For information on the Alma delivery domain, see Your Alma Domain Names.
    Mapping of MARC21 and UNIMARC fields: 
    Fields that are mapped to Author Fields that are mapped to Title Fields that are mapped to ISBN/EISBN Fields that are mapped to ISSN/EISSN 
    MARC 21
    100 $$ a-d,j,q,u
    110 $$ a-e,g,n,u
    111 $$ a,c-e,g,n,q,u
    700 $$ a-d,g,j,q,u
    880 $$ a-d,g,j,q,u
    710 $$ a-e,g,i,n,u
    880 $$ a-e,g,i,n,u
    711 $$ a,c-e,g,i,j,n,q,u
    245 $$ a,b,k,n,p
    210 $a
    246 $a
    and their 880 fields and subfields

    020 $$a,z
    775 $z
    776 $z

    022 $$a,z    
    775 $x   
    776 $x

    700 all subfields excluding numeric subfields
    701 all subfields excluding numeric subfields
    710 all subfields excluding numeric subfields
    711 all subfields excluding numeric subfields
    200 $$a,e,h,I 010 $a 011 $$a,f

    For internal reference: Author and Title are respectively creator_contributor and extended_title from the search section of the Operational Record.

    Control Ability to Ignore Title Based Link Resolving

    Alma enables institutions to prevent "Fuzzy match" attempts based on title-only matches when patrons search for resources. By default, this option is disabled, and in instances that the URL had "Identifier + Author + Title" and there was no match on the "Identifier + Author", Alma tries to find a match by "Title". However, when the option is enabled, patrons no longer receive wrong search results based on title matches only. This option is controlled by the following customer parameter: avoid_fuzzy_search_resolving.

    To enable the Avoid_Fuzzy_Search_Resolving parameter:
    1. Access Configuration menu > Resources > Other settings.

    2. Locate the customer parameter: avoid_fuzzy_search_resolving and set it to True.
      By default, the parameter value is set to False, indicating that Alma continues with its regular behavior.

    3. Select Save.

    Enabling the "Avoid Fuzzy Search Resolving" option has the following impact:

    • Patrons searching for resources that have identifiers as part of their descriptive metadata no longer receive false negative search results based on title-only matches.

    • The functionality ensures a more accurate search experience for patrons by avoiding fuzzy matches.

    Customer parameter: avoid_fuzzy_search_resolving enabled

    Customer parameter avoid_fuzzy_search_resolving enabled
    • If the open URL contained only a title, Alma attempts to find a match as there are no other elements by which to search.
    • This logic applies to electronic resources (View it) and physical resources (Get it).
    • The existing customer parameter find_get_it_based_on_standard_identifiers_only, if enabled, keeps functioning as is and takes precedence over the avoid_fuzzy_search_resolving logic. This is relevant only for physical inventory (Get it).

      Note: To enable the customer parameter (find_get_it_based_on_standard_identifiers_only), contact Ex Libris support.

     When the customer parameter (avoid_fuzzy_search_resolving) is set to True, the following behavior applies for both the View it and the Get it:

    Information within the URL Did I find a match? / Should I look for a title match?
    Identifier + Author + Title No match on identifier, No match on title + author / Do not match by title
    Author + TItle No match on title + author / Do not match by title

    This is done if author was supplied as part of the URL and genre is one of the following:

    • book
    • bookitem
    • report
    • document
    • conference
    • proceeding
    • preprint
    • dissertation

    If genre is not one of these values, author will be ignored even if it was supplied in the url and search will be done based on title only, as if author did not exist in the URL.

    Title The only information I have is Title / Yes, match by title

    In reference to the table above (for customer parameter: avoid_fuzzy_search_resolving):

    • When the new parameter is set to true, there is no "Title" match attempt if other identifiers exist.
    • If the only information is the "Title" and no other identifiers exist, a Title match is done.

    Build Context Service

    Alma's Link Resolver will calculate all relevant services for the matched Bibliographic record(s). Service is considered relevant based on Availability:

    Alma's Link Resolver will add additional services in the following cases:

    Display Services

    Once the Context Service is built the relevant services will be presented to the patrons.

    By default all services are sorted alphabetically by the electronic collection name. The institution can influence the appearance of the services in the following ways:

    • Define sort order
    • Service Labels
    • Display Logic Rules
    • Configuring Direct Linking
    • Displaying License Information
    • Displaying Access Model

    For more information, see Link Resolver Library Preferences

    Access Services

    Once a user selects a service (or is directed to one), Alma's Link Resolver will generate the final URL using a dedicated linking program (Target Parser) that implements the service provider linking syntax.

    For further information, see Access to Services

    • Was this article helpful?