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 permissions : Atoti Limits now supports restricting data access and access to UI actions for users depending on their role. See Data access permissions and Permission roles 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-1324 | Pagination has been added to the Limits viewer. |
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 groupID s 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-1358 | Updated calculated member creation to set ROLE_USER as the default owner and reader so all users can see the measures. |
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. TheavailableApplicationServers
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
andIEvaluationTaskManager
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 IValidationErrorHandler s. |
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 usinglimits-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
, whichlimits-activeviam
andlimits-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
totrue
/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. |