R1 2021 (Iris) Release Notes

R1 2021 (Iris) 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

 

Functional Area

Change or Addition

Considerations

Action required

Action timing

Contact person

Comments

Related JIRA issues

Functional Area

Change or Addition

Considerations

Action required

Action timing

Contact person

Comments

Related JIRA issues

Affected app or module

What has been changed or added that should be noted for this release

What challenges may arise related to this change or addition

If applicable, detail what action(s) must be taken here

When can the action be taken (before, during or after upgrade)

User name of person that can provide additional detail

Name of user leaving comment: comment on what you encountered or ask a question @mention Contact person

Include issue link for bug fix, story or feature that applies

mod-inventory-storage

The module now depends on Kafka message broker. Kafka should be up and running before module install.

Inventory-storage APIs (instances/holding-records/items - create, update, delete actions) will fail with 500 status code if Kafka is unreachable.

Make sure KAFKA_PORT and KAFKA_HOST environment variables are set and propagated to the mod-inventory-storage container before module installation.

Example: for rancher dev environments we set following values - KAFKA_HOST: kafka, KAFKA_PORT: 9092

Before upgrade

@Bohdan Suprun (Deactivated) @Mikhail Fokanov @Oleksii Petrenko

The same approach as for mod-pubsub may be used here. We tried to follow the same naming for the properties.

MODINVSTOR-620

UXPROD-2696

mod-inventory-storage

Statistical code name needs to be unique

The upgrade process will fail when there are two or more statistical codes with the same name prior to the upgrade

Change the name of any existing statistical codes that are the same as another statistical code

Before upgrade

@Marc Johnson

@Bohdan Suprun (Deactivated)

 

https://folio-org.atlassian.net/browse/MODINVSTOR-709

https://folio-org.atlassian.net/browse/MODINVSTOR-596

mod-inventory-storage

The id property of the circulationNotes array property in the Item object is  mandatory

The id property got added to the item schema in Honeysuckle. If data added in, it will break things.

With Iris, this id is now mandatory, and the UI and the API  will hang if not present.

Before upgrade

@Alexander Kurash

@Marc Johnson

 

This is an unexpected impact of https://folio-org.atlassian.net/browse/MODINV-129 and has been reported as https://folio-org.atlassian.net/browse/MODINV-442

This issue was likely present in previous distributions of FOLIO

https://folio-org.atlassian.net/browse/MODINV-442

https://folio-org.atlassian.net/browse/MODINV-129

mod-source-record-manager

Changes to the default MARC Bib-to-Instance map:

  1. Added support for the 880 alternate script fields

  2. Revised mappings for 541, 542, 561, 583 fields to set the Staff only checkbox based on value in 1st indicator

 

If library has customized the default MARC bib-to-Instance map, review these changes and decide if they should be added to the library's custom map. If changes are made, you may need to trigger a refresh of the existin gInstances that are based on the SRS MARC records, so that the changes are reflected in the Instance

 

@Ann-Marie Breaux (Deactivated)

@Volodymyr Rohach

@Theodor Tolstoy (One-Group.se)

 

MODDICORE-114

MODSOURMAN-377

mod-source-record-storage

An end point has been added to allow searching MARC records.

The end point will only return results from MARC records added after the upgrade. A script to retroactively process pre-existing records has  been developed, see MODSOURCE-276: Add existing records to the SRS Query API table

To add records  that existed prior to  upgrade to the query search  see MODSOURCE-276: Add existing records to the SRS Query API table Script: https://github.com/folio-org/mod-source-record-storage/blob/master/mod-source-record-storage-server/src/main/resources/migration_scripts/fill_marc_indexers.sql

After upgrade

@Jenn Colt

@Igor Gorchakov

@Khalilah Gambrell

 

https://folio-org.atlassian.net/browse/UXPROD-2791

mod-circulation

The age to lost processes (ageing borrowed items to lost and issuing fees / fines for those items)  are no longer automatically scheduled to run periodically

No items will be aged to lost and no fees / fines will be issued unless these processes are scheduled by the hosting provider

Organisations who need these processes to run will have to schedule them from outside the system

Configuration needed by the hosting provider

  • a user that has permissions to invoke these processes

  • a scheduled task that logs in as the user and invokes the relevant process

Organisations will likely need to schedule these processes separately meaning two separate tasks and schedules are likely to be needed (separate users may be used for each process)

New External Endpoints

  • POST /circulation/scheduled-age-to-lost (permission needed: circulation.scheduled-age-to-lost.post )

  • POST /circulation/scheduled-age-to-lost-fee-charging (permission needed: circulation.scheduled-age-to-lost-fee-charging.post )

No body needs to be provided to make requests to either of these endpoints.

Further documentation is available at How to Schedule Age to Lost Processes

During or after the upgrade

@Marc Johnson

@Holly Mistlebauer

@Wayne Schneider

 

https://folio-org.atlassian.net/browse/CIRC-1084

https://folio-org.atlassian.net/browse/FOLIO-3013

 

mod-kb-ebsco-java

New feature "Usage Consolidation" is now supported

Configuring Usage Consolidation settings

In order to configure "Usage Consolidation" → apart from the settings on UI, middle layer service needs to be configured by making a query directly to DB like the below:
```
INSERT INTO <tenant_id>_mod_kb_ebsco_java.usage_consolidation_credentials(client_id, client_secret) VALUES (?, ?);
```
User stories have been created to make this configurable from UI.

After upgrade to Iris

@Sobha Duvvuri/
@Natalia Zaitseva/
@Pavlo Smahin

 

https://folio-org.atlassian.net/browse/MODKBEKBJ-576

https://folio-org.atlassian.net/browse/UIEH-1112

mod-ncip

New permission required to call NCIP services:

manualblocks.collection.get

 

 

During or after upgrade

@Michelle Suranofsky

 

 

mod-oai-pmh

This is not a required step but we noticed during tests that if the mod-oai-pmh performance is poor, re-indexing and vacuuming indexes located in mod-inventory-storage resolved the issue.

 

REINDEX instance_pmh_metadata_updateddate_idx;
REINDEX item_pmh_metadata_updateddate_idx;
REINDEX holdings_record_pmh_metadata_updateddate_idx;
REINDEX audit_instance_pmh_createddate_idx;
REINDEX audit_holdings_record_pmh_createddate_idx;
REINDEX audit_item_pmh_createddate_idx ;

During or after upgrade

@Magda Zacharska

@Illia Daliek

@Aleksei Prokhorov

 

 

mod-data-import, mod-source-record-manager, mod-source-record-storage, mod-inventory, mod-invoice

All modules involved in data import process are now communicating through Kafka directly. Kafka should be configured and running before modules are installed and additional parameters should be set for modules.

New setup and configurations required

Follow the instructions to set all the necessary parameters for Kafka and the modules

Before and during the upgrade

@Oleksii Kuzminov

@Vladimir Shalaev

@Kateryna Senchenko

 

 

mod-search

Since 1.3.0 version OKAPI_URL environment variable is required for the module.

Data ingestion won't work. 

Set/pass OKAPI_URL to the application container. 

On module startup.

@Mikhail Fokanov

@Pavel Filippov

@Bohdan Suprun (Deactivated)

 

https://folio-org.atlassian.net/browse/MSEARCH-97

mod-pubsub

Environment variables SYSTEM_USER_NAME and SYSTEM_USER_PASSWORD can be used to set up credentials for PubSub system user. Otherwise, default values (username pub-sub, password pubsub) will be used.

Not providing these variables will result in using default credentials which is considered a security issue.

Set SYSTEM_USER_NAME and SYSTEM_USER_PASSWORD environment variables.

On module startup.

@Alexander Kurash

 

https://folio-org.atlassian.net/browse/MODPUBSUB-78

mod-agreements

When upgrading from Goldenrod consider running the Supplementary Document cleanup job on initialising the module in the tenant. 

The Supplementary Document cleanup job fixes an issue that could lead to a single supplementary document being linked to multiple agreements. The cleanup job will detect this situation and duplicate the document so each agreement is linked to it's own copy of the document

On installing/starting the module in the tenant, include

cleanSupplementaryDocs%3Dtrue

in the tenantParameters.

e.g.

/_/proxy/tenants/diku/install?tenantParameters=cleanSupplementaryDocs%3Dtrue

On module startup.

@Owen Stephens

 

https://folio-org.atlassian.net/browse/ERM-1114

mod-patron-blocks

Events which took place before first mod-patron-blocks deployment are NOT taken into account while calculating automated patron blocks.

This is an inherent limitation of mod-patron-blocks which is an event-based system.

If tenant plans on using Automated Patron Blocks feature AND full event synchronization has not been performed before, follow steps outlined in Q3 2020 (Honeysuckle) Release Notes.

After upgrade

@Alexander Kurash

@Oleksandr Vidinieiev

@Roman Barannyk

 

https://folio-org.atlassian.net/browse/MODPATBLK-41

mod-source-record-storage

Cleanup of invalid snapshot statuses 

Data Import update of records associated with snapshot (with invalid status) will fail

Table snapshots_lib records should only contain status values of 'ERROR' or 'COMMITTED' for jobs which are no longer executing - the following manual script can be run to adjust values:
```
UPDATE <tenant_id>_mod_source_record_storage.snapshots_lb SET status = 'ERROR' where status not in ('COMMITTED', 'ERROR');
```
User story has been added for this cleanup to happen as part of migration to Hotfix 3

This script should NOT be run if DI jobs are currently actively in progress 

Before or After Upgrade

(DI Jobs not running)

@Kateryna Senchenko

@Carole Godfrey

@Ann-Marie Breaux (Deactivated)

 

https://folio-org.atlassian.net/browse/MODSOURCE-329

mod-source-record-storage

Populate missed instance_hrid 

 

Run following manual script to populate missed instance_hrid in records_lb table.
```

DO $$ BEGIN RAISE notice 'Script for populating missing Instance HRIDs in SRS started'; UPDATE <tenant>_mod_source_record_storage.records_lb rec SET instance_hrid = arr.item_object->>'001'FROM <tenant>_mod_source_record_storage.marc_records_lb ind, jsonb_array_elements(content->'fields') withordinality arr(item_object, position) WHERE rec.id = ind.id and rec.instance_id isnotnulland rec.instance_hrid isnulland arr.item_object ? '001'; RAISE notice 'Script for populating missing Instance HRIDs in SRS finished'; END; $$;

```

Before or After Upgrade

@Oleksandr_Dekin
@Pavlo Smahin
@Khalilah Gambrell 

 

https://folio-org.atlassian.net/browse/MODSOURCE-327

mod-circulation

All Service Points must be associated with a Fee/Fine Owner at Settings>Users>Fee/Fine: Owners for overdue fines and lost item fees to work properly.  If an overdue fine/lost item fee is calculated for an item with a Location whose Primary Service Point is not associated to a Fee/Fine Owner, the overdue fine/lost item fee will NOT be charged to the patron.

In the future we will have a Default Fee/fine Owner to be charged.  (See UXPROD-2278 for details.)

 

 

 

 

 

mod-circulation

Upon deployment make sure that automatic fee/fine types were added to the mod-feesfines database.  Otherwise overdue fine creation functionality will not work.

To check, make a call to /feefines?query=automatic==true.  The response should contain 4 entries: "Overdue fine", "Lost item fee", Lost item processing fee" and "Replacement processing fee."

 

 

 

 

 

mod-circulation

Overdue fine policies must be set up and circulation rules have to refer to policies that exist. 

If you do not charge overdue fines, you need to create one overdue fine policy that is for an overdue fine of 0 and use that overdue fine policy for every circulation rule.

 

 

 

 

 

mod-circulation

Lost item fine policies must be set up and circulation rules have to refer to policies that exist. 

If you do not charge lost item fees, you need to create one lost item fee policy that is for a lost item fee of blank and use that lost item fee policy for every circulation rule.

 

 

 

 

 


New Apps

Remote storage integration (Dematic)

Remote storage integration for Dematic StagingDirector and Dematic EMS. Accessed through Settings > Remote storage and Settings > Remote storage and Settings > Tenant > Location.

 

Circulation log export to CSV

This feature will allow a user to export filtered data in the Circulation log to a CSV file. Accessed through the Circulation Log app > Run a search > Open the “Actions” drop-down list > Select “.CSV export” 

 

Cornell Library's go-live requirements to transfer fees/fines to the Cornell bursar system

Automated Transfer of fees/fines to bursar or other account. Accessed through Settings > Tenant > General: Bursar (to run a Bursar export manually or set the scheduling parameters for the export)

Permissions Updates

App

New Permissions

Deprecated Permissions

Product Owner

App

New Permissions

Deprecated Permissions

Product Owner

Data import

Renamed UI: ui-data-import module is enabled to Data import: all permissions, to make it clearer. Scope of the permissions did not change.

 

@Ann-Marie Breaux (Deactivated)

Data import

Renamed Settings (data-import): display list of settings pages to Settings (Data import): Can view, create, edit, and remove, to make it clearer. Scope of the permission did not change.

 

@Ann-Marie Breaux (Deactivated)

Inventory 

The option to add tags to Inventory record types (instance, holdings, item) now has the consequence that anyone with inventory permissions should have their permissions edited to add either the Tags on records: View only or Tags: All permissions

Important: If the user permissions are not updated as described above, then the Inventory app will not display in the top menu bar for the user with the Inventory app permissions.

 

@Charlotte Whitt

@Ann-Marie Breaux (Deactivated)

Inventory

We have implemented the possibility to move holdings and item in Inventory, but any transfers are not yet being reflected in dependent apps; e.g. Orders, Request, and Courses. In order to prevent corrupt data it's highly recommended that all libraries limit the ability to move holdings and item by limiting the number of staff having the appropriate user permission to move holdings and item.

 

@Charlotte Whitt

Remote Storage

Remote storage integration has one level of permissions - Remote storage: Create, read, update, delete. A user with these permissions can create and configure remote locations.
Any user with Inventory: View, create, edit instances has the ability to change the location of holdings and items to remote storage, and from remote storage to main locations. 

 

@Stephanie Buck

Check out

New Permissions: ui-checkout.viewRequests (Check out: View requests), ui-checkout.viewLoans (Check out: View loans), and ui-checkout.viewFeeFines (Check out: View fees/fines)

UI-only permissions that control whether the Loans, Requests, and FeeFine information in the user pane of Check out are active hyperlinks to their respective information.

Important: these permissions are not included in any other permission set by default, including ui-checkout.all (Check out: All permissions), and they are required to enable the indicated hyperlinks in Check out.

 

@Brooks Travis(formerly @Emma Boettcher)

quickMARC

quickMARC: Derive new MARC bibliographic record - this permission allows one to derive a new MARC bib record from an existing MARC record

 

@Khalilah Gambrell

eholdings

  • eHoldings: Can view Usage & analysis data for packages, titles and resources | View usage consolidation on eholdings app

  • Settings (eholdings): Create, edit, and view Usage Consolidation API credentials | Ability to update and view usage consolidation settings

  • Settings (eholdings): View Usage Consolidation API credentials | Ability to view usage consolidation settings

  • Settings (eHoldings): Can assign/unassign a user from a KB | Ability to assign/unassign a user from KB credentials. Permission should only be used by institutions that maintain multiple EBSCO KB configurations. 

 

@Khalilah Gambrell

Agreements

  • Updated permission "Agreements: Search & view e-resources": Grants all permissions included in 'Agreements: Search & view agreements' plus the ability to search and view e-resources (packages and titles in those packages) in the internal KB.

  • New permission "Agreements: Search & view platforms": Grants all permissions included in 'Agreements: Search & view e-resources' plus the ability to search and view platforms in the internal KB

  • New permission "Agreements: Edit platforms": Grants all permissions included in 'Platforms: Search & view platforms' plus the ability to edit platform properties

 

 

Licenses

  • Updated permission "Settings (Licenses): Manage license terms": Grants permissions to access the License settings and the ability to manage the available license terms. This was updated to include the ability to view pick list information which is necessary to manage license terms which use pick lists (previously this required an additional permission to be granted)

 

 

Local KB Admin

  • New permission "Local KB admin: Manage proxy server configuration": Grants permission to create, edit and delete Proxy server settings for reverse proxy servers used to enable users to access online resources

  • Updated permission "Local KB admin: Create jobs": Grants permission to create new jobs (i.e. upload files of resources to the Agreements local knowledgebase). This was updated to include the ability to view knowledgebase information and upload files without which the user could not complete the creation of a job (previously this would have required additional permissions to be granted to the user)

 

 

Known Issues

General

  • Most front-end modules don't fetch exact search result count from backend (https://folio-org.atlassian.net/browse/RMB-673).

  • Estimated search result count has a wording that incorrectly suggests it is a precise number ("8081 records found"). Only numbers below 1000 are precise (details: RMB Estimated totalRecords). (WIP

    UXPROD-2623 - Wait for POC of Elastic Search - Round estimated search result hit count (totalRecords) Blocked )