Uploaded image for project: 'mod-inn-reach'
  1. mod-inn-reach

Record Contribution: Retrieve and Transform MARC-backed Inventory Instance for Contribution to Central Server



    • Volaris Sprint 120
    • 8
    • Volaris



      INN-Reach central servers attempt to match records based on one of three III-defined algorithms which rely on a number of fields in the contributed MARC Bib records. In most cases, these fields are standard and and may be dealt with as they exist in SRS in FOLIO. However, one field where the standard FOLIO handling may interfere with INN-Reach mapping is the MARC 001 field. In FOLIO, the standard behavior is to modify the 001 on import to be the Instance HRID and move the existing 001 to an 035 field with an (optionally) 003-indicated prefix and clear the 003 field. In many instances, it may be necessary to "reverse" this for records that are contributed to the INN-Reach central server.


      1. Provide an API endpoint that responds to GET requests
        1. When provided with an Inventory Instance ID and a central server configuration ID, retrieve the instance record
        2. Determine if the record has an associate SRS MARC record
        3. Skip records without underlying SRS MARC
          • Return a message that indicates no underlying MARC available
        4. Retrieve underlying MARC record from SRS
        5. Retrieve transformation configuration settings from record contribution settings for the provided central server configuration ID (MODINREACH-50)
        6. Find relevant identifiers in the [index-]order specified in the retrieved configuration
        7. If the identifier value begins with a prefix value from the "ignore prefix" list for the identifier, discard the identifier
        8. Repeat step 7 until the first valid identifier or there are no more matching identifiers
        9. Update MARC 001 field to the first valid identifier value, stripping any alpha prefix (if indicated by match field options settings for the identifier type)
        10. Strip MARC fields or subfields indicated for exclusion in transformation configuration settings ("strip fields or subfields")
        11. Strip all 9xx MARC fields
        12. If no valid identifiers are found, leave the existing 001 value
      2. Return processed record in MARC21 format
      3. Logical permissions:
        • Retrieve transformed record


      Acceptance criteria:

      • AC: When provided with an Instance identifier for an Instance record with source=MARC, the backend can retrieve the record and its underlying MARC record from Inventory/SRS
      • AC: If the match field configuration indicates, the backend is able to find the first valid configured instance identifier and place it in the MARC 001 field in place of the Instance HRID (or other value)
      • AC: If no instance identifier meets the specified criteria, the original 001 value is left in place
      • AC: All 9xx fields are removed from transformed MARC records
      • AC: All MARC fields or subfields indicated for exclusion in the transformation configuration settings are excluded from the transformed MARC record
      • AC: Backend returns MARC21 and resulting payload can be opened in an external MARC editor

      TestRail: Results


          Issue Links



                andrii.khodyka Andrii Khodyka
                brookstravis Brooks Travis
                0 Vote for this issue
                4 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases