Roadmap for 23.11

For each release the community, especially the development team, will define milestones/goals that they aim to reach. There is no guarantee that all of these will make it into a release, in some cases progress on certain projects will be made over multiple versions or things will have to be moved on. But it helps us to get a common understanding about important tasks and work on achieving them together.
Each section should include these items:
* Status: Information on the current status of the item: done, partially done, in progress, waiting for X...
* Who: Anyone who is committed to help moving the item forward (writing code, testing, documenting, ...)
* What: A short description of what this is about, what needs to be done and why.
It can also include:
* Comments: If you want to leave a comment, please mark it with your name.
----
== UI ==
=== Update Font Awesome - Bug 32910 ===
Status: DONE, but there still might be some outstanding/remaining issues to be fixed during the cycle.
Who: Owen, Joubu, Tomas
What: Update Font Awesome to version 6. This will give us access to more and newer icons among other things.
=== Replace and remove jQueryUI components - 29222 ===
Status: In progress
Who: Owen
What: jQueryUI is no longer being developed: https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released/. The goal is to replace it where used and remove any related code after. See Autocomplete - Bug 34113, Sortable - Bug 34114 (fixed), Accordion - Bug 29224 (fixed), Tabs - Bug 29226 (fixed)
=== Use template wrappers for common Bootstrap components - 32571, 32507===
Status: In progress
Who: Owen
What:
Creating Template Toolkit WRAPPER directives for commonly-used Bootstrap components will help ease transitions between Bootstrap versions. See Tabs - Bug 32571 (fixed), Breadcrumb navigation - Bug 32507. Other candidates: Collapse, Dropdowns, Modals
== Administration ==
=== Add mail domain limits to SMTP config - 33537 ===
Status: ASSIGNED
Who: Marcel
What: Web interface configuration for the koha-conf section mail_domain_limits as added in 22.11, bug 33360.
=== Translation of authorised values - 24975, 24977, 20307 ===
Status: In Discussion
Who: ? (Marcel happy to SO/QA)
What: We have two parallel implementations for this currently. The work got stuck somewhere.
== Cataloguing ==
=== Record sources registry - 32607 ===
Status: NQA (missing Cypress tests)
Who: Tomas
What: We propose to add verifiable record sources CRUD. There will be system-defined sources (Koha's cataloguing module, Z39.50, etc) as well as user defined. User defined record sources will be passed (at least for now) on API-generated records. Edit permissions will be set on top of this.
=== Record locking - 31791 ===
Status: In progress
Who: Tomas
What: On top of the new record sources management, a mechanism for sourced-based locking will be implemented.
== Task queue streamlining ==
There are still major issues with the task queue.
== API ==
== ILL ==
=== Add core backends to the codebase - ? ===
Status: ?
Who: ?
What: We should have core backends in the codebase:
* FreeForm
* Koha2Koha
=== Fully move backends into the plugin infrastructure ===
Status: ?
Who: ?
What: We should not have multiple ways of doing 'extensions' to Koha. We should be able to manage (install, uninstall, activate etc.) like any other plugin in Koha.
== Bookings ==
=== Add the beginnings of an item bookings system ===
Bug 29002 - Add ability to book items ahead of time 
== Refactorings ==
=== Use the REST API to display items on the biblio detail view - 33568 ===
Status: Waiting for testing
Who:
* Author: Joubu
What: Replace the items tables on the bibliographic record detail page (catalogue/detail.pl) with a KohaTable using the REST API route /biblios/XX/items
It will clean the code, improve the UI and bring performance improvement when there are several items attached to a bib record.
=== Replace CGI::Session with Data::Session - 17427 ===
Status: Need more brain power - currently stuck - HELP
Who:
* Author: Joubu
* Marcel
What: Replace obsolete CGI::Session module with Data::Session. Author of the patch is currently stuck. There is a bug to solve! Please help!
=== Move get_cardnumber_length and checkcardnumber to Koha - 33940 ===
Status: Done
Who:
* Author: Joubu
What: Simply move get_cardnumber and checkcardnumber to the Koha namespace (Koha::Policy::Patrons::Cardnumber)
=== Get rid of GetReservesControlBranch - 30825===
Status: Done
Who:
* Author: Tomas
* QA: Joubu
What: Move C4::Reserves::GetReservesControlBranch to Koha::Policy::Holds::holds_control_library
=== Move GetAllIssues to Koha - 33947 ===
Status: Waiting for testing
Who:
* Author: Joubu
What: There is a bug tree to end with the removal of C4::Members::GetAllIssues. It's an interesting one as we are replacing the different occurrences of the ugly and time consuming GetAllIssues with Koha::Checkouts and Koha::Old::Checkouts
=== Reduce unnecessary unblessings of objects in Circulation.pm - 32496 ===
Status:
Done
2023-07-04 - Needs QA
Waiting for testing
Who:
*Author: David Gustafsson
*Tester: Joubu
What: Bring performance improvement in the circulation module by adjusting the code to avoid unnecessary unblessed calls (and so pass object to subroutines instead).
===Additional contents: We need a parent and child table - 31383===
Status: 2023-11-01 - Pushed to master
Who:
* Author: Joubu
* SO: Marcel
* QA: Martin Renvoize
What: Split the additional_contents into 2 different tables to create a parent-child relation. Several reports show that we would be better off creating a parent table listing the main news items, CMS pages or HTML content.
Note that this first step is a preliminary step to clean this area and make it more robust and extensible. More enhancements to come.
*Bug 31509 - Additional contents: Allow changing the column 'code' that groups records
*Bug 31642 - Additional contents: Allow free text in location field for html blocks
*Bug 31503 - Allow several consent types on the consents tab of OPAC account page
*Bug 31275 - AdditionalContents.search_for_display returns branch block and All block
===Creation of a new 'Preservation' module - 30708===
Status:
2023-08-03 - Waiting for QA
2023-07-03 - Waiting for an independent signoff
Waiting for submission but already waiting for feedback. Testing in progress by the sponsor.
Who:
* Author: Joubu
*Testers:
**BULAC (sponsor)
**Heather Hernandez
**Laurence Rault
*QA:
What: This is a whole new module (written in Vue.js and using REST API routes) to manage preservation processings/treatments.
Progress, discussions, next steps can be found at on this taiga board.
===Automatically renew (selected) patrons - Bug 33245, 33522, 28688===
Status: Needs Signoff
Who:
*Author: Marcel
What: Changes to membership_expiry.pl script to allow account renewal for selected patrons, say e.g. only active patrons.
=== Continue patron search improvements - 34092 et al.===
Status: Waiting for testing
Who:
*Author: Pedro, Martin, Joubu
What: Reduce code duplication in patron searching bring more consistency to the application of system preferences etc.
===Remove C4::BackgroundJob - 33963===
Status: DONE
Who:
*Author: Joubu
What: Remove C4::BackgroundJob
==Manual==
===Automated screenshots using Cypress.io testing framework - 34076===
Status: In discussion - waiting for feedback/testers
Great summary from Caroline on the ML - https://lists.katipo.co.nz/pipermail/koha/2023-September/060003.html
Who:
* Author: Joubu
* Author: We need more here!
What: Use Cypress Studio to generate (localized) screenshots of the manual (see comment 0 and comment 1 for more detail).
===Translation workflow for the manual===
Status: 
Who:
*Author: ?
*Testing/QA: Katrin
What: At the moment we have multiple issues here:
*Po files for 22.11 and later are missing, so no translations can happen. 22.11 manual po files are available now
*The translations are not reflected in the manuals on the website as there are no regular merges of the po files into the main repository which the manuals on the website are build from.
*There are no longer any nightly build manuals for translators to check their work.