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


Action timing,
Action required


Contact person,
Related JIRAs

Functional Area

Change or Additions


Action timing,
Action required


Contact person,
Related JIRAs

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.
Include issue link for bug fix, story or feature that applies


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.
To enable tenants to have specific retention periods for authority archives, it's necessary to add a configuration in mod-settings. Details how to set the configuration is provided in module documentation.





@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

  • Users: View and remove patron notice print jobs

  • Users: View patron notice print jobs

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





@Amelia Sutton https://folio-org.atlassian.net/browse/UXPROD-36

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:

This pattern could be changed by setting KAFKA_EVENTS_CONSUMER_PATTERN environment variable.

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


See “Quesnelia changes to the transaction API“.

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



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



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).
E.g. 8M records require ~14GB

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:

  1. /data-export/quick-export “fileName” property in the request is no longer used.

  2. /data-export/job-executions: “Progress” property in the response contains now following fields: "exported", "failed", "duplicatedSrs", "total", "readIds".



Re-test existing scripts against Quesnelia version of mod-data-export to ensure no updates are needed


@Viachaslau Khandramai


Requests, Staff slips

  • New, optional Staff slip called "Search slip (Hold requests)".

  • For Requests meeting the following criteria: is Hold (item level) and is Open – Not yet filled, libraries will be able to print Requests in order for staff members to check libraries shelves for copies that can fill the request.

  • Libraries decide whether to use the new Staff slip in Settings > Circulation > Staff slips > Search slip (Hold requests).

  • For libraries using the functionality, Staff users will print Search slips in the Requests app. by selecting Actions > Print search slips for [insert service point here]. The report generates a single slip for every qualified Hold request.




@Anne Ekblad



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) mod-lists.list-export.s3-startup-check.enabled to false before starting the module.


@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 ( ) and they must be consistent with inventory storage repository:

@Siarhei Charniak

Agreements Local KB

The default titleInstanceResolverService  has been changed to WorkSourceIdentifier

This change affects any systems populating the local knowledgebase from any source.

The use of the WorkSourceIdentifier titleInstanceResolverService  is now recommended and can result in both improved performance and more consistency between the local KB and any external data source used.

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 titleInstanceResolverService 

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 (IdFirst ) will need to set the environment variable:

TIRS = IdFirst

This should be done before any data is added to the Local KB either by file import or by harvest


@Owen Stephens

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: 

  1. If this change should be applied to their default mapping

After upgrade follow the instructions to update the mapping rules.

Change is optional.


@Ryan Taylor, @Kateryna Senchenko

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

FQM/Lists app

Added new record types:

  • Instances

  • Holdings

  • Organizations (contact info)

  • Organizations (vendor info)

  • Purchase order lines

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