Quesnelia (R1 2024) Changes and required actions
NOTE: Please do not merge cells in this table as it prevents sorting which is useful for navigating the table
Functional Area | Change or Additions | Considerations | Action timing, | Comments | Contact person, |
---|---|---|---|---|---|
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 | 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 person | User name of person that can provide additional detail. |
Authorities | Authority deletion moves authority records to the archive and marks MARC authorities as DELETED. By default, the retention policy for archived authorities is deletion after 7 days. |
| runtime Optional |
| @Pavlo Smahin @Khalilah Gambrell |
Settings > Circulation > Fee/fine > Overdue fine policies. Reminder Fees | Enhancement of the business logic for scheduling Reminder fees is implemented. Possible to set up and send reminders to patrons via as printed mails. |
| The print jobs are running once every 24 hours. This is set in the Okapi timer. | Access via the Users app to the Patron notice print jobs. Two new user permissions has been introduced
| @Charlotte Whitt @Florian Ruckelshausen |
Users (Profile Pictures) | When enabled Profile pictures can be attached to user records, either with a link to an externally hosted image, or by uploading a local file. Images are stored in the database by default, but can be configured to use Object storage. Supported file formats: jpg, jpeg, png To enable profile pictures functionality, set the maximum allowed file size, and for details on configuring Object storage, follow the instructions included in the mod-users readme documentation. |
| runtime Optional |
| @Amelia Sutton UXPROD-36: Profile picturesClosed |
Search, Inventory | To make mod-search consume all types of changes for instances, holdings, items, and changes related to bound-with functionality it has a consumer with a default Kafka topic pattern: (${ENV}\.)(.*\.)inventory\.(instance|holdings-record|item|bound-with) | If the library requires the default behavior of mod-search, please ensure that the KAFKA_EVENTS_CONSUMER_PATTERN is either omitted from the environment variables or is set to the same value as the default pattern. |
|
| @Pavlo Smahin |
Acquisitions | This is only relevant for people directly using the mod-finance or mod-finance-storage transaction API. | Replace deprecated calls if needed, before Ramsons. |
| @Damien UXPROD-4321 | |
Acquisitions (Organizations) | Added Banking information as a separately permissioned component of the Organization record (vendor only.) Includes bank name, account number, transit number, account type and notes. Added Setting to enable/disable banking information Added Setting to configure banking account types | Address type references a category as entered in the “Addresses” fields of the Organization record. |
|
| @Joseph Reimers |
Acquisitions/Finance | Designate an Organization as a Donor. Associate Donor organizations with funds and POLs Added Privileged donor information as a separately-permissioned contact record for tracking sensitive donor contact info. |
| “Donor” field in the POL is no longer editable as of the Quesnelia release. The field will be removed in its entirety in a future (2025) release. Libraries will need to create Organization records with the desired donor information if they wish to retain that info beyond 2025. | The Donor accordion is modular and can be incorporated into non-Acquisitions areas as well. | @Joseph Reimers |
Finance | Option to associate funds with one or more specific locations without requiring acquisition units at the point of ordering. A new multiselect location search interface was created to support this. | Validation occurs only at the fund assignment level on the POL. There is no validation at the invoice level. May potentially act in lieu of acquisition units under certain circumstances. |
|
| @Joseph Reimers |
Data export | Data export temporary uses file system to prepare export result before upload to remote storage (after file is uploaded it’s removed from local file system). |
| Make sure that there is enough space locally before file is uploaded to remote storage (S3/minio). | For AWS ECS it’s not a case as instances usually have big volume and module have access to shared space (bugfest case - no actions were required). | |
Data export | This is only relevant for libraries that custom scripts to export inventory data. In Quesnelia, Imod-data-export migrated from RMB to to spring and two contracts in API calls have been modified:
|
| Re-test existing scripts against Quesnelia version of mod-data-export to ensure no updates are needed |
| @Viachaslau Khandramai |
Requests, Staff slips |
|
|
|
| @Anne Ekblad |
Lists | There is now a check that, by default, runs at mod-lists’s start-up to verify that S3/MinIO is accessible since this isn’t immediately obvious and may not be noticed for a while. If this check fails, the module will exit immediately. |
| If S3/MinIO are not available or list export functionality is not required, this check can be disabled by setting the environment variable (or system property) |
| @Matt Weaver |
Inventory (mod-inventory-storage) | Make default reference inventory data consistent, meaning that the same UUIDs values that are returned in inventory settings are used in populating inventory records. For example, if cancelled LCCN has following values defined: {
"id": "c858e4f2-2b6b-4385-842b-60532ee34abb",
"name": "Cancelled LCCN",
"source": "folio"
} Then the same “id” and “name” values need to be used in all places that reference that data.
|
| This can be done before and after the upgrade. | The referenced data identifiers and values are used, among others, in the data export default mapping profile, uploaded instance identifier types and default mapping rules ( https://github.com/folio-org/mod-data-export/blob/master/src/main/resources/rules/rulesDefault.json ) and they must be consistent with inventory storage repository: https://github.com/folio-org/mod-inventory-storage/tree/master/reference-data/identifier-types | @Siarhei Charniak MODINVSTOR-1200: Actionable manual migration instruction for identifier typesClosed MODINVSTOR-1201: Automate manual migration instruction for identifier typesClosed |
Agreements Local KB | The default This change affects any systems populating the local knowledgebase from any source. | The use of the However it can also result in duplication of titles where many different data sources are used to populate the local KB, making searching titles harder and making some functionality (e.g. ERM Comparisons) less useful. So if a tenant is using many different data sources to populate the local KB it may be advisable to continue to use the previous | If tenants are happy to use this new default, which is recommended, no additional actions are required. Any tenants wishing to use the previous default (
This should be done before any data is added to the Local KB either by file import or by harvest |
| @Owen Stephens ERM-3018: Implement GOKb Title UUID as primary match ID where availableClosed |
Inventory, SRS, Data import | Default MARC-Instance mapping of 100, 111, and 110 fields updated by marking subfield $a of these rules as required subfield | Libraries should review and decide:
| After upgrade follow the instructions to update the mapping rules. Change is optional. |
| @Ryan Taylor, @Kateryna Senchenko MODSOURMAN-1085: MARC record with a 100 tag without a $a is being discarded on import.Closed |
Data Import Job Profiles | Modify action used as a standalone action or a first action after the match is not supported |
| Run script to identify Job Profiles that need to be reviewed and corrected. | More technical info on supported scenarios using Modify action can be found by the link | @Ryan Taylor, @Kateryna Senchenko UXPROD-4709: Refine processing of Modify action for MARC Bib recordsClosed |
FQM/Lists app | Added new record types:
| Repeating fields can be queried via FQM but not via the Lists app (yet). |
| Organizations are split into different views based on the nature of the data required. | @Kathleen Moore @Khalilah Gambrell @Joseph Reimers |
Settings > Service interaction > number generators |
| If number generators will be used loading reference data should be considered (mod-service-interaction). |
|
| @Martina Tumulla |
Password reset link (mod-users-bl) | Token in the reset password link expires early. | Ensure that mod-users-bl’s | Before or after upgrade |
| @Steve Ellis , @Julian Ladisch MODUSERBL-185: RESET_PASSWORD_* values may conflict with mod-authtoken configurationClosed |
Circulation Storage | Migration from Poppy to Quenselia resets reference data: https://github.com/folio-org/mod-circulation-storage/tree/v17.2.0/reference-data | Other modules don’t touch existing reference data when migrating with parameter loadReference = true, but mod-circulation-storage does. | If library has changed any reference data and migrates using loadReference = true: Make a backup of reference data (cancellation-reasons, circulation-rules-storage, loan-policies, patron-notice-policies, request-policies, staff-slips) before migration and restore afterwards. |
| @Stephanie Buck CIRCSTORE-496: Upgrading tenant resets reference and sample recordsClosed |
Orders Storage | Migration from Poppy to Quesnelia resets reference data: Only the records listed in the directories above are affected, other custum closure reasons and custom aquisition methods are unaffected. | Other modules don’t touch existing reference data when migrating with parameter loadReference = true, but mod-orders-storage does. | If you have deleted official reference data: Delete it again after the migration. If you have kept the reference data with the official id but changed the name: Back up before migration and restore afterwards. |
| |
Agreements | GIN indexes introduced in Poppy and Quesnalia were basic GIN indexes. This can cause issues when free text fields are filled with sufficiently large data, thanks to Postgres index keying behaviour. With Quesnelia CSP 4 new migrations are added to implement n-gram GIN indexes that don’t suffer from the same limitation | This impacts only where you have very long strings in a free text field. Specifically we have seen this in the agreement description field. If you have already got text that is too long for the index key to be created, this will prevent migration to Quesnelia. If you haven’t got text that is too long, then migration will work fine, but you will find the text you can enter into the field is limited by the max index key length until the fix is applied | Existing GIN indexes affected need to be removed manually before applying CSP4 After CSP4 applied, check the migrations ,have created the indexes The impacted cols/indexes are
Introduced in Quesnalia:
|
| @Ethan Freestone |
Functional Area | Change or Additions | Considerations | Action timing, | Comments | Contact person, |
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 | 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 person | User name of person that can provide additional detail. |
Authorities | Authority deletion moves authority records to the archive and marks MARC authorities as DELETED. By default, the retention policy for archived authorities is deletion after 7 days. |
| runtime Optional |
| @Pavlo Smahin@Khalilah Gambrell |
Settings > Circulation > Fee/fine > Overdue fine policies. Reminder Fees | Enhancement of the business logic for scheduling Reminder fees is implemented. Possible to set up and send reminders to patrons via as printed mails. |
| The print jobs are running once every 24 hours. This is set in the Okapi timer. | Access via the Users app to the Patron notice print jobs. Two new user permissions has been introduced
| @Charlotte Whitt@Florian Ruckelshausen |
Users (Profile Pictures) | When enabled Profile pictures can be attached to user records, either with a link to an externally hosted image, or by uploading a local file. Images are stored in the database by default, but can be configured to use Object storage. Supported file formats: jpg, jpeg, png To enable profile pictures functionality, set the maximum allowed file size, and for details on configuring Object storage, follow the instructions included in the mod-users readme documentation. |
| runtime Optional |
| @Amelia SuttonUXPROD-36: Profile picturesClosed |
Search, Inventory | To make mod-search consume all types of changes for instances, holdings, items, and changes related to bound-with functionality it has a consumer with a default Kafka topic pattern: (${ENV}\.)(.*\.)inventory\.(instance|holdings-record|item|bound-with) | If the library requires the default behavior of mod-search, please ensure that the KAFKA_EVENTS_CONSUMER_PATTERN is either omitted from the environment variables or is set to the same value as the default pattern. |
|
| @Pavlo Smahin |
Acquisitions | This is only relevant for people directly using the mod-finance or mod-finance-storage transaction API. | Replace deprecated calls if needed, before Ramsons. |
| @DamienUXPROD-4321 | |
Acquisitions (Organizations) | Added Banking information as a separately permissioned component of the Organization record (vendor only.) Includes bank name, account number, transit number, account type and notes. Added Setting to enable/disable banking information Added Setting to configure banking account types | Address type references a category as entered in the “Addresses” fields of the Organization record. |
|
| @Joseph Reimers |
Acquisitions/Finance | Designate an Organization as a Donor. Associate Donor organizations with funds and POLs Added Privileged donor information as a separately-permissioned contact record for tracking sensitive donor contact info. |
| “Donor” field in the POL is no longer editable as of the Quesnelia release. The field will be removed in its entirety in a future (2025) release. Libraries will need to create Organization records with the desired donor information if they wish to retain that info beyond 2025. | The Donor accordion is modular and can be incorporated into non-Acquisitions areas as well. | @Joseph Reimers |
Finance | Option to associate funds with one or more specific locations without requiring acquisition units at the point of ordering. A new multiselect location search interface was created to support this. | Validation occurs only at the fund assignment level on the POL. There is no validation at the invoice level. May potentially act in lieu of acquisition units under certain circumstances. |
|
| @Joseph Reimers |
Data export | Data export temporary uses file system to prepare export result before upload to remote storage (after file is uploaded it’s removed from local file system). |
| Make sure that there is enough space locally before file is uploaded to remote storage (S3/minio). | For AWS ECS it’s not a case as instances usually have big volume and module have access to shared space (bugfest case - no actions were required). | |
Data export | This is only relevant for libraries that custom scripts to export inventory data. In Quesnelia, Imod-data-export migrated from RMB to to spring and two contracts in API calls have been modified:
|
| Re-test existing scripts against Quesnelia version of mod-data-export to ensure no updates are needed |
| @Viachaslau Khandramai |
Requests, Staff slips |
|
|
|
| @Anne Ekblad |
Lists | There is now a check that, by default, runs at mod-lists’s start-up to verify that S3/MinIO is accessible since this isn’t immediately obvious and may not be noticed for a while. If this check fails, the module will exit immediately. |
| If S3/MinIO are not available or list export functionality is not required, this check can be disabled by setting the environment variable (or system property) |
| @Matt Weaver |
Inventory (mod-inventory-storage) | Make default reference inventory data consistent, meaning that the same UUIDs values that are returned in inventory settings are used in populating inventory records. For example, if cancelled LCCN has following values defined: {
"id": "c858e4f2-2b6b-4385-842b-60532ee34abb",
"name": "Cancelled LCCN",
"source": "folio"
} Then the same “id” and “name” values need to be used in all places that reference that data.
|
| This can be done before and after the upgrade. | The referenced data identifiers and values are used, among others, in the data export default mapping profile, uploaded instance identifier types and default mapping rules ( https://github.com/folio-org/mod-data-export/blob/master/src/main/resources/rules/rulesDefault.json) and they must be consistent with inventory storage repository: https://github.com/folio-org/mod-inventory-storage/tree/master/reference-data/identifier-types | @Siarhei Charniak MODINVSTOR-1200: Actionable manual migration instruction for identifier typesClosed MODINVSTOR-1201: Automate manual migration instruction for identifier typesClosed |
Agreements Local KB | The default This change affects any systems populating the local knowledgebase from any source. | The use of the However it can also result in duplication of titles where many different data sources are used to populate the local KB, making searching titles harder and making some functionality (e.g. ERM Comparisons) less useful. So if a tenant is using many different data sources to populate the local KB it may be advisable to continue to use the previous | If tenants are happy to use this new default, which is recommended, no additional actions are required. Any tenants wishing to use the previous default (
This should be done before any data is added to the Local KB either by file import or by harvest |
| @Owen Stephens ERM-3018: Implement GOKb Title UUID as primary match ID where availableClosed |
Inventory, SRS, Data import | Default MARC-Instance mapping of 100, 111, and 110 fields updated by marking subfield $a of these rules as required subfield | Libraries should review and decide:
| After upgrade follow the instructions to update the mapping rules. Change is optional. |
| @Ryan Taylor, @Kateryna Senchenko MODSOURMAN-1085: MARC record with a 100 tag without a $a is being discarded on import.Closed |
Data Import Job Profiles | Modify action used as a standalone action or a first action after the match is not supported |
| Run script to identify Job Profiles that need to be reviewed and corrected. | More technical info on supported scenarios using Modify action can be found by the link | @Ryan Taylor, @Kateryna Senchenko UXPROD-4709: Refine processing of Modify action for MARC Bib recordsClosed |
FQM/Lists app | Added new record types:
| Repeating fields can be queried via FQM but not via the Lists app (yet). |
| Organizations are split into different views based on the nature of the data required. | @Kathleen Moore @Khalilah Gambrell @Joseph Reimers |
Settings > Service interaction > number generators |
| If number generators will be used loading reference data should be considered (mod-service-interaction). |
|
| @Martina Tumulla |
Password reset link (mod-users-bl) | Token in the reset password link expires early. | Ensure that mod-users-bl’s | Before or after upgrade |
| @Steve Ellis, @Julian Ladisch MODUSERBL-185: RESET_PASSWORD_* values may conflict with mod-authtoken configurationClosed |
Circulation Storage | Migration from Poppy to Quenselia resets reference data: https://github.com/folio-org/mod-circulation-storage/tree/v17.2.0/reference-data | Other modules don’t touch existing reference data when migrating with parameter loadReference = true, but mod-circulation-storage does. | If library has changed any reference data and migrates using loadReference = true: Make a backup of reference data (cancellation-reasons, circulation-rules-storage, loan-policies, patron-notice-policies, request-policies, staff-slips) before migration and restore afterwards. |
| @Stephanie BuckCIRCSTORE-496: Upgrading tenant resets reference and sample recordsClosed |
Orders Storage | Migration from Poppy to Quesnelia resets reference data: Only the records listed in the directories above are affected, other custum closure reasons and custom aquisition methods are unaffected. | Other modules don’t touch existing reference data when migrating with parameter loadReference = true, but mod-orders-storage does. | If you have deleted official reference data: Delete it again after the migration. If you have kept the reference data with the official id but changed the name: Back up before migration and restore afterwards. |
| |
Licenses | GIN indexes introduced in Quesnalia (mod-licenses 6.0.0) were basic GIN indexes. This can cause issues when free text fields are filled with sufficiently large data, thanks to Postgres index keying behaviour. With Quesnelia CSP 6 new migrations are added to implement n-gram GIN indexes that don’t suffer from the same limitation | This impacts only where you have very long strings in a free text field. Specifically we have seen this in the license description field. If you have already got text that is too long for the index key to be created, this will prevent migration to Quesnelia / mod-licenses 6.x.x If you haven’t got text that is too long, then migration will work fine, but you will find the text you can enter into the field is limited by the max index key length until the fix is applied | Existing GIN indexes affected need to be removed manually before applying CSP6 / mod-licenses 6.0.4 After CSP6 / mod-licenses 6.0.4 applied, check the migrations ,have created the indexes The impacted cols/indexes are Affected indexes:
|
| @Ethan Freestone |