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

...

Description

This page is created to describe a flow when the FOLIO Holdings records are getting created while importing MARC Holdings records using the data-import system.

...

Action profile:                                                                                                                 Field Mapping profile:

...

Flow

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

Step№ModuleTaskEvent 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,
Parses raw MARC records to JSON format,

Validation

Performs 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,

Logs invalid records without storing in SRS
Sends only valid records to Kafka queue to store in SRS

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
HOLDING_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 Attachement

PlantUML diagramImage RemovedPlantUML diagramImage Added