Cataloging
Bug 40031* - Creation of a new MARC modification template should redirect to have the template ID in the URL
When staff create and edit MARC modification templates, the template ID will now be included in the URL of the creation/editing screen. The template ID will appear as follows (highlighted below):
https://staff-[LIBRARY].bywatersolutions.com/cgi-bin/koha/tools/marc_modification_templates.pl?template_id=4&op=select_template
Previously, templates didn't display dedicated URLs, which meant that staff could only refer to them by name. This could be problematic for libraries who had many templates or multiple templates with similar names. With this enhancement, when staff are discussing a MARC modification template (either with colleagues or for troubleshooting with ByWater Solutions), they can send the URL of the specific template instead of referring to it by name.
Bug 16994 - Import and export MARC modification templates
MARC modification templates can now be exported and imported. This is an exciting enhancement that will make it easier for libraries to share helpful templates with colleagues in the wider Koha community! It is also useful for keeping local backups of your library's MARC modification templates.
The new options are available above your library's table of templates in Cataloging > MARC modification templates:
Under 'Export', staff can select a specific template by name, or choose 'Export all templates':
The export will create a JSON file named 'marc_modification_templates'. If 'Export all templates' is selected, all of your library's templates will export in the single file.
To import, select the 'Import' button, browse for the JSON file, verify your overwrite option, and click 'Import' on the modal:
The success screen will look like this for an imported file:
(The 'Overwrote [#] template(s) that already exist' message will only show if a file has been overwritten.)
If a file is skipped due to matching, the confirmation screen will look like this:
Note that the 'Skip existing templates (do not overwrite)' is checked by default, so you will need to uncheck the box if you do want to overwrite templates with the same name.
To determine whether a template already exists, Koha looks in the JSON file for the template name, not the file name. While it is not typically necessary to open the JSON file prior to importing, we recommend doing so in order to verify the template name if you are unsure about whether it could (or should) overwrite an existing template. In addition to the template name(s), the file contains the template ID number(s) and actions:
Keep in mind that if you import a MARC modification template from another library, it may need to be edited before you can use it. For instance, if the template contains item type, collection code, or shelving location codes from the source library, you will need to edit it once it's imported to substitute your codes.
Bug 40841 - Limit z39.50 targets to specific libraries
This enhancement adds a 'Library limitation' selection box to z39.50 server setup. Targets are not limited by default, but libraries can now limit them so that they may only be used when logged in at a specific library. Administrators can also limit a server to multiple libraries by selecting them with command+click.
If a staff member is logged in at a library that does not have access to a given target, the target will not show up as an option when searching z39.50 from cataloging, cataloging search results, the advanced catalog editor, catalog search results, or the Edit menu > Replace bib using z39.50 in a bib's detail view.
Bug 17387 - Add an undelete feature for items/biblios
Prior to 26.05, if a bib or item was accidentally deleted, libraries had to reach out to ByWater Solutions support to reinstate the bib/item. This meant that the reinstatement wasn't immediate, which could slow down workflows. With this enhancement, bibs and items that are accidentally deleted can be recovered directly from the staff interface.
To restore an accidentally-deleted bib or item, go to Cataloging > Restore deleted records (under Batch editing column):
There are separate 'Deleted bibliographic records' and 'Deleted items' tables. Both tables are sorted by default on the 'Deleted on' (date) column, but staff can click on other column headers to sort by other criteria. These tables don't have table configurations available to hide or show other columns. There is a 'Search' box to help sort through extensive tables, but note that it only searches visible table data. This means, for example, that titles aren't searchable in the 'Deleted items' table since there is no 'Title' column.
Restoring deleted bibs
The 'Deleted bibliographic records' table has columns for 'Biblio ID' (biblionumber), 'Title', 'Author', 'Deleted on', and 'Actions'. To restore a bib, click the 'Restore' button in the 'Actions' column:
This will bring up a modal with the option to restore deleted items (if any). Select any items that should also be restored, then click 'Restore' on the modal:
If a bib has no deleted items, the modal will show as:
The confirmation screen will have the biblionumber and, if applicable, the number of items successfully restored. This message automatically disappears after about 10 seconds:

Restoring deleted items
The 'Deleted items' table is below the 'Deleted bibliographic records' table. It has columns for 'Item ID' (item number), 'Biblio ID' (biblionumber), 'Barcode', 'Call number', 'Home library', 'Deleted on', and 'Actions'. Since this table doesn't have a 'Title' column, staff will need to know the barcode or item number for the item they need to restore.
For item restoration where the bib still exists, clicking 'Restore' will display a confirmation modal with the item number followed by the barcode in parentheses. Click 'Ok' to continue:
A
confirmation with the item number appears briefly above the 'Deleted
bibliographic records' table. It clears automatically in approximately
10 seconds:
If staff
try to restore an item where the bib has also been deleted, they will
see a modal prompting them to first restore the bib:
Upon
clicking 'Restore bibliographic record', they will see the same modal as
when restoring a bib, but the item they initially clicked to restore
will be pre-selected:
Item data and activity in the item record including including checkouts, renewals, local
use, and original accession date all restore with the item. However, data in related tables (such as hold history) is not restored by this tool when items or bibs are restored.
Permissions
Staff who should have access to this feature will need the new permission Restore deleted bibliographic records and items (records_restore) under the editcatalogue umbrella. They do not need Edit catalog (Modify bibliographic/holdings data) (edit_catalogue) or Edit items (not including items restricted by library group) (edit_items).
Item restoration is compatible with item editing limitations set in Administration > Library groups. If a staff member's home library is in a library group with the 'Limit item editing to items owned inside of this group' setting and they only have the Restore deleted bibliographic records and items (records_restore) permission, they will only be able to restore items owned by the libraries in that group. In the 'Deleted items' table, the 'Restore' button for items they can't restore will be greyed out:
For bib restoration, items they can't restore will be noted in the restoration modal:
Note that they can still restore the bib above because of the Restore deleted bibliographic records and items (records_restore) permission.
Staff who belong to a library group with limited item editing privileges who should be able to restore any item regardless of its home library also need the Edit any item including items that would otherwise be restricted (edit_any_item) permission.
Logs
In logs, restored bibs and items will show with the action 'Restore':
Note that logs include a new 'Restore' option to account for this feature:
Error messages for failed restoration contain limited details, so for any failed restorations, please reach out to ByWater Solutions so that we can troubleshoot. Two bugs have been filed regarding the error messages provided when items fail to restore:
- Bug 43398 - Standardize error messages when items fail to restore/undelete
- Bug 43399 - Provide error details when items fail to restore/undelete
Bug 40633* - Add keyboard shortcut to advanced cataloging editor for fixed length field plugins Libraries who use the advanced cataloging editor can now take advantage of keyboard shortcuts to access Koha's value builders for the 006, 007, and 008.
The default shortcut for 'Open fixed-length field helper (Leader, 006, 007, 008)' is Shift+Control+H, but libraries can define a different one in Administration > Advanced editor shortcuts.
The shortcut works with the cursor in any of the red starting positions below (008 is used for this example, but the same applies for 006 and 007:
Bug 32773 - Have the ability to have more than 1 Fast Add framework
This enhancement allows libraries to create multiple Fast Add frameworks. This is especially useful for consortia where each library would like different fields to show, have different fields required, or want fields pre-filled with different details.
In Administration > MARC bibliographic frameworks, bibliographic frameworks have a new 'Use as a Fast add framework' checkbox to indicate that a framework should be used for Fast Add:
Frameworks designated as Fast Add are flagged in the frameworks table with a 'Fast add' badge:
The first time administrators select 'MARC structure' under the Actions button, they will be prompted to pull in an existing framework as the basis for the new one. We recommend choosing the built-in Fast Add framework and modifying from there since it already has limited fields:
Be aware that when creating a Fast Add record during checkout or from the '+Fast cataloging' button in Cataloging or Circulation, Koha will default to the built-in Fast Add Framework (code FA). Staff can can select other frameworks for a given bib from the new 'Change Fast add framework' group under the Settings menu:
The order of frameworks in this menu is by display name, not code. (In the example above, the code for 'Central Region Fast Add' is FAC.) Keep this in mind when naming (or renaming) custom Fast Add frameworks.
Note that there is a bug with using Fast cataloging from Circulation: Bug 43190 - Staff with only fast_cataloging permission no longer directed to 'Add item' screen when creating a Fast Add record from checkout.
Bug 39516 - Record and display record matching rule composite scores
In the past, match details for imported files could be opaque when libraries had matching rules composed of multiple facets. When an incoming title matched an existing bib, staff could see the match 'score', but they had no way to know what elements added up to meet the match threshold without inspecting each individual bib and matching field. For instance, if the match threshold was 1000 and ISBN, title, and author were each worth 500, libraries had to review MARC details to know whether a score of 1000 was a combination of ISBN and title, title and author, or author and ISBN. This information is especially important when an incoming bib matches with multiple existing titles - knowing exactly what the incoming bib matches on can help catalogers evaluate which existing bib is the best match. That information is now readily available with composite scores for staged records.
In Cataloging > Manage staged MARC records, there is a new 'Score breakdown' column available to display the details of a matched imported bib:
When multiple matches are found, catalogers can review the score details for both (and change the selected record in 'Match details', if needed):
Note that the new 'Score breakdown' column is hidden by default at upgrade, but it can be set to display in Administration > Table settings > Tools group > manage-marc-import (table name).
Circulation
Circulation administration
Bug 39802 - Add CircControl equivalent system preference for lost item fees and actions and Bug 36506 - Processing fee should be configurable by library and Bug 35612 - Record branch context in accountlines.branchcode for OVERDUE, LOST, and PROCESSING fees
These three bugs work together to provide added flexibility and improved tracking for overdue, lost, and processing fees charged to patrons' accounts.
Bug 36506
This enhancement introduces the flexibility for each branch/library in a system to set their own processing fees per item type. Previously, if libraries wanted to charge processing fees for lost items in addition to the cost of the item itself, the amount was set per item type in Administration > Item types, which meant it was global for all libraries in the system. For instance, if Main wanted to charge $5 for lost Book items but East wanted to charge $4 (or nothing at all), there was no way to set separate fees by library - one library would always need a workaround if no agreement could be reached that worked for all locations in a system.
Now, each
library can now set their own processing fees per item type, as
well as an 'All' item-type fee for item types that aren't otherwise
specified. Processing fees are set in a new section in Administration > Circulation and fine rules called 'Default lost item fee policy' (on the 'Standard rules for all libraries' rule page)/'Lost item fee policy for [library name]':
The branch whose rules are used is determined by LostChargesControl (see 39802 below).
As with other circulation policies, Koha will use the most specific rule it can find. For example, consider a lost Book item where LostChargesControl indicates that the Main branch's policies should be used. Koha will look for a processing fee in this order:
- A Book rule in the 'Lost item fee policy for Main Library' section of Main's rule page
- An All rule in the 'Lost item fee policy for Main Library' section of Main's rule page
- A Book rule on the 'Default lost item fee policy' section on the 'Standard rules for all libraries' page
- An All rule on the 'Default lost item fee policy' section on the 'Standard rules for all libraries' page
If none of those exist, the patron won't be charged a processing fee.
At upgrade, any per-item type processing fees that were formerly in Administration > Item types will be set in the 'Default lost item fee policy' on the 'Standard rules for all libraries' rule page. Item types that had no processing fee will be set to 0.00.
Libraries should review amounts in the 'Default lost item fee policy' on the 'Standard rules for all libraries' rule page.
IMPORTANT: Systems who would like library-specific processing fees will need to set them up in each 'Lost item fee policy for [library name]' section for every library's rule page.
Keep in mind that lost refund behavior is still controlled by RefundLostOnReturnControl: "If a lost item is returned, apply the refunding rules defined for the [check-in library/item's home library/item's holding library]."
Bug 39802
This enhancement introduces the system preference LostChargesControl: "Use the lost charge rules of [the library the item is from/the library
the patron is from/the library you are logged in at]." When set to [the
library the item is from], Koha will consult HomeOrHoldingBranch to determine whether the item's home library or holding library should be used.
This
system preference will determine which library's processing fees should
be used (see 36506 above) and which branch should be recorded for
PROCESSING and LOST charges in accountlines.branchcode (see 35612 below). For
libraries who have different rules by branch in the longoverdue.pl cron, it will determine which branch's rules are used.
For example: Main has Hotspots set to go 'Long overdue (lost)' at 3 days overdue, while East uses 5 days. An East patron has an overdue Hotspot belonging to Main. If LostChargesControl is set to [the library the patron is from], the Hotspot will be set to 'Long overdue (lost)' when it is beyond 5 days overdue, and the patron will be charged the appropriate processing fee set in the 'Lost item fee policy for East Library'. If East has no Hotspot or All processing fee, Koha will look for one in the 'Default lost item fee policy' from the 'Standard rules for all libraries'.
Bug 35612
Koha
will now record the branch whose circulation rules were used to charge
overdue, lost, and processing fees in accounlines.branchcode based on
relevant system preferences for each type of charge.
Overdue fees are tracked with debit_type_code OVERDUE. The library whose overdue fees are used has and continues to be determined by CircControl (plus, when CircControl is set to [the library the item is from], HomeOrHoldingBranch),
but the branch whose fees were used was previously not recorded in
accountlines.branchcode. Now, the branch code will be recorded so that
managers can see which set of rules Koha consulted to charge overdue
fines.
Lost
charges use debit_type_code LOST, and processing fees use PROCESSING. The branch used for both types of charges is now
controlled by LostChargesControl (and, when LostChargesControl is set to [the library the item is from], HomeOrHoldingBranch) with the introduction of Bug 39802 as discussed above. The branch whose rules are consulted to charge lost and processing fees
will now be recorded in accountlines.branchcode for improved tracking
and troubleshooting.
For example, OVERDUE, PROCESSING, and LOST charges could show as:
- OVERDUE:
M means that Main library's rules were used to charge the overdue fee.
In this instance, the item had a home library of North and was checked
out from Main by an East patron. CircControl was set to [the library the item is from] and HomeOrHoldingBranch was set to [the item's holding library], so M was recorded in accountlines.branchcode.
- PROCESSING
and LOST: E means that East library's rules were used to determine the
processing fee and record the branch for both fee types. Again, the item had a home library of North and was checked
out from Main by an East patron. LostChargesControl was set to [the library the patron is from], so E was recorded in accountlines.branchcode.
In combination
Consider
this scenario:
- An item has a home library
of East, and was checked out from Main by a West patron.
- It was marked Lost
by a staff member logged in at North.
- East's
circulation rules are set to charge $4 for lost Book items, Main's
rules charge $5, and West's rules charge $1.50. North does not have a processing fee set for Book
items, nor does it have an All item type processing charge set.
- The processing fee for Book items in 'Standard rules for all libraries' is $2.
Lost and processing fees would be charged and logged as follows for each combination of system preference settings:
- LostChargesControl set to [the library the item is from], and HomeOrHoldingBranch set to [the item's holding library]: Processing charge of $5, since the item had a holding library of Main. The PROCESSING and LOST charges in accountlines.branchcode would be attributed to M.
- LostChargesControl set to [the library the item is from], and HomeOrHoldingBranch set to [the item's home library]: Processing charge of $4, since the
item had a home library of East. The PROCESSING and LOST charges in
accountlines.branchcode would be attributed to E.
- LostChargesControl set to [the library the patron is
from]: Processing charge of $1.50, since the patron is registered at West.
The PROCESSING and LOST charges in accountlines.branchcode would be
attributed to W.
- LostChargesControl set to [the library you are logged in at]: Processing charge of $2 - since North doesn't have a Book or All item type processing charge, Koha uses the Book charge from 'Standard rules for all libraries'. The PROCESSING and LOST charges in accountlines.branchcode would be attributed to N.
Note that the action that triggers the lost and processing charge will not always match the branch in accountlines.branchcode. In all four examples above, the action that triggered the charges (that is, marking the item lost) was performed at North. However, only the last example would record N in accountlines.branchcode.
Further, keep in mind that when Koha uses processing fees from 'Standard rules for all libraries' because no branch-specific rule exists, the library indicated by LostChargesControl (in concert with HomeOrHoldingBranch, if applicable) will still be reflected in accountlines.branchcode. The branch Koha records is determined by the rules it is set to use according to LostChargesControl/HomeOrHoldingBranch, even if no rule is found and it falls back to the 'Standard rules'.
Bug 28530 - Allow configuration of floating limits by item type
This enhancement will help libraries balance collections across branches by allowing managers to set floating limits by item type. When an item is checked in at a branch that is over its limit, Koha will now trigger a transfer to the branch that is the furthest below its capacity.
The feature's on/off switch is a new system preference called UseLibraryFloatLimits: "[Use/Don't use] library float limits to determine if an item should be transferred to another library." It will be set to [Don't use] at upgrade.
Once the feature is set to [Use], libraries will need to configure the new Library float limits table in Administration (under Patrons and circulation header):
For any item type with a value in the matrix, Koha calculates a ratio of items with that branch in 952$b (only counting items that aren't checked out) to the limit set in the matrix.
Note that Koha does not subtract lost, damaged, not for loan, and withdrawn items from a branch's total of currently held items (per 952$b) to calculate its ratio - that is, items with those statuses count toward calculating a library’s ratio as long as they are not checked out (see Bug 43248 - Lost, not for loan, withdrawn, and damaged statuses not considered in library float limits ratio calculations).
For example:
- Below ratio: North's limit for New Book items is 10, and 7 New Book items are currently at that location. Koha calculates North's New Book ratio as .7 (7:10). New Book items checked in at North will stay there as long as its ratio remains below 1 (unless they transfer elsewhere for a hold).
- Above ratio: Main's New Book limit is 10, and there are 12 New Book items there. This makes Main's ratio 1.2 (12:10). New Book items checked in at Main will transfer to the library with the lowest ratio, or randomly if there is a tie for lowest.
When an item is checked in at a library that is over its limit, Koha will look for the library with the lowest ratio and trigger a transfer there:
The reason for transfer will show in logs as 'LibraryFloatLimit':
At this time, the reason for transfer does not show in the checked-in items table (see Bug 43247 - Transfer reason doesn't show in Checked-in items table for float limit transfers).
Bug 41267*- It should be possible to prevent some itemtypes from filling other biblio level holds
This bug adds a column to the 'Holds and bookings policies by item type for [library name]'/'Default holds and bookings policies by item type' (for 'Standard rules for all libraries') table in Administration > Circulation and fine rules called 'Fill other record level holds on record at checkout':
This setting is relevant for bibs with multiple items where the items are of two (or more) item types. It determines whether Koha should consider a hold complete if a patron checks out an item of a given item type from the bib prior to the hold being filled. Setting an item type to Yes will make it behave the same way it did prior to the introduction of this setting.
Prior to this bug, if a patron had a hold on a bib and checked out an item from that bib before the hold was filled, Koha marked the hold as F (finished) - that is, the checkout satisfied the hold, so the hold no longer showed on libraries' Hold queue/Holds to pull. This new column allows libraries to choose whether specific item types will satisfy holds in this manner.
For example, a patron has a bib-level hold on Librarianship Beyond the Textbook, which has a mix of Book and New Book items. Before their hold is filled (so, the hold status is NULL), they pull an item off the shelf and check it out:
- If they selected a Book item, Koha will consider the hold F (finished) - that is, the checkout satisfies the hold, so the hold moves to the old_reserves table. Items from the bib will no longer show on the Holds queue/Holds to pull, nor will they trigger to fill the hold when checked in.
- If they select a New Book item, the checkout does not satisfy the hold. It remains active on their account and will populate on the library's Holds queue/Holds to pull or trigger when an item is checked in (whichever happens first).
If there is no rule set for an item type in 'Holds and bookings policies by item type for [library name]'/'Default holds and bookings policies by item type', Koha will treat that item type as if it were set to Yes, meaning that checking out an item of that type will mark the hold F (finished). This matches Koha's behavior prior to this new setting.
There are two important caveats to keep in mind:
Setting an item type to No does not prevent items of that type from triggering to fill holds when checked in if they are on a bib with a mix of holdable and not holdable item types.
At upgrade, any item types that have rules set in 'Holds and bookings policies by item type for [library name]'/'Default holds and bookings policies by item type' will appear to have 'Fill other record level holds on record at checkout' set to No. However, No is not actually saved in the database (see Bug 43072 - fill_other_biblio_holds_policy values display incorrectly in circ rules page). Thus, all existing item type rules in 'Holds and bookings policies by item type for [library name]'/'Default holds and bookings policies by item type' should either be 1) updated to Yes or 2) recreated with No selected as appropriate, and then saved over the existing rule.
For example, if Periodical items should not satisfy holds in this manner, the rule would need to be re-created with No selected and then saved to replace the rule as it displays from the upgrade:
Bug 41360* - Transport cost matrix assumes all transfers are disabled upon first use
In the past, administrators had to click into each individual cell to add values to the Transport cost matrix on initial use. Now, there are 'Enable all cells', 'Disable empty cells', and 'Populate empty cells' options to assist with filling in the Transport cost matrix:
Administrators can click 'Enable all cells' to open everything for editing at once, instead of having to click into each individual cell:
If empty cells should be disabled for transfers, 'Disable empty cells' will check the 'Disable' boxes for all empty cells rather than staff having to click them each individually:
'Populate empty cells' will fill all empty cells with a value chosen from the drop-down options (which are not configurable):
Note that empty disabled cells will populate with the value chosen, but they will save properly as red (no transfer allowed):
General circulation
Bug 23415 - Notify patron fines when renewing
Prior to 26.05, libraries could not prevent staff from renewing items via the staff interface based on the amount a patron owed. OPACFineNoRenewalsBlockAutoRenew could prevent automatic renewals, and OPACFineNoRenewals would block patron-initiated renewals from the OPAC, but there was no analogous option to prevent renewals from the staff interface. With this enhancement, libraries can block renewals based on the amount patrons owe, regardless of where the attempted renewal happens.
OPACFineNoRenewals is now FineNoRenewals: "Only allow patrons or staff to renew items if patron has less than [amount] USD in fines (leave blank to disable)." At upgrade, the amount that was previously set for OPACFineNoRenewals will be retained in FineNoRenewals.
Libraries that want to prevent renewals based on the amount a patron owes should also consider the new system preference AllowFineOverrideRenewing: "[Allow/Don't allow] staff to manually override and renew items for patrons who have more in fines than set in the FineNoRenewals system preference." This will be set to [Allow] at upgrade to match pre-upgrade behavior.
If this is set to [Don't allow] and a patron owes more than the amount in FineNoRenewals, no staff member will be able to override fines in order to process a renewal.
When AllowFineOverrideRenewing is set to [Allow], staff must also have the Override blocked renewals (override_renewals) permission to renew an item by override from a patron's account if they owe more than the amount in FineNoRenewals (see Bug 43227 below for renewals from Circulation). This means that libraries can now allow a limited number of staff members to override renewals that would otherwise be blocked due to fines.
If AllowFineOverrideRenewing is set to [Don't allow] and a patron owes more than the amount in FineNoRenewals, or if AllowFineOverrideRenewing is set to [Allow] but the staff member doesn't have the Override blocked renewals (override_renewals) permission, there will be a new blocking message in the Renew column of the patron's Checkouts table:
There is also a new note under the checkout table with the patron's amount owed and the limit from FineNoRenewals.
'Override renewal restrictions' does not apply to renewal restrictions based on fines, so even if that box is checked, the blocking message remains:
When AllowFineOverrideRenewing is set to [Allow] and staff have the Override blocked renewals (override_renewals) permission, there will be a new 'Override fine restrictions' checkbox. If this is selected, there will be a checkbox in the Renew column to allow the renewal by override:
If staff select the Renew checkbox and click the 'Renew selected items' button (or 'Renew all', as applicable), there will be a confirmation modal:
(The formatting issues in the confirmation modal are noted in Bug 43225 - Renewal confirmation message formatting is missing punctuation and space.)
When renewing from Circulation > Renewals or the 'Renew' function from the multi-function green bar instead of from the patron's account, staff will see this message if AllowFineOverrideRenewing is set to [Allow]:
At this time, if AllowFineOverrideRenewing is set to [Allow] and staff members don't have the Override blocked renewals (override_renewals) permission, they will be able to renew from Circulation > Renewals or from the 'Renew' option in the green multi-function toolbar (see Bug 43227 - Ability to renew should be consistent for staff without override_renewals permission).
If AllowFineOverrideRenewing is set to [Don't allow], they will see:
This enhancement also adds the system preference FineNoRenewalsBlockSelfCheckRenew: "If a patron owes more than the value of FineNoRenewals, [allow/don't allow] renewals via the self-checkout system." This will be set to [allow] at upgrade.
Two additional existing system preferences have been updated to reflect the change in function:
OPACFineNoRenewalsIncludeCredits is now FineNoRenewalsIncludeCredits: "[Include/Don't include] outstanding/unapplied credits when applying the FineNoRenewals rule to patrons."
OPACFineNoRenewalsBlockAutoRenew is FineNoRenewalsBlockAutoRenew: "If a patron owes more than the value of FineNoRenewals, [allow/block] their auto-renewals."
The existing settings for each of these system preferences will be retained at upgrade.
Bug 23909*- SCO allows to check out items with Waiting state if AllowItemsOnHoldCheckoutSCO
This
enhancement updates the existing system preferences
AllowItemsOnHoldCheckoutSCO and AllowItemsOnHoldCheckoutSIP with more
granular options for allowing/preventing checkouts of items on hold, and
adds a new system preference for overriding holds to check out from the
staff interface.
In the past, setting AllowItemsOnHoldCheckoutSCO and AllowItemsOnHoldCheckoutSIP both to [Allow] worked differently, which was confusing for staff and patrons.
When AllowItemsOnHoldCheckoutSCO was set to [Allow], patrons using self-check could check out items that were pending (that is, not yet triggered) or waiting (on the hold shelf, and the patron had been optionally notified). However, when AllowItemsOnHoldCheckoutSIP was set to [Allow], patrons checking out from a station using SIP could check out items that were pending for other patrons' holds, but not waiting.
Now AllowItemsOnHoldCheckoutSCO is "[Don't allow/Allow pending holds only/Allow pending and waiting
holds] checkouts of items reserved to someone else in the SCO module.
When set to 'Allow pending holds only' items with a pending hold (no
pickup notification sent yet) can be checked out, but items already
waiting on the hold shelf (or in transit/processing for pickup) are
blocked. When set to 'Allow pending and waiting holds' all on-hold items
can be checked out regardless of hold state." (Previously,
it was "[Allow/Don't allow] checkouts of items reserved to someone else
in the SCO module. If allowed do not generate RESERVE_WAITING and
RESERVED warning. This allows self-checkouts for those items.")
AllowItemsOnHoldCheckoutSIP is now "[Don't allow/Allow pending holds only/Allow pending and waiting
holds] checkouts of items reserved to someone else via SIP checkout
messages. When set to 'Allow pending holds only' items with a pending
hold (no pickup notification sent yet) can be checked out, but items
already waiting on the hold shelf (or in transit/processing for pickup)
are blocked. When set to 'Allow pending and waiting holds' all on-hold
items can be checked out regardless of hold state. If using the holds
queue, items with pending holds will be marked as 'unavailable' if this
is set to 'Don't allow." (Prior to this upgrade, it was "[Allow/Don't allow] checkouts of items reserved to someone else via
SIP checkout messages. If allowed do not generate RESERVED warning. This
allows self-checkouts for those items. If using the holds queue items
with pending holds will be marked as 'unavailable' if this set to 'Don't
allow'.")
The settings at upgrade are intended to preserve pre-upgrade behavior. Thus, libraries who had AllowItemsOnHoldCheckoutSIP set to [Allow] will be set to [Allow pending holds only]. Libraries with AllowItemsOnHoldCheckoutSCO set to [Allow] will be set to [Allow pending and waiting holds].
Libraries who had one or both set to [Don't allow] will have that
preference (or both, if applicable) set to [Don't allow].
If a library wants to allow checkout of items waiting on the hold shelf for other patrons via SIP, they will need to update AllowItemsOnHoldCheckoutSIP to [Allow pending and waiting holds].
The enhancement also adds the new system preference AllowHoldCheckoutOverride:
"[Allow/Don't allow] staff to override and check out items that are on
hold for another patron. When not allowed, checkouts of items with a
pending or waiting hold are blocked at the staff interface with no
override option."
In the past, staff with the force_checkout permission could check items out to patrons whether they were in a pending or waiting hold status. Staff will still need force_checkout to override holds for checkout with this system preference, so to preserve pre-upgrade behavior, AllowHoldCheckoutOverride is set to [Allow] at upgrade.
Note that force_checkout combines with system preferences to allow override for other circumstances (including AllowTooManyOverride for number of items checked out, AllowNotForLoanOverride for checking out not for loan items, AllowFineOverride for checkouts where the patron owes more than the limit in noissuescharge, and AgeRestrictionOverride to
check out age restricted items), so this new system preference aligns
with that structure and gives libraries the flexibility to allow those
other types of overrides without allowing hold overrides.
AllowHoldCheckoutOverride will work in combination with force_checkout as shown below.
Checking out a pending hold with AllowHoldCheckoutOverride set to [Allow], and a staff member does not have force_checkout:
Checking out a waiting hold with AllowHoldCheckoutOverride set to [Allow], and a staff member does not have force_checkout:
Checking out a pending hold with AllowHoldCheckoutOverride set to [Allow], and a staff member does have force_checkout:
Checking out a waiting hold with AllowHoldCheckoutOverride set to [Allow], and a staff member does have force_checkout:
Checking out a pending hold with AllowHoldCheckoutOverride set to [Don't allow], regardless of force_checkout setting:
Checking out a waiting hold with AllowHoldCheckoutOverride set to [Don't allow], regardless of force_checkout setting:
Note that when AllowHoldCheckoutOverride is set to [Don't allow], no staff member - including those with superlibrarian permissions - will be able to override pending or waiting holds in order to check items out.