Uploaded image for project: 'ui-data-import'
  1. ui-data-import
  2. UIDATIMP-290

Data Import Field Mapping Profile details: Inventory holdings from MARC Bib

    XMLWordPrintable

Details

    • EPAM BatchLoader Sprint 36, EPAM BatchLoader Sprint 37, EPAM BatchLoader Sprint 38
    • 5
    • Folijet

    Description

      Purpose: To record the details of field mappings and defaults required to create/update an Inventory Holdings record from a MARC Bib record

      As a staff person
      I want to input MARC fields from incoming imported records and/or defaults
      So that I can create or update Inventory holdings records when importing MARC Bib records

      See the Syntax and Field Types tabs of https://drive.google.com/open?id=17kCccovBR-RAVK-coW7fpXvJfaRmYA2mUHoVLSF9Spo for field mapping syntax details

      Decorators for checkboxes, repeatable fields, reference value/dropdown lists, and date pickers will be added in future stories. Until then, these fields will not work properly. See details below.

      In the future, this will be tenant-izable, so that if the tenant allows some fields to be editable in the holdings, instead of being controlled by the underlying SRS MARC holdings record, then those fields would be mappable in the field mappings profile

      Scenarios

      1. Scenario 1
        • Given the Data Import field mapping profile Create/Edit screen
        • When viewing the Details section for a profile with Incoming record type = MARC bibliographic and FOLIO record type = Holdings
        • Then it should look like the attached screenshots Holdings 1-5 (based on the Inventory Create/Edit screen for Holdings)
          • Sub-header, left justified: Field mapping [space-dot-space] Holdings
          • Top right: button to collapse/expand all accordions (will be added later in a separate story UIDATIMP-403)
          • Default to all accordions expanded
          • Standard Cancel/Save footer for the field mapping profile overall
          • Individual fields:
            • Administrative data accordion
              • Suppress from discovery: Checkbox
              • Holdings HRID: Not mappable
              • Former holdings ID: Repeatable, free-text
              • Holdings type: Non-repeatable, with reference values (from Settings/Inventory/Holdings-Holdings types)
              • Statistical code: Repeatable, with reference values (from Settings/Inventory/Instances, holdings, items-Statistical codes and Statistical code types)
            • Location accordion
              • Holdings location: Permanent: Non-repeatable, with reference values (from Settings/Tenant/Location)
              • Holdings location: Temporary: Non-repeatable, with reference values (from Settings/Tenant/Location)
              • Shelving order: Non-repeatable, free-text
              • Shelving title: Non-repeatable, free text
              • Copy number: Non-repeatable, free text
              • Call number type: Non-repeatable, with reference values (from Settings/Inventory/Holdings, Items-Call number types)
              • Call number prefix: Non-repeatable, free text
              • Call number: Non-repeatable, free text
              • Call number suffix: Non-repeatable, free text
            • Holdings details accordion
              • Number of items: Non-repeatable, free text
              • Holdings statement/Holdings statement note: Repeatable, free-text (these 2 fields are added and deleted together)
              • Holdings statement for supplements/Holdings statement for supplements note: Repeatable, free-text (these 2 fields are added and deleted together)
              • Holdings statement for indexes/Holdings statement for indexes note: Repeatable, free-text (these 2 repeatable fields are added and deleted together)
              • ILL policy: Non-repeatable, with reference values (from Settings/Inventory/Holdings-ILL policy)
              • Digitization policy: Non-repeatable, free-text
              • Retention policy: Non-repeatable, free-text
            • Holdings notes accordion (these 3 repeatable fields are added and deleted together)
              • Note type: Repeatable, with reference values (from Settings/Inventory/Holdings-Holdings notes types)
              • Note: Repeatable, free-text
              • Staff only: Checkbox
            • Electronic access accordion (these 5 repeatable fields are added and deleted together)
              • Relationship: Repeatable, with reference values (from Settings/Inventory/Instances, holdings, items-URL relationship)
              • URI: Repeatable, free-text
              • Link text: Repeatable, free-text
              • Materials specified: Repeatable, free-text
              • URL public note: Repeatable, free-text
            • Acquisition accordion
              • Acquisition method: Non-repeatable, free-text
              • Order format: Non-repeatable, free-text
              • Receipt status: Non-repeatable, free-text
            • Receiving history accordion (these 3 repeatable fields are added and deleted together)
              • Public display: Checkbox
              • Enumeration: Repeatable, free-text
              • Chronology: Repeatable, free-text
      2. Scenario 2
        • Given the Create/Edit screen for Settings/Data Import/Field mapping profiles
        • When a user creates a New field mapping profile or updates an existing one for an incoming MARC record
        • Then allow them to use the syntax detailed on the Syntax sheet of https://docs.google.com/spreadsheets/d/17kCccovBR-RAVK-coW7fpXvJfaRmYA2mUHoVLSF9Spo/edit#gid=141717922
        • To use a value from a field in the incoming record, to try a cascade from several fields, and/or to assign a default value
        • Note: Validation of the syntax is covered in UIDATIMP-405. This scenario just covers being able to input syntax into the fields of the field mapping screen
        • NOTE: Cannot fully test the syntax until the relevant MODINV and MODDICORE and decorator stories are completed
      3. Scenario 3
        • Given the Data Import field mapping profile View details screen
        • When viewing the Details section for a profile with Incoming record type = MARC bibliographic and FOLIO record type = Holdings
        • Then it should look like the Create/Edit screen, except
          • Not editable
          • No buttons to add repeatable fields
      4. Scenario 4
        • Ensure automated testing coverage for this new code is 80% plus and confirm with screenshot

      Field handling for different types of fields:

      • Checkbox: (See story UIDATIMP-400 for checkbox decorator)
        • Remove the checkbox at the left of the field label
        • Add a dropdown list to the right of the field label with:
          • Ghost text: Select checkbox field mapping
          • And dropdown options of
            • Mark for all affected records
            • Unmark for all affected records
            • Keep the existing value for all affected records
      • Not mappable:
        • Do not allow tabbing to this field; skip it
        • Make the input field dark grey and disallow any data entry
      • Repeatable, free text:
        • Start with an "Add [field label]" button
        • And a new "repeatable mapping" dropdown above the top right of the field with the following options: (See story UIDATIMP-401 for repeatable mapping dropdown decorator)
          • Add these to existing [make this the top, default value]
          • Delete all existing values
          • Delete existing and add these
          • Find and remove these
        • Once the "Add [field label]" button is clicked,
          • Add the field
          • With a trashcan at the end of it (so that the field and its mapping can be deleted from the profile)
          • (Consult the Inventory create/edit screen if questions about how it should look)
        • If there are multiple copies of the repeated field, only have one "repeatable mapping" dropdown at the top right of the whole bloc of the fields
      • Repeatable, with reference values:
        • Start with an "Add [field label]" button
        • And a new "repeatable mapping" dropdown above the top right of the field with the following options:
          • Add these to existing
          • Delete all existing values
          • Delete existing and add these
          • Find and remove these
        • Once the "Add [field label]" button is clicked
          • Add the field (free text)
          • With an Accepted values dropdown at the right - if a value is selected, add to the free-text are of the field in double quotes (see separate story UIDATIMP-402 for Accepted values decorator)
          • And then a Trashcan at the end of it (consult the Inventory create/edit screen if questions about how it should look).
          • Accepted values will usually come from a list of reference values in Settings or a Hardcoded list
          • User should be able to tab to both the Free text and Accepted values of the field
        • If there are multiple copies of the repeated field, only have one "repeatable mapping" dropdown at the top right of the whole bloc of the fields
      • Non-repeatable, free text:
        • Open field, that can be tabbed to and typed into
      • Non-repeatable, with reference values:
        • Field that includes:
          • A free text portion
          • With an Accepted values dropdown at the right - if a value is selected, add to the free-text are of the field in double quotes
          • Accepted values will usually come from a list of reference values in Settings or a Hardcoded list
          • User should be able to tab to both the Free text and Accepted values of the field

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                Mariia_Aloshyna Mariia Aloshyna
                abreaux Ann-Marie Breaux
                Ann-Marie Breaux Ann-Marie Breaux
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases