Uploaded image for project: 'mod-source-record-storage'
  1. mod-source-record-storage
  2. MODSOURCE-274

SPIKE: Store MARC Holdings record

    XMLWordPrintable

Details

    • eHoldings Sprint 118, eHoldings Sprint 119
    • 5
    • Spitfire

    Description

      Background

      Several FOLIO libraries want the ability to manage MARC holdings record in FOLIO. Assumption: Note that most libraries will not use data import to migrate MARC holdings record into FOLIO. Libraries will load directly to the database/SRS. See NFRs - Import Holdings Record tab. Future phase of development should support the following data import actions BUT NOT this story. When defining the technical approach, we should be aware of such future development.

      • Create a MARC holdings record
      • Create a MARC bib record and holdings record based on MARC bib record metadata
      • Update MARC holdings record
      • Update MARC holdings data based on MARC bib record metadata?

      This requirement is only about storing the MARC holdings record NOT the work to connect the MARC holdings record to a FOLIO Holdings record.

      Requirements for Storing a MARC holdings record in SRS

      1. Support generating a MARC holdings-SRS UUID and populate as MARC 999 ff $s
      2. Handling MARC 001
        1. Support assigning a HRID in the MARC 001 if a library has setup HRID assignment for MARC holdings record see
        2. If MARC holdings record already has a MARC 001 value AND has setup HRID assignment for a MARC holdings record THEN do not populate or generate a HRID for that record
      3. The following MARC tags should have the same logic applied to storing a MARC bib record
        1. MARC 005
        2. MARC 999 ff $s
      4. MARC 004 must have a value (should be the linked MARC bib record's 001 value). Can only have one value.

      Examples of MARC holdings records are available

      Technical approach:

      • Create handler MarcHoldingEventHandler in SRS like MarcAuthorityEventHandler
      • Add enum DI_SRS_MARC_HOLDING_RECORD_CREATED  in the JournalParams in the SRM
      • Skip holding from payload, when snapshot will be generated (RecordsPublishingServiceImpl in the SRM)
      • Add DI_SRS_MARC_HOLDING_RECORD_CREATED for DataImportConsumersVerticle in the SRS

      Questions

      • Should we block generating a MARC holdings record when a user attempts to link to a FOLIO instance record w/o MARC as a Source?
      • In other words, does this a FOLIO source instance record + MARC holdings record, a use case to handle? OR MARC source instance record + FOLIO holdings record?

      Spike Objectives

      • Validate above technical approach meets specified requirements.
      • Present technical approach to Spitfire team, Folijet dev representative, Folijet PO, and Folijet/Spitfire SA
      • Identify any dependencies, risks, and unknowns
      • Identify work to assign to Folijet or applicable dev team
      • Create user stories once approach approved

      Timebox

      TBD at grooming session

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Oleksandr Dekin Oleksandr Dekin
                kgambrell Khalilah Gambrell
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases