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

4.0.0-BETA

2024-10-17

info

We are pleased to announce the Atoti Limits 4.0.0-BETA release. This is an early release of the 4.0 version due out in November.

You are invited to test and provide feedback on the release so that we can evaluate issues for potential inclusion in the final release. Please report any issues you have through the normal Jira channels.

Please note, as this is a milestone release, 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.1.0 Maven repository files can be downloaded from here.

Summary

  • Role-based data access : Atoti Limits now supports restricting data access for users depending on their role. See Data access permissions for more information.
  • Configurable limit sensitivity to runtime filters : In Atoti Limits, you can now configure whether your limits are sensitive to runtime filters. See Cube Filters on Limit KPIs for more information.
  • Atoti Server upgrade : Atoti Limits has been upgraded to Atoti Server 6.1.0. This version requires Java 21.
  • Atoti UI upgrade : Atoti UI has been upgraded to version 5.2.0.
  • Paginated limits : The Limits viewer now supports pagination.
  • Enhanced table filtering : The table filters are now virtualized to improve performance for large data sets.
  • Available Amount and Utilization % : An “Available Amount” and “Utilization %” measure for each KPI has been added to the limits-auto-config, calculating the difference and quotient between a KPI’s goal and the KPI’s value, respectively.
  • Simplified project structure : We have simplified the project structure in an effort to ease migrations. Please see the project structure guide and the starter changes.
  • Scopes Retrieval Service : A new Spring service has been added to retrieve Scopes from the datastore.
  • Simplified Scopes : Scopes in the limits input file now support a simplified format. See Simplified Scopes for more information and examples.
  • Common Parent POM and Common Dependencies BOM upgrade: The Common Parent POM and the Common Dependencies BOM have both been upgraded to version 2.1.0 (com.activeviam.apps) . This versions updates Spring Boot to version 3.2.9.
  • Activiti upgrade : We have upgraded Activiti to version 8.2.0 to be compatible with Java 21.
  • Java 11 connector artifacts : We have added artifacts for connecting to supported versions of Atoti Server running on Java 11.
  • Removed Atoti Server 5.11 support : Atoti Server version 5.11 is now out of support and is no longer supported within Atoti Limits.

Known issues

Issue Key Details
LIM-1375 The “Available amount” and “Utilization %” measures are only available for limits created on startup, not at runtime.
LIM-1373 The data-connectors-* dependencies are currently on alpha versions.
LIM-1371 Limits are incorrectly evaluated via the inventory screen or REST services when cube filters are disabled.
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.1.0
Atoti UI 5.2.x
Common Dependencies BOM 2.1.0 (com.activeviam.apps)
Common Library 2.1.0-alpha-AS6.1
Common Parent POM 2.1.0 (com.activeviam.apps)
Data Connectors 4.2.0-AP6.1-alpha-2
Java JDK21
UI Components 5.2.2
Workflow Core 2.4.0

Added

Issue Key Details
LIM-468 The default format for KPI Goal values can now be configured using the limits.cube.format.kpi-goal property.
LIM-1045 Updated Atoti Server to version 6.1.0. This includes the upgrade of artifacts required to connect to 6.1.0 versions of Atoti Server.
LIM-1155 Added an IScopeRetrievalService and a default implementation, facilitating granular querying of the scopes stores by passing a level or a member.
LIM-1199 Limits CSV files can now contain Simplified Scopes.
LIM-1200 An “Available Amount” and “Utilization %” measure for each KPI has been added to the limits-auto-config, calculating the difference and quotient between a KPI’s goal and the KPI’s value, respectively.
LIM-1205 Added a property to configure whether or not filters are applied on evaluation.
LIM-1234 Added support for permission-based data access depending on the user’s role. Data access permissions.
LIM-1268 Moved core configuration classes from limits-activeviam to limits-starter.
LIM-1275 Added debug logs when evaluating Atoti Limits KPIs detailing eligible limits, exposures, and evaluation location.
LIM-1299 Added connector artifacts for versions of Atoti Server running on Java 11.
LIM-1302 Added support for restricting access on scopes in the role permissions.
LIM-1328 Added new matchMode values for scopes to support more flexible retrievals in the IScopeRetrievalService. For details, see Match mode.
LIM-1339 Added permission roles to control user access to UI actions.
LIM-1345 Improved performance in the Limits viewer screen by using the ScopeCacheService to help retrieve scope objects.

Changed

Issue Key Details
LIM-1033 Maven artifact groupIDs have been renamed from com.activeviam.limits to com.activeviam.solutions.limits to align with other ActiveViam Business Solutions.
LIM-1096 KpiCrudService and KpiCrudRestService have been updated, separating the two classes into a Spring Service and a REST Controller wrapper.
LIM-1257 Improved handling of workflow-related exceptions so better information is provided in UI responses.
LIM-1276 The limits-auto-config API has been improved. For more information see Atoti Java.
LIM-1298 Improved property handling in Atoti Limits auto-configuration.
LIM-1300 Modified properties of LimitsWorkflowConfigurationProperties to add a new token. Root for these properties is now limits.workflow.
LIM-1304 The “DTO” suffix has been removed from java objects that were not pure data transfer objects.
LIM-1310 “Complex scopes” have been renamed to “Advanced scopes”.
LIM-1314 Improvements have been made to the validation framework. See the custom validator page for more information.
LIM-1323 Improved performance of filters in Limits tables.
LIM-1344 The ILimitsRetrievalService methods have been updated and the implementation modified to avoid executing methods recursively and to reduce the number of transactions in methods. For more details, see Changes to IlimitsRetrievalService.
LIM-1372 Updated common library to version 2.1.0-alpha-AS6.1 and workflow core to version 2.4.0.

Removed

Issue Key Details
LIM-285 Between and Not Between KpiTypes have been disabled. For more information, see Removing Between and Not Between KPI types.
LIM-658 The properties for the Atoti Limits content server have been removed as they are no longer used.
LIM-1231 The manual configuration has been removed in favor of auto-configuration.
LIM-1274 private_ and internal imports have been removed from Atoti Limits.
LIM-1312 Removed support for Atoti Server version 5.11 as it is no longer supported by ActiveViam.

Fixed

Issue Key Details
LIM-1308 Utilizations represented as strings as well as special or undetermined numbers are now handled correctly.
LIM-1325 Fixed the scope selector overflowing the popover for large lists of scope members.
LIM-1349 Removed the incorrect usage of the thread pool when creating/dropping KPIs in the KpiCrudService.
LIM-1366 Fixed issue with evaluation errors not being cleared when retrying the evaluation.

3.3.1

2024-08-30

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

Summary

This release includes artifacts for connecting with instances of Atoti Server on version 6.0.x using Java 11, in addition to the already supported 6.0.x-sb3 version using Java 17. There have been no other changes.

The artifact changes are as follows:

Old Name New Name Comment
lookup-post-processor-ap60 lookup-post-processor-ap60-sb3 The old artifact has been renamed and requires Java 17.
N/A lookup-post-processor-ap60 This new artifact is compatible with Java 11.
limits-auto-config-ap60 limits-auto-config-ap60-sb3 The old artifact has been renamed and requires Java 17.
N/A limits-auto-config-ap60 This new artifact is compatible with Java 11.
limits-atoti-server-60 limits-atoti-server-60-sb3 The old artifact has been renamed and requires Java 17.
N/A limits-atoti-server-60 This new artifact is compatible with Java 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-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.14-sb3
Atoti UI 5.1.x
Common Dependencies BOM 2.0.1 (com.activeviam.apps)
Common Parent POM 2.0.1 (com.activeviam.apps)
Data Connectors 4.1.0-AP6.0-sb3
Java JDK17
UI Components 5.0.42

Added

Issue Key Details
LIM-1299 Added connector artifacts on Java 11.

3.3.0

2024-07-18

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

warning

Please note that Atoti Server versions 5.9, 5.10 and 5.11 are now out-of-support. Therefore, we no longer support connections to servers of these versions starting with this release of Atoti Limits.

Summary

  • Limit Persistence : Atoti Limits can now work with persistent data sources. See Persistence for more information.
  • Real-time Incidents : Incidents are now updated in real-time in the UI via server-sent events. They can be disabled with the action button above the data table in the Status screen. For more information, see Real-time updates
  • Workflow Attachment Links : You can now add a navigable attachment link in the UI to a limit or incident when moving it along its workflow. For more see the section on Managing Limits and Incidents.
  • Resizable limits structure drawer: The Limit Structure drawer is now resizable. Atoti Limits remembers the size and whether it was open, the next time you start the module. By default, the drawer is open.
  • Limit Structure Templates : You can now create custom templates to pre-populate fields when creating limit structures via the UI. See Adding Custom Limit Structure Templates for more information and implementation details.
  • Migration to Configuration Properties : All properties previously retrieved via @Value annotations have been migrated to @ConfigurationProperties classes. For details, see Configuration Properties.
  • Extendable Validation: It is now easier for users to add custom validation and validation error handling. See Adding Custom Validation.
  • Extendable CSV Source Configuration : Adding and overriding DLC and CSV data loading configuration has been made easier. See Customizing the CSV Source and Customizing the Data-Load Controller for more information and implementation details.
  • Atoti Server upgrade : Atoti Limits has been upgraded to Atoti Server 6.0.14-sb3.
  • Removed Atoti Server 5.9 and 5.10 support : Atoti Server versions 5.9 and 5.10 are now out of support, and are no longer supported within Atoti Limits.
  • Updated UI settings: The restrictedScopes setting is now keyed by cube name. The availableApplicationServers setting has changed from a record to an array of server keys. AsOfDate settings under this property are now supplied by the server.
  • Custom Evaluations : The IEvaluationService and IEvaluationTaskManager interfaces have been introduced to facilitate custom evaluation logic. See Adding Custom Evaluation Logic for more information.
  • Migration Scripts : We have added a new limits-migrations module for migrating CSV files. See CSV and properties migrations to 3.3.0.

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.14-sb3
Atoti UI 5.1.x
Common Dependencies BOM 2.0.1 (com.activeviam.apps)
Common Parent POM 2.0.1 (com.activeviam.apps)
Data Connectors 4.1.0-AP6.0-sb3
Java JDK17
UI Components 5.0.41

Added

Issue Key Details
LIM-235 Added a @ConfigurationProperties class to handle properties from the hibernate.properties file.
LIM-834 Added an auto-incrementing IIdentityGenerator to support replacing limitStructureKey, limitKey and incidentKeys with user-defined IDs.
LIM-979 Added the ability to load limits from a persistent data source.
LIM-1002 Added Liquibase changesets to facilitate database migrations.
LIM-1006 Server-sent events have been implemented to update incidents in real time.
LIM-1010 Implemented a persistence layer to manage datastore and external database transactions.
LIM-1050 Added an Attachment Link task input field for including a link in the limit and incident audit trails.
LIM-1058 Updated the usage of the draftLimit to instead use workflow variables.
LIM-1077 Added the ability to pre-populate fields of the UI form when creating a new Limit Structure.
LIM-1094 Added the maxScopeMembersQueryResult setting to retrieve more members before having to resort to a search.
LIM-1119 IValidator subinterfaces have been created to make swapping the default validator(s) easier for a custom solution.
LIM-1126 Added a @ConfigurationProperties class to handle DLC properties
LIM-1147 Added a defaultValue field for workflow action input fields.
LIM-1148 Updated usages of the LimitsCrudService and IncidentCrudService to instead use the LimitsAppCrudService.
LIM-1149 Added a preValidation method to the IValidator interface.
LIM-1154 Upgraded admin-ui to version 5.1.8.
LIM-1157 Evaluations on the status screen can now be updated in real-time.
LIM-1177 Added Spring JPA REST services and migration endpoints.
LIM-1168 Converted the limitStructureKey, limitKey and incidentKeys to strings.
LIM-1172 Added a method for users to load their own JPA Repositories in LimitsJpaConfig.
LIM-1173 ID’s are now required fields in the limit_structures.csv and limit_approve.csv files.
LIM-1196 Limit files can now be previewed in a table before uploading. Any error when uploading will be shown in the table.
LIM-1209 Upgraded Atoti Server to 6.0.14-sb3.
LIM-1210 Real-time updates can now be disabled/enabled in the UI.
LIM-1215 Column index is now reported for validation errors.
LIM-1236 Added a new limits-migrations module for migrating CSV files. See CSV migrations to 3.3.0.
LIM-1239 Atoti Limits now sends the business server’s asOfDate dimension in the limits /settings endpoint.
UIACL-984 Unsaved limit structures and limits are now persisted if you navigate away from the page without saving.

Changed

Issue Key Details
BAS-1879 Renamed KpiAlertTask and LimitAlertTask to LimitStructureEvaluationTask and LimitEvaluationTask respectively.
LIM-1116 Migrated properties previously retrieved via @Value annotations to @ConfigurationProperties classes.
LIM-1136 Validation errors are now collected and reported with line numbers (if applicable) instead of failing immediately.
LIM-1142 Moved the default cube configuration classes into the limits-activeviam module. Added beans to allow clients to override the cube configuration. See Custom Cube Configuration
LIM-1143 Moved the DLC and CSV Source configuration classes into the limits-activeviam module. Created interfaces to override DataLoadControllerConfig and CSVSourceConfig. See Custom DataLoadControllerConfig and Custom ICSVSourceConfig for more information.
LIM-1144 Moved tuple publisher classes into the limits-activeviam module. Created interfaces to override the default tuple publishers. See Custom Tuple Publisher for more information.
LIM-1146 Replaced IAlertTaskManager with new interfaces to separate evaluation and scheduling logic. See Adding Custom Evaluation Logic for more information.
LIM-1150 Refactored the exceptions thrown in DefaultLimitTuplePublisher to be handled by the IValidationErrorHandlers.
LIM-1151 Changed the behavior of the asOfDate filter in the Status screen. If there were no incidents present in the Status screen, the asOfDate filter would set the filter date to the current date. Now if there are no incidents present, the asOfDate filter will not be applied by default.
LIM-1161 The Limit Structure drawer is now resizable.
LIM-1166 Changed the default value of the isLiveOnly argument to true in LimitsDefinitionCrudRestService.
LIM-1171 Upgraded the common-dependencies-bom and common-parent-pom versions to 2.0.1. This bumps Spring Boot to version 3.2.4, inheriting bug fixes and improvements.
LIM-1186 Improved performance and UX when creating limits. Nodes from the scope tree will now be lazy-loaded when a scope is being selected.
LIM-1195 Updated default validation behavior to be non-blocking for limits loaded through the DLC. Loading through REST, like file upload, is still an atomic operation.
LIM-1197 Moved REST constants to a dedicated LimitsRestServiceConstants class.
LIM-1198 Moved datastore constants to a dedicated LimitsDatastoreConstants class.
LIM-1208 Expanded support for reporting line numbers in the default validators.
LIM-1218 Improved UX for the Create Limit Structure button on the Limit Structure screen.
LIM-1222 The restrictedScopes setting is now keyed by cube.
LIM-1240 The availableApplicationServers setting has changed from a record to an array of server keys. AsOfDate settings that used to sit under this property are now supplied by the server.

Removed

Issue Key Details
LIM-36 The User ID field has been removed from the datastore configuration, the LimitStructureDTO object, and all input files.
LIM-499 Removed all *.properties files from Atoti Limits. Removed CsvDataExtractionEngineConfig from the default configuration.
LIM-1044 Removed the includeUIWorkflowActions and excludePasses arguments from implementation and invocations of the IncidentCrudService.
LIM-1105 Removed support for Atoti Server versions 5.9 and 5.10 as they are no longer supported by ActiveViam.

Fixed

Issue Key Details
LIM-570 Fixed a performance issue on startup when reloading workflows.
LIM-1138 Fixed a data quality issue by preventing multiple limit structures with the same name to be created.
LIM-1141 Incident files are now written when evaluating limits without evaluating the structure.
LIM-1156 Fixed issue where incident files included all incidents, regardless of the KPI in the file name.
LIM-1190 Fixed bug where copying and saving a limit structure cleared the limit structure form.
LIM-1220 Fixed a bug which prevented the user from dragging table columns to the last position in the config panel.
LIM-1223 Made the order of incidents in the status screen consistent between realtime-enabled and disabled modes.
LIM-1225 Fixed the styling of links on the Status screen.
LIM-1226 Real time incidents can now be filtered by multiple dates.
LIM-1244 Fixed issue where incidents could be reviewed multiple times.
LIM-1253 Fixed an issue that prevented Atoti Limits from starting in persistent mode due to null workflow statuses.
LIM-1256 The Inventory now generates limit structure creation templates according to server keys derived by checking the names coming from the server settings endpoint against server keys supplied to LimitsModuleSettings.availableApplicationServerKeys.

For Removal

Issue Key Details
LIM-1230 Manual configuration has been deprecated in favor of auto-configuration and will be removed in the next version of Atoti Limits.

3.2.0

2024-04-19

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.12-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.1.0-AP6.0-sb3
Java JDK17
UI Components 5.0.34

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.
LIM-1129 Upgraded Data Connectors to version 4.1.0-AP6.0-sb3.
UIACL-783 Replaced the Ant Design table component with the “bas-table” in the Limits screens.

Changed

Issue Key Details
LIM-706 Moved the roles setting from the UI’s LimitsSettings to the server settings in application.yml.
LIM-795 Precedence was moved from the LimitStructuresDTO to the LimitDTO.
LIM-959 The LimitsRetrievalUtil class has been converted into a Spring service and is now named LimitsRetrievalService.
LIM-962 Moved the limitsWorkflowParticipants and exceptionWorkflowParticipants settings from the UI’s LimitsSettings to the server settings in application.yml.
LIM-989 Polling Frequency and KPI Type are now represented as enums in the LimitsStructureDTO.
LIM-997 Removed the unused EvaluationTimestamp store and added documentation for the AsOfDate store.
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-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-988 Fixed the incorrect logger in AsOfDateTuplePublisher.
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.
LIM-1125 Fixed an issue where the starter jar didn’t start from the command line, by reverting to the CLASSIC loader implementation for Spring’s Nested Jar Support.

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.