8. Update MARC Authority

8. Update MARC Authority

Feature https://folio-org.atlassian.net/browse/UXPROD-2990

Story https://folio-org.atlassian.net/browse/MODSOURMAN-672
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№

Module

Task

Event published on task completion

Step№

Module

Task

Event published on task completion

1

mod-data-import

Sends a batch of records to Kafka queue

DI_RAW_RECORDS_CHUNK_READ

2

mod-source-record-manager

Reads 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

3

mod-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 https://folio-org.atlassian.net/browse/MODDATAIMP-583

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

4

mod-source-record-storage

Receives 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

5

mod-inventory

Generates 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