Bug 26433

Summary: Control number search option missing from SRU mapping options
Product: Koha Reporter: Katrin Fischer <katrin.fischer>
Component: Z39.50 / SRU / OpenSearch ServersAssignee: Nick Clemens (kidclamp) <nick>
Status: RESOLVED FIXED QA Contact: Marcel de Rooy <m.de.rooy>
Severity: normal    
Priority: P5 - low CC: david, m.de.rooy, nick
Version: unspecified   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: Trivial patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
23.05.00,22.11.05
Circulation function:
Attachments: Bug 26433: Add Control number to SRU field configuration
Bug 26433: Add Control number to SRU field configuration
Bug 26433: Add Control number to SRU field configuration
Bug 26433: Add Control number to SRU field configuration

Description Katrin Fischer 2020-09-11 12:11:54 UTC
The Controlnumber is offered as a search field on the SRU/Z39.50 form, but cannot be mapped in the SRU configuration.
Comment 1 Marcel de Rooy 2020-09-14 06:17:33 UTC
I used rec.id but it goes via Local-number to 999's biblionumber. In my case the same as control number, but not always.
Comment 2 Katrin Fischer 2020-09-14 06:30:24 UTC
Hi Marcel, this was about the Controlnumber being a new separate field on the form, but not showing up in the mappings form. But I just realized this is ok in master, just not in 18.11.
Comment 3 Katrin Fischer 2020-09-14 06:32:29 UTC
Ok, it's ok for bibliographic, but missing for authority search. Sorry for the early morning confusion.
Comment 4 Nick Clemens (kidclamp) 2023-01-18 15:28:00 UTC
Created attachment 145399 [details] [review]
Bug 26433: Add Control number to SRU field configuration

This simply adds a row to the config page for configuring a mapping for Control
number, without this patch you cannot configure the feild, and the default is 'any'

I used the first record here for testing:
http://lx2.loc.gov:210/NAF?operation=searchRetrieve&version=1.1&query=query=bath.personalName=%22butler%20octavia%22&maximumRecords=20&recordSchema=marcxml

Enter SRU server using settings here:
https://www.loc.gov/z3950/lcserver.html#serv
       host: lx2.loc.gov
       port: 210
         db: NAF
     userid:
   password:
 servername: LOC SRU
    checked: NULL
       rank: NULL
     syntax: USMARC
    timeout: 0
 servertype: sru
   encoding: utf8
 recordtype: authority

To test:
1 - Setup SRU server using settings above
2 - In the server config click 'Modify' under 'SRU search fields mapping'
3 - Note you don't have an option for 'Control number'
4 - Go to Authorities
5 - New from Z39.50/SRU
6 - Search 'Control number' field with: PS3552.U827
7 - You get the record noted above as all fields are searched
8 - Search 'Control number' field with: 00289745
9 - You get the record noted above as all fields are searched
10 - Apply patch
11 - In the server config click 'Modify' under 'SRU search fields mapping'
12 - Note you now have a config for 'Control number'
13 - Enter 'bath.lccn'
14 - Save
15 - Repeat search from #6 - no result
16 - Repeat search from #8 - correct result as only lccn fields are search
17 - Modify server config ans set 'Control number' to 'bath.lcCallNumber'
18 - Repeat search from #6 - correct results as call number field is now search
19 - Repeast search from #8 - no result
Comment 5 David Nind 2023-01-26 20:39:46 UTC
For Step 16 I get no result ("Nothing found").

For Step 18 I also get no result ("Nothing found").
Comment 6 Nick Clemens (kidclamp) 2023-03-27 09:44:41 UTC
Created attachment 148746 [details] [review]
Bug 26433: Add Control number to SRU field configuration

This simply adds a row to the config page for configuring a mapping for Control
number, without this patch you cannot configure the feild, and the default is 'any'

I used the first record here for testing:
http://lx2.loc.gov:210/NAF?operation=searchRetrieve&version=1.1&query=query=bath.personalName=%22butler%20octavia%22&maximumRecords=20&recordSchema=marcxml

Enter SRU server using settings here:
https://www.loc.gov/z3950/lcserver.html#serv
       host: lx2.loc.gov
       port: 210
         db: NAF
     userid:
   password:
 servername: LOC SRU
    checked: NULL
       rank: NULL
     syntax: USMARC
    timeout: 0
 servertype: sru
   encoding: utf8
 recordtype: authority

To test:
1 - Setup SRU server using settings above
2 - In the server config click 'Modify' under 'SRU search fields mapping'
3 - Note you don't have an option for 'Control number'
4 - Go to Authorities
5 - New from Z39.50/SRU
6 - Search 'Control number' field with: PS3552.U827
7 - You get the record noted above as all fields are searched
8 - Search 'Control number' field with: 79056654
9 - You get the record noted above as all fields are searched
10 - Apply patch
11 - In the server config click 'Modify' under 'SRU search fields mapping'
12 - Note you now have a config for 'Control number'
13 - Enter 'bath.lccn'
14 - Save
15 - Repeat search from #6 - no result
16 - Repeat search from #8 - correct result as only lccn fields are search
17 - Modify server config ans set 'Control number' to 'bath.lcCallNumber'
18 - Repeat search from #6 - correct results as call number field is now search
19 - Repeast search from #8 - no result
Comment 7 Nick Clemens (kidclamp) 2023-03-27 09:45:14 UTC
(In reply to David Nind from comment #5)
> For Step 16 I get no result ("Nothing found").
> 
> For Step 18 I also get no result ("Nothing found").

The test plan had the wrong number, I updated and it works for me.
Comment 8 Marcel de Rooy 2023-03-27 14:15:10 UTC
Looks good to me.
Comment 9 Marcel de Rooy 2023-03-27 14:15:39 UTC
Created attachment 148779 [details] [review]
Bug 26433: Add Control number to SRU field configuration

This simply adds a row to the config page for configuring a mapping for Control
number, without this patch you cannot configure the feild, and the default is 'any'

I used the first record here for testing:
http://lx2.loc.gov:210/NAF?operation=searchRetrieve&version=1.1&query=query=bath.personalName=%22butler%20octavia%22&maximumRecords=20&recordSchema=marcxml

Enter SRU server using settings here:
https://www.loc.gov/z3950/lcserver.html#serv
       host: lx2.loc.gov
       port: 210
         db: NAF
     userid:
   password:
 servername: LOC SRU
    checked: NULL
       rank: NULL
     syntax: USMARC
    timeout: 0
 servertype: sru
   encoding: utf8
 recordtype: authority

To test:
1 - Setup SRU server using settings above
2 - In the server config click 'Modify' under 'SRU search fields mapping'
3 - Note you don't have an option for 'Control number'
4 - Go to Authorities
5 - New from Z39.50/SRU
6 - Search 'Control number' field with: PS3552.U827
7 - You get the record noted above as all fields are searched
8 - Search 'Control number' field with: 79056654
9 - You get the record noted above as all fields are searched
10 - Apply patch
11 - In the server config click 'Modify' under 'SRU search fields mapping'
12 - Note you now have a config for 'Control number'
13 - Enter 'bath.lccn'
14 - Save
15 - Repeat search from #6 - no result
16 - Repeat search from #8 - correct result as only lccn fields are search
17 - Modify server config ans set 'Control number' to 'bath.lcCallNumber'
18 - Repeat search from #6 - correct results as call number field is now search
19 - Repeast search from #8 - no result

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Comment 10 Marcel de Rooy 2023-03-27 14:16:10 UTC
If David would add signoff too, we can update to PQA.
Comment 11 David Nind 2023-03-27 18:36:07 UTC
Created attachment 148784 [details] [review]
Bug 26433: Add Control number to SRU field configuration

This simply adds a row to the config page for configuring a mapping for Control
number, without this patch you cannot configure the feild, and the default is 'any'

I used the first record here for testing:
http://lx2.loc.gov:210/NAF?operation=searchRetrieve&version=1.1&query=query=bath.personalName=%22butler%20octavia%22&maximumRecords=20&recordSchema=marcxml

Enter SRU server using settings here:
https://www.loc.gov/z3950/lcserver.html#serv
       host: lx2.loc.gov
       port: 210
         db: NAF
     userid:
   password:
 servername: LOC SRU
    checked: NULL
       rank: NULL
     syntax: USMARC
    timeout: 0
 servertype: sru
   encoding: utf8
 recordtype: authority

To test:
1 - Setup SRU server using settings above
2 - In the server config click 'Modify' under 'SRU search fields mapping'
3 - Note you don't have an option for 'Control number'
4 - Go to Authorities
5 - New from Z39.50/SRU
6 - Search 'Control number' field with: PS3552.U827
7 - You get the record noted above as all fields are searched
8 - Search 'Control number' field with: 79056654
9 - You get the record noted above as all fields are searched
10 - Apply patch
11 - In the server config click 'Modify' under 'SRU search fields mapping'
12 - Note you now have a config for 'Control number'
13 - Enter 'bath.lccn'
14 - Save
15 - Repeat search from #6 - no result
16 - Repeat search from #8 - correct result as only lccn fields are search
17 - Modify server config ans set 'Control number' to 'bath.lcCallNumber'
18 - Repeat search from #6 - correct results as call number field is now search
19 - Repeast search from #8 - no result

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Comment 12 David Nind 2023-03-27 18:38:50 UTC
(In reply to Marcel de Rooy from comment #10)
> If David would add signoff too, we can update to PQA.

Hi Marcel.

I have added my sign off.

Note: I initially couldn't get things to work as per the test plan, then released I had KTD setup as an UNIMARC instance. Once I changed my instance back to MARC21, everything worked as per the test plan.

David
Comment 13 Tomás Cohen Arazi (tcohen) 2023-03-31 10:17:29 UTC
Pushed to master for 23.05.

Nice work everyone, thanks!
Comment 14 Matt Blenkinsop 2023-04-11 11:25:01 UTC
Nice work everyone!

Pushed to stable for 22.11.x