Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tableenhancer
numberOfFixedRows1


Functional AreaChange or AdditionConsiderationsAction timing,
Action required
CommentsContact person,
Related JIRAs
Affected app or moduleWhat has been changed or added that should be noted for this releaseWhat challenges may arise related to this change or additionWhen can the action be taken (before, during or after upgrade)?
If applicable, detail what action(s) must be taken here
Name of user leaving comment: comment on what you encountered or ask a question @mention Contact personUser name of person that can provide additional detail.
Include issue link for bug fix, story or feature that applies
Check Out

The permission "Check Out: View Loans" was introduced in Iris to better control the link on the patron information panel to loan information. The permission was added to support the following behavior:

  • if a FOLIO user had "Check Out: All Permissions" but did not have "Check Out: View Loans", they would see the number of open loans, but it would not be a link to view them in Users.

However, this led to undesired behavior:

  • if a FOLIO user had "Check Out: All Permissions" and "Check Out: View Loans" but did NOT otherwise have permission to view loans in the Users app, they would see the number of open loans as a link, but clicking on the link would open a blank FOLIO screen.


Staff members who previously only had access to the Check Out app, but saw a broken link to loans, will now see the Users app appear in their list of available apps. That is because it is currently the only way for a link to view loans to be functional.

Before upgrade.

If you assigned "Check Out: All Permissions" to a FOLIO user but do not want them to be able to get a link to see loan information:

  • Ensure the FOLIO user does not have "Check Out: View Loans" assigned to them.

If you assigned "Check Out: All Permissions" to a FOLIO User and  you want them to be able to get a link to see loan information:

  • Ensure the FOLIO user has "Check Out: View Loans" assigned to them.
  • Ensure the FOLIO user also has "Users: User loans view" or "Users: User loans view, edit, renew (all)" assigned to them.

Erin Nettifee

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUICHKOUT-727


Check Out

The permission "Check Out: View Requests" was introduced in Iris to better control the link on the patron information panel to loan information. The permission was added to support the following behavior:

  • if a FOLIO user had "Check Out: All Permissions" but did not have "Check Out: View Requests", they would see the number of open requests, but it would not be a link to view them in the Requests app.

However, this led to undesired behavior:

  • if a FOLIO user had "Check Out: All Permissions" and "Check Out: View Requests" but did NOT otherwise have permission to view the Requests app, they would see the number of open loans as a link, but clicking on the link would open a blank FOLIO screen.


Staff members who previously only had access to the Check Out app, but saw a broken link to requests, will now see the Requests app appear in their list of available apps. That is because it is currently the only way for a link to view requests to be functional.

Before upgrade.

If you assigned "Check Out: All Permissions" to a FOLIO user but do not want them to be able to get a link to see request information:

  • Ensure the FOLIO user does not have "Requests: View" assigned to them.

If you assigned "Check Out: All Permissions" to a FOLIO User and  you want them to be able to get a link to see request information:

  • Ensure the FOLIO user has "Check Out: View Requests" assigned to them.
  • Ensure the FOLIO user also has "Requests: View" assigned to them. You could also assign one or more of the following: "Requests: All permissions," "Requests: View, create," or "Requests: View, edit, cancel"

Erin Nettifee

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUICHKOUT-728

InventoryItem barcode is unique now.Duplicate item barcodes fail the upgrade.
Upgrade error response mentions index name item_barcode_idx_unique.
mod-inventory-storage log mentions actual duplicate barcode.

Before upgrade:
Change all duplicate item barcodes.
Find them with this SQL:

SET search_path TO diku_mod_inventory_storage;
SELECT lower(jsonb->>'barcode')
FROM item
GROUP BY 1
HAVING count(*) > 1;

Use Inventory Item Barcode search to edit the duplicate barcode.

To delete all (!) duplicate barcodes from a test system: 

SET search_path TO diku_mod_inventory_storage;
UPDATE item SET jsonb = jsonb - 'barcode'
WHERE lower(jsonb->>'barcode') in (
SELECT lower(jsonb->>'barcode')
FROM item
GROUP BY 1
HAVING count(*) > 1);

Julian Ladisch

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODINVSTOR-523

InventoryKeyboard shortcut
By clicking the arrow next to the Inventory app name listed to the left in the top bar, you get a complete list of all keyboard shortcut which are available

Charlotte Whitt

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUIIN-1498

Data Import & Inventory

Updates to the default MARC Bib-to-Inventory Instance MAP:

  • 019$a and 035$z mapped to Instance Identifier type = Cancelled System Control Number 

After upgrade, library may want to review their default MARC Bib-to-Inventory Instance map, and decide if they want to add this mapping into it.

Note that this change relies on new default Identifier type values available in Kiwi, in Settings/Inventory/Instances:

  • Cancelled system control number


See the instructions on how to update the rules


Ann-Marie Breaux

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODSOURMAN-563

Data Import & Inventory

Updates to the default MARC Bib-to-Inventory Instance MAP:

  • 024/Ind1=1, $aq mapped to Instance Identifier type = UPC
  • 024/Ind1=1, $zq mapped to Instance Identifier type = Invalid UPC
  • 024/Ind1=2, $aq mapped to Instance Identifier type = ISMN
  • 024/Ind1=2, $zq mapped to Instance Identifier type = Invalid ISMN

After upgrade, library may want to review their default MARC Bib-to-Inventory Instance map, and decide if they want to add this mapping into it.

Note that this change relies on new default Identifier type values available in Kiwi, in Settings/Inventory/Instances:

  • UPC
  • Invalid UPC
  • ISMN
  • Invalid ISMN


See the instructions on how to update the rules


Ann-Marie Breaux

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODDICORE-172

Data Import & InventoryUpdates to the default MARC Bib-to-Inventory Instance MAP: For Inventory Resource Type (called instanceTypeID in the instance schema), assign based on the first 336$b if it exists, otherwise derive from the first 336$a if it is recognized; otherwise assign zzz (Unspecified)
See the instructions on how to update the rules

Ann-Marie Breaux 

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODDICORE-184

Inventory Search 

Starting with Kiwi release Inventory search will be powered by Elasticsearch:

Exact hit count 


After the setup of language analyzers and  search by all fields the re-indexing is required. Also, the re-indexing is recommended after the initial installation or the upgrade to  the Kiwi release. While running re-indexing the recreateIndex property should be set to true For more information regarding the re-indexing please see here.

Facets will be rolled out in a later release
Data Export

Through the support of MinIO data export is now hosting agnostic

Anyone who plans to use MinIO server instead of Amazon S3. 

External storage for generated MARC records should be configured to MinIO server (if needed) by changing ENV variable AWS_URL. In addition, the following ENV variables can be specified: AWS_REGION, AWS_BUCKET, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY.

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyFOLIO-3313

Viachaslau Khandramai 

Magda Zacharska 

Data ExportNumber of records exported
Even thought the system can handle more, it takes a lot of resource to export large data sets The recommended max number of records exported in one batch is 300 000 records.Data export performance report for the Kiwi release
mod-inventory-storage To load MARC Holdings during data import flow, we should use pre-defined MARC Holdings source (which is created in the reference data with pre-defined id = 036ee84a-6afd-4c3c-9ad3-4a12ab875f59)Anyone who plans to import and store MARC holdings. 

Before upgrade.


Reference data should be added during an upgrade (by default) 


OAI-PMHHoldings without associated items are now included in the response

The institutional users that is associated with API key will need to have following permissions:

  • "inventory-storage.inventory-hierarchy.updated-instances-ids.collection.get"
  • "inventory-storage.inventory-hierarchy.items-and-holdings.collection.post"

OAI-PMHSignificant improvements for the harvesting time

Periodically run:

REINDEX index audit_item_pmh_createddate_idx ;
REINDEX
xxxx=> REINDEX index audit_holdings_record_pmh_createddate_idx;
REINDEX
xxxx=> REINDEX index audit_holdings_record_pmh_createddate_idx;
REINDEX
xxxx=> REINDEX index audit_holdings_record_pmh_createddate_idx;
REINDEX
xxxx=> REINDEX index holdings_record_pmh_metadata_updateddate_idx;
REINDEX
xxxx=> REINDEX index item_pmh_metadata_updateddate_idx;
REINDEX
xxxx=> REINDEX index instance_pmh_metadata_updateddate_idx;
REINDEX
xxxx=> analyze instance;
ANALYZE
xxxx=> analyze item;
ANALYZE
xxxx=> analyze holdings_record;
ANALYZE

Inn-ReachNew modules (mod-inn-reach, edge-inn-reach, and ui-inn-reach) added to FOLIONew settings section added for INN-Reach.N/AUse/testing of this functionality with an INN-Reach system will require working with Innovative Interfaces, Inc. to set up access to the D2IR sandbox environment or a production system. This integration has not yet been certified for production use. The only D2IR functionality currently available in the release is initial (full) record contribution. This includes submission of locations, bibliographic, and item records.
Orders"Manually add pieces for receiving" has been renamed "Receiving workflow" and is now a dropdownThis will not impact any logic. if the toggle was checked it will now appear as "Independent order and receipt quantity" in the dropdown. If the toggle was NOT checked it will appear as "Synchronized order and receipt quantity" in the dropdown. 

This will be a training issue for users that create or receive orders. Ideally they are alerted to the change before production is upgraded. However, there are no time-sensitive technical requirements

Note: Users will now be able to add pieces in the receiving app for all orders. However, when synchronized with order quantity. Adding a piece will increase the quantity of the order and in turn the cost and any encumbrances.


Dennis Bridges

Jira
serverFOLIO Issue Tracker
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUIOR-836

mod-data-importSet the chunk size value for EDIFACT importImport of large EDIFACT file can fail if size of the payload exceeds the default value of 1048576 bytesSet file.processing.edifact.buffer.chunk.sizeproperty to 10 (or smaller)
Kateryna Senchenko 
mod-source-record-managerUpgrade fails if a mapping-rule type has two or more mapping-rules, or if a mapping-rule record doesn't contain the mappingRules property.

mapping_rules db table may contain default (not customised) versions of mapping rules for MARC records alongside the customised mapping rules



Before upgrade do A) or B).

A) Manually select the correct rule

To ensure customised default mapping rules for MARC records are used consistently do the following:

  1. Send GET request to  /mapping-rules/marc-bib to retrieve the mapping rules
  2. Send PUT request to /mapping-rules/marc-bib and put in the body the result of step 1 
  3. Use the script to clear irrelevant records in the db (make sure the correct tenant name is used in the script)
  4. Manually delete all rule records where the jsonb doesn't contain a mappingRules property.

NOTE: the API for mapping rules changed since Kiwi, additional info on managing mapping rules https://github.com/folio-org/mod-source-record-manager/blob/master/RuleProcessorApi.md#rest-api

B) Automated method to pick a random rule.

If you don't care which mapping rule is selected in case of a duplicate you don't need option A) and you can simply run https://github.com/folio-org/mod-source-record-manager/blob/578de8103ff7f01132189a458a155dc4da14985f/mod-source-record-manager-server/src/main/resources/templates/db_scripts/cleanup_mapping_rules.sql

This removes duplicates and rule records without mappingRules property.

Applicable for all libraries because old versions of mod-source-record-manager may have created invalid mapping-rules.

Kateryna Senchenko 

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODSOURMAN-632

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODSOURMAN-744

mod-inventory-storageHoldings created by a MARC Bib, not a MARC Holdings, showed the source = MARC. The behavior was changed to show source = FOLIO for such holdings.DB tables might contain holdings records with incorrect source valueAnalyse existing Holdings records that has incorrect source value using the scripts. Correct values if needed.

Kateryna Senchenko 

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODINV-549

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODSOURMAN-627

mod-source-record-storageIn mod-source-record-storage schema records_lb table columns instance_id and instance_hrid were renamed to external_id and external_hrid respectively Import of MARC Holdings was added in Kiwi release, therefore external_id and external_hrid columns are now holding not only ids and hrids of Inventory Instance records, but also Inventory Holdings, which are external entities for SRSMake sure migration scripts run correctly - check the column names - external_id and external_hrid - in records_lb table for mod-source-record-storage schema
ui-orders and ui-recevingRegarding locations users are now able to select a location OR an existing Holdings when the POL is linked to an instance that already has HoldingsWhen building orders or receiving pieces the user can now indicate when they want a NEW holding record and when they do not. If "Create inventory" includes Holdings, choosing a location will always create a new holding record for that location. Selecting a Holding will link that holding directly to the POL any items received would be received to the specific holding. No specific action required but it is important to be aware that this behavior is slightly different. This change also allows acquisitions information to appear on Holdings records in inventory

Dennis Bridges 

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUXPROD-1925

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyUXPROD-2373

Okapi / mod-data-export-springLotus version of Okapi rejects unknown permissionsKiwi version of mod-data-export-spring (1.2.*) uses
circulation-logs.collection.get
permission without requiring it in ModuleDescriptor. This fails the installation.

Before upgrade:

Do NOT install Okapi >= v4.13.0 (Lotus version).

Install Okapi < v4.13.0 (Kiwi version).

Fixed in Lotus versions of mod-data-export-spring >= 1.3.0.

Adam Dickmeiss 

Jira
serverFOLIO Issue Tracker
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId6ccf3fe4-3301-368a-983e-20c466b11a49
keyMODEXPS-67

mod-quickmarcDisable High Availability (HA) as it the module is not reliable when HA is set. 




New Apps

Kafka Wrapper: folio-kafka-wrapper library was extracted from mod-pubsub module. It contains utilities for interaction with Kafka for data import modules.

...

Installations that use an older PostgreSQL version than 12 (only 12 is recommended) need to pin some modules to the hot fix #3 version because later module versions reject the upgrade on older PostgreSQL versions. Affected modules and version to pin: mod-user-import v3.6.5, mod-configuration to v5.7.7.

New Features by Epic (Sub-Project)

...