Done
Details
Reporter
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)PO Rank
112Analysis Estimate
Small < 3 daysAnalysis Estimator
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)Front End Estimate
Small < 3 daysFront-End Confidence factor
50%Back End Estimate
XXL < 30 daysBack-End Confidence factor
80%Release
Poppy (R2 2023)Rank: FLO (MVP Sum 2020)
R1Rank: 5Colleges (Full Jul 2021)
R2Rank: Cornell (Full Sum 2021)
R2Rank: Chalmers (Impl Aut 2019)
R5Rank: GBV (MVP Sum 2020)
R4Rank: TAMU (MVP Jan 2021)
R2Rank: Chicago (MVP Sum 2020)
R1Rank: MO State (MVP June 2020)
R2Rank: U of AL (MVP Oct 2020)
R2Rank: Lehigh (MVP Summer 2020)
R1TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Reporter
Ann-Marie Breaux
Ann-Marie Breaux(Deactivated)PO Rank
112
Analysis Estimate
Small < 3 days
Analysis Estimator
Ann-Marie Breaux
Ann-Marie Breaux(Deactivated)Front End Estimate
Small < 3 days
Front-End Confidence factor
50%
Back End Estimate
XXL < 30 days
Back-End Confidence factor
80%
Release
Poppy (R2 2023)
Rank: FLO (MVP Sum 2020)
R1
Rank: 5Colleges (Full Jul 2021)
R2
Rank: Cornell (Full Sum 2021)
R2
Rank: Chalmers (Impl Aut 2019)
R5
Rank: GBV (MVP Sum 2020)
R4
Rank: TAMU (MVP Jan 2021)
R2
Rank: Chicago (MVP Sum 2020)
R1
Rank: MO State (MVP June 2020)
R2
Rank: U of AL (MVP Oct 2020)
R2
Rank: Lehigh (MVP Summer 2020)
R1
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created October 9, 2020 at 12:28 PM
Updated May 1, 2024 at 2:29 PM
Resolved November 8, 2023 at 5:49 PM
Split from /Q3 2020
This feature allows for multiple holdings and/or items to be created or edited based on data supplied in a single MARC record
Background:
Design: https://folio-org.atlassian.net/wiki/pages/viewpage.action?pageId=1397449
Google Drive folder: https://drive.google.com/drive/folders/1q1rkAaYt53M_oYvTWB5I-ia5oxaHeqnx?usp=share_link
Overview slide deck: https://docs.google.com/presentation/d/1s577DQTwR6dXXeyPd1HX6VVJ014jh5azJYcf1UhCYtM/edit?usp=share_link
Purpose: To create/update multiple holdings and items on the same instance, from the same imported MARC record
Important for
5 Colleges Consortium
Spokane Public
Chicago
MARMOT Consortium
As a staff person working with data import
I want to update multiple holdings and their associated items when importing a single MARC record
So that I can use all of the holdings/items data on the MARC record properly
Scenarios
Scenario 1
Given a MARC record with multiple holdings and item data in it
When importing to update holdings and items
Then update all relevant holdings on the same instance and update all relevant items on the appropriate holdings
Include any holdings and items data in the same MARC field, different subfields
If multiple item records are to be updated on the same holdings, repeat the holdings data in repeated MARC fields, with each item's data in a separate MARC field. Item data/subfields for multiple item records cannot be included in the same MARC field
See example MARC record below
Scenario 2
Ensure this story passes Accessibility testing
Scenario 3
Ensure automated testing coverage for this new code is 80% plus and confirm with screenshot
See attached MARC file; test load to update instance, holdings, and item to ensure the logic is working correctly.
Matching notes:
Match for holdings could be based on
Holdings HRID/UUID
Instance HRID/UUID plus secondary match on Holdings HRID/UUID or Location code
Match for item could be based on
Item HRID, UUID, or barcode
Holdings HRID/UUID plus secondary match on Item copy number
Sample record with multiple holdings/item data:
=LDR 01262nam a2200301Ia 4500
=001 ocm54341618\
=003 OCoLC
=005 20070103101904.0
=008 010330s1798\\\\enkaf\\\\\\\\\000\0\eng\d
=035
$a(Sirsi) a551407
=035
$a(Sirsi) o54341618
=049
$aDRUM
=040
$aCUD$beng$cCUD$dDRU$dMvI
=090
$aBS2095$b.S33 1798
=130 0\$aBible.$pNew Testament$lEnglish.$sScarlett.$f1798.
=245 12$aA translation of the New Testament from the original Greek /$chumbly attempted by Nathaniel Scarlett, assisted by men of piety & literature ; with notes.
=260
$aLondon :$bPrinted by T. Gillet; and sold by Nathaniel Scarlett, No. 349, near Exeter 'Change, Strand; also F. & C. Rivington, St. Paul's Church Yard,$c1798.
=300
$axi, 483, vi p., [1] folded leaf of plates :$bill. ;$c19 cm.
=500
$aEngraved t.p.
=500
$aIncludes Observations on some terms used in this translation: vi p. at end.
=510 3\$aDarlow-Moule-Herbert 1433
=700 1\$aScarlett, Nathaniel,$d1753-1802.
=740 02$aObservations on some terms used in this translation.
=945
$a34678234678246423786427$b1$hKU/CC/DI/M <===== $a = item barcode, $b = copy number, $h = holdings permanent location
=945
$a34678234678246423786428$b2$hKU/CC/DI/M
=945
$a34678234678246423786429$b1$hKU/CC/DI/A
If this record were updating holdings and items, it would do so as follows:
Update 1 instance, with the data in the main part of the MARC bib record
Update 2 holdings, 1 for permanent location KU/CC.DI/M and 1 for permanent location KU/CC/DI/A, using holdings mapping data from 945$h and the defaults in the holdings mapping profile
Update 3 item records, 2 linked to the holdings for KU/CC/DI/M and 1 linked to the holdings for KU/CC/DI/A, using item mapping data from 945$a, 945$b, and the defaults in the item mapping profile
NOTE: These 9xx fields and subfields are just examples. Real fields/subfields would be mapped in the field mapping profile. The key is that related holdings and item data must be in the same field, different subfields, and that item data for different items must be in separate MARC fields, not concatenated in the same MARC field.
Steps:
data-import-processing-core library should be changed to allow for mapping of multiple entities from a single supplied MARC Bib record
mod-inventory Create Holdings and Create Items should be changed to process multiple entities at one stage and fill in relevant information about created/failed entities in the event payload context
mod-source-record-manager should contain changes in Journaling and Progress tracking functionality to fill in information about multiple entities and mark record as errored in case at least one of the entities failed to be created
mod-orders should be changed to fill in Locations and Material type in POLine based on multiple entities present in the DI_ORDER_CREATED_READY_FOR_POST_PROCESSING event payload