Bug 34784 - Add ability to populate empty item call numbers for a record based on the itemcallnumber system preference
Summary: Add ability to populate empty item call numbers for a record based on the ite...
Status: ASSIGNED
Alias: None
Product: Koha
Classification: Unclassified
Component: Cataloging (show other bugs)
Version: Main
Hardware: All All
: P5 - low enhancement
Assignee: Kyle M Hall (khall)
QA Contact: Tomás Cohen Arazi (tcohen)
URL:
Keywords:
Depends on: 38226
Blocks:
  Show dependency treegraph
 
Reported: 2023-09-13 15:21 UTC by Kyle M Hall (khall)
Modified: 2024-10-22 12:52 UTC (History)
5 users (show)

See Also:
Change sponsored?: ---
Patch complexity: Medium patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (11.65 KB, patch)
2023-09-14 16:44 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.17 KB, patch)
2023-09-14 16:44 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (11.92 KB, patch)
2023-09-14 16:59 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.16 KB, patch)
2023-09-14 17:00 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (11.96 KB, patch)
2023-09-25 01:16 UTC, David Nind
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.20 KB, patch)
2023-09-25 01:16 UTC, David Nind
Details | Diff | Splinter Review
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (11.97 KB, patch)
2023-11-06 19:55 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.21 KB, patch)
2023-11-06 19:55 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) (16.34 KB, patch)
2023-11-06 19:55 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (11.96 KB, patch)
2023-11-06 21:58 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.20 KB, patch)
2023-11-06 21:58 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) (16.33 KB, patch)
2023-11-06 21:58 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) Terminology: callnumber, biblio, syspref (20.00 KB, patch)
2023-11-06 21:58 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) Fix broken links, re-add newlines (4.18 KB, patch)
2023-11-07 11:52 UTC, Kyle M Hall (khall)
Details | Diff | Splinter Review
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib (12.02 KB, patch)
2023-11-07 21:50 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: Implement feature in staff interface (10.25 KB, patch)
2023-11-07 21:50 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) (16.38 KB, patch)
2023-11-07 21:50 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) Terminology: callnumber, biblio, syspref (20.06 KB, patch)
2023-11-07 21:50 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) Fix broken links, re-add newlines (4.23 KB, patch)
2023-11-07 21:50 UTC, Katrin Fischer
Details | Diff | Splinter Review
Bug 34784: (QA follow-up) Add additionalProperties to pass xt (1.25 KB, patch)
2023-12-28 11:10 UTC, Martin Renvoize (ashimema)
Details | Diff | Splinter Review
Bug 34784: API spec (6.04 KB, patch)
2024-10-21 17:57 UTC, Tomás Cohen Arazi (tcohen)
Details | Diff | Splinter Review
Bug 34784: Add RPC route for updating item callnumbers for a biblio (10.16 KB, patch)
2024-10-21 17:57 UTC, Tomás Cohen Arazi (tcohen)
Details | Diff | Splinter Review
Bug 34784: Add RPC route for updating item callnumbers for a biblio (10.16 KB, patch)
2024-10-21 18:03 UTC, Tomás Cohen Arazi (tcohen)
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle M Hall (khall) 2023-09-13 15:21:39 UTC
Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.
Comment 1 Kyle M Hall (khall) 2023-09-14 16:44:03 UTC
Created attachment 155623 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t
Comment 2 Kyle M Hall (khall) 2023-09-14 16:44:12 UTC
Created attachment 155624 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item
Comment 3 Kyle M Hall (khall) 2023-09-14 16:59:56 UTC
Created attachment 155626 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t
Comment 4 Kyle M Hall (khall) 2023-09-14 17:00:03 UTC
Created attachment 155627 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item
Comment 5 David Nind 2023-09-25 01:16:11 UTC
Created attachment 156140 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t

Signed-off-by: David Nind <david@davidnind.com>
Comment 6 David Nind 2023-09-25 01:16:14 UTC
Created attachment 156141 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item

Signed-off-by: David Nind <david@davidnind.com>
Comment 7 Katrin Fischer 2023-11-04 18:43:52 UTC
I'd like for someone who knows their way around the REST API a little better to have a second look here. 

Most of these are cosmetic and should be quick to follow-up:

1) Needs a follow-up to fix documentation.

+=head3 populate_empty_callnumbers
+
+Controller function that handles deleting a biblio object

2) Spelling

In the item form and the holding table we are using 'call number', but the patch uses 'callnumber'. I believe we should follow the GUI. 

See also: https://wiki.koha-community.org/wiki/Terminology

3) I feel we should include the call number that would be used in the confirmation question. 

if ( confirm(__('Are you sure you want to populate callnumbers for all items without a callnumber on this record?')) ) 

4) Please no line breaks in translatable strings!

This is a known issue with Pootle, not sure about Weblate, but translators often might not know what it is and accidentally remove it.

msg += __('\nReload the page?');
let msg = __('Item populated with the callnumber "%s"\nReload the page?').format(callnumber);

4) Button in the holdings table

The button for every single item in the holdings table takes up quite a bit of space. I wonder if we could find a way to make this work a little better. Maybe a split button with Edit as the main action?

5) Button in the detail page's toolbar (not blocker)

Why not move this into the edit menu?


4) Maintenance script? (not blocker)

I wonder about the use case to require such a one by one change. If you have itemcallnumber set, this would only apply to items that have been created before, that have been imported or otherwise added from outside of Koha. 

Are there plans for a maintenance script to do this in batch?
Comment 8 Kyle M Hall (khall) 2023-11-06 19:55:41 UTC
Created attachment 158554 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t

Signed-off-by: David Nind <david@davidnind.com>
Comment 9 Kyle M Hall (khall) 2023-11-06 19:55:49 UTC
Created attachment 158555 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item

Signed-off-by: David Nind <david@davidnind.com>
Comment 10 Kyle M Hall (khall) 2023-11-06 19:55:51 UTC
Created attachment 158556 [details] [review]
Bug 34784: (QA follow-up)
Comment 11 Kyle M Hall (khall) 2023-11-06 19:56:38 UTC
> Most of these are cosmetic and should be quick to follow-up:
> 
> 1) Needs a follow-up to fix documentation.
> 
> +=head3 populate_empty_callnumbers
> +
> +Controller function that handles deleting a biblio object

Fixed!

> 2) Spelling
> 
> In the item form and the holding table we are using 'call number', but the
> patch uses 'callnumber'. I believe we should follow the GUI. 
> 
> See also: https://wiki.koha-community.org/wiki/Terminology

Fixed!

> 
> 3) I feel we should include the call number that would be used in the
> confirmation question. 
> 
> if ( confirm(__('Are you sure you want to populate callnumbers for all items
> without a callnumber on this record?')) ) 

Wow, that was more work than I expected but I was able to make that happen!

> 
> 4) Please no line breaks in translatable strings!
> 
> This is a known issue with Pootle, not sure about Weblate, but translators
> often might not know what it is and accidentally remove it.
> 
> msg += __('\nReload the page?');
> let msg = __('Item populated with the callnumber "%s"\nReload the
> page?').format(callnumber);

I think I've fixed this based on your description. We should add a coding guideline for this.

> 
> 4) Button in the holdings table
> 
> The button for every single item in the holdings table takes up quite a bit
> of space. I wonder if we could find a way to make this work a little better.
> Maybe a split button with Edit as the main action?
Done!

> 
> 5) Button in the detail page's toolbar (not blocker)
> 
> Why not move this into the edit menu?

Done!

> 
> 
> 4) Maintenance script? (not blocker)
> 
> I wonder about the use case to require such a one by one change. If you have
> itemcallnumber set, this would only apply to items that have been created
> before, that have been imported or otherwise added from outside of Koha. 
> 
> Are there plans for a maintenance script to do this in batch?

There are no plans for a maintenance script but I'd be happy to make one on a followup bug report if you can provide the parameters you'd like to see!
Comment 12 Katrin Fischer 2023-11-06 21:58:13 UTC
Created attachment 158569 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t

Signed-off-by: David Nind <david@davidnind.com>
Comment 13 Katrin Fischer 2023-11-06 21:58:16 UTC
Created attachment 158570 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item

Signed-off-by: David Nind <david@davidnind.com>
Comment 14 Katrin Fischer 2023-11-06 21:58:19 UTC
Created attachment 158571 [details] [review]
Bug 34784: (QA follow-up)
Comment 15 Katrin Fischer 2023-11-06 21:58:22 UTC
Created attachment 158572 [details] [review]
Bug 34784: (QA follow-up) Terminology: callnumber, biblio, syspref
Comment 16 Katrin Fischer 2023-11-06 21:59:15 UTC
(In reply to Kyle M Hall from comment #11)
> > Most of these are cosmetic and should be quick to follow-up:
> > 
> > 1) Needs a follow-up to fix documentation.
> > 
> > +=head3 populate_empty_callnumbers
> > +
> > +Controller function that handles deleting a biblio object
> 
> Fixed!

Yes, but introducing more wrong terminology (see 2). 


> > 2) Spelling
> > 
> > In the item form and the holding table we are using 'call number', but the
> > patch uses 'callnumber'. I believe we should follow the GUI. 
> > 
> > See also: https://wiki.koha-community.org/wiki/Terminology
> 
> Fixed!

Not quite, see my follow-up.


> > 3) I feel we should include the call number that would be used in the
> > confirmation question. 
> > 
> > if ( confirm(__('Are you sure you want to populate callnumbers for all items
> > without a callnumber on this record?')) ) 
> 
> Wow, that was more work than I expected but I was able to make that happen!

Sorry, but I believe it's worth it! And it works nicely too.

> > 4) Please no line breaks in translatable strings!
> > 
> > This is a known issue with Pootle, not sure about Weblate, but translators
> > often might not know what it is and accidentally remove it.
> > 
> > msg += __('\nReload the page?');
> > let msg = __('Item populated with the callnumber "%s"\nReload the
> > page?').format(callnumber);

You did:
+                            msg += " " + __('Reload the page?');

You could just have done this to keep your line break:

+                            msg += "\n" + __('Reload the page?');

We can do line breaks, they just should not be with the translated string :)

> I think I've fixed this based on your description. We should add a coding
> guideline for this.

I thought we had one, but it might be lost in time. I fixed a ton of those strings back in the day. This one goes in the right direction, even if it uses HTML formatting: JS3: Avoid strings which mix text and markup


> > 4) Button in the holdings table
> > 
> > The button for every single item in the holdings table takes up quite a bit
> > of space. I wonder if we could find a way to make this work a little better.
> > Maybe a split button with Edit as the main action?
> Done!

Yes, but it no longer works :(
POST http://localhost:8081/api/v1/biblios/undefined/items/undefined/populate_empty_callnumbers

The undefined don't look good.

> > 
> > 5) Button in the detail page's toolbar (not blocker)
> > 
> > Why not move this into the edit menu?
> 
> Done!

Yes, but it no longer works :(
POST http://localhost:8081/api/v1/biblios/undefined/items/populate_empty_callnumbers


> > 
> > 4) Maintenance script? (not blocker)
> > 
> > I wonder about the use case to require such a one by one change. If you have
> > itemcallnumber set, this would only apply to items that have been created
> > before, that have been imported or otherwise added from outside of Koha. 
> > 
> > Are there plans for a maintenance script to do this in batch?
> 
> There are no plans for a maintenance script but I'd be happy to make one on
> a followup bug report if you can provide the parameters you'd like to see!

I don't need one, I was just wondering if there was more planned around this.
Comment 17 Kyle M Hall (khall) 2023-11-07 11:52:39 UTC
Created attachment 158593 [details] [review]
Bug 34784: (QA follow-up) Fix broken links, re-add newlines
Comment 18 Kyle M Hall (khall) 2023-11-07 11:55:01 UTC
> Yes, but introducing more wrong terminology (see 2). 
> Not quite, see my follow-up.

Thanks for the follow up!

> Sorry, but I believe it's worth it! And it works nicely too.

Excellent :)

> You could just have done this to keep your line break:
> 
> +                            msg += "\n" + __('Reload the page?');

Thanks for the example, now I know exactly what you mean!


> Yes, but it no longer works :(
> POST
> http://localhost:8081/api/v1/biblios/undefined/items/undefined/
> populate_empty_callnumbers
> 
> The undefined don't look good.

> Yes, but it no longer works :(
> POST
> http://localhost:8081/api/v1/biblios/undefined/items/
> populate_empty_callnumbers

Fixed!

> I don't need one, I was just wondering if there was more planned around this.

This is an atomic enhancement, at least for the time being!
Comment 19 Katrin Fischer 2023-11-07 21:50:00 UTC
Created attachment 158627 [details] [review]
Bug 34784: Add REST API endpoints for updating single item or all applicable items on a bib

Test Plan:
1) Apply this patch
2) prove t/db_dependent/api/v1/biblios.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 20 Katrin Fischer 2023-11-07 21:50:03 UTC
Created attachment 158628 [details] [review]
Bug 34784: Implement feature in staff interface

Some libraries would like to auto-populate item callnumbers for items on a record based on the system preference "itemcallnumber". Only items with empty callnumbers would affected. This would add a button "Populate empty item callnumbers" on catalogue/detail.pl, as well as a "Populate callnumber" button for each line in the holdings table to set the callnumber for that specific item.

Test Plan:
1) Set the systempreference to something ( "245a" will make the
   callnumber the record title for testing purposes )
2) Apply this patch set
3) Restart all the things!
4) Browse to a record details page, note no new buttons
5) Enable the new syspref EnablePopulateCallnumbers
5) Reload the record details, note the new "Populate callnumbers" button
   in the cataloging toolbar
7) Add one or more items with no callnumber to the record
8) Test the "Populate callnumbers" button
9) Add another item with no callnumber to the record
10) Test the "Populate callnumber" button for that single item

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 21 Katrin Fischer 2023-11-07 21:50:06 UTC
Created attachment 158629 [details] [review]
Bug 34784: (QA follow-up)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 22 Katrin Fischer 2023-11-07 21:50:09 UTC
Created attachment 158630 [details] [review]
Bug 34784: (QA follow-up) Terminology: callnumber, biblio, syspref

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 23 Katrin Fischer 2023-11-07 21:50:12 UTC
Created attachment 158631 [details] [review]
Bug 34784: (QA follow-up) Fix broken links, re-add newlines

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Comment 24 Martin Renvoize (ashimema) 2023-12-28 11:10:51 UTC
Created attachment 160349 [details] [review]
Bug 34784: (QA follow-up) Add additionalProperties to pass xt
Comment 25 Katrin Fischer 2023-12-28 11:13:26 UTC
Hi Kyle,

I am sorry, I believe there are still issues here highlighted by the xt/api.t test. Referring to Tomas and Martin to have a look at the API part. As I also was the one to QA this, I think another set of eyes would be no mistake.
Comment 26 Katrin Fischer 2023-12-28 11:14:58 UTC
NOTE: Number of tests in t/db_dependent/api/v1/biblios.t also needs to be increased to 15 (had this fixed locally)
Comment 27 Martin Renvoize (ashimema) 2023-12-28 11:20:08 UTC
The endpoints introduced here feel very specific and RPC rather than REST.. I'm going to review with Tomas and see if we can come up with something a little more in keeping with the rest of the REST api's
Comment 28 Tomás Cohen Arazi (tcohen) 2024-01-15 21:05:32 UTC
(In reply to Martin Renvoize from comment #27)
> The endpoints introduced here feel very specific and RPC rather than REST..
> I'm going to review with Tomas and see if we can come up with something a
> little more in keeping with the rest of the REST api's

I agree and have said something similar on private conversations with Kyle.

What I proposed Kyle in that conversation, was that we already have something similar, and flexible enough so we can use the same pattern everywhere... POST /jobs.

If we made this particular case process immediately, e.g. POST /jobs/bach_call_number_update could return a regular job object, with Location => /jobs/:job_id, and the usual payload found in the job object would just carry the needed information to avoid a second API call...

He didn't like it that it is not really a background job. I mention this conversation in case it triggers some better idea to someone.

I have thought about this a bit more, and I feel like we could do something like:

POST /biblios/:biblio_id/batch_call_number_update

which will return an object, representing the batch operation results (e.g. the items that got modified, those that failed if partial success is accepted, etc). It resembles too much what a 'job' is, hence my hesitation.

We should really find some middle ground and move ahead with this cool feature.
I don't entirely like the pattern, but it would be more RESTful.

My two cents.
Comment 29 Katrin Fischer 2024-01-16 14:46:34 UTC
Thanks, Tomas. Kyle, can you take a look and let us know what you think? I certainly agree about the cool feature.
Comment 30 Tomás Cohen Arazi (tcohen) 2024-09-04 19:17:38 UTC
I'm going to resume this with a POC endpoint I've talked with Martin about introducing. I'd add that after the recent template changes this needs to be redone UI-wise.
Comment 31 Tomás Cohen Arazi (tcohen) 2024-10-21 17:57:38 UTC Comment hidden (obsolete)
Comment 32 Tomás Cohen Arazi (tcohen) 2024-10-21 17:57:41 UTC Comment hidden (obsolete)
Comment 33 Tomás Cohen Arazi (tcohen) 2024-10-21 17:58:55 UTC
Kyle, my promised two cents. I reworked the endpoint. Hope you agree and can adjust your UI implementation on top of it.
Comment 34 Tomás Cohen Arazi (tcohen) 2024-10-21 18:03:54 UTC Comment hidden (obsolete)
Comment 35 Tomás Cohen Arazi (tcohen) 2024-10-22 12:48:57 UTC
The endpoint code and discussion is now moved to bug 38224. This patches should get the API portion stripped and resubmitted.
Comment 36 Tomás Cohen Arazi (tcohen) 2024-10-22 12:52:00 UTC
(In reply to Katrin Fischer from comment #7)
> 4) Maintenance script? (not blocker)
> 
> I wonder about the use case to require such a one by one change. If you have
> itemcallnumber set, this would only apply to items that have been created
> before, that have been imported or otherwise added from outside of Koha. 
> 
> Are there plans for a maintenance script to do this in batch?

As I was rethinking the code, I filed bug 38224 in which I move the code into Koha::Biblio. I think it is worth filing a bug, depending on it, with a proposal for a maintenance script. Maybe someone can/wants to do it. So better provide a good spec.