Orchid (R1 2023) Release Notes

Notes on functionality

PO Release Presentations

PresentationPresentation datePresenterSIG meeting (link)Notes
ERM

These are the slides and screencasts for the release digest
quickMARC, MARC Authority3/23/2023MM SIG(starting at 20:16 in the meeting recording)
Inventory3/30/23MM SIG(starting at 7:50 in the meeting recording)
Bulk edit, OAI-PMH4/6/2023MM SIG(starting at 12:30 in the meeting recording)
Data Import4/13/2023MM SIG(starting at 28:30 in the meeting recording)
Acquisitions2/21/2023Dennis Bridges 
This link to video that seems to review this on 18-Apr-2023

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 timing,
Action required

Comments

Contact 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 addition

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

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

Is this action required for the next release?

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
OkapiOld Okapi versions fail with "POST request for mod-permissions-6.2.0 /_/tenantpermissions failed with 400: Collision! A Permission named converter-storage.jobprofile.get is already defined" because mod-data-import-converter-storage has been renamed to mod-di-converter-storage
Before installing/upgrading any modules upgrade Okapi to the latest 5.0.x version.
mod-remote-storageHazelcast version is incompatible with the Nolana Hazelcast versionModule fails during startupWhen running Nolana and Orchid version of mod-remote-storage in parallel they need distinct Hazelcast configurations. One possibility is the Hazelcast cluster name environment variable: 
HZ_CLUSTERNAME=nolana
HZ_CLUSTERNAME=orchid
 

All areas - change in Google Chrome

Google Chrome has changed the way it defines websites that are designed for the web but are also meant to be able to be used like desktop apps (called "Progressive web apps", see very technical information from Mozilla here.) 

Some versions of Chrome now appear to consider some FOLIO installations to be "progressive web apps." When that happens, Chrome prompts you to install FOLIO to your desktop, with an option in the Chrome menu or in the address bar:


As of April 2023, this has been observed for some users using Nolana environments, and some users using Orchid environments.

There is no feasible way to disable the message from appearing, however, end-users can safely ignore the message when they see it. You do not need to install anything extra outside of the Chrome browser to get FOLIO to work as it has been working.

Reported/researched by Erin Nettifee, with assistance from Zak Burke.
Actual costThe actual cost work begun in Nolana is completed in Orchid. 
Carried over from Nolana release notes
If you started using actual cost in Nolana, when Orchid is implemented you will need t
o mark items as “do not bill” on the “Lost items requiring actual cost” processing page if the fee was billed manually.  The "Lost item fee policy" includes a setting For lost items not charged a fee/fine, close the loan after <interval>.  Using this setting to "expire" actual cost lost items will eliminate the need for this if you set the <interval> to a smaller time period.
This work was completed after the PO, Holly Mistlebauer, retired.
Circulation, RequestsRequest status is now a required property.Technically a breaking changeNo action required

While technically being a breaking change, this should not affect anyone because:

a) we never create requests without status programmatically

b) we scanned DBs of known tenants and did not find a single such request

Data import, MARC Authority, Inventory, SRSNew indexes to the DB were added for the "010" and "035" MARC fields, to improve stability and decrease timeouts

Indexes are added automatically during the upgrade process.

Default DB configuration implies automatic analyzing of tables. In case it is disabled, execute ANALYZE command on mod-source-record-storage schemas.



Data import, MARC Authority, Inventory, SRS
Applicable for systems, where Data Import jobs for update of >5000 MARC records are expected.

Increase database connection pool size for mod-source-record-manager and mod-source-record-storage to 30 (default value is 15). Env variable:

{
          "name": "DB_MAXPOOLSIZE",
          "value": "30"
}

Set the newly provided "DB_CONNECTION_TIMEOUT" env variable to 40 for mod-source-record-storage.

{
 "name":"DB_CONNECTION_TIMEOUT",
 
"value": "40"
}


Kateryna Senchenko 

Ann-Marie Breaux (Deactivated) 

MODSOURCE-618 - Getting issue details... STATUS

MODSOURCE-622 - Getting issue details... STATUS

Inventory, SearchBreaking change was introduced in API interfaces:
  • `inventory-view`
  • `inventory-view-instance-set`
  • `item-storage-dereferenced`
  • `instance-storage`
  • `instance-storage-batch-sync`
  • `instance-storage-batch-sync-unsafe`
  • `inventory`
  • `inventory-batch`
  • `search`
  • `browse`
If there are any scripts, requests, or any that rely on these API interfaces, then they may be broken. Updated API documentation could be found here.

Instance data in mod-inventory-storage have to be migrated. 

To initialize migration use endpoint POST /inventory-storage/migrations/jobs with body:

{
            "migrations": [
                "subjectSeriesMigration"
            ],
            "affectedEntities": [
                "INSTANCE"
            ]
        }


To check the status of migration use endpoint GET /inventory-storage/migrations/jobs/<id> where id - is the id from the POST response.

Migration could be done after the upgrade.
Migration could be sped up with scaling up mod-inventory-storage's replicas


Inventory, SRS, Data importDefault MARC-Instance mapping updated to change how the Relator term is populated on an instance record

Libraries should review and decide: 

  1. If existing Instances should be refreshed against the updated map, so that all existing instances reflect these changes

See Update of mapping to change how Relator term is populated on instance record R1 2023 Orchid release for additional details.

Update: 21 April: an update script has been provided. 

Mandatory change. 

Note that any revised mappings will only apply to Instances created or updated via MARC Bibs after the map is updated. To refresh existing Instances against the current SRS MARC Bibs and current map, the library may consider running Script 3 described here: Scripts for Inventory, Source Record Storage, and Data Import Cleanup

If the library wants more name relator terms to be standardized, for searching and filtering, this update will help.

Ann-Marie Breaux (Deactivated) 


Inventory, SRS, Data importDefault MARC-Instance mapping rule added for MARC 720 field

Libraries should review and decide: 

  1. If they would like this change included in their default map. If so, update the library's map, or have the hosting provider do it.
  2. If existing Instances should be refreshed against the updated map, so that all existing instances reflect these changes

See Update of mapping to add MARC 720 field R1 2023 Orchid release for additional details.

Follow the instruction to update the mapping rules.

Optional change. 

Note that any revised mappings will only apply to Instances created or updated via MARC Bibs after the map is updated. To refresh existing Instances against the current SRS MARC Bibs and current map, the library may consider running Script 3 described here: Scripts for Inventory, Source Record Storage, and Data Import Cleanup


Ann-Marie Breaux (Deactivated) 

MODSOURMAN-873 - Getting issue details... STATUS

Data ImportEDIFACT invoice field mapping profileLibrary should reviewIf the account number field is not being populated when an EDIFACT invoice is imported, the library should edit any existing invoice field mapping profiles, to 1) disconnect from the existing vendor and erase any account number, then 2) look up/reconnect the vendor and confirm an account number is filled in (if applicable).

Ann-Marie Breaux (Deactivated) 

UIDATIMP-1392 - Getting issue details... STATUS

LDP Reporting app(text to be added here)



OAI-PMH (mod-oai-pmh)

For stable operation, mod-oai-pmh  requires the following memory configuration. Java: -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=512m -Xmx2160m. Amazon Container: cpu - 2048, memory - 3072, memoryReservation - 2765.


edge-oai-pmh memory settings remain the same as in previous releases. Java: -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=512m -Xmx1440m. Amazon Container: cpu - 1024, memory - 1512, memoryReservation - 1360.





Multiple concurrent harvests of full library collection are currently not supported. Results of the performance tests when running multiple full harvests can be found here.   

mod oai-pmh provides APIs for monitoring the harvesting process as documented in the READ.ME file.

Additional information: OAI-PMH Best Practices

MARC Authority, Inventory, SRS, Data import

Default MARC-Instance mapping rules were updated to support authority linking

Instructions on how to update default MARC-Instance mapping rules are described here: Update to MARC Bib-to-Instance Default map changes to support Authority control feature

Update: 21 April: an update script has been provided. 

Mandatory change. 

Must be done after the mod-source-record-manager upgrade


mod-settings(text to be added here)



Permissions, CirculationWith the permission "Settings (Circ): Can view loan history", the Save button on the Loan anonymization page is no longer visible (UICIRC-767).
In addition, a new permission has been created, "Settings (Circ): Can edit loan history", for which the Save button on the Loan anonymization page is visible and can be selected (UICIRC-766).
Please note: The permission names contain the old name of the setting (Loan history), but refer to the circulation setting Loan anonymization.Update your users' permissions and/or permission sets, as required.N/A
SearchInventory search supports now contributors browse. Changes to the Authority search were implemented.mod-search indices will need to recreate for both instance and authority as described hereDuring the upgrade process
Settings, Circulation, Loan historyThe circulation setting "Loan history" as been updated to "Loan anonymization"Please note: The permission names have not been updated, and still refer to "Loan history"N/AN/A
Z39.50(text to be added here)



Inventory single record import/quickMarc deriveDB Read/Write split should be disabled for mod-source-record-managerIn case Read instance is not synchronising fast enough, some single record operations could failWhen mod-source-record-manager is deployed do not pass the environment variables for DB_HOST_READER and DB_PORT_READER (it won't be enabled by default)

Kateryna Senchenko 

RMB-348 - Add support for database read/write splitting to RAML Module Builder CLOSED

MODSOURMAN-906 - The "500" error appears when user uses import single record CLOSED

MODSOURMAN-909 - The "500" error appears when user saving "MARC Bib" record from "Derive" window. CLOSED

mod-searchAdditional cluster-level permissions are required in Opensearch in order to successfully initialize the module for a tenant. Tenant initialization may fail unless the Opensearch role used by mod-search includes the additional permissions.

Before initializing mod-search 2.0.x for a tenant,  add the following cluster-level permissions to the Opensearch role used by mod-search:   

cluster:admin/script/get
cluster:admin/script/put
cluster:admin/script/delete

This change may also impact Elasticsearch as well.  However, it remains unverified.  
quickMARC

mod-entities-links module must be manually restarted for quickMARC to function. 


Each Orchid version upgrade

Khalilah Gambrell 

Pavlo Smahin 

MODQM-340 - Getting issue details... STATUS

MARC (quickMARC/ data import) To support authority linking, subfield 9 is not allowed on linkable bib fields (100/110/111/130/600/610/611/630/700/710/711/730/800/810/811/830)  Any libraries that have subfield 9 on these fields will need to change to another subfield. Recommendation: subfield 0. 


SRM, Data Import
Default limit for retrieving settings for mapping during DI is set to 1000.If library contains more data in the specified settings override the property srm.mapping.parameters.settings.limit (default=1000) when mod-source-record-manager is deployed.
Kateryna Senchenko 
SRS, Data import (marc record matching)

MODSOURCE-655 - Optimize Insert & Update of marc_records_lb (Nolana CSP Clone) CLOSED requires the execution of scripts to populate marc_indexers version data for existing records so that existing marc records can be matched/found using marc fields other than 001, 999f$s, and 999f$i.


The scripts to populate marc_indexers version should be run after upgrading mod-source-record-storage to v5.6.11.
During the module upgrade to v5.6.11 it is necessary to set property srs.record.matching.fallback-query.enable = true to enable the fallback query, ensuring the lookup of records imported prior to v5.6.11 until the scripts have been completed. After the scripts are completed, his property can be set to false (which is the default value) in order to avoid fallback query execution, as it will be redundant once the scripts are finished.

Kateryna Senchenko

MODSOURCE-655 - Getting issue details... STATUS
MODSOURCE-671 - Getting issue details... STATUS

Data Import (order creation)Orchid CSP 5 release to fix the retrieval of more than 20,000 organizations for 1) the total count in the Organizations app, and 2) the lookup of organizations by Data Import when creating orders. Tested with 80,000+ organizations in Orchid BF. This resolves a problem where orders were being created via Data Import, but with no designated Vendor. 
No additional action required by libraries.

Ann-Marie Breaux (Deactivated) 

Dennis Bridges 

MODORGSTOR-144 - Getting issue details... STATUS

MODORDERS-908 - Getting issue details... STATUS

mod-agreements

The migration adds a foreign key for content_type.ct_content_type_fk referencing refdata_value.rdv_id. If rdv_id record has been deleted migration will fail with 

ERROR: insert or update on table "content_type" violates foreign key constraint "content_type_fk_rdvFK"


Before migration run SQL

SET search_path TO diku_mod_agreements;
DELETE FROM content_type WHERE ct_content_type_fk NOT IN (SELECT rdv_id FROM refdata_value);


Ian Ibbotson (Use this one) 

New Module and Apps

AppDescriptionComments/notesProduct Owner
mod-settings

mod-bulk-operationsBackend module for Bulk edit app.

Introduced to improve performance of the module and decrease dependency on other modules.

Increases number of records that can be bulk edited to 100k

Newly added Logs tab provides easy way to preview of current and past jobs.  It also provides access to the files used to trigger bulk edit and files generated during the bulk edit.

This module uses S3 storage for files. AWS S3 and Minio Server are supported for files storage. It is also necessary to specify variable S3_IS_AWS to determine if AWS S3 is used as files storage. By default, this variable is false and means that MinIO server is used as storage. This value should be true if AWS S3 is used.

To stable module operating the following configuration is required: Java args -XX:MetaspaceSize=384m -XX:MaxMetaspaceSize=512m -Xmx2048m, AWS container: memory - 3072, memory (soft limit) - 2600, cpu - 1024.

For other environmental variables see README.md

For the module design see Bulk Operations Redesign

Removed Apps

Permissions Updates

AppNew PermissionsDeprecated PermissionsProduct Owner
Settings > Tenantui-tenant-settings.settings.location.view- "Settings (Tenant): View locations" - this will allow users to view the tenant location tree but be unable to create, update or delete institutions, campuses, libraries or locations
(OLD ACCOUNT) Erin Nettifee 
Data Import

In the UI permission named Settings (Data import): Can view, create, edit, and remove, these permissions were added

  • ui-orders.orders.view (to enable view of the JSON tab for created orders)
  • acquisitions-units.units.collection.get (to enable view and assignment of acquisitions units in the Order field mapping profile)
  • organizations.organizations.collection.get (to enable organization lookup and assignment in the Invoice and Order field mapping profile)

Ann-Marie Breaux (Deactivated) 

UIDATIMP-1376 - Getting issue details... STATUS

UIDATIMP-1381 - Getting issue details... STATUS

UIDATIMP-1375 - Getting issue details... STATUS

Data Import

mod-data-import

In mod-data-import module permissions, these permissions were added to enable creation of order field mapping profiles and creation of orders with PO prefixes and suffixes:

  • orders-storage.configuration.prefixes.collection.get
  • orders-storage.configuration.suffixes.collection.get

Ann-Marie Breaux (Deactivated) 

MODDATAIMP-791 - Getting issue details... STATUS

mod-source-record-manager

mod-data-import

After update of the create invoice flow, the permission set has been updated. In order to support these changes in invoice data import flow, the permission set in mod-data-source-manager was updated to add:

  • "orders-storage.order-invoice-relationships.item.post"
  • "finance-storage.budget-expense-classes.collection.get"
  • "finance.ledgers.collection.get"
  • "finance.funds.budget.item.get"
  • "finance-storage.fiscal-years.item.get"
  • "finance.fiscal-years.item.get"
  • "finance-storage.budgets.collection.get"
  • "finance.transactions.collection.get"
  • "finance.expense-classes.collection.get"
  • "finance.exchange-rate.item.get"

Ann-Marie Breaux (Deactivated) 

MODSOURMAN-930 - Getting issue details... STATUS

MODDATAIMP-757 - Getting issue details... STATUS

Bulk edit

Added permissions:

Bulk edit: Query - for the Query tab access

Bulk edit: Can view logs - for the Logs tab access



Magda Zacharska 

UIBULKED-164 - Getting issue details... STATUS

UIBULKED-156 - Getting issue details... STATUS

quickMARC

quickMARC: Can Link/unlink authority records to bib records 

UIQM-254 - Getting issue details... STATUS


Known Issues (will be resolved in a future release)

key summary type updated Potential Workaround Development Team status resolution Release
Loading...
Refresh

Post-Release Hotfixes and Patches

Critical Service Patch #1- RELEASED AT JUNE 8

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 T:
ERM Platform 1 1
mod-invoice 1 1
Total Unique Issues: 2 2
Showing 2 of 2 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-1

Critical Service Patch #2- RELEASED AT 26 JUNE

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 P2P2 T:
mod-di-converter-storage 0 1 1
mod-finance-storage 1 0 1
mod-permissions 0 1 1
ui-inventory 1 0 1
Total Unique Issues: 2 2 4
Showing 4 of 4 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-2

Critical Service Patch #3- RELEASED AT 18 JULY

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 P2P2 P3P3 T:
folio-kafka-wrapper-util 0 0 1 1
mod-circulation 1 0 0 1
mod-circulation-storage 1 0 0 1
mod-di-converter-storage 0 1 0 1
mod-source-record-manager 0 1 1 2
mod-source-record-storage 0 2 0 2
Total Unique Issues: 2 4 2 8
Showing 6 of 6 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-3

Critical Service Patch #4- RELEASED AT AUGUST 1

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 P2P2 P3P3 T:
data-import-processing-core 0 1 0 1
mod-circulation 0 1 0 1
mod-data-export-spring 1 0 0 1
mod-data-export-worker 1 0 0 1
mod-di-converter-storage 0 2 0 2
mod-inventory 2 1 0 3
mod-invoice 1 0 0 1
mod-orders 1 0 0 1
mod-remote-storage 1 0 0 1
mod-source-record-manager 0 1 0 1
ui-data-import 0 0 1 1
ui-inventory 1 1 0 2
Total Unique Issues: 8 7 1 16
Showing 12 of 12 statistics.
View in Jira

Release tag

 https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-4

Critical Service Patch #5- RELEASED AT AUGUST 17

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 P2P2 P3P3 T:
ERM Platform 1 0 0 1
mod-circulation 1 0 0 1
mod-inventory 0 1 0 1
mod-orders 0 1 0 1
mod-organizations-storage 0 0 1 1
mod-source-record-storage 0 4 0 4
ui-inventory 0 1 0 1
Total Unique Issues: 2 7 1 10
Showing 7 of 7 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-5

Critical Service Patch #6- TO BE RELEASED AT SEPTEMBER 29

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

Project Priority
P1P1 P2P2 T:
mod-inventory-storage 0 1 1
mod-source-record-storage 0 2 2
sip2 1 0 1
ui-inventory 1 1 2
Total Unique Issues: 2 4 6
Showing 4 of 4 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-6

Critical Service Patch #7- RELEASED AT DECEMBER 1

Approval Log

key summary priority
Loading...
Refresh

Tickets list

key summary type assignee priority resolution reporter
Loading...
Refresh

Modules list

ui-agreements

Project Priority
P1P1 P2P2 T:
ERM Platform 1 1 2
Total Unique Issues: 1 1 2
Showing 1 of 1 statistics.
View in Jira

Release tag

https://github.com/folio-org/platform-complete/releases/tag/R1-2023-csp-7

New Features

key summary type created updated due assignee reporter priority status resolution
Loading...
Refresh


New Features by Epic (Sub-Project)

Closed Bugs


All Closed Bugs and Stories


Remaining Open Bugs at Time of Release 


Support Period

Assuming the FOLIO support policy remains unchanged, Orchid will be supported with critical security and bug fixes until Quesnelia (R1 2024) release (around August 2024).

With the Orchid release Nolana has reached end of life and is no longer supported.