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

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

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      EPAM BatchLoader Sprint 36, EPAM BatchLoader Sprint 37, EPAM BatchLoader Sprint 38
    • Story Points:
      5
    • Development Team:
      Folijet

      Description

      Purpose: To record the details of field mappings and defaults required to create/update an Inventory Item 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 item records when importing MARC Bib records

      Background information:

      • Item record mapping details prototype: https://ux.folio.org/testing/data-import/1007/
      • Mapping fields: https://docs.google.com/spreadsheets/d/17kCccovBR-RAVK-coW7fpXvJfaRmYA2mUHoVLSF9Spo/edit#gid=141717922
        • Create item sheet: shows all item record fields and their types, with some sample mapping data
        • Field types sheet: shows the various kinds of fields and how they will be handled in the field mapping details. Ann-Marie assigned the field types, so these are not the technical/developer names for the fields.
        • Syntax shows the mapping syntax allowed in the fields - a few unresolved questions, plus we should probably talk through these 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.

      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 = Item
        • Then it should look like the attached screenshots Item 1-5 (based on the Inventory Create/Edit screen for Item) and described here. The screens can be compressed vertically some from how they appear in the wireframes.
        • The field mapping details screen should look and feel as much like the regular Item record Create/Update screen as possible
        • NOTE: Ignore/do not include the "Location lookup" option in the Location accordion
          • Sub-header, left justified: Field mapping [space-dot-space] Item
          • 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
              • Item HRID: Not mappable
              • Barcode: Non-repeatable, free text
              • Accession number: Non-repeatable, free text
              • Item identifier: Non-repeatable, free text
              • Former identifier: Repeatable, free text
              • Statistical code: Repeatable, with reference values (from Settings/Inventory/Instances, holdings, items-Statistical code types & Statistical codes)
            • Item data accordion
              • Material type: Non-repeatable, with reference values (from Settings/Inventory/Items/Material types)
              • Copy number: Non-repeatable, free text
              • Call number type: Non-repeatable, with reference values (from Settings/Inventory/Holdings, Items-Call number types) typo - will add a bug
              • Call number prefix: Non-repeatable, free text
              • Call number: Non-repeatable, free text
              • Call number suffix: Non-repeatable, free text
              • Number of pieces: Non-repeatable, free text
              • Description of pieces: Non-repeatable, free text
            • Enumeration data accordion
              • Enumeration: Non-repeatable, free text
              • Chronology: Non-repeatable, free text
              • Volume: Non-repeatable, free text
              • Year, caption: Repeatable, free text typo - will add a bug
            • Condition accordion
              • Number of missing pieces: Non-repeatable, free text
              • Missing pieces: Non-repeatable, free text
              • Date: Date
              • Item damaged status: Non-repeatable, with reference values (hard coded: Damaged, Not Damaged)
              • Date: Date
            • Item notes accordion
              • Note type: Repeatable, with reference values (from Settings/Inventory/Items-Item note types) [Note type, Note, and Staff only are added/removed together as repeatable fields]
              • Note: Repeatable, free text
              • Staff only: Checkbox
            • Loan and availability accordion
            • Circulation notes accordion
              • Note type: Repeatable, with reference values (from Settings/Inventory/Items-Item note types) [Note type, Note, and Staff only are added/removed together as repeatable fields]
              • Note: Repeatable, free text
              • Staff only: Checkbox
            • Location accordion
              • Permanent: Non-repeatable, with reference values (from Settings/Tenant/Location setup-Locations)
              • Temporary: Non-repeatable, with reference values (from Settings/Tenant/Location setup-Locations)
            • Electronic access accordion [these 5 fields are added/removed together as repeatable fields]
              • 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
      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 syntax until relevant MODINV, MODDICORE, and decorator work is complete
      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 = Item
        • 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-368 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
      • Date (See story UIDATIMP-407 for date picker decorator)
        • Field that includes:
          • A free text portion
          • With an Accepted values dropdown at the right, with 2 options:
            • Today
            • Choose date
          • User should be able to map a MARC field and/or choose or type an accepted value
          • If User selects "Today" from the dropdown list, put ###TODAY### in the free text field, and when job is run, apply today's date in YYYY-MM-DD format
          • If User selects "Choose date" from the dropdown list, display the date picker, and allow the user to select a specific date. Once that date is selected, enter it as "YYYY-MM-DD" in the text field, e.g. "2020-01-01"
          • User should be able to tab to both the Free text and Accepted values areas of the field
      • 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 map a MARC field and/or choose or type an accepted value
          • User should be able to tab to both the Free text and Accepted values areas 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 map a MARC field and/or choose or type an accepted value
          • User should be able to tab to both the Free text and Accepted values areas of the field

      Notes and Questions

      • Tell Ann-Marie if we need to discuss any of these details. I'm sure we will!
      • Oleksii to add backend stories needed to support this
      • Per Taras, had a backend session to make a prototype for the syntax rules; will create a spike for the syntax rules (which can be used with all the field mapping details screen) [this spike will block this story]
      • Will need stories for "decorator function" that can be used on any of the field mapping screens to control whether we need toggles, checkboxes, etc. to be able to attach generic components to the form [this new story will block this story]
      • Per Oleksii, need to create config and contract between backend/UI to be able to render any form - need endpoint to store the config (MODDICONV-73)

        TestRail: Results

          Attachments

          1. Item field mapping-1.PNG
            Item field mapping-1.PNG
            91 kB
          2. Item field mapping-2.PNG
            Item field mapping-2.PNG
            86 kB
          3. Item field mapping-3.PNG
            Item field mapping-3.PNG
            86 kB
          4. Item field mapping-4.PNG
            Item field mapping-4.PNG
            73 kB
          5. Item field mapping-5.PNG
            Item field mapping-5.PNG
            79 kB

            Issue Links

              Activity

                People

                Assignee:
                taras_tkachenko Taras Tkachenko
                Reporter:
                abreaux Ann-Marie Breaux
                Tester Assignee:
                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