BE - Normalize ISBNs for ISBN searching. Search option: Identifier (all) in the Instance segment
Description
Environment
None
Potential Workaround
None
CSP Request Details
None
CSP Rejection Details
None
CSP Approved
None
Attachments
7
blocks
defines
has to be done after
is blocked by
relates to
Checklist
hideTestRail: Results
Activity
Show:
Won't Do
Details
Assignee
UnassignedUnassignedReporter
Charlotte WhittCharlotte WhittTester Assignee
Charlotte WhittCharlotte WhittPriority
P3Development Team
SpitfireRelease
Morning Glory (R2 2022)TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Unassigned
UnassignedReporter

Tester Assignee

Priority
Development Team
Spitfire
Release
Morning Glory (R2 2022)
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created March 9, 2022 at 9:10 PM
Updated June 1, 2022 at 8:32 AM
Resolved May 26, 2022 at 1:54 PM
Overview: ISBN, normalized is implemented as a dedicated search option, , which supports searching by ISBN when those are being entered in a variety of ways (e.g. strip any internal punctuation (usually hyphens)), no matter which version is in the Instance Resource identifier element:
This story here is about implementing the same normalization of ISBNs when search using search option Identifier (all) in the Instance segment.
Scenarios:
Assume the following instance records exist
Example
ISBN
Invalid ISBN
1
978-92-8011-565-9
2
9789280115659
3
978 92 8011 565 9
4
978-92-8011-565-9 (pbk.)
5
978-92-8011-5659(pbk.)
6
978 92 8011 5659(pbk.)
7
92801156507
8
9280115650 (pbk.)
9
9789280115669
10
978-92-8011-566-9
11
978 92 8011 566 9
12
978 92 8011 566 9(hardcover)
# Scenario
Login to FOLIO Snapshot, go to Inventory, Search & filter pane, and select Instance segment
When a user wants to search on ISBN then following search options are in focus of this story:
Identifier (all)
Scenario
When searching on ISBN (Resource Identifier)
Then search are conducted across following elements:
Resource identifier type: ISBN
Resource identifier type: Invalid ISBN
Scenario
ensure following normalizations are covered:
with and without hyphens
with and without spaces
with and without qualifiers, like (pbk.), (inb.), (paperback), (vol. 1), (alk. paper) and more
Scenario
Ensure automated testing coverage for this new code is 80% plus and confirm with screenshot
- - - - - - - - - -
Requirements:
search in the instance record on both:
Resource identifier type: ISBN
Resource identifier type: Invalid ISBN
search on ISBN numbers
with 10 digits
with 13 digits
search on ISBN numbers
with qualifier data after the 10/13 digit number
without qualifier data after the 10/13 digit number
search on ISBNs with qualifiers
preceded by spaces, e.g. 9789280115659 (pbk.)
not preceded by spaces. e.g. 978-0-12-3736668-0(CD-ROM)
search on ISBN numbers
with hyphens
without hyphens
search even ignore eventually spaces in the ISBN
search on ISBN is possible in any of the three segments: Instance, Holdings, Item (see )
Examples on ISBN searches which will find following instance record (from Bugfest environment (login: folio/folio) - https://bugfest.folio.ebsco.com/inventory/view/0f5983eb-1912-4e88-bcbf-2a8f97b42f5a?query=9789280115659%2A&sort=Title):
Identifier search option: 9789280115659
Identifier search option: 9789280115659 (pbk.)
Identifier search option: 9789280115659(pbk.)
Identifier search option: 978-92-8011-565-9
Identifier search option: 978 92 8011 565 9
Identifier search option: 9280115650
Identifier search option: 9280115650 (pbk.)
Identifier* search option: 9789280115669 an invalid ISBN
Identifier search option: 978-92-8011-566-9 an invalid ISBN
See also slide deck: https://docs.google.com/presentation/d/1zsgykxOAKSdjikm8Lg56lamAv9u6o7ms1dTIHx1SDnI/edit#slide=id.p
Out of scope for MVP:
The RA and MM -SIG discussed the need for search on calculated ISBN. The requirements are not clear, while e.g. SMEs with expertise on Special collection and rare books does not find an automatic conversion between 10 digit and 13 digit ISBNs to be expected behavior.
TIPS:
ISBN Utility functionality for the Orders app - see (module/project = ISBNUTIL) https://github.com/folio-org/folio-isbn-util
Note: if the implementation is based only on (without any ISBN-specific validation, backend nor front-end) it will be possible to find results when searching for partial tokens e.g "978" or "978 92". pull request: https://github.com/folio-org/raml-module-builder/pull/615/files . It uses regexp
resulting in two chunks. Remove spaces, tabs and hyphens from the first chunk. Now concatenate the two chunks with a space separator; but don't add the space separator if any of the chunks is empty.
Note: it's possible to add UI validation for user input
Implementation:
The front-end need to change the CQL from
to
This is needed to prevent isbn normalisation in other identifier fields as discussed on .
No back-end work is needed. This is ui-only.