Versions Compared

Key

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

Table of Contents

...

Functional AreaChange or AdditionConsiderationsAction requiredAction timingContact personCommentsRelated JIRA issues
Affected app or moduleWhat has been changed or added that should be noted for this releaseWhat challenges may arise related to this change or additionIf applicable, detail what action(s) must be taken hereWhen can the action be taken (before, during or after upgrade)User name of person that can provide additional detailName of user leaving comment: comment on what you encountered or ask a question @mention Contact personInclude issue link for bug fix, story or feature that applies
mod-inventory-storageThe 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 upgradeThe same approach as for mod-pubsub may be used here. We tried to follow the same naming for the properties.
mod-inventory-storageStatistical code name needs to be uniqueThe upgrade process will fail when there are two or more statistical codes with the same name prior to the upgradeChange the name of any existing statistical codes that are the same as another statistical codeBefore upgrade

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINVSTOR-709

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINVSTOR-596

mod-inventory-storageThe id property of the circulationNotes array property in the Item object is  mandatoryThe 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

This is an unexpected impact of

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-129
and has been reported as
Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-442

This issue was likely present in previous distributions of FOLIO

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-442

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODINV-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

MODDICORE-114

MODSOURMAN-377

mod-source-record-storageAn 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 tableTo 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.sqlAfter upgrade

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUXPROD-2791

mod-circulationThe age to lost processes (ageing borrowed items to lost and issuing fees / fines for those items)  are no longer automatically scheduled to run periodicallyNo 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

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyCIRC-1084

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyFOLIO-3013


mod-kb-ebsco-javaNew feature "Usage Consolidation" is now supportedConfiguring Usage Consolidation settingsIn 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

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODKBEKBJ-576

Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyUIEH-1112

mod-ncipNew permission required to call NCIP services:
manualblocks.collection.get


During or after upgrade

mod-oai-pmhThis 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

mod-data-import, mod-source-record-manager, mod-source-record-storage, mod-inventory, mod-invoiceAll 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 requiredFollow the instructions to set all the necessary parameters for Kafka and the modulesBefore and during the upgrade

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.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMSEARCH-97

mod-pubsubEnvironment 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.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODPUBSUB-78

mod-agreementsWhen 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.

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyERM-1114

mod-patron-blocksEvents 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


Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODPATBLK-41

mod-source-record-storageCleanup 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)


Jira Legacy
serverSystem Jira
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODSOURCE-329

mod-source-record-storagePopulate 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') with ordinality arr(item_object, position)
  WHERE
    rec.id = ind.id
    and rec.instance_id is not null
    and rec.instance_hrid is null
    and arr.item_object ? '001';

  RAISE notice 'Script for populating missing Instance HRIDs in SRS finished';
END;
$$;

```

Before or After Upgrade

Jira Legacy
serverSystem Jira
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId01505d01-b853-3c2e-90f1-ee9b165564fc
keyMODSOURCE-327

mod-circulationAll 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-circulationUpon 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-circulationOverdue 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-circulationLost 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.




...

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

AppNew PermissionsDeprecated PermissionsProduct Owner
Data importRenamed UI: ui-data-import module is enabled to Data import: all permissions, to make it clearer. Scope of the permissions did not change.
Data importRenamed 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.


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 StorageRemote 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. 

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.


quickMARCquickMARC: 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)


...

Deployment Considerations:

  • If you want to benefit from permission migration you need OKAPI v4.6.0 or greater (v4.7.2 or greater is highly recommended) and mod-permissions v5.13.0.
  • Contrary to earlier communications, it is NOT required to upgrade mod-permissions first or last.  It is also NOT required that you upgrade to the latest Honeysuckle Hot Fix release prior to upgrading to Iris.

Please contact the Craig McNally, Adam Dickmeiss, or Jakub Skoczen with questions.

Data Import

  • 0-Recommended Maximum File Sizes and Configuration
  • Supported in Iris: 
    • Create and update Inventory Instances, Holdings, and Items
    • MARC record modifications to add, remove, and change constant data within the incoming file
    • MARC-MARC matching on 001 and 999 ff fields, but not any other MARC fields
    • EDIFACT invoice loading
  • For importing EDIFACT invoices, the User needs these permissions
    • Data import: all permissions
    • Settings (Data import): Can view, create, edit, and remove
    • Invoice: Assign acquisitions units to new record
    • Invoice: Can view, edit and create new Invoices and Invoice lines
    • Invoice: Can view, edit and delete Invoices and Invoice lines

...

Jira Charts
serverSystem Jira
sortDirection
jqlfilter%3D13625%20%20
ystattypeproject
chartTypetwodimensional
width
sortBy
isAuthenticatedtrue
numberToShow100
xstattypepriorities
serverId01505d01-b853-3c2e-90f1-ee9b165564fc


Module mod-aes removed from the Iris release platform by request of the dev team (Hongwei Ji and Matt Reno). Was added by mistake

Hot fix release #2 -
Status
colourGreen
titlereleased at JUNE 25

...