Versions Compared

Key

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

Jira Legacy
serverSystem JiraJIRA
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
keyMODDATAIMP-585

Feature:

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

Data Import Subgroup Requirements


       Overview

Now the data-import is able to import Marc authority records, mod-inventory can generate Folio records, mod-search provides API for the search. In this story, we need to understand how to implement the Update for Marc authorities in data-import, what changes are needed to support the Search of the updated records via mod-search.

...

Step№ModuleTaskDI Event
1mod-data-importSends a batch of records to Kafka queueDI_RAW_RECORDS_CHUNK_READ
2mod-source-record-manager

Receives records, parses to the JSON, sends it to Kafka queue

DI_RAW_RECORDS_CHUNK_PARSED
3mod-source-record-storage

Receives the event from SRM, Stores Authority records into the database, and returns the result back via Kafka queue.
The SRS will increment 'generation' field matching records by 999 ff $s.

The SRS now can match records only by 001 and 999 ff $s, this logic is hard to expand. Matching 010 $a or other tags requires implementing a spike

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODDATAIMP-583

DI_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_AUTHORITY_RECORD_CREATED
5mod-inventory

Receives the event from SRM, loads the Folio record that matches Marc tags, creates JSON payload with a matched Folio record, sends it to the queue.

We have to implement AuthorityLoader on this step. The loader retrieves the Folio record from mod-inventory-storage that matches Marc tags 001, 010 $a, 999 ff $s , or use Folio record id

DI_INVENTORY_AUTHORITY_MATCHED
DI_INVENTORY_AUTHORITY_NOT_MATCHED
6mod-inventory

Receives the event from itself. Updates the existing Folio record.

We have to implement UpdateAuthorityEventHandler on this step. The handler updates the existing Folio record by the matched record taken from the event payload

DI_INVENTORY_AUTHORITY_RECORD_UPDATED 

DI_COMPLETED

7mod-inventory-storageReceives HTTP PUT request with the record that needs to be updated, updates the record in the database, puts record to Kafka topic
8mod-searchReceives a record from Kafka topic on an update, deletes the existing record matching by id, inserts the new record

...

ModuleDescriptionJiraHigh-level rough est
mod-source-record-storageSpike to extend matching

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODDATAIMP-583

5
mod-data-import-converter-storageStory to create default Action profile & Matching profilesTo be defined laterTo be defined later
data-import-processing-coreStory to add new event types for the Update

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODDICORE-235

1
mod-inventoryStory to implement the AuthorityLoader

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-606

3
mod-inventory Story to implement the UpdateAuthorityEventHandler

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-607

5
mod-source-record-managerLog the non-matched records
update DataImportJournalConsumersVerticle and JournalParam

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODSOURMAN-653

2
mod-source-record-storageSet matched_id, external_id, and parsedRecord data

Jira Legacy
serverSystem JiraJIRA
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODSOURCE-429

5


mod-source-record-storage: Update matching criteria for authorities to update the 'generation' field (If not enough to use only matchId)
mod-source-record-storage: Update externalId, parsedContent, externalId when the record is matched (Get externalId from the existing record and Set it to the incoming auth record), update Parsed content
support 010 field
ui-data-import: Update Matching profiles to enable Authorities 
ui-plugin-find-import-profile: https://github.com/folio-org/ui-plugin-find-import-profile does it require some work ???