Locations and Service Points (UXPROD-771)

[UXPROD-571] Bulk Import for Locations Created: 15/May/18  Updated: 22/Aug/23

Status: Draft
Project: UX Product
Components: None
Affects versions: None
Fix versions: None
Parent: Locations and Service Points

Type: New Feature Priority: P4
Reporter: Cate Boerema (Inactive) Assignee: Anne Ekblad
Resolution: Unresolved Votes: 0
Labels: bulk-api, enettifee-reviewed, locations
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Potential Workaround: Erin Nettifee: This can be worked around by using the location APIs to create items on the location tree.
Epic Link: Locations and Service Points
Front End Estimate: Medium < 5 days
Front End Estimator: Jakub Skoczen
Back End Estimate: Medium < 5 days
Back End Estimator: Jakub Skoczen
PO Rank: 20
PO Ranking Note: 2020-10-04 - CB: Making my PO rank same as the calculated total rank for now.
2019-07-12: Keeping PO rank same as calculated rank (with potential minor adjustments to avoid having two features with same rank)
Rank: Chalmers (Impl Aut 2019): R5
Rank: Chicago (MVP Sum 2020): R5
Rank: Cornell (Full Sum 2021): R5
Rank: Duke (Full Sum 2021): R4
Rank: 5Colleges (Full Jul 2021): R5
Rank: FLO (MVP Sum 2020): R5
Rank: GBV (MVP Sum 2020): R5
Rank: hbz (TBD): R1
Rank: Hungary (MVP End 2020): R1
Rank: Lehigh (MVP Summer 2020): R5
Rank: Leipzig (Full TBD): R5
Rank: TAMU (MVP Jan 2021): R5
Rank: U of AL (MVP Oct 2020): R5

 Description   

Current situation or problem:
Many institutions have hundreds or thousands of location records and the manual setup mechanism is going to be burdensome when you have many to create (e.g. during system implementation).

It's desirable to have the ability to import a large number of locations at once.

The existing APIs provide infrastructure to create each layer of the location structure one-by-one, and that is, for some institutions, an acceptable workaround. E.g., see this example code from EBSCO: https://github.com/FOLIO-FSE/shell-utilities/blob/master/locations-add

For almost all libraries, it would be acceptable to create institutions, campuses, and libraries through the FOLIO UI, and then be able to upload locations through a bulk file upload. This feature is meant to encompass the work just for to upload locations. In the future, it may be desirable to expand it to all four levels of the location tree.

In scope

  • Development of a UI interface that allows for the upload of a CSV file with all the required fields to create locations
  • Backend work to validate the CSV file, parse the fields, lookup UUID values as needed, and send it to the location creation API
  • Reporting back to the user (view download or UI) which rows in the data were created, and which rows failed.

Out of scope

  • New permissions - if a FOLIO user has the ability to CRUD locations via the FOLIO UI, they have the ability to bulk create locations via this workflow.
  • Bulk modification / deletion - that is listed as a use case for the Bulk Edit app (https://folio-org.atlassian.net/wiki/display/BULKEDIT/Bulk+Edit+Use+Cases)
  • Validation of the CSV file prior to attempting creation

Use case(s)

  • A regional library repository service wishes to implement FOLIO to manage library loans. They maintain thousands of locations that correspond to the locations used by their customer institutions. When implementing FOLIO, they need to export locations from their old system, and import them into their new system.

Proposed solution/stories

  • On the locations view pane, add an Action menu with an option for "Import"
  • From Action > Import, provide a pop-up modal that allows for uploading the file, previewing the results, and then committing the bulk import.
  • The CSV file would need the following columns (if a field is optional, the library would just leave it blank)
    • Institution
    • Campus
    • Library
    • FOLIO name
    • Remote storage value (Y/N)
    • Code
    • Discovery display name
    • Associated primary service point
    • Status (Active / Inactive)
    • Description

Links to additional info

Questions

  • For the CSV file, what kind of data would you input - code, UUID, some combination? We'd need to document the expected inputs.
  • How would you handle a scenario where a library wanted to add multiple secondary service points? That is rare, but the UI does accommodate that. Would bulk import simply not allow that?


 Comments   
Comment by Karen Newbery [ 26/May/20 ]

Duke feels that the batch importer will be not useful without this Jira.

Comment by Jacquie Samples [ 23/Sep/20 ]

Has anyone tested the suggested work-around? If accessing the API does work, then this UX-Prod could be/should be updated.

Comment by Erin Nettifee [ 25/Jan/21 ]

Jacquie Samples yes the work-around is how we have done all of our configurations at Duke, so I'll update that field to reflect that.

Generated at Fri Feb 09 00:08:52 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.