Reserves 5.19.0 Release Notes

Quorum Reserves 5.19.0 is now available. Notable changes and improvements in this release include:

  • Excel Integration Phase 1
  • Removal of the Forecast Module
  • Energy Components Integration Completion
  • New Update Data Option Control for Comments
  • Approval Updates
  • Installer Improvements
  • Bug fixes and Veracode fixes

Build Numbers

Reserves Build: PL5190_20250404_5.19.0.178677

CCM Build: CCM_20250331_1.0.0.178222

Centralized Configuration Manager (CCM) Farm Upgrades

There is a CCM farm upgrade available to support the new features in Reserves 5.19.0. If manually updating the CCM application, run the UpdateCCM.exe to upgrade your CCM farm. If using the Reserves Installer, the latest CCM farm will be automatically installed.

Database Upgrades

Since the Reserves 5.18.0 release, there are two migrations to the database necessary to support the new features in Reserves 5.19.0. Using the Reserves Installer, click the Update Schema button from the Database tab.

Excel Integration Phase 1

A new Integration for Excel has been added to pull cells and ranges into Reserves. Phase 1 of the integration covers connection and variable mappings like other integration configurations in Reserves. Phase 1 also uses the configurations via Loader Options and Loaders to move the Excel data into the mapped Staging tables in the database. Phase 1 ends at this point - once the data is in the staging tables, custom code would be required to move it into a Reserves Context and version. Phase 2 development will be covering the data movement into the Application Contexts.

Integration Configuration Settings

The Integration Settings contain a Resource File and Object Name cell reference.

Variable Mappings

Attribute variables are mapped as single cell references and Periodic variables are mapped as cell ranges.

Phase 1 mappings are limited to single Excel Sheets. Phase 2 is planned to handle multi-Sheet mappings.

Loader Option Control

The Loader Option Controls now have a new Type called “External ExcelLoader”. An Excel Configuration needs to be selected, and a Scripted Loader is needed to reference the control.

Loading to Stage tables

From the Load Data page, users select an Excel file to Upload, and the Load action brings the data into the Reserves staging database tables.

Forecast Module Removal

The Forecast Module artifacts, including the related CUE module, have been removed from the application. The module had stopped official support since May 31, 2024.

The removal has several benefits and reduces the overall application technical debt including points like:

  • Lowering the number of assemblies to maintain and secure
  • Streamlining the UI by reducing number of pages and menus
  • Streamlining the Database by reducing required tables
  • Reducing application diskspace
  • Increasing compile speeds leading to faster Dev and QA cycles

Database Update Required

Referenced in the Database Updates section, the removal of the Forecast Module requires a database update. Having a current database backup is always a recommended practice and especially important for this update.

Once the RemoveForecast database update is applied, the Installer Schema Manager Revert action will not be applicable.
Although the likelihood is low, there is a small risk to some custom legacy loaders and reports which may incidentally contain references to a Forecast module assembly. Contact Support if any issues are encountered.

Energy Components Integration Completion

The Reserves version 5.18.0 Energy Components integration covered Connection, Authentication, and Variable Mappings. The Integration has been completed in version 5.19.0 and now has all the elements required to move data across from the Energy Components API and into the Reserves database staging tables. Like other integration types, it uses the Integration configurations via Loader Options and Loaders to move the data across.

Integration Configuration Settings include Loader Hierarchy

The Integration Settings have been expanded to contain the hierarchy definition used in the Loader’s object selection tree.

Variable Mappings

The Attribute and Periodic variables are mapped as references to the selected Data Class from the main Settings.

Loader Option Control

The Loader Option Controls now have a new Type called “External EnergyCompLoader”. An Energy Component Configuration needs to be selected, and a Scripted Loader is needed to reference the control.

Loading to Stage tables

From the Load Data page, users select Energy Component Objects to load from the Loader Hierarchy, and the Load action brings the data into the Reserves staging db tables.

New Update Data Option Control Improvements

The Update Data Option Controls have been expanded to include a new Control for Comments. The Controls have also been expanded to include the capability of clearing previously saved values

New Comment Control Settings

Like the other Update Data Option Controls, the configuration for the Comment Control is defined on the Configuration->Settings->Settings page. The Definition can contain up to 5 parameters:

  1. The Control Label / Database Attribute which may or may not exist in DB
  2. The Control Type (CommentBox)
  3. The Default Value
  4. The Overwrite Flag, which if set to true, will cause the default value to be set
  5. The Max Character length of the comment that the user can enter
Parameters 1 and 2 must exist.

New Comment Control Display

Once configured for the Updater, the Comment Control displays on the Reporting->Data->Update Data page.

Other Control Improvements

The Controls will now allow users to clear a previously set value and control Validation has moved to the Control Label.

Approval Updates

There have been two main improvements made to Approvals in version 5.19.0.

Approval html report files moved to database

Previously the Approval Report html files were imported and saved as files on the Web server. Now when importing, the files will be written to the database. There is one Database Update to apply for this change as noted in the Database Updates section. Moving to database storage is a deployment improvement streamlining updates and installs. There were no UI changes needed for the change, and users can access the Approval Report Import/Export pages under Approval Configuration.

Supporting Tech update to HttpClient

There have been reported high usage instabilities while performing Approvals. The issue stems from the original implementation of a library called HttpClient that handles request and response connections on the web server. That implementation opens a new connection, or socket, for every request - which is unnoticeable during lower usage. Unfortunately, during high usage, this eventually overwhelms the connection pool leading to instability. Error messages like "Unable to connect to the remote server" and "SocketException" are noticeable in the logs.

Changes have now been made to the implementation of HttpClient using a more modern and documented pattern of reuse. Code testing simulations show that minimal connections are established and then reused which results in stable connection management. These changes should greatly reduce or outright eliminate any high usage instability.

Installer Improvements

  • Reserves Installer - Agent Service Startup - times out in slow environments
  • Command Line standalone agent not copying farm

Issues Resolved 5.19.0

Issue ID

Description

313277

Custom Action Reports - Character Counter not working when email notifications are not included

312985

Reporting->Reconciliation->Resource Editor - slow to load objects containing Change Records

328781

504 Error - Okta Authentication

325805

Approvals - Update ResultSet SDK to optimize HttpClient use

325806

Approvals - Update SecurityService SDK to optimize HttpClient use

333849

Updater Controls - set an existing value to null