Uploaded image for project: 'data-import-processing-core'
  1. data-import-processing-core
  2. MODDICORE-71

SPIKE: Create multiple Holdings and Items on the same instance

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      Folijet Sprint 97, Folijet Sprint 98
    • Story Points:
      8
    • Development Team:
      Folijet

      Description

      Purpose: To create multiple holdings and items on the same instance, from the same imported MARC record

      As a staff person working with data import
      I want to create 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

      1. Scenario 1
        • Given a MARC record with multiple holdings and item data in it
        • When importing to create new holdings and items
        • Then create all relevant holdings on the same instance and create 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 created 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
      2. Scenario 2
        • Ensure automated testing coverage for this new code is 80% plus and confirm with screenshot

      See attached MARC file; test load to create instance, holdings, and item to ensure the logic is working correctly.

      Use case 1: Sample record 1 with multiple holdings/multiple items 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
      945
      $a34678234678246423786430$b1$hKU/CC/DI/A
      945
      $a34678234678246423786431$b1$hKU/CC/DI/A

      If this record were creating holdings and items, it would do so as follows:

      • 1 instance, with the data in the main part of the MARC bib record
      • 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
      • 5 item records, 2 linked to the the holdings for KU/CC/DI/M and 3 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

      Use case 2: Sample 945 data for a MARC bib with multiple holdings/1 item per holding:

      945
      $a34678234678246423786432$b1$hKU/CC/DI/M <===== $a = item barcode, $b = copy number, $h = holdings permanent location
      945
      $a34678234678246423786433$b1$hKU/CC/DI/A
      945
      $a34678234678246423786434$b1$hKU/CC/DI/2

      Assume there's MARC Bib data above the 945 data. If this were creating holdings and items, it would do so as follows:

      • 1 instance, with the data in the main part of the MARC bib record
      • 3 holdings, 1 for permanent location KU/CC.DI/M, 1 for permanent location KU/CC/DI/A, nad 1 for permanent location KU/CC/DI/2, using holdings mapping data from 945$h and the defaults in the holdings mapping profile
      • 3 item records, 1 each linked to the the holdings for KU/CC/DI/M, KU/CC/DI/A, and KU/CC/DI/2, using item mapping data from 945$a, 945$b, and the defaults in the item mapping profile

      Use case 3: Sample 945 data for a MARC bib with 1 holdings/1 item

      945
      $a34678234678246423786435$b1$hKU/CC/DI/M <===== $a = item barcode, $b = copy number, $h = holdings permanent location

      Assume there's MARC Bib data above the 945 data. If this were creating holdings and items, it would do so as follows:

      • 1 instance, with the data in the main part of the MARC bib record
      • 1 holdings, for permanent location KU/CC.DI/M, using holdings mapping data from 945$h and the defaults in the holdings mapping profile
      • 1 item record, linked to the the holdings for KU/CC/DI/M, using mapping data from 945$a, 945$b, and the defaults in the item mapping profile

      Use case 4: Sample 9xx data for a MARC bib with 1 holdings/1 item (since there's only 1 holdings and 1 item, the holdings and item data don't need to be in the same field)

      945
      $a34678234678246423786436 <===== $a = item barcode
      946
      $a1 <===== $a = copy number
      947
      $aKU/CC/DI/M <===== $a = holdings permanent location

      Assume there's MARC Bib data above the 945 data. If this were creating holdings and items, it would do so as follows:

      • 1 instance, with the data in the main part of the MARC bib record
      • 1 holdings, for permanent location KU/CC.DI/M, using holdings mapping data from 947$a and the defaults in the holdings mapping profile
      • 1 item record, linked to the the holdings for KU/CC/DI/M, using mapping data from 945$a, 946$a, 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.

      Changed to spike so that backend can determine how to do this and if more stories are needed. This story is for Creates. See MODDICORE-73 for updates. Will determine if any UI stories are needed after spike

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                OleksiiKuzminov Oleksii Kuzminov
                Reporter:
                abreaux Ann-Marie Breaux
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases