8. Update MARC Authority

Feature UXPROD-2990 - Getting issue details... STATUS

Story MODSOURMAN-672 - Getting issue details... STATUS
Data Import Subgroup Requirements


Description

The 'Update' is an action that is specified by the Action profile, so anytime the user needs to choose the Action profile if there is a need to update records. The Matching profile defines the types of incoming records and existing records, that need to be updated. Also, a Match profile contains the Match criteria, which specifies parameters for records comparison.

Action profile should be created with the Action = Update:

Match profile should be created to match the incoming Marc Authority records to the existing Marc Authority records:




Flow

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

Step№ModuleTaskEvent published on task completion
1mod-data-importSends a batch of records to Kafka queueDI_RAW_RECORDS_CHUNK_READ
2mod-source-record-managerReads batches from the queue, validate them, and publishes events - since JobProfile contains an action for MARC_Authority update, original records are not saved in mod-srs. DI_MARC_FOR_UPDATE_RECEIVED
3mod-source-record-storage

Tries to find entity according to match criteria, matches the incoming Marc Authority record to the existing SRS Marc Authority record, and puts a matched record to Kafka queue. Matching works now only by 001 and 999 ff $s. Matching 010 $a or other tags requires implementing a spike MODDATAIMP-583 - Getting issue details... STATUS

DI_SRS_MARC_AUTHORITY_RECORD_MATCHED if the only 1 record found

DI_SRS_MARC_AUTHORITY_RECORD_NOT_MATCHED if 0 or more than 1 record is found

4mod-source-record-storageReceives the event from itself, modifies the record from the payload, retrieves and updates an existing SRS record by the modified version

DI_SRS_MARC_AUTHORITY_RECORD_MODIFIED_READY_FOR_POST_PROCESSING

5mod-inventoryGenerates FOLIO Authority record from Marc SRS using default mapping rules, updates the existing FOLIO record (in mod-inventory-storage) by the generated version

DI_INVENTORY_AUTHORITY_UPDATED if there are other actions in the profile

DI_COMPLETED if no more actions in profile

Diagram

Source Attachment

PlantUML diagram