Release notes

For user-facing changes, refer to the What’s New page. For information on upgrading from previous versions, see the Atoti Limits Migration Notes

3.0.0

2023-08-04

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Sample bookmarks
  • Maven repository required to build the project and run the tests. The Atoti Server 6.0.5 Maven repository files can be downloaded from here

Summary

  • Enhanced audit trail: Enhanced the limit audit trail to include the before and after values when an edit has been performed.
  • On-demand limit evaluations: Users can re-evaluate limits on-demand, at both the limit structure level and the limit level. See the On-demand limit evaluation section.
  • UI Evaluation: Evaluating limit structures and re-evaluating limits can now be done in the UI.
  • Restricted Scopes: The new restrictedScopes UI setting has been added, which lets you exclude certain scopes from appearing in the scope selector when adding a new limit.
  • Complex Scopes: Complex scopes have been added, providing more flexibility when scoping limits. Note that some of the features are still BETA features.
    See the Complex Scopes and the Known Issues for more details.
  • Updated Atoti Server and Spring Boot dependency versions: Updated the version of Atoti Server that Atoti Limits runs on to 6.0.5 and Spring Boot version to 2.7.11.

Known issues

Issue Key Details
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-846 Complex Scopes: Currently, a limit with an aggregated scope and a limit with a non-aggregated scope cannot be created on the same limit structure. As a workaround, create the limits on two separate structures.
LIM-840 Complex Scopes: Currently, limits can’t be defined with an aggregated scope location and another scope location. As a workaround, create two separate limits on two separate structures.
LIM-815 Limit structures loaded without any corresponding limits causes the load to fail. As a workaround, add a limit for the limit structure.
LIM-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.

Dependency versions

Component Version
Atoti Server 6.0.5
Atoti UI 5.1.x
Data Connectors 4.0.1-AP6.0
Java JDK11
UI Components 5.0.23
What-If 1.6.0

warning

Unlike other solutions or modules, Atoti Limits requires Atoti UI version 5.1.2 or higher.

Added

Issue Key Details
BAS-1204 Added support for “IN” filters in Scope.
BAS-1369 Added new UI setting restrictedScopes that allows scopes to be restricted when adding a new limit.
LIM-557 Updated Atoti Limits to use Atoti Server 6.0.5
LIM-613 Old and new values are now included in the Audit log.
LIM-784 Added endpoints for on-demand limit evaluation.
LIM-788 Added support for not equal to scope statements.
LIM-819 The UI now reflects whether the Add button in the Inventory screen is enabled or disabled depending on user and limit structure privileges.
UIACL-518 Limit evaluations can now be triggered from the UI.

Changed

Issue Key Details
LIM-762 An incident’s exception workflow is now triggered when loading incidents from a CSV file.

Fixed

Issue Key Details
BAS-1354 Fixed bug where fields with characters that should have been escaped were not escaped on download.
LIM-777 Fixed bug where managers could incorrectly initiate edits.
LIM-786 Fixed bug where limit structures with multiple scopes were not created correctly on file upload through REST.
LIM-810 Fixed bug where file upload via REST failed when a Limit’s non-required key fields were not defined.
LIM-816 Fixed bug where a comma in a field resulted in improperly formatted CSV download.
LIM-845 Fixed bug where the limit structure’s comment was being passed through the workflow instead of the approval/rejection comment.

2.0.1-ui-update-2

2023-08-01

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build

note

No server-side changes were made. See the Atoti Limits 2.0.1 release notes below for the latest server-side distribution files.

Summary

This is a UI-only release that allows you to exclude values from the Limit Scope dropdown when creating limits.

warning

This version of Atoti Limits can only be used with Business Cubes that are on Atoti UI 5.1.x.

Added

Issue Key Details
BAS-1369 Exclude values from Scope dropdown.

Known issues

Issue Key Details
LIM-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-786 Limit structures with multiple scopes are not created correctly on file upload through REST". As a workaround, use the UI or the initial file upload to create limit structures with multiple scopes.
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-777 Managers can incorrectly edit limits.
LIM-762 The DLC does not initiate the workflow when incidents are loaded from a file on startup. As a workaround, old alert files can be deleted or moved to a folder that does not match the pattern alerts.definitions.file.path.matcher, which defaults to alert.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.

Dependency versions

Component Version
Atoti Server 5.10.9
Atoti UI 5.1.x
Data Connectors 2.2.2
Java JDK11
UI Components 5.0.22
What-If 1.6.0

2.0.1-ui-update-1


2023-06-16

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build

note

No server-side changes were made. See the Atoti Limits 2.0.1 release notes below for the latest server-side distribution files.

Summary

This is a UI-only release that makes Atoti Limits compatible with Atoti UI version 5.1.0 or higher.

warning

This version of Atoti Limits can only be used with Business Cubes that are on Atoti UI 5.1.x.

Known issues

Issue Key Details
LIM-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-786 Limit structures with multiple scopes are not created correctly on file upload through REST". As a workaround, use the UI or the initial file upload to create limit structures with multiple scopes.
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-777 Managers can incorrectly edit limits.
LIM-762 The DLC does not initiate the workflow when incidents are loaded from a file on startup. As a workaround, old alert files can be deleted or moved to a folder that does not match the pattern alerts.definitions.file.path.matcher, which defaults to alert.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.

Dependency versions

Component Version
Atoti Server 5.10.9
Atoti UI 5.1.x
Data Connectors 2.2.2
Java JDK11
UI Components 5.0.22
What-If 1.6.0

2.0.1

2023-06-07

Download the distribution files here

You can download the following zipped distribution files:

  • Source files to build the module
  • Maven repository required to build the project and run the tests. The Atoti Server 5.10.9 Maven repository files can be downloaded from here

note

No UI changes were made. See the Atoti Limits 2.0.1-ui-update-1 release notes below for the latest UI distribution files.

Summary

  • Bug Fix: Limit keys generated for loaded data were not consistent with the ones created in the UI.
  • Artifact Rename: The Atoti Limits parent pom artifact is now called limits-parent, which limits-activeviam and limits-starter extend.

Known issues

Issue Key Details
LIM-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-786 Limit structures with multiple scopes are not created correctly on file upload through REST". As a workaround, use the UI or the initial file upload to create limit structures with multiple scopes.
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-777 Managers can incorrectly edit limits.
LIM-762 The DLC does not initiate the workflow when incidents are loaded from a file on startup. As a workaround, old alert files can be deleted or moved to a folder that does not match the pattern alerts.definitions.file.path.matcher, which defaults to alert.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.

Dependency versions

Component Version
Accelerator-sdk 5.0.21
Atoti Server 5.10.9
Atoti UI 5.0.23
Data Connectors 2.2.2
Java JDK11
What-If 1.6.0

Added

Changed

Fixed

Issue Key Details
BAS-1344 Inconsistent Limit Keys generated for loaded data and those created in the UI.

2.0.0-ui-update-1

2023-05-31

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build

note

No server-side changes were made. See the Atoti Limits 2.0.0 release notes below for the latest server-side distribution files.

Summary

  • UI Performance Improvements: Creating limits for scopes for very large cardinalities (>10000) now works as expected.

Known issues

Issue Key Details
LIM-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
LIM-786 Limit structures with multiple scopes are not created correctly on file upload through REST". As a workaround, use the UI or the initial file upload to create limit structures with multiple scopes.
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-777 Managers can incorrectly edit limits.
LIM-762 The DLC does not initiate the workflow when incidents are loaded from a file on startup. As a workaround, old alert files can be deleted or moved to a folder that does not match the pattern alerts.definitions.file.path.matcher, which defaults to alert.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-357 The Six Eyes workflow is currently not implemented.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.

Dependency versions

Component Version
Accelerator-sdk 5.0.21
Atoti Server 5.10.9
Atoti UI 5.0.23
Data Connectors 2.2.2
Java JDK11
What-If 1.6.0

Fixed

Issue Key Details
BAS-1336 Limits the member dropdown to 1000 members for a given scope when creating a limit and performs a fetch on searching.

2.0.0

2023-05-16

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Sample bookmarks
  • Maven repository required to build the project and run the tests. The Atoti Server 5.10.9 Maven repository files can be downloaded from here

Summary

  • Temporary Limits: The ability to evaluate a temporary limit is now available.
  • Redesigned UI: Limits Inventory and Breaches screen, Limits menu in top navigation bar.
  • Updated REST endpoints : REST endpoints have been updated from v1 to v2, and all Limits REST endpoints will be prefixed by /limits/rest/v2/

Known issues

Issue Key Details
LIM-786 Limit structures with multiple scopes are not created correctly on file upload through REST". As a workaround, use the UI or the initial file upload to create limit structures with multiple scopes.
BAS-1330 Deleting the last limit value deletes the limit structure. As a workaround, don’t delete all limits on a limit structure unless you are sure that the structure won’t be used again. Alternatively, if you do need to reuse the structure, you can create a limit on it using the endpoint /modules/limits-module/limits/rest/v2/limitDefinition/limits/save. The key of the limit structure will still be visible in the admin-ui.
LIM-777 Managers can incorrectly edit limits.
LIM-762 The DLC does not initiate the workflow when incidents are loaded from a file on startup. As a workaround, old alert files can be deleted or moved to a folder that does not match the pattern alerts.definitions.file.path.matcher, which defaults to alert.
LIM-749 You can incorrectly set temporary limits on unapproved/initialized limits.
LIM-740 Evaluating a limit structure that has only expired definitions or definitions with no data results in an error.
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-438 Currently, File Upload only works fully for users with the ‘ROLE_USERS’ role.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.
LIM-312 The Six Eyes workflow is currently not implemented.

Dependency versions

Component Version
Accelerator-sdk 5.0.21
Atoti Server 5.10.9
Atoti UI 5.0.23
Data Connectors 2.2.2
Java JDK11
What-If 1.6.0

Added

Issue Key Details
LIM-624 Added a performance enhancement to reduce the number of REST calls sent when retrieving calculated measures.
LIM-649 Added a property limit.evaluation.query.timeout to let the user specify an MDX query timeout in seconds for Limit evaluation queries
LIM-660 Bundled the Atoti Admin UI webjars with the limits-starter module. The Admin UI is available at {base.url}/admin/ui/index.html
LIM-661 Updated all Limits endpoints to be visible on Swagger. API docs are available at {base.url}/swagger-ui/index.html
LIM-717 Added a REST endpoint to evaluate all Limits in the datastore. See On-Demand Limits Evaluation
LIM-712 Added support for multiple Atoti solutions to connect to Limits. Added REST endpoint to change the Limits cube AsOfDate.

Changed

Issue Key Details
LIM-627 Atoti Limits queries the IDataExportService instead of the IExportService for connecting with Atoti Server 6.0.2 and higher.
LIM-634 Updated the /export and /upload endpoints and corresponding ETL to load data updated data model.

Fixed

Issue Key Details
LIM-610 Improved error handling to the UI by returning a specific and targeted message.
LIM-619 Fixed bug where a KPI couldn’t be created on a cube with a space in its name, such as ‘Sensitivity Cube’.
LIM-625 Fixed a bug where a KPIs were not being correctly refreshed on load.
LIM-640 MDX generated by evaluation endpoint resulted in an exception when the level member didn’t exist
LIM-643 MDX default members for non-slicing hierarchies are not excluded when explicit scope matching is enabled.
LIM-644 When evaluating a Limit and the status is null, now a warning is logged instead of throwing an exception.
LIM-743 Breaching limits with a wildcard didn’t display the location breached.
LIM-755 Fixed the active measure used to create Limit KPIs for Calculated Measures as required by AP6.0 post processors.

1.1.0

2023-01-12

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Sample bookmarks
  • Maven repository required to build the project and run the tests. The ActiveViam 5.10.9 Maven repository files can be downloaded from here

Summary

  • Email notifications: The Limits Module can be configured to send an email when a breach occurs. See Configuring breach email notifications for details.
  • Auto-Configuration: The Active Pivot server can now auto-configure itself for Limits to connect. See Auto-configuration.
  • View Utilizations context menu action: A new context menu action has been added that lets you view the utilization of limits from a pivot table. This is helpful when investigating exceptions. The feature works on all pivot tables in the Limits project, including the Limits Inventory widget. See View Utilizations for details.
  • Copy action: Limits can now be duplicated in the Limits Inventory. For more information, see Copy a limit.
  • Swagger UI is available at {base.url}/swagger-ui/index.html. This will display some REST endpoints exposed by the Limits server. It can be enabled/disabled by setting property swagger.enable to true/false.

Known issues

Issue Key Details
LIM-594 Having email notifications enabled for breaches causes decreased limit evaluation performance. See Configuring the breach email on how to disable breach emails.
LIM-501 The Limits Inventory widget loads more columns than are needed. This is a usability issue and doesn’t impair any functionality.
LIM-462 If a single limit definition applies to multiple locations, the Exception tab will only show the last breach. For example, if a wildcard limit has breaches on two locations, only the measure value of the last breach is displayed in the tab.
LIM-438 Currently, File Upload only works fully for users with the ‘ROLE_USERS’ role.
LIM-401 File Upload results in a JSON parsing error when the same file is selected more than one time. As a workaround, add another Limit Inventory widget onto your dashboard and upload the same file.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.
LIM-312 The Six Eyes workflow is currently not implemented.

note

Limits 1.1.0 is not compatible with ActivePivot 6.0.1.

Dependency versions

Component Version
ActivePivot 5.10.9
ActiveUI 5.0.18
Data Connectors 2.2.2-AP5.10
Java JDK11
Accelerator-sdk 5.0.15

Added

Issue Key Details
LIM-460 Limits can now be copied using the Copy action.
LIM-475 You can now set a unique cookie name when connecting multiple accelerators. If not set, the default cookie name is used (LIM_JSESSIONID).
LIM-502 Added new context menu action to allow users to view the utilization of limits from a pivot table. This feature works on all pivot tables in the Limits project, including the Limits Inventory widget.
LIM-506 Added breached email notifications in the exception workflow. The Limits Module now sends an email when a breach occurs.
LIM-544 Added a LimitsAutoConfigBean that can be imported by an ActivePivot server to autoconfigure properties for connecting to Limits.
LIM-573 Added a level to display the limit evaluation date.
LIM-574 Added FRTB Trends Analysis bookmark.
LIM-512 Added workflow validation check, preventing Limits with a PENDING_DELETION draft status from accidentally being deleted.

Changed

Issue Key Details
LIM-492 UI change: the LimitsSettings object has been given a Typescript type, and now sits inside the limits-sdk. Both the defaultLimitsSettings object and LimitsSettings type can be exported from the limits-sdk.
LIM-530 Rewrote the getLimit endpoint for performance improvements.
LIM-543 Changed the property names from acc* to ap*.
LIM-553 Renamed “ROLE_LIMIT” permissions role to “ROLE_LIMITS”.
LIM-568 Changed the default values of the Scope Properties. It is no longer required to specify any of the scope properties.
LIM-606 Changed the intraday limit evaluation scheduler from 1 min to 5 min.

Removed

Issue Key Details
LIM-261 Removed Currency/CCY from input files and datastore. See Specifying the currency for more details.
LIM-566 Removed the hardcoded “admin:admin” credentials for limit alert and KPI tasks. Now the SecurityContextHolder is used to get and set the authentication.

Fixed

Issue Key Details
LIM-482 The Exception workflow value can now be selected using a dropdown in the UI. Hardcoded values have been removed.
LIM-493 Fixed bug where an empty comment could be submitted when addressing a Warning.
LIM-507 Fixed bug where evaluation tasks created to check the KPIs of limits with intraday polling frequency for exceptions did not clear previous evaluation tasks.
LIM-531 Fixed the incorrect authority comparator in limits-starter. Removed unnecessary ROLE_CS_USER from user1 and user2.
LIM-554 Fixed issue where incorrect KPI types were used for limits with the same name.
LIM-559 Fixed inconsistencies across the export and import CSV files.
LIM-563 Fixed issue where limits were not displayed below the level they are defined on when scope.isUsingExplicitScopeMatching was enabled.
LIM-568 Fixed issue where evaluating limits through the evaluate endpoint caused a thread deadlock.
LIM-569 Fixed incorrect evaluation of limits on calculated measures published by ActiveUI 4.
LIM-577 Renamed “key” to “limitKey” in the MDX statement populating the Limits Inventory widget
LIM-598 Fixed issue where validating the Warning Threshold from an Uploading limit throws a ClassCastException
UIACL-112 Fixed issue where the Exception tab displayed a spinning wheel without returning anything when in the Reviewed state.
UIACL-113 Fixed issue where Warning comments were not displayed in the Exception Audit tab.
LIM-586 Added a value check when loading, uploading and creating limits, preventing limits with the same name, cube, measure, scope and overlapping dates, to be committed to datastore.

1.0.1+1

2022-12-02

This is a UI-only release updating the following dependencies:

Component Version
ActiveUI 5.0.18
Accelerator-sdk 5.0.13
limits-sdk 1.0.1-acc-sdk-5.0.13

note

No server-side changes were made. See the Limits 1.0.1 release notes below for the latest server-side distribution files.

To download the Limits 1.0.1+1 UI-only distribution file, click here.

Known issues

Issue Key Details
LIM-507 When the Limits Module creates an evaluation task to check the KPIs of limits with intraday polling frequency for exceptions, previous evaluation tasks are not cleared, resulting in a memory leak.
LIM-501 The Limits Inventory widget loads more columns than are needed. This is a usability issue and doesn’t impair any functionality.
LIM-462 If a single limit definition applies to multiple locations, the Exception tab will only show the last breach. For example, if a wildcard limit has breaches on two locations, only the measure value of the last breach is displayed in the tab.
LIM-441 Limits that have a workflow in progress cannot be properly overridden by a File Upload.
LIM-438 Currently, File Upload only works fully for users with the ‘ROLE_USERS’ role.
LIM-401 File Upload results in a JSON parsing error when the same file is selected more than one time. As a workaround, add another Limit Inventory widget onto your dashboard and upload the same file.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.
LIM-312 The Six Eyes workflow is currently not implemented.

1.0.1

2022-08-31

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Sample bookmarks
  • Maven repository required to build the project and run the tests. The ActiveViam 5.10.9 Maven repository files can be downloaded from here

Summary

  • Separate Limit Change and Exception workflows: Multiple fixes to the evaluation functionality of Limits.
  • Publishing Calculated Measures: Calculated Measures can now be published to the Cube. For more information, see Publishing a Calculated Measure.
  • Breach and alert reports: Breach and alert reports are now split into separate files per KPI. The file name format is: “/alert_{kpiName}_{lastUpdateTimeStamp}.csv”
  • Sample limits and bookmarks: We have created new sample limits that correlate with our sample data for FRTB, as well as added bookmarks tailored for these limits, which can be added to your deployment.
  • Upgrade to ActiveUI 5.0.15.

Known issues

Issue Key Details
LIM-507 When the Limits Module creates an evaluation task to check the KPIs of limits with intraday polling frequency for exceptions, previous evaluation tasks are not cleared, resulting in a memory leak.
LIM-501 The Limits Inventory widget loads more columns than are needed. This is a usability issue and doesn’t impair any functionality.
LIM-462 If a single limit definition applies to multiple locations, the Exception tab will only show the last breach. For example, if a wildcard limit has breaches on two locations, only the measure value of the last breach is displayed in the tab.
LIM-441 Limits that have a workflow in progress cannot be properly overridden by a File Upload.
LIM-438 Currently, File Upload only works fully for users with the ‘ROLE_USERS’ role.
LIM-401 File Upload results in a JSON parsing error when the same file is selected more than one time. As a workaround, add another Limit Inventory widget onto your dashboard and upload the same file.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.
LIM-312 The Six Eyes workflow is currently not implemented.
LIM-489 Setting the ActivePivotContentService of ContextValueManager to null causes the KPIs to not display in the UI.

Dependency versions

Component Version
ActivePivot 5.10.9
ActiveUI 5.0.15
Data Connectors 2.2.2-AP5.10
Java JDK11
accelerator-sdk 5.0.11

Added

Issue Key Details
LIM-133 Added a REST endpoint to enable the decision buttons displayed to be dynamic based on the workflow state and next available actions.

Changed

Issue Key Details
LIM-447 Deleted stale KPIs during the refresh the business cube information.
LIM-498 Breach and warning reports are now separated into different files per KPI.

Fixed

Issue Key Details
LIM-198 The value of the Breach field in the Limits Drawer was not formatted correctly.
LIM-311 Users were incorrectly able to approve their own requests.
LIM-408 Intraday limits did not create breaches when the scope contained a wildcard.
LIM-410 Evaluating limits with more than one level member did not generate alerts.
LIM-415 Canceling the editing of a rule caused the Limit Drawer’s Rules section to disappear.
LIM-422 The Warning threshold in the Limits Cube incorrectly had decimal places.
LIM-432 The Comment button was not displayed when a limit was in the WARNING state.
LIM-436 The Review button did not disappear after reviewing a breach.
LIM-442 Evaluating limits on multi-level hierarchies did not generates alerts.
LIM-480 The Limits Inventory widget stopped working when the limits store was empty.
LIM-481 Calculated Measures were not published to the Cubes.

1.0.0

2022-07-03

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests. The ActiveViam 5.10.9 Maven repository files can be downloaded from here

Summary

  • Separate Limit Change and Exception workflows: Redesigned the workflow to separate the limit change/update/delete workflow and the limit exception/breach/warning workflow. The Limit Change workflow now has Straight-through and four-eyes options. The Limit Exception workflow handles the breach and warning events. The workflow associated with exceptions is defined in the application.yml property file.
  • Exception UI: The Exception and Exception Audit tabs have been added to the Limits Drawer to help you investigate warnings and breaches. See Manage exceptions for details.
  • Performance improvements: Many performance improvements have been implemented to improve the startup time and KPI query time. More can be read in the Performance page.
  • Added integration tests: Added scopeTests, flowTests, KPIValueTests and ETLTests.
  • Creator can now approve the limit: The user who created the limit can now approve it if canTheApproverBeTheSameAsTheCreator in limits.properties is set to true. The default value for this property is false.
  • Scope Handling: Two new properties have been added to customize how Scopes are handled. scope.force-unambiguous-level-paths and scope.autofill-unambiguous-level-paths .

note

To make sure your limit workflow works as expected, please discard any previous testing data in the datastore and Activiti databases. On top of the workflow name changes, the reference implementation now has the Role_Users by default to be able to create the limit definition instead of Role_Managers.

Known issues

Issue Key Details
LIM-442 Limits on multi-level hierarchies are not evaluated in a way that generates alerts.
LIM-441 Limits that have a workflow in progress cannot be properly overridden by a file upload.
LIM-438 Currently, file upload only works fully for users with the ‘ROLE_USERS’ role.
LIM-436 Review button does not disappear after reviewing a breach.
LIM-432 Comment button does not display when a limit is in the WARNING state.
LIM-415 The Limit Drawer’s Rules section disappears when you cancel the editing of a rule.
LIM-410 Limits with more than one level member selected are not evaluated in a way that generates alerts.
LIM-408 Intraday limits are not creating breaches if the scope contains a wildcard.
LIM-401 File upload results in a JSON parsing error when the same file is selected more than one time. As a workaround, add another Limit Inventory widget onto your dashboard and upload the same file.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query for Limits on calculated measures.
LIM-312 The Six Eyes workflow is currently not implemented.

Dependency versions

Component Version
ActivePivot 5.10.9
ActiveUI 5.0.12
Data Connectors 2.2.2-AP5.10
Java JDK11
accelerator-sdk 5.0.8

Added

Issue Key Details
LIM-357 Exception workflow has been added to handle breach and warning events.
LIM-375 The Exception and Exception Audit tabs were added to the Limits Drawer.
LIM-388 When a limit’s draft status is PENDING_DELETION, Approve and Reject buttons are displayed in the Limits Drawer. For details on configuring these buttons, see Configuring workflow action buttons.
LIM-393 When a Limit’s Status is INITIALIZED, Approve and Reject buttons are displayed in the Limits Drawer.
LIM-423 Action has been added to the Limits audit trail response.
LIM-379 Properties scope.force-unambiguous-level-paths and scope.autofill-unambiguous-level-paths have been added to customize handling of Ambiguous Scopes.
LIM-437 Added EDIT as a possible Draft Limit Status value for displaying the Approve and Reject buttons.

Changed

Issue Key Details
LIM-400 The Breaches and Warnings Workflow dropdowns in the Limits Drawer are no longer required fields.

Removed

Issue Key Details
LIM-362 Warning has been removed from the breach report, alert.csv file.

Fixed

Issue Key Details
LIM-290 Sorting per table column now works on the Limits Inventory Widget table.
LIM-321 Breach Count and Measure Value measures are now populated in the Limits cube.
LIM-326 Reworked how Scopes are processed. Scopes can now be defined on any level and ambiguous Level handling has been improved.
LIM-338 Creating a limit in the Limits Inventory no longer breaks the UI if a required field is not set.
LIM-340 The UI now correctly sends scope objects to the backend, regardless of whether they are parent-child related scopes, or regular scopes.
LIM-343 Content editor now refreshes automatically after deleting a limit.
LIM-349 Updated the error handling to display more helpful messages when trying to upload a file using the Limits Inventory Upload button.
LIM-362 Separated the warning from the breach report, also known as alert.csv file. Now the warning is in its own csv file. alert_warning_timestamp.csv.
LIM-370 The Limit Definition Datastore now contains new fields for a Limit’s Draft State and Draft Status. These Draft fields are used to move a Limit along a workflow without modifying the Limit’s current status. For example, if a Limit is approved and then edited, the Limit will still be valid until the changes are approved.
LIM-384 The scope’s table now only displays the level name, rather than the scope’s full cube location.
LIM-385 Fixed bug where the scope was being separated by a comma instead of an ‘@’, causing the scope’s location to be undefined.
LIM-411 Fixed bug where Measure Value measure did not display a value when key/Actions column was in the MDX query
LIM-412 Fixed bug where the Exception tab’s table did not populate due to invalid handling of the getByLimitKey endpoint
LIM-427 Fixed bug where only a subset of breaches/warnings were displayed in the Exception UI.

1.0.0 Alpha

2022-05-10

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests. The ActiveViam 5.10.9 Maven repository files can be downloaded from here

Summary

  • Remove hardcoded AsOfDate from KPIUtils: We now properly read in the AsOfDate properties map from limits.properties
  • New workflow names : The workflows have been renamed.
    - Straight through: no approval needed, created in approved state.
    - Four eyes: previously called single eye. One person creates the workflow, another person approves.
    - Six eyes: previously called 4 eyes. One person creates the workflow, two people approve.

note

To make sure your limit workflow works as expected, please discard any previous testing data in the datastore and Activiti databases. On top of the workflow name changes, the reference implementation now has the Role_Users by default to be able to create the limit definition instead of Role_Managers.

  • Added property to specify the URL of the Limits Module: Limits now supports being run from any location; previously Limits was assumed to be running at localhost.
  • Audit trail screen : New audit trail screen is available in the Limits Inventory Widget. For more information, see Viewing the audit history
  • Added validation to Limit Definition: Limit Definitions are validated when loaded through CSV or File Upload.
  • Ui changes : Upgrade to AUI 5.0.11, Acc-sdk 5.0.7, added Audit trail tab in Limits Inventory, enabled Lazyloading for Limits Inventory Widget, numerous bug fixes, added column sorting to the Limits Inventory Widget, enabled Storytelling, better error handling.
  • Provided AP 5.9 LookupPostProcessor: Added AP 5.9 LookupPostProcessor Module to limits-lookup-postprocessors
  • Limits on Calculated Measures: Limits can now be created on Calculated Measures via File Upload.
  • Workflow after editing and deleting a limit: After editing or deleting a limit in the Limits Inventory Widget, the workflow is triggered. Editing triggers the Limit Change Workflow, deleting triggers the Straight through workflow and an audit record is created in the audit database.
  • Roles: All the KPIs created by the Limits module now have LIM_ROLE as the owner and viewer.

Known issues

Issue Key Details
LIM-351 Evaluation limit endpoint doesn’t work properly when the limit definition has more than one scope.
LIM-349 File Upload doesn’t display error messages in the UI.
LIM-347 The Limits workflow has stability issues.
LIM-346 Limits on calculated measures only work through File Upload, not through the UI.
LIM-343 When deleting a limit, the content editor is not updated automatically. As a workaround, reload the content editor after deleting a limit.
LIM-342 The Audit screen doesn’t display details about editing a limit.
LIM-341 Editing a limit with STP doesn’t work as expected.
LIM-338 Creating a limit in the Limits Inventory breaks the UI if a required field is not set.
LIM-326 Limit scope definition on identical levels that exist in multiple hierarchies is not supported.
LIM-320 Calculated measures need to be included in Pivot Table Query in order to view a Limit’s KPI in the Pivot Table. See Measures for more on how to create a query Limits on calculated measures.
LIM-314 The workflowTypeArray UI setting does not dynamically generate the workflows section of the Limits Drawer form.
LIM-312 The Six Eyes workflow is not working as expected. The limit goes into the Approved state once the Examiner approved it, instead of pending approval until the Approver review.
LIM-311 Managers can edit and approve their own changes on limits with the Four Eyes workflow.
LIM-302 After editing or deleting a limit in the Limits Inventory Widget, the workflow is triggered.
LIM-290 For the Limits Inventory view, the sort only works on the first column. To sort on other columns, you can change the table column order to put the desired column first and then sort.

Dependency versions

Component Version
ActivePivot 5.10.9
ActiveUI 5.0.11
Data Connectors 2.2.2-AP5.10
Java JDK11
accelerator-sdk 5.0.7

Added

Issue Key Details
LIM-96 Added validation of Limit Definitions. When loading a Limit Definition, the validity of Server, Cube, Measure, and Scope Keys (Cube Level Members) parameters are checked within the given Server.
LIM-125 Added Audit screen to the Limits Inventory Widget drawer. Additionally, there is a new optional setting to set on the UI side limits_inventory-widget.server.params.auditTrailNodeColors, which allows users to map their workflow statuses to three timeline colors.
LIM-164 Hardcoded values, such as Limits server name and rest endpoint settings, have been externalized to a global settings file.
LIM-180 Added server side support to show audit trail.
LIM-193 Added the context menu to the Limits Inventory Widget table, which includes column sorting.
LIM-202 By default, Limits Module uses ROLE_LIMITS as owner when creating the KPI.
LIM-208 Added new property acc.auth.map to limits.properties. For details, see the Accelerator Authentication section of the Integrating Active Pivot page.
LIM-220 Added functionality to auto generate scopes for a Parent-Child level.
LIM-239 Added better exception handling, which will let the user know if there are certain levels which need to be part of the query running inside of the Limits Inventory Widget table.
LIM-254 Utilize REST endpoint to construct scopes for Parent-Child hierarchies within the Create Limit drawer.
LIM-270 Enabled Storytelling for the Limits and FRTB cubes by default through the Limits settings file.
LIM-275 Initial load and file upload utilizes REST endpoint to generate Parent-Child scopes.
LIM-283 Enabled Lazyloading for Limits Inventory Widget.
LIM-313 Approve endpoint properly handles Forbidden user error, and sends back response.

Changed

Issue Key Details
LIM-175 Reorganized and improved the ScopeDetails component for clarity and performance.
LIM-192 The workflows have been renamed. The new workflows are: Straight through, Four eyes, Six eyes.
LIM-210 Reduced memory consumption by caching limit scope’s keys and values.
LIM-216 Added a scrollbar and fixed height to the selected members for a given scope.
LIM-231 We now properly read in the AsOfDate properties map from limits.properties.
LIM-236 The KPI Goal value is represented as a Double.
LIM-297 Upgraded ActivePivot to 5.10.9.
LIM-303 Removed Timestamp from the Alerts file directory and added it to the alerts csv file name.

Removed

Issue Key Details
LIM-188 Removed unnecessary columns from the Limits Inventory Widget’s table. Only key fields populate the widget’s table.
LIM-265 Creating Limit Rules of Between and Not Between has been disabled.

Fixed

Issue Key Details
LIM-156 Fixed bug where resizing columns broke the Limits Inventory Widget.
LIM-179 Fixed bug which prevented copying cells from the Limits Inventory Widget table.
LIM-189 Fixed bug which prevented columns from being moved around inside of the Limits Inventory Widget.
LIM-204 Content Editor is refreshed automatically after creating, deleting or editing a limit.
LIM-207 The Limit icon is now placed in the correct position.
LIM-208 Improved performance of refreshing and creating new KPIs. Now KPIs are only refreshed when changed.
LIM-217 When a Limit is deleted, the Limit’s KPI will only be deleted if no other Limits use that KPI.
LIM-244 Fixed bug where long measure names would push the Measure field onto a new line.
LIM-264 Fixed the warning of the Greater Than KPI status. The warning level on a Greater Than limit now triggers a breach when the limit utilization is within the defined percentage.
LIM-271 Fixed bug which prevented the user from defining a scope.
LIM-280 Fixed bug where the Absolute Value Indicator value was being set by the Warning Threshold. Also, amber status logic was being applied incorrectly to KPIs.
LIM-299 Fixed bug where creating a scope of a level that was previously selected and deleted, did not render the Member Selector popover.
LIM-321 Fixed bug where the Breach Count measure never returned any data.
LIM-305 Fixed bug where a manually created limit with an empty “End Date” will populate it with the current date.
LIM-308 Fixed bug where scopes with Parent Child and non-Parent Child levels couldn’t be processed by ETL.

0.3.0

2022-03-01

Download the distribution files here

You can download the following zipped distribution files:

  • UI source code
  • UI build
  • Source files to build the module
  • Maven repository required to build the project and run the tests. The ActiveViam 5.10.7 Maven repository files can be downloaded from here

Summary

  • UX re-design: Based on feedback from demos we have redesigned the UX of the Limits Module. Limits creation screen based on UX design Limits edit and delete. Approval screen
  • Upgrade: to ActivePivot 5.10.7 and ActiveUI 5.0.7.
  • Amber support: Amber support has been added through the use of warningThreshold field. This lets you specify a percent of the limit value where the KPI should show amber status. For more information, see Create a New Limit.
  • New KPI Types: Previously, all limits were interpreted as “Greater Than”. Now, through the KPI Type field, you can specify “Less Than”, “Between”, and “Not Between”. For more information, see Create a New Limit.
  • AlertTask output modifications: AlertTask outputFile as well as AlertDefinition store fields have been re-organized and new fields have been added.
  • Replace per-limit AsOfDate: AsOfDate (the date that limits should be evaluated on in AlertTasks) is now set globally via AsOfDateTuplePublisher.
  • Use Start Date and End Date: Limit Start Date and End Date are now used to determine limit values at runtime. The Limits Module has the AsOfDate in the AsOfDate datastore, which is uploaded from the AsOfDate.csv file. All limit evaluations against the business cubes, such as MRA and FRTB, are based on the AsOfDate. At the start of the business day, the Limits Module expects that a new AsOfDate.csv file is uploaded through Data Connectors, to roll the date.
  • Removed property cube.rest.path: Instead, the cube.rest.path should be appended to the REST path defined in the acc.url.map property.
  • Added support for Atoti+: For steps on how to use the Limits Module with Atoti+ please read the Integrating the Limits Module with the Atoti+ Python API page.
  • Added SameSiteConfig Configuration Class : SameSite Cookie policy can be configured by setting the SameSite property.
  • Workflow support: Activiti dependency
  • General Code Cleanup: Refactoring to clean up code-base and simplify logic.

Known issues

Issue Key Details
LIM-140 Workflow Entitlement doesn’t work fully yet. In 0.3.0, only managers can create new limits using the UI.
LIM-223 Currently, you can only edit a limit from the UI when the limit is in Initialized state. In such cases, the limit change workflow does not start after the update.
LIM-144 Currently, only explicit Limit Scopes are support for evaluating Alerts. Evaluating an Alert Task using the /evaluate endpoint for a given KPI, if an underlying Limit’s Scope contains Wildcards, causes the evaluation to fail for that Limit.
LIM-176 Levels are not a unique identifier in a Cube. Two levels of the same name can refer to different data. In this case a Limit’s Scope defined on a level could have multiple meanings.
LIM-204 / UI-6969 After creating new limits, you need to refresh the UI in order to see the KPIs created.
LIM-203 Limits upload error handling occurs when the measure name is incorrect. The Limits module currently doesn’t produce an error message when a measure name is incorrect.
LIM-217 Deleting a Limit Definition from within the Limits Inventory will cause the corresponding KPI to be removed from the Server even if other Limit Definitions use that KPI. Creating a dummy Limit Definition through the Limits Inventory will re-create all KPIs (including the deleted one) which will fix this issue.

Dependency versions

Component Version
ActivePivot 5.10.7
ActiveUI 5.0.7
Data Connectors 2.2.1-AP5.10
Java JDK11
accelerator-sdk 5.0.4

Added

Issue Key Details
LIM-18 Added support for Less Than, Between, Not Between KPIs
LIM-108 Added amber status support
LIM-99 Added SameSite policy configuration class SameSiteConfig which can be enabled/set through the SameSite property.
LIM-41 Added approval workflow supports
LIM-122 UI and Workflow Integration
LIM-89 KPI goal now shows more information including absolute value, kpiType, WarningThreshold, and limit value(s) where applicable and formatted value.
LIM-190 REST endpoint has been added to prevent unauthorized users from creating a limit.

Changed

Issue Key Details
LIM-68 Updated the Limits UI based on UX design
LIM-101 Added new fields to AlertTask output file and AlertDefinition store; re-organized fields
LIM-103 AsOfDate removed from limit input files; replaced by global AsOfDate value. Start Date and End Date are now used in evaluation of limit values at runtime
LIM-127 For Between and Not Between KPI’s, setting a Warning Threshold has been disabled. Between and Not Between Limits with a Warning Threshold value will be rejected when loading a file.
LIM-151 Success and failure messages for the Approve and Reject buttons are determined by the server’s response to the REST requests.
LIM-171 The column with View and Delete links has been renamed to “Actions”

Removed

Removed Desciption
cube.rest.path property The cube REST path is now included in the acc.url.map property value.

Fixed

Issue Key Details
LIM-94 Fixed issue where limit values were not evaluated on factless hierarchies.
LIM-172 File export of the Limits Inventory widget has been fixed and no longer only contains headers.

0.2.0

2021-09-30

Download the distribution files here

Summary

  • Support Multiple ActivePivot Instances : The Limits Module now supports multiple ActivePivot instances. Clients can use one Limits Module to monitor and create KPI in Limits Inventory Dashboard, such as monitoring LIM and FRTB in one place.
  • On-Demand Limits Monitoring/change : LimitEvaluation restful endpoint is available for clients to trigger the evaluation on demand. The result is written into alert csv files with timestamps and exposed in the Breach Count measure.
  • Trend Analysis of Limits: By including AsOfDate hierarchy in the business cubes, users can now analyze KPI goal changes over a period of time.
  • Upgrade to AUI 4.3.17
  • Documentation Improvements

Known issues

None.

Dependency versions

Component Version
ActivePivot 5.10.6
[ActiveUI]https://activeviam.com/activeui/documentation/5.0.6/) 5.0.6
Data Connectors 2.2.1
Java JDK11
accelerator-sdk 5.0.3

Added

Issue Key Details
LIM-12 Adds endpoints, within the Limits Inventory widget, to create, upload, and export limits. Please see New Limits Widget.
LIM-27 Implements a custom widget to display Limit Definitions.
LIM-23 Allows multiple servers to connect to the same Limits Module.
LIM-32 Adds testing framework for unit, integration, and regression tests.
LIM-40 Integrates the DEE for the Limits Inventory widget’s export button.
LIM-43 Allows a client’s orchestrator to create and trigger Alert Tasks.
LIM-58 LookupPostProcessor factors AsOfDate for trend analysis of Limits.
LIM-67 Added tests to create, upload, and export limit definitions from the Limits Inventory widget.
LIM-104 Support functionality to edit and delete limits from the Inventory Table.

Changed

Issue Key Details
LIM-65 Upgrade Limits module to AP 5.10
LIM-66 Upgrade Limits module to ActiveUI 5
LIM-62 Renamed the MDX constant for Limits widget.
LIM-55 Changed ‘Accelerator Name’ to ‘Server Name’ in the Limits definition.
LIM-48 Parameterized the Alert file path location.
LIM-38 Modified the MDX so the KPI status populates when the KPI’s goal is not null.

Fixed

Issue Key Details
LIM-53 Changed the Upload input file format to accept exported files.
LIM-50 Fixed NullPointerException in Upload endpoint by including the Accelerator.
LIM-31 Added logic to remove alert tasks from expired dates.
LIM-112 Fixed bug where a rule’s upper bound value could be smaller than the rule’s lower bound value.
LIM-114 Fixed bug where the rule message display would not reset when the rule was deleted.

0.2 Alpha

  • Support multiple AP servers
  • Change the way alert evaluation works. Intra-day observation frequency runs every 20 seconds by default. Other observation frequencies are required to invoke by client’s alert orchestrator.

0.1

  • Initial release
  • Input file formats for the CSV files that can be used by clients as input to the ActivePivot Limits Module Reference Implementation.
    • Limits definition files need to be replaced with the organization’s data.