Bulk Operations + Data Import integration approach
In order to perform bulk MARC Instance notes editing, the following should be done at a high level.
The user defines the criteria on how to search for records that should be updated.
The application retrieves those records.
The user defines the rules for how to change/validate the content of the MARC records.
The application modifies MARC records locally and provides user review capabilities.
Once the user approves, the application applies respective changes to Instance records in the Inventory and to MARC records in the SRS.
On the completion of the update, the application provides the user with the processing results
All the functionality related to records retrieval, modification, and prereview must be implemented in the scope of mod-bulk-operations.
Functionality related to the actual update operation of the inventory instances and MARC records stored in SRS has already been implemented in the Data Import application, and it makes sense to reuse it rather than reinvent the wheel.
Data Import is a complex and flexible tool that allows users to create and modify different types of records stored in Inventory and SRS. It performs operations using the Job profiles defined by users and provides a complete UI tool for Job Profile management (https://folio-org.atlassian.net/wiki/spaces/FOLIOtips/pages/5669005/Data+Import).
Out of the box, Data Import provides a set of different flows whose descriptions can be found here: https://folio-org.atlassian.net/wiki/spaces/DD/pages/1778711/Flow+descriptions
For the integration purpose between Bulk Operations and Data Import, the most interesting is the update flow: https://folio-org.atlassian.net/wiki/spaces/DD/pages/1778727/2.+Update+Marc+Bibs+update+Instance+Holdings+Items
In general, the high-level overview of the integration approach is presented in the following diagram:
Because the changes made using the Bulk Operations do not require updates of the holdings and items, the update flow must be customized and simplified, and it is presented in the following diagram.
This means that we will create a dedicated Job profile and a simple action profile that will be used exclusively by the Bulk Operations when it starts the Data Import process.