Bug 24286

Summary: FindDuplicateAuthority does not escape forward slash in 'GENRE/FORM'
Product: Koha Reporter: Nick Clemens <nick>
Component: Searching - ElasticsearchAssignee: Nick Clemens <nick>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P5 - low CC: 1joynelson, jonathan.druart, kelly, lucas, mkstephens
Version: Main   
Hardware: All   
OS: All   
See Also: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24264
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24267
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
20.05.00, 19.11.03
Attachments: Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Description Nick Clemens 2019-12-20 13:33:23 UTC
To recreate:
0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
1 - Browse to Authorities
2 - Select New->New from Z3950
3 - Search for subject 'Short stories'
4 - Auth search explodes
Comment 1 Nick Clemens 2019-12-20 13:38:28 UTC
Created attachment 96524 [details] [review]
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail

To test:
 0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
 1 - Browse to Authorities
 2 - Select New->New from Z3950
 3 - Search for subject 'Short stories'
 4 - Auth search explodes
 5 - Apply patch
 6 - Repeat and confirm the search results return
 7 - Import and save the GENRE/FORM record for Short stories
 8 - Repeat the search and import the same record
 9 - Confirm that upon save you are notified of duplicate, don't save
10 - set  QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate
11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate
Comment 2 Jonathan Druart 2020-01-02 14:52:03 UTC
Please replace
  s/\//\\\//
with
  s#/#\\/#
to make it a bit more readable.
Comment 3 Nick Clemens 2020-01-02 18:29:24 UTC
Created attachment 96765 [details] [review]
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail

To test:
 0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
 1 - Browse to Authorities
 2 - Select New->New from Z3950
 3 - Search for subject 'Short stories'
 4 - Auth search explodes
 5 - Apply patch
 6 - Repeat and confirm the search results return
 7 - Import and save the GENRE/FORM record for Short stories
 8 - Repeat the search and import the same record
 9 - Confirm that upon save you are notified of duplicate, don't save
10 - set  QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate
11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate
Comment 4 ByWater Sandboxes 2020-01-17 16:06:10 UTC
Created attachment 97543 [details] [review]
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail

To test:
 0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
 1 - Browse to Authorities
 2 - Select New->New from Z3950
 3 - Search for subject 'Short stories'
 4 - Auth search explodes
 5 - Apply patch
 6 - Repeat and confirm the search results return
 7 - Import and save the GENRE/FORM record for Short stories
 8 - Repeat the search and import the same record
 9 - Confirm that upon save you are notified of duplicate, don't save
10 - set  QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate
11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Comment 5 Myka Kennedy Stephens 2020-01-18 21:04:58 UTC
Created attachment 97582 [details] [review]
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail

To test:
 0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
 1 - Browse to Authorities
 2 - Select New->New from Z3950
 3 - Search for subject 'Short stories'
 4 - Auth search explodes
 5 - Apply patch
 6 - Repeat and confirm the search results return
 7 - Import and save the GENRE/FORM record for Short stories
 8 - Repeat the search and import the same record
 9 - Confirm that upon save you are notified of duplicate, don't save
10 - set  QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate
11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu>
Comment 6 Myka Kennedy Stephens 2020-01-18 21:05:50 UTC
Patch works as expected. Thank you!
Comment 7 Jonathan Druart 2020-01-21 15:19:47 UTC
Created attachment 97671 [details] [review]
Bug 24286: Escape forward slash in GENRE/FORM (and any authtype)

Note that bug 24267 will fix the issue during Z39 searching for new auth, but the duplicate check at saving will still fail

To test:
 0 - Set SearchEngine to Elasticsearch,  QueryRegexEscapeOptions  to 'Don't Escape'
 1 - Browse to Authorities
 2 - Select New->New from Z3950
 3 - Search for subject 'Short stories'
 4 - Auth search explodes
 5 - Apply patch
 6 - Repeat and confirm the search results return
 7 - Import and save the GENRE/FORM record for Short stories
 8 - Repeat the search and import the same record
 9 - Confirm that upon save you are notified of duplicate, don't save
10 - set  QueryRegexEscapeOptions to 'Escape' and confirm Z39 searching works and importing/save notifies of duplicate
11 - set SearchEngine to Zebra and confirm Z39 searching works and importing/save notifies of duplicate

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Comment 8 Martin Renvoize 2020-01-23 09:10:51 UTC
Nice work everyone!

Pushed to master for 20.05
Comment 9 Joy Nelson 2020-02-06 23:04:10 UTC
Pushed to 19.11.x for 19.11.03
Comment 10 Lucas Gass 2020-02-13 20:36:07 UTC
19.05.x does not include QueryRegexEscapeOptions, no backport