Details
-
New Feature
-
Status: Closed (View Workflow)
-
TBD
-
Resolution: Done
-
None
-
None
-
None
-
-
Other dev
-
-
0
-
R5
-
R5
-
R4
-
R1
-
R4
-
R4
Description
Please note that Duke has developed this feature and it is in place on Snapshot, and will be part of Juniper.
Current situation or problem:
Libraries want the ability to include additional identifiers on the user record to facilitate user transactions, including check-out.
Right now, there are four identifiers that can be used when checking out an item to a patron:
- barcode
- username
- external system ID
- folio record number
Some libraries have additional identifiers that they'd like to also work in the checkout app, such as identifiers for mobile devices.
This feature proposes development to FOLIO to allow libraries to store additional identifiers in custom fields, and for the Checkout app to be able to look up patrons by those additional identifier fields, in order to allow a checkout transaction to occur.
In scope
- Settings modifications to allow libraries to opt into using custom fields for checkout;
- Modifying the "Scan Patron" user interface on the left hand side to query those custom fields, in addition to the standard identifiers, to retrieve a patron record for checkout.
Out of scope
- Modifications to update User Search to search for custom IDs - either through the user search modal, or through the Users app directly.
- Modifications to support self-check systems being able to use additional identifiers with protocols such as NCIP or SIP2. If these are eventually desired, changes will need to be made to
- Integrations to support the use of external ID readers with the FOLIO browser UI.
Use case(s)
A large academic institution offers three types of ID cards for its affiliates - a physical card, a mobile card supported through a smartwatch, and/or a mobile card supported on a smartphone. The library configures the main user profile to load the patron's physical card number into the main barcode field on the user schema, and then adds a custom field for a smartwatch ID, and a custom field for a mobile phone ID, and pushes those numbers into those fields.
Once the record is loaded, the patron can come up to a service desk to check out a book. The staff member puts the cursor into the Scan Patron box, and the patron taps their smart device on an ID reader. The ID reader outputs the patron's smart device ID into the Scan Patron box and hits enter; the patron's record is retrieved, and the checkout workflow can proceed.
Proposed solution/stories
Links to additional info
This feature is an outgrowth of discussion around implementation of UXPROD-2148 - adding additional external IDs to the user schema. This is not necessarily intended to replace that feature, as various adopters can continue to see the need for it eventually, but have not prioritized it for urgent development. Implementing this will allow Duke to meet go-live requirements for supporting implementation of FOLIO in Summer 2022.
Duke will do the development on this feature, and enettifee will act as the feature's product owner.
Questions
- Are there any security concerns with storing identifier data in custom fields? (Question raised by User Management SIG)
- These custom fields will not be on the loan record, though this does need to be considered with https://issues.folio.org/browse/UXPROD-2062 when that is implemented.
TestRail: Results
Attachments
Issue Links
- defines
-
UICIRC-559 Tests are flaky on Jenkins
-
- Closed
-
- is defined by
-
MODCONF-77 Update Mod-Configuration Entry to Store Custom Fields for Checkout
-
- Closed
-
-
UICHKOUT-697 Check-Out: Update UI to be able to use custom fields as identifiers for looking up patron records
-
- Closed
-
-
UICIRC-549 Settings: Update Circulation --> Other Settings to allow for Custom IDs to be selectable for checkout
-
- Closed
-
- relates to
-
UXPROD-2062 Anonymized loans: retain patron custom fields data
-
- Open
-
-
UXPROD-2148 Users App: Support multiple External System IDs
-
- Analysis Complete
-
-
MODUSERS-247 Add unique constraint for user externalSystemId
-
- Closed
-