Migration notes 3.0

This page explains the changes required to migrate to the stated version of the Atoti Limits.

Migrate to 3.0.0

Upgrading from version 2.0.1 See the Atoti Limits 3.0.0 Release Notes.

Atoti Limits is using Atoti Server 6.0.5 and Atoti UI 5.1.x.

For new features and fixes included in these releases, please see the Atoti UI documentation and Atoti UI Migration Notes, and the release notes for Atoti Server.

Headline announcement

  • Updated Atoti Server and Spring Boot dependency versions : Out-of-the-box, no migration is required for these upgrades. However, some property names have changed, so if these are provided externally they will need to be updated.
  • Complex Scopes: Complex scopes have been added, providing more flexibility when scoping limits. For details, see Complex Scopes.

Upgrade to Atoti Server 6.0.5

Spring Boot upgrade

Atoti Limits is now running on Spring Boot version 2.7.11, in accordance with the version used by Atoti Server. Please see the Spring Boot release notes for more details.

Monitoring configuration

In Atoti Server 6.0.5, monitoring is part of the core product. The Atoti Server Monitoring (APM) extension is no longer needed.

  • The following configuration files have been added:
    • BraveTracingConfig.java
Security Configuration
  • The UserDetailsService bean is now defined in its own class, LimitsUserDetailsServiceConfig.
  • In the class com.activeviam.limits.starter.cfg.security.SecurityConfig, the class SwaggerConfig has been added to handle the security for the Swagger UI. The old com.activeviam.limits.starter.cfg.SwaggerConfig class has been removed.

The SecurityConfig file has been modified accordingly.

Content Server Database

The content server database has been migrated to H2 version 2.

Input file formats

No changes.

Configuration files

Files Added

tracing.properties

Added the tracing.properties as a default configuration for Trace monitoring.

Files Modified

limits.properties

Updated properties:

Property Name Comment New Value Old Value
incident.output.data.dir.path The output directory for incident files generated after an evaluation. incident.output.data.dir.path alert.output.data.dir.path
incident.evaluation.parallel.tasks Number of incidents to evaluate in parallel. incident.evaluation.parallel.tasks alert.evaluation.parallel.tasks

Deleted properties:

Property Name Comment
print.schema Was previously available for developers to print the datastore schema. It invokes the JungSchemaPrinter, which has been moved to a test artifact in AP6.0, so we have removed it.
application.yml

New properties:

Property Name Comment Value
audit-log.datasource.properties.hibernate.globally_quoted_identifiers If true then Hibernate will escape reserved SQL keywords when generating SQL for Activiti audit-log database true
activiti.datasource.properties.hibernate.globally_quoted_identifiers If true then Hibernate will escape reserved SQL keywords when generating SQL for Activiti workflow database true

Updated property names:

Some property names have been updated in line with the changes to migrate the Atoti Limits server to use version 6.0.5 of Atoti Server.

Property Name Comment New Property Name Old Property Name
activeviam.jwt.key.public The prefix for JWT properties has been updated. activeviam.jwt.key.public qfs.jwt.key.public
activeviam.jwt.key.private The prefix for JWT properties has been updated. activeviam.jwt.key.private qfs.jwt.key.private
activeviam.jwt.expiration The prefix for JWT properties has been updated. activeviam.jwt.expiration qfs.jwt.expiration
springdoc.swagger-ui.enabled True if the Swagger UI should be enabled, false otherwise. springdoc.swagger-ui.enabled swagger.enable

Datastores

In order to build complex scopes, two new stores ScopeLocations and ScopeLevelMembers were added in the tree connecting Limit Scope with Scope Keys and Scope Values.

Added stores

Store Details
ScopeLocations The scope locations used by the scope
ScopeLevelMembers The scope level members used by the scope locations

Modified stores

Modification Store Field Type Description
Added Limit Scope ScopeLocations int[] IDs linking to the scope location for a given scope.
Removed Limit Scope ScopeKeysIndex int[] The ID of the scope key, which maps to a level name. The value is now stored in the ScopeLevelMembers store.
Removed Limit Scope ScopeValuesIndex int[] The ID of the scope value, which maps to a level member value. The value is now stored in the ScopeLevelMembers store.
Renamed Limit Structures Limit Structure Name -> Name string The name of the limit structure.
Renamed Limit Structures Kpi Type -> KPI Type string The KPI type of the limit structure.
Renamed Limits Store parentLimitEvaluationKey -> parentLimitKey int The key of the source limit from which the limit was created.

Cube schema

Added

No changes.

Measures

No changes.

Context values

No changes.

Interfaces

Added

Interface Addition Details
IAlertTaskManager new method <T extends AAlertTask> CsvResult collectCsvResults(Collection<T> alertTasks); This method allows you to collect the results of multiple AAlertTasks in CSV format.

Other changes

No changes.