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 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.
- Support generating a MARC holdings-SRS UUID and populate as MARC 999 ff $s
- Handling MARC 001
- The following MARC tags should have the same logic applied to storing a MARC bib record
- MARC 005
- MARC 999 ff $s
- MARC 004 must have a value (should be the linked MARC bib record's 001 value). Can only have one value.
- MARC bib + holdings record: https://drive.google.com/drive/folders/1yDrv7xg6zkBauS7Naadnv5ujUHkxAk72
- MARC holdings: https://drive.google.com/drive/folders/14_FW7KYlG6AL0pNPDpGPjIVF4W8lDhMv
- 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
- 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?
- 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
TBD at grooming session