Details
-
Story
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Done
-
None
-
-
Prokopovych - Sprint 140, Prokopovych - Sprint 141
-
1
-
Prokopovych
-
Morning Glory (R2 2022)
Description
Overview: ISBN, normalized is implemented as a dedicated search option, UIIN-647, 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
- ensure following normalizations are covered:
- 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
UIIN-758)
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 RMB-499 (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"
Note: it's possible to add UI validation for user input
Implementation:
The front-end need to change the CQL from
(identifiers =/@value "foo bar") sortby title
to
(identifiers =/@value "foo bar" OR isbn = "foo bar" OR invalidIsbn = "foo bar") sortBy title
This is needed to prevent isbn normalisation in other identifier fields as discussed on RMB-499.
No back-end work is needed. This is ui-only.
TestRail: Results
Attachments
Issue Links
- clones
-
UIIN-998 Normalize ISBNs for ISBN searching. Search option: Keyword (Instance, Holdings, Item)
-
- Closed
-
- defines
-
UXPROD-2323 Search by normalized ISBN number - in Inventory (phase 2, use ISBN as general Search option)
-
- Closed
-
- has to be done after
-
UIOR-274 Normalize ISBNs for ISBN Product ID searching in Order lines
-
- Closed
-
- is blocked by
-
MODINVSTOR-413 add "isbn" normalised index
-
- Closed
-
-
MSEARCH-307 BE - Normalize ISBNs for ISBN searching. Search option: Identifier (all) in the Instance segment
-
- Closed
-
-
RMB-499 Add "normalizeDigits" function
-
- Closed
-
- relates to
-
MODINV-122 ISBN normalization API
-
- Closed
-
-
UIIN-623 When ISSN in record has hyphen, searching doesn't work
-
- Closed
-
-
UXPROD-2180 Q1 2020 Timebox for Priority Inventory Search and Filter Enhancements
-
- Closed
-
-
CIRCSTORE-186 Use normalization for request.item.identifiers (for search requests by ISBN)
-
- Closed
-
-
RMB-574 allow to normalize ISBNs in any field
-
- Draft
-