Can't provide instanceId to build hotlink for Item when trying to update Item and match by Item's field

RCA Group

None

Description

During implementation of https://folio-org.atlassian.net/browse/MODSOURMAN-676#icft=MODSOURMAN-676 we found an issue:
For the case, when we are going to only update ITEM entity with matching by ITEM's field, we will not get hotlink due to no information about INSTANCE entity (instanceId and holdingId are required to build hotlink for the ITEM entity).

For repro steps, use the MARC file and steps documented in https://folio-org.atlassian.net/browse/UIDATIMP-1080#icft=UIDATIMP-1080, except:

  • omit Field mapping profile 4 (Update holdings)

  • omit Action profile 4 (Update holdings)

  • omit Match profile 2 (Holdings match)

  • change Job profile 2 to:

    • Name: Update Simple Item

    • Accepted data type: MARC

    • Match profile: Instance match by HRID

      • For matches: Match profile: Item submatch by permanent location

      • For matches: Action profile: Update simple item

 

Dev notes: at the point when journal record is populated for Item update check if Holdings/Instance is in the payload, if not - get Holdings by id to populate instanceId

Environment

None

Potential Workaround

None

Attachments

4
  • 21 Feb 2022, 02:46 PM
  • 21 Feb 2022, 02:45 PM
  • 17 Feb 2022, 08:15 AM
  • 02 Feb 2022, 12:22 PM

Checklist

hide

TestRail: Results

Activity

Show:

Ann-Marie BreauxFebruary 21, 2022 at 10:29 PM

Hi Tested on folio-snapshot-load, using 3 different profiles:

  • Match by Instance HRID, then match Holdings by perm loc, then match Item by perm loc, update item

  • Match Holdings by Holdings HRID, then match Item by perm loc, update item

  • Match Item by Item HRID, then update item

All 3 worked - hooray! Closing this issue.

Still have some to do's above, which I'll take care of later today

Ann-Marie BreauxFebruary 21, 2022 at 2:56 PM
Edited

Thanks for the additional info, . Some notes for myself :

  • The only reason the item submatch worked in the original job profile is because there was only 1 item in the entire tenant with that particular permanent location

  • Test using the following profiles DONE

    • Job profile 1: Includes Instance DONE

      • Match on Instance HRID

        • Match on Holdings Perm location

          • Match on Item Perm location

            • Update item

    • Job profile 2: Includes Holdings DONE

      • Match on Holdings HRID

        • Match on Item Perm location

          • Update item

    • Job profile 3 Directly to Item DONE

      • Match on item HRID

        • Update item

  • Update TestRail

  • Add Kiwi release note

    • Known issue - updates for holdings and/or items without updates for instance will result in no hotlink for the log

    • Match profile to update item must include holdings match before item match (with or without a beginning instance match), or must be a direct item match, then update

  • Add Lotus release note

    • Match profile to update item must include holdings match before item match (with or without a beginning instance match), or must be a direct item match, then update

  • Add to wiki tips and tricks

    • Match profile to update item must include holdings match before item match (with or without a beginning instance match), or must be a direct item match, then update

  • Make demo video DONE

  • Add demo video to Google Drive

  • Check with Prok: Item and Holdings know about each other; Holdings and Instance know about each other; Is it intentional that Item and Instance do not know about each other? Are there any use cases where it would make things more difficult (like moving items from 1 holdings to another, or moving location from 1 instance to another), or use cases where it would make things easier (like being able to set up the job profile originally described above)

Volodymyr RohachFebruary 21, 2022 at 2:48 PM

 per disscussion with you. 2 profiles:

  1. Simple Update Import (I think this profile should be applied to verify this ticket):

 

2. Complex Update Job profile to make the profile in Description as work "as expected"(added a Holdings submatch to link Instance-Item. Or there can be just removed Instance match):

 

 

CC:

 

Volodymyr RohachFebruary 21, 2022 at 10:50 AM

Hi ! I investigated this behavior and it seems like everything works as expected. I discovered that the job profile will never work "as we want" because there is no anything information in instance about item. That's why when we match instance, and after that match item - current mechanism will just match by item's condition(in our case it will just search all items for the specific permanent location, and there will be a multiple submatch -> error). So, to validate it we need just add match for the holdings between Instance and Item matches (or just Holdings+Item match profiles), or just use Item match+Item Update (as it should be verified for this story). I will demo and discuss it with you after our stand-up with more deatils and context and just for now, I'll move it to In Review if you don't mind.

Volodymyr RohachFebruary 17, 2022 at 9:23 AM

Hi ! Investigating it.

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Folijet

Fix versions

Release

Lotus R1 2022

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created January 28, 2022 at 8:36 AM
Updated April 4, 2023 at 8:28 PM
Resolved February 21, 2022 at 10:32 PM
TestRail: Cases
TestRail: Runs