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.2.0-RC1

2024-04-05

info

This is an early release of the 3.2.0 final version due out later this month. As this is a release candidate, it will not be supported or maintained and therefore should not be used as production software.

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.12-sb3 Maven repository files can be downloaded from here.

Summary

  • Atoti Server upgrade : Atoti Limits has been upgraded to Atoti Server 6.0.11-sb3.
  • Spring Boot upgrade : We have upgraded Spring Boot to version 3.2.0, which uses Spring Framework 6.
  • Common Parent POM and Common Dependencies BOM upgrade: The Common Parent POM and the Common Dependencies BOM have both been upgraded to version 2.0.0.
  • Activiti upgrade : We have upgraded Activiti to version 8.1.0 to be compatible with Spring Boot 3.
  • Added Custom Exception Handling on the UI : The Atoti Limits UI now parses custom exception responses in a consistent manner. See Adding Custom UI Exceptions for more details.
  • UI Activation : An import of react-query is required when using limits-sdk. See UI activation for more details.

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-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
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.12-sb3
Atoti UI 5.1.x
Common Dependencies BOM 2.0.0 (com.activeviam.apps)
Common Parent POM 2.0.0 (com.activeviam.apps)
Data Connectors 4.0.3-AP6.0-sb3-alpha
Java JDK17
UI Components 5.0.31

note

Please note that Data Connectors uses an alpha version in order to be compatible with Spring Boot 3. A stable version will be released pending changes to some of the less commonly used modules in Data Connectors, none of which are used in Atoti Limits. Atoti Limits will use this stable dependency once released.

Added

Issue Key Details
LIM-899 Upgraded to Atoti Server 6.0.12-sb3, including Spring Boot 3.2.0.
LIM-967 Upgraded deprecated Atoti Server classes in preparation for upgrade to Atoti Server 6.1.
LIM-976 Replaced the Scope measure with a Scope level and added a Scope (Full) level.
LIM-986 Updated the version of Atoti Server that Atoti Limits runs on to 6.0.10.
LIM-990 If the input.data.root.dir.path or csvSource.dataset properties are not set correctly, Atoti Limits automatically generates the correct file structure.
LIM-1021 Added generic catch in LimitAutoConfig for greater error handling.
LIM-1027 Added custom UI exception handling for ProblemDetail responses.
LIM-1056 Added the action property to the ProblemDetails error response. See Adding Custom UI Exceptions.
LIM-1060 Updated the version of Admin UI that Atoti Limits uses to 5.1.7.
LIM-1080 Added a new ILimitsRetrievalService interface and LimitsQueryPayload object
LIM-1086 Added the lombok-maven-plugin to ensure the decompilation of the source code matches the Lombok annotated classes.
LIM-1089 Added performance enhancements when loading structures and limits from files and when evaluating limits.
LIM-1090 Added Spotify code formatter plugin to Atoti Limits.
UIACL-783 Replaced the Ant Design table component with the “bas-table” in the Limits screens.

Changed

Issue Key Details
LIM-959 The LimitsRetrievalUtil class has been converted into a Spring service and is now named LimitsRetrievalService.
LIM-989 Polling Frequency and KPI Type are now represented as enums in the LimitsStructureDTO.
LIM-962 Moved the limitsWorkflowParticipants and exceptionWorkflowParticipants settings from the UI’s LimitsSettings to the server settings in application.yml.
LIM-795 Precedence was moved from the LimitStructuresDTO to the LimitDTO.
LIM-997 Removed the unused EvaluationTimestamp store and added documentation for the AsOfDate store.
LIM-706 Moved the roles setting from the UI’s LimitsSettings to the server settings in application.yml.
LIM-1007 Centralized all HttpRequests in limits-activeviam and limits-stater modules to the WebClientService Spring service and migrated them to the RestClient API.
LIM-1075 Upgraded Atoti Server to 6.0.12-sb3.
LIM-1084 Migrated HttpClient invocations in limits-atoti-server/limits-atoti-server-60 modules and all test classes to RestClient API.
UIACL-931 React-query is now handled as a peer dependency. See UI activation for more details.

Removed

Issue Key Details
LIM-794 Removed support for the legacy limits file.
LIM-984 Removed the obsolete “Exception Category” and “Exception Comment” fields from the limit structure store and cube and the obsolete “comment” field from the incident store.
LIM-1038 Removed unused declarations of classes, fields, methods and variables.

Fixed

Issue Key Details
LIM-988 Fixed the incorrect logger in AsOfDateTuplePublisher.
LIM-921 Fixed an error on discovery when an Atoti Server 6.0.x cube description contained the word “data” by using versioned REST services in the DiscoveriesManager, which is now a Spring component.
LIM-1018 Fixed an issue where transactions were unnecessarily being started on the Incidents store in LimitsDatastoreService.
LIM-1066 Fixed an issue where uses were unable to approve/reject a limit if another limit in the same structure was rejected.
LIM-1085 Fixed an issue where limits defined with a time period that did not include the as-of-date were sometimes evaluated incorrectly from the UI.
LIM-1087 Fixed a file loading issue that would cause the UI to break due to missing a scope.
LIM-1092 Attempting to modify key fields now results in a meaningful HTTP 400 response instead of a generic 500 one.

3.1.0

2023-11-08

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.9 Maven repository files can be downloaded from here.

Summary

  • Improved table filtering : Filters have been moved to the column headers and have been extended to more columns, including the Location and Scope of a limit.
  • Status screen : The Breaches screen has been renamed Status. It has also been enhanced to allow you to view the utilization of passed limits if they are stored.
  • Linked dashboards : A dashboard can be linked to a limit structure to let you view the utilization for a given limit. Viewing the utilization of an incident will apply scope and as of date filters to the dashboard.
  • Added Utilization : The Utilization measure has been added to the Limits cube. This measure can be extended by clients.
  • Custom User Workflow Actions Improvements : We have simplified the addition of custom user actions in workflows. Please see Adding Customizing Workflow Tasks.
  • Upgraded Java version: We have upgraded the Java version used to compile Atoti Limits to 17.
    As a result, we have removed the sample Atoti Server 5.10 from our distribution, as it does not support Java 17. Atoti Limits is still compatible with this version.
  • Updated Atoti Server and Spring Boot dependency versions: Updated the version of Atoti Server that Atoti Limits runs on to 6.0.9 and Spring Boot version to 2.7.16.
  • Spring Security upgrade : We have upgraded Spring Security to version 5.8.7 to resolve vulnerabilities and prepare for the upgrade to Spring Security 6.0 (via Spring Boot 3).
  • Common Parent POM: The Atoti Limits module now inherits third-party plugin versions from the Common Parent POM version 1.2.0, in line with other solutions. Details can be found in the migration notes.

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-813 Managers can incorrectly upload Limit Structures through the REST endpoint.
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.9
Atoti UI 5.1.x
Data Connectors 4.0.1-AP6.0
Java JDK17
UI Components 5.0.27

warning

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

Added

Issue Key Details
BAS-1514 Updated the README.md files in the parent and starter modules.
BAS-1537 When attempting to auto-configure Atoti Limits we now only log the connection exception at debug level to avoid polluting the logs.
LIM-823 Added utilization dashboard ID field to the limit structure. This allows you to link a limit structure with a dashboard based on its ID in the content server.
LIM-848 Updated the version of Atoti Server that Atoti Limits runs on to 6.0.7 and Spring Boot version to 2.7.14 to patch CVE-2023-20883 and CVE-2023-33008.
LIM-863 Added the option to store passes when evaluating limits.
LIM-870 Added a utilization measure to the Limits cube.
LIM-872 Created read-only REST endpoints to get row entries for the Limits Status screen.
LIM-879 Created REST endpoints to update non-key fields of a limit structure.
LIM-901 Upgraded Java version used to compile Atoti Limits from 11 to 17.
LIM-905 Added an endpoint to query the distinct as of dates for limit evaluations.
LIM-907 Upgraded to Spring Security 5.8.7 to resolve CVEs and prepare for the upgrade to Spring Security 6.0 (via Spring Boot 3).
LIM-908 Added an endpoint to return if the user is storing passes when evaluating limits.
LIM-910 Improved support for custom user actions in workflows.
LIM-911 Added a hook for custom workflow keys to execute user actions.
LIM-916 Upgraded Spring Boot to version 2.7.16 by inheriting from the Common Parent POM version 1.2.0.
LIM-923 Workflows for limit evaluations now exist for distinct as-of-dates.
LIM-943 Updated the version of Atoti Server that Atoti Limits runs on to 6.0.9.
LIM-946 Updated the version of the solutions-tools-bom to 2.0-AS6.0 to support Java 17 and Atoti Server 6.0.9.
LIM-956 Added a new endpoint /inventory-structures/filter to reduce the amount of data sent to the limits inventory screen.
UIACL-577 Added the action to inspect the utilization from the Inventory and Status screens.
UIACL-592 Added ANTD built-in table filtering for the Limits screens.
UIACL-623 Renamed the Breaches screen to Status screen and added ability to fetch all passed limits.
UIACL-671 Enabled the workflow action button for authorized users only.
UIACL-680 Enabled sticky headers in the limits tables.
UIACL-737 Results are now cached for a minute inside the Status screen to prevent constant loading when browsing.

Changed

Issue Key Details
LIM-827 Changed the limit type from String to an enumeration LimitType that allows only “OFFICIAL” and “TEMPORARY” values.
LIM-912 Renamed the LimitWorkflowActionDTO to WorkflowTaskActionDTO and updated it to improve custom workflow actions on the UI.
LIM-934 Updated the version of Atoti Server that Atoti Limits runs on to 6.0.9.
UIACL-654 Replaced limit column action buttons with icons and a tooltip.
UIACL-659 Re-arranged the Status screen columns.
UIACL-690 Renamed the Workflow section to Review Process and updated the labels within the limit structure viewer.
UIACL-707 Rows are no longer de-selected when changing client-side filters.
UIACL-714 When creating a limit structure, the breach when field is disabled when the kpi type is not selected.

Removed

Issue Key Details
UIACL-580 Removed the “utilizationDashboards” limit setting. Utilization dashboards can be added to the limit structure directly in the UI instead.
UIACL-640 Removed server and cube columns from the Inventory screen.
UIACL-685 Removed the “exceptionAuditTrailNodeColors” limit setting. The “auditTrailNodeColors” should be used instead.

Fixed

Issue Key Details
BAS-1437 Incident files on deleted limits no longer break the status screen on startup.
BAS-1449 Equivalent scope strings now generate the same Limit keys.
BAS-1463 UI evaluation now correctly evaluates servers where the server keys don’t equal the server name.
LIM-740 Evaluating a limit structure containing only expired limits or structures with no data results in an error.
LIM-815 Limit structures loaded without limits will now load successfully, limits loaded without limit structures and incidents loaded without limits will be skipped.
LIM-854 The Status screen now shows the value of the active temporary limit, instead of the official limit.
LIM-856 The value of the discovery-manager.polling-delay property is now used.
LIM-857 Connecting to Atoti Server version 5.x. generated useless logs.
LIM-869 An error occurred if the incident directory didn’t exist.
LIM-894 Limits of the same structure with mismatching scope levels will now be skipped on loading so they don’t break the limits management screen.
LIM-913 New limits can now be correctly created after deleting a complex scoped limit.
LIM-914 Incidents that fail workflow validation appear in the status screen.
LIM-922 Workflow action buttons are no longer visible for deleted limits.
LIM-925 The breach audit history endpoint no longer contains details about limit changes.
LIM-926 Fixed a bug which prevented editing limits when the order of scopes posted in the UI request was different to the order retrieved from the datastore.
LIM-927 Improved the exception handling on Limit evaluation.
LIM-936 Workflow action buttons are no longer returned if they are disabled.
LIM-954 Limits evaluated by managers are no longer visible in the status screen.
LIM-955 Explicit scope matches on limits are now not over-ruled by temporary limits.
LIM-957 Fixed the date-roll endpoint which was not correctly updating the as-of-date.
UIACL-593 The limits table was not displayed correctly when a limit structure didn’t contain any limits.
UIACL-669 The Select all checkbox now selects all rows across multiple pages.

For Removal

Issue Key Details
LIM-794 Support for the Legacy Limits file will be removed in Atoti Limits version 4.0.0

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

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

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

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

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

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

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-508 Removed the content server refresh from the LookUpPostProcessor. Limits 1.0.1 introduced a Calculated Measure widget, publishing the Calculated Measure to the Cube, so there is no need for the LookUpPostProcessor to get the Calculated Measure definition from the content sever anymore.
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.