Bulk edit - MARC Bib records

Description

Current situation or problem:

Multiple MARC bib records can be edited only through ETL process that consists of exporting record, modifying them outside FOLIO using third party software and then re-importing them. That flow does not support updating administrative data and previewing changes before they are committed.

In scope:

The feature will expand functionality delivered in and will support other MARC fields with the exception of 00x fields.

  1. Update MARC fields for Instances with source set to MARC.

  2. Administrative data and MARC fields can be updated in one bulk edit job.

  3. Identify records that will be updated based on a list of records identifiers (HRID, UUID) or a query.

  4. Support all but 00x fields.

  5. Users should be able to:

    1. add new field with multiple subfields

    2. remove field

    3. modify existing value of the subfield

  6. Users will receive a feedback about encountered errors so that they can be addressed:

    1. Errors when identifying records to be edited - before the bulk edit job starts

    2. Errors encountered during saving the data - after the bulk edit jobs ends

  7. User should be able to preview the changes in MARC format before they are committed.

  8. After the changes are committed, the user can downloach the records in the MARC format

  9. Logs of the completed bulk edit jobs are available for a defined period of time (30 days by default) and provide following information:

    1. list of recorcords affected by bulk edit (file with identifiers or query results)

    2. file with modified records before the changes are committed in .csv and .mrc formats

    3. file with modified records after the changes are committed in .csv and .mrc formats

    4. files with errors and warnings encountered while matching records or committing changes

  10. Expected max volume of 100 000 instances to be updated in one bulk edit job.

  11. The functionality supports ECS and non-ECS environments. In ECS environment shared instances can be edited from the central and member tenants according with user’s affiliation and permissions. Local instances can be edited only on a member tenant.

Out of scope: Records with source other than MARC.

MARC Instances mockups: as implemented in

Administrative data mockups: as implemented in and
Mockups:

Use case: https://folio-org.atlassian.net/wiki/display/BULKEDIT/Bulk+Edit+Use+Cases

Proposed solution:

  1. Story should be implemented as pre-requisite for basic implementation.

  2. The main task here is to expand the list of actions and allow editing of fields other than 5xx and 9xx, which has already been done in .

  3. Join ContentUpdate and MarcContentUpdate flows, start MARC and FOLIO flows independently and sync on completion on applying changes and committing changes stages.

  4. The following actions

  • add new field with multiple subfields

  • remove field

  • modify existing value of the subfield

  • modify existing indicators

look are in place. It is necessary to confirm with front end team requirements for marc-update-request contentment changes.

NFRs:

  1. Performance: Ensure that bulk edits handle large volumes of SRS Bib records efficiently, maintaining response times below <tbd> seconds per record. – MMZ: should be similar to DI processing 50k records in ~35 min.

  2. Data Integrity: Implement error-handling and logging to prevent data corruption, ensuring accuracy in batch updates.

  3. Security: Restrict bulk edit access based on permissions, safeguarding sensitive bibliographic data.

  4. Reliability: Provide 99.9% availability for bulk edit functionalities, minimizing downtime.

Notes:

  1. It is nice to have already implemented points 2-4 from before starting work on this feature.

Priority

Development Team

Firebird

Assignee

Solution Architect

Parent Field Value

None

Parent Status

None

is cloned by

is defined by

Checklist

hide

TestRail: Results

Activity

Show:

Viachaslau Khandramai October 31, 2024 at 7:51 AM

, please, assist in investigation and scope preparation.

Viachaslau Khandramai October 30, 2024 at 10:04 AM

Should the list of fields for modification be configurable per tenant/deployment?

Magda Zacharska May 8, 2023 at 9:03 PM

Moving LC1 label from epic to defining features with permission.

Details

Reporter

Potential Workaround

Export records, update using MARCedit and re-import

PO Rank

1

Front End Estimate

XXL < 30 days

Front End Estimator

Front-End Confidence factor

70%

Back End Estimate

XXL < 30 days

Back End Estimator

Back-End Confidence factor

90%

Release

Sunflower (R1 2025)

SA support

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 4, 2023 at 2:49 AM
Updated March 25, 2025 at 2:02 PM
TestRail: Cases
TestRail: Runs