Kiwi (R3 2021) Release Notes
Important Upgrade Considerations
This section outlines all changes that require special consideration for customers in production. Configuration changes may be needed to prevent operational interruptions. See checklist for guidelines on how to fill this out.Â
Changes and Required Actions
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.
eUsage reports:Â
- The eUsage Reports backend module (mod-eusage-reports) parses and stores relationships between COUNTER report lines and local KB title records, stores COUNTER usage statistics data, and provides report queries to generate the visualizations and downloads. By matching COUNTER data to local KB titles, eUsage Reports can display COUNTER data on the Agreement records that contain those titles.
- The UI plug-in (ui-plug-in-eusage-reports) is a front end module that displays a matching summary on the eUsage Provider record and a reports accordion on the Agreement record.
- eUsage reports is only useful for those who harvest COUNTER data using the eUsage app. It is recommended that libraries and hosting providers who are not using eUsage omit mod-eusage-reports and ui-plug-in-eusage-reports from their environments.
- Only applies to libraries that are not using EBSCO KB.Â
INN-Reach:
- INN-Reach back-end module (mod-inn-reach) provides business logic to handle record contribution and circulation interactions with an INN-Reach D2IR central server to enable participation in an INN-Reach resource sharing consortium and their relationship with FOLIO inventory, users, and circulation systems.
- INN-Reach edge module (edge-inn-reach) provides API endpoints and required authentication functionality to INN-Reach central servers to communicate with FOLIO
- INN-Reach UI module (ui-inn-reach) provides settings and staff user interfaces for managing the central server configuration, record contribution, circulation settings, transaction management, and INN-Reach specific circulation functionality.
- App only applies to libraries that have an INN-Reach subscription.
LDP:
- The LDP app is a query builder that makes some Library Data Platform reporting functions available in FOLIO without having to install a separate database client. It enables basic querying of many FOLIO data sets as well as querying of helper tables ("derived tables") created by the Reporting SIG community to simplify reporting.
- It consists of a user interface, ui-ldp (https://github.com/folio-org/ui-ldp), and a backend module, mod-ldp (https://github.com/folio-org/mod-ldp).Â
- The ui-ldp module executes queries by calling the mod-ldp API, which mediates access to the analytical database maintained by LDP.
Permissions Updates
App | New Permissions | Deprecated Permissions | Product Owner |
---|---|---|---|
Agreements | Agreements: File download (ui-agreements.agreements.file.download) | ||
Licenses | Licenses: File download (ui-licenses.licenses.file.download) | ||
quickMARC | quickMARC: View, edit MARC holdings record | Khalilah Gambrell | |
eUsage reports | eUsage reports: charts may be viewed: This permission adds an accordion to the Agreement record in the Agreement app that displays charts and graphs of eUsage data for the titles related to an agreement. eUsage reports: title matches may be viewed and edited: This permission adds an accordion to the eUsage app that displays a summary of title matching results for incoming COUNTER reports and allows the user to review and edit the matches. | ||
INN-Reach | INN-Reach App: All permissions: All permission for INN-Reach UI (settings and INN-Reach app) Settings (inn-reach): All INN-Reach settings: CRUD:Â All permissions for create, read, update, and delete of INN-Reach settings Settings (inn-reach): All INN-Reach settings: Read, edit: Permissions to read and edit existing INN-Reach settings Settings (inn-reach): All INN-Reach settings: Read-only: Permissions to read INN-Reach settings Settings (inn-reach): display list of settings pages: Permissions to view the list of available INN-Reach settings pages UI: ui-inn-reach module is enabled:Â Permissions to enable visibility of INN-Reach UI app | ||
LDP | LDP: all permissions | ||
Users | "Users: Can delete user profile if user does not have any open transactions" This permission is required to delete a user through the UI if they have no dependencies. Must be used with "Users: Can check open transactions" This allows the user to check for open transactions. If there are none, they are able to delete. | patty.wanninger |
Known Issues
General
App | Known issue | Workaround | JIRA issue | Product Owner |
---|---|---|---|---|
Inventory | When doing down load of In transit items (.csv file) the success toast is broken | The broken success toast do not prevent the download from happening. The download can take about 60+ seconds but eventually it will be downloaded. | Charlotte Whitt | |
Inventory | Keyboard shortcuts does work on instances - but not fully functional on holdings and item | Use the mouse activated action menu and buttons to edit, duplicate, save etc. a holdings and item | ||
Inventory | The locations filter(s) can behave somewhat inconsistently. It displays in alphabetical order when first loaded, but once a result is selected in the result pane, the filter resorts and may not be in alphabetical order. | Use type ahead to search for locations as needed. The behavior of this facet is very different in Lotus; affected institutions may want to think about moving to Lotus as soon as feasible to address this issue if it is hampering workflows. | (OLD ACCOUNT) Erin Nettifee | |
Inventory | Instances added in any release up to Iris (R1 2021) that hasn't been updated since then, does not have "_version" field that would result in error ("NumberFormatException: null") when trying to overlay such Instance via Data Import in Kiwi release. | Wait for Kiwi Hot Fix #3. Or add a _version property with a number to all instances without a _version property.Â
select count ( id ) from <tenant>_mod_inventory_storage."instance" where (jsonb->>'_version') is null;
update <tenant>_mod_inventory_storage."instance" set created_by = created_by where (jsonb->>'_version') is null; Existing trigger would set the version for each Instance that doesn't have this property | Ann-Marie Breaux (Deactivated)Â | |
Invoices | A permission has been added for "Invoice: Cancel invoices" but the logic has not yet been implemented. As a result this permission will only allow a user to see the cancel action in the invoice action menu. | Do not assign this permission to users. If you do it will not affect how they use the system but they may be confused that "Cancel" invoice does nothing. | ||
eholdings | Following permissions are missing
| Assign these permissions manually. Issue will be resolved with Kiwi Hotfix #2 | Khalilah Gambrell | |
Circ log | In Kiwi, the circulation log main page displays UTC time instead of local time. | N/A | Stephanie Buck | |
Requests/Patron Services (mod-patron/edge-patron) | If the user performing the action (or the service user in-use with mod-patron/edge-patron) does not have permissions to read fixed due date schedules, recalls of loans with fixed due dates will fail. | The workaround is to ensure that the user account has the following permissions (invisible) assigned, either directly or via another permission set:
| ||
quickMARC | A 500 error may display when editing a quickMARC record multiple times. Please note that updates are saved but an unfortunate UI message displays. Issue will be resolved with Lotus release . | N/A | ||
Data Import | If an incoming MARC Bib record has an invalid record type (LDR/06), the import job fails to complete, and does not show an error message. | Cancel uncompleted job. Manually correct invalid MARC record and re-import. | Ann-Marie Breaux (Deactivated)Â | |
Data Import | A very large job profile can be created in Settings (Data import), but then errors when the user tries to edit it. | Break the job into multiple smaller jobs | Ann-Marie Breaux (Deactivated)Â | |
Data Import | Logs for Inventory Single Record Imports do not always show the details for the imported record | Run a one-time script to set the "order" field of the SRS record. See more details here: Script for setting the SRS record "order" field so that Inventory Single Record Imports do not display blank log information | Ann-Marie Breaux (Deactivated)Â |
Acquisitions
Notes on functionality
- MARC Holdings - Kiwi functionality
- MARC Holdings - System updates and quickMARC validation rules
- Two things to know when using data import app to create MARC Holdings
- 004 must be a valid instance HRID with Source = MARCÂ
- 852 must include $b value of a Location code. Location codes are stored Settings > Tenant > Locations (see below mockup with Code column highlighted)Â
- Â Imported MARC Bibs and MARC Holdings have the same UUIDs in 999ff$s and 999ff$i fields
Post-Release Hotfixes
Hot fix release #1 -Â RELEASED AT JANUARY 28
Tickets list
Modules list
Hot fix release #2 - RELEASED AT MARCH 11
Tickets list
Modules list
Hot fix release #3 - RELEASED AT MAY 24
Tickets list
Modules list
Hot fix release #4
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 v5.7.7.
New Features by Epic (Sub-Project)
Closed Bugs
Project | Priority | ||||||
---|---|---|---|---|---|---|---|
P1 | P2 | P3 | P4 | P5 | TBD | T: | |
ARCHIVED: ui-search-es | 0 | 0 | 1 | 0 | 0 | 1 | 2 |
Bug Fest | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Chalmers | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
ERM Platform | 2 | 5 | 3 | 0 | 0 | 26 | 36 |
FOLIO | 0 | 2 | 0 | 0 | 0 | 14 | 16 |
Folio Automation Testing | 2 | 1 | 1 | 0 | 0 | 1 | 5 |
Okapi | 0 | 1 | 0 | 1 | 0 | 3 | 5 |
RAML Module Builder | 0 | 4 | 0 | 0 | 0 | 4 | 8 |
Support | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Z39.50 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
data-import-processing-core | 1 | 9 | 0 | 0 | 0 | 0 | 10 |
edge-common-spring | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
edge-dematic | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
edge-rtac | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
folio-kafka-wrapper-util | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
generate-marc-utils | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
mod-audit | 0 | 0 | 1 | 0 | 0 | 2 | 3 |
mod-authtoken | 0 | 0 | 1 | 0 | 0 | 2 | 3 |
mod-circulation | 6 | 11 | 3 | 1 | 0 | 2 | 23 |
mod-circulation-storage | 0 | 2 | 1 | 0 | 0 | 2 | 5 |
mod-codex-inventory | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
mod-configuration | 0 | 2 | 0 | 0 | 0 | 0 | 2 |
mod-courses | 0 | 1 | 0 | 0 | 0 | 1 | 2 |
mod-data-export | 0 | 6 | 7 | 0 | 0 | 0 | 13 |
mod-data-export-spring | 0 | 1 | 1 | 0 | 0 | 0 | 2 |
mod-data-export-worker | 0 | 3 | 0 | 0 | 0 | 1 | 4 |
mod-data-import | 6 | 5 | 2 | 0 | 0 | 2 | 15 |
mod-di-converter-storage | 1 | 0 | 2 | 0 | 0 | 0 | 3 |
mod-ebsconet | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
mod-email | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
mod-erm-usage | 1 | 0 | 1 | 0 | 0 | 5 | 7 |
mod-erm-usage-harvester | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
mod-eusage-counter | 0 | 0 | 1 | 0 | 0 | 5 | 6 |
mod-eusage-reports | 13 | 7 | 0 | 0 | 0 | 21 | 41 |
mod-feesfines | 0 | 4 | 1 | 0 | 0 | 3 | 8 |
mod-finance | 0 | 3 | 1 | 0 | 0 | 0 | 4 |
mod-finance-storage | 0 | 1 | 2 | 0 | 0 | 0 | 3 |
mod-graphql | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
mod-inn-reach | 0 | 1 | 5 | 0 | 0 | 4 | 10 |
mod-inventory | 2 | 9 | 2 | 1 | 0 | 1 | 15 |
mod-inventory-storage | 1 | 14 | 3 | 0 | 0 | 3 | 21 |
mod-inventory-update | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
mod-invoice | 4 | 6 | 3 | 0 | 0 | 0 | 13 |
mod-invoice-storage | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
mod-kb-ebsco-java | 1 | 0 | 9 | 0 | 0 | 0 | 10 |
mod-ldp | 7 | 0 | 0 | 0 | 0 | 1 | 8 |
mod-login | 0 | 1 | 2 | 0 | 0 | 3 | 6 |
mod-login-saml | 0 | 0 | 1 | 0 | 0 | 1 | 2 |
mod-ncip | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
mod-notes | 0 | 1 | 2 | 0 | 0 | 0 | 3 |
mod-oai-pmh | 0 | 2 | 4 | 0 | 0 | 0 | 6 |
mod-orders | 2 | 16 | 13 | 0 | 0 | 0 | 31 |
mod-orders-storage | 1 | 2 | 0 | 0 | 0 | 1 | 4 |
mod-password-validator | 1 | 2 | 0 | 0 | 0 | 0 | 3 |
mod-patron | 1 | 3 | 0 | 0 | 0 | 2 | 6 |
mod-patron-blocks | 1 | 2 | 1 | 0 | 0 | 1 | 5 |
mod-permissions | 1 | 1 | 0 | 0 | 0 | 3 | 5 |
mod-pubsub | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
mod-quick-marc | 3 | 3 | 1 | 0 | 0 | 1 | 8 |
mod-remote-storage | 0 | 6 | 1 | 0 | 0 | 0 | 7 |
mod-rtac | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
mod-search | 2 | 1 | 4 | 0 | 0 | 0 | 7 |
mod-source-record-manager | 3 | 11 | 6 | 0 | 0 | 0 | 20 |
mod-source-record-storage | 6 | 4 | 3 | 0 | 0 | 0 | 13 |
mod-tags | 0 | 0 | 2 | 0 | 0 | 1 | 3 |
mod-users | 0 | 1 | 2 | 0 | 0 | 3 | 6 |
mod-users-bl | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
rancher | 0 | 0 | 1 | 0 | 0 | 4 | 5 |
stripes-acq-components | 1 | 0 | 2 | 1 | 0 | 0 | 4 |
stripes-cli | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
stripes-components | 0 | 4 | 5 | 0 | 0 | 1 | 10 |
stripes-core | 0 | 0 | 5 | 0 | 0 | 2 |