Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Spike: MODSOURCE-274 Store MARC Holdings record

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-1575

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODSOURMAN-652

...

The user uploads the MARC file, chooses an Action profile & Mapping profile on the UI application, starts the import process

Stepâ„–ModuleTaskDI eventEvent produced on task completion
1mod-data-importSends a batch of records to Kafka queueDI_RAW_RECORDS_CHUNK_READ

2



mod-source-record-manager

Receives a chunk of records,
Validation: if the Holdings record has a corresponding SRS Marc Bib record with the same Hrid (004 Holdings field) then the record is valid,
Parses records from MARC to JSON,
Sends valid records to Kafka queue

DI_RAW_RECORDS_CHUNK_PARSED
3mod-source-record-storageReceives the event from SRM, Stores Marc && Json Holdings records into the database and returns the result back via Kafka queueDI_PARSED_RECORDS_CHUNK_SAVED
4mod-source-record-managerReceives the event from SRS, creates JSON payload (containing parsed MARC, profile, mapping parameters) for further processing, and sends it to the queueDI_SRS_MARC_HOLDINGS_RECORD_CREATED
5mod-inventoryGenerate Holdings FOLIO record from Json SRS record using default mapping rules, Sends FOLIO record to mod-inv-storage

DI_ERROR
DI_INVENTORY_HOLDINGS_CREATED_READY_FOR_POST_PROCESSING

6mod-source-record-storageHoldings HRID is set to '001' MARC_BIB field,
The value from '001' is moved to '035',
Holdings ID is set to '999 ff i' field
DI_SRS_MARC_HOLDINGS_HRID_SET
7mod-inventoryUpdates the existing Folio record (Hrid only)DI_COMPLETE

Diagram

Source

PlantUML diagram