Batch Importer (Bib/Acq) (UXPROD-47)

[MODDICORE-187] Blank fields generated from MARC mapping create invalid Instance records in Inventory KIWI BF Created: 27/Sep/21  Updated: 04/Apr/23  Resolved: 29/Oct/21

Status: Closed
Project: data-import-processing-core
Components: None
Affects versions: None
Fix versions: 3.2.2
Parent: Batch Importer (Bib/Acq)

Type: Bug Priority: P2
Reporter: lew235 Assignee: Aivar Iusupov
Resolution: Done Votes: 0
Labels: data-import, epam-folijet, folidemo126-127, folijet-support, needs-testrail, sprint-126, support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified
Environment:

Iris, Juniper


Attachments: File Accordion.mrc     File MODDICORE-187.mp4    
Issue links:
Blocks
blocks MODDICORE-203 Release v3.2.2 (R3 Kiwi Bugfix) Closed
Cloners
is cloned by MODDICORE-206 Blank fields generated from MARC mapp... Closed
Defines
defines UXPROD-2924 Recently UNblocked Mapping updates fo... Closed
Relates
relates to MODDATAIMP-567 SPIKE: Create a script for libraries ... Closed
relates to FAT-1471 Test import of MARC with subfields th... Closed
Sprint:
Story Points: 3
Development Team: Folijet Support
Release: R3 2021 Bug Fix
Potential Workaround: Edit data in quickMARC to change to subfields that are mapped or fields that are not mapped at all.
Affected Institution:
Cornell, TAMU
Epic Link: Batch Importer (Bib/Acq)

 Description   

Overview: MARC subfields not mapped to Inventory Instance elements can generate blank Instance fields. These blank fields make the Instance invalid.

Steps to Reproduce - edit via quickMARC:

  1. Log into Juniper Bugfest as User with permission to edit instances and to use quickMARC
  2. Open a record with source=MARC (ex: hrid ins00007284163)
  3. Select Actions–>Edit in quickMARC
  4. Add a 590 field with text in a $3 and no $a (ex; 590
    $3 materials specified)
  5. Save & close
  6. Select Actions–>Edit (the instance, NOT the SRS MARC Bib)
  7. Add or change the instance Status (or Statistical code, Cataloged date, Nature of content, or any of the 3 checkboxes at the top of the Instance)
  8.  Save & close

Alternate Steps to Reproduce - import a new instance:

  1. Log into Juniper Bugfest as User with permission to edit instances and to use data import
  2. Import the attached file Accordion.mrc using the Default - Create instance and SRS MARC Bib job profile
  3. Find the newly-created Instance in Inventory
  4. Select Actions–>Edit (the instance, NOT the SRS MARC Bib)
  5. Add or change the instance Status (or Statistical code, Cataloged date, Nature of content, or any of the 3 checkboxes at the top of the Instance)
  6.  Save & close

Expected Results: 

  • The $3 (which is a valid subfield in MARC 590) does not map to anything in the instance data. Since none of the 590 subfields in this record are mapped to the Instance, this 590 field should not generate a corresponding instance note field.
  • When a user edits the Instance status field, the record can be saved

Actual Results: 

  • A blank instance note element is generated.
  • When a user edits the Instance status field (Status (or Statistical code, Cataloged date, Nature of content, or any of the 3 checkboxes at the top of the Instance), the instance cannot be saved. Scroll down to the Notes accordion of the Instance. The instance fails to save because it requires information in the local note field, but the user cannot add any information in the local note field since it is controlled by the SRS MARC Bib.

Additional Information: See attached video



 Comments   
Comment by Anya [ 04/Oct/21 ]

SUPPORT: Assigned to Spitfire -Khalilah Gambrell

Comment by Ann-Marie Breaux (Inactive) [ 04/Oct/21 ]

And reassigned to Folijet, since it relates to MARC Bibs and Instances, not Holdings

Comment by Ann-Marie Breaux (Inactive) [ 04/Oct/21 ]

now that I've actually read the description and repro steps, here's what I think should happen

1. In the MARC Bib-to-Instance default mapping, we need to account for the use case covered in the repro steps
2. I'll test and see if the same bug happens during data import, and if so, add as another use case in this bug.

Moved from UXPROD to MODDICORE and linked to the feature for cleaning up default mapping issues.

Khalilah Gambrell I recommend that you try the repro steps for
3. Editing a MARC holdings via QM, to see if the same thing happens to Inventory Holdings controlled by MARC Holdings
4. Importing a MARC Holdings using the default profile, to see if the same thing happens
If 3 or 4 is yes, then Khalilah Gambrell add a separate bug for updating the default MARC Holdings-to -Inventory Holdings and assign it to Spitfire.

Comment by Jenn Colt [ 04/Oct/21 ]

Hi Ann-Marie Breaux what we have seen with data import is that in cases where we were mapping to an instance note, if none of the note fields were going into the instance, we would get the blank entry in the instance as described above. This doesn't surface as a problem until someone tries to edit the instance.

Comment by Ann-Marie Breaux (Inactive) [ 11/Oct/21 ]

Thanks for the additional info, Jenn Colt. What are your thoughts on fixing in Juniper versus Kiwi? Do you think it's OK if we release as part of Kiwi, or is a Juniper hotfix needed?

Kateryna Senchenko When we fix this, we need to:

  • Fix across all MARC fields - not just the 590. If there's a MARC field that where none of the MARC subfields are mapped to Inventory fields, then regardless of the field number, 1) it should not create an instance field and 2) it should not prevent the editable fields of the instance from being updated
  • Also, is it possible as part of this bug to create a cleanup script that would fix the mappings of any instances with blank fields, so that they are removed?
Comment by Jenn Colt [ 12/Oct/21 ]

Because we've been dealing with it this long, I think we could deal with it until Kiwi unless lew235 disagrees.

Comment by lew235 [ 12/Oct/21 ]

I agree, we can wait until Kiwi.

Comment by Ann-Marie Breaux (Inactive) [ 12/Oct/21 ]

Yay - thank you, lew235 and Jenn Colt

Kwaldron I added a separate story for possibly building a "refresh" script, depending on how much effort it would take. Cleaning up instances after this bugfix is a great example of a use case. Updating Instances that are silently unable to be edited via Inventory or QM. MODDATAIMP-567 Closed

Comment by Aivar Iusupov [ 28/Oct/21 ]

Ann-Marie Breaux tested this on folio-snapshot-load. Everything works fine.

Comment by Ann-Marie Breaux (Inactive) [ 29/Oct/21 ]

Hi Aivar Iusupov Tested on folio-snapshot-load, and it looks great! Edited an existing Instance with source = MARC, and imported a new MARC Bib. Added and removed various MARC fields that would result in empty Instance fields, or formerly-empty Instance fields, and all is working as expected. Great job!

Moving this Jira to Awaiting release for Kiwi BF, and cloning for Lotus mainline

Comment by Ann-Marie Breaux (Inactive) [ 02/Nov/21 ]

Tested on Kiwi Bugfest, and all is working as expected now. Closing this issue.

Generated at Fri Feb 09 00:31:16 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.