Documentation Index
Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
Use this file to discover all available pages before exploring further.
For user-facing changes, see the Release notes.
For information on upgrading from previous versions, see the
Migration guide.
Changed
Group IDs of dependencies have changed and must be updated. See the migration notes for more details.- LIM-2239: Scope strings now use backslash escaping for the reserved characters
| = < > & + [ ] \, so level, hierarchy, dimension and member names containing any of these characters are preserved through a scope-string round-trip. Existing scope strings without backslashes parse unchanged. See the scope overview and advanced scopes pages for the escape rules.
Fixed
- LIM-2172: Member selection in limit scope sometimes does not allow to remove members. Switching between simple and advanced mode can lead to empty tiles being displayed.
- LIM-2215 Permissions: Fixed limit permission checks being silently ignored for users authenticated via SSO.
- LIM-2240: Fixed
ScopeCacheService.refresh()throwingIllegalStateException: Duplicate key ... (attempted merging values X and Y)on every restart when the datastore contained twoLimitStructures declaring the same scope keys in a different order. The in-process scope-id dedup inScopeTupleGeneratornow keys by the canonical (sorted) scope form, matching whatScopeCacheService.refresh()uses, so equivalent scopes share a single id instead of being persisted as two store rows that later collide. - LIM-2241: Fixed the Add Limit button being incorrectly disabled when the structure’s history contained a deleted limit with an advanced scope, which prevented the creation of new limits.
- LIM-2242: Fixed KPIs not displaying on dashboards for limits with
TOTAL_EQUALS/TOTAL_EXCEPTadvanced scopes on multi-level hierarchies. - LIM-2244 Temporary limits: Fixed temporary limit creation failing from the KPI Drawer when selecting a different member on a multi-level hierarchy.
- PIVOT-13934: Fixed an NPE on Limits startup when the content server held a calculated measure whose content was not readable by the Limits service account (for example a measure created by another user with restrictive owners/readers). Such measures are now skipped with a WARN log identifying the measure name and the reason (missing read permission, empty content, or directory entry).
Added
- LIM-1877: Users with the
ROLE_AUTO_APPROVE_LIMITpermission can now upload Six-Eyes limits and have them auto-approved. - LIM-2113: Users with the
ROLE_AUTO_APPROVE_LIMITrole can now bypass the approval workflow when uploading limits via a new “Bypass Approval” checkbox in the limit upload dialog. - LIM-2157: Limit scope accepts free text values using the search input.
Deprecated
- LIM-2164: The
POST /limits/rest/v2/limitEvaluation/unscheduleendpoint has been deprecated. Please use theDELETE /limits/rest/v2/evaluation/schedulingendpoint instead.
Fixed
- LIM-2158: Scope dropdown not showing members with no contributions.
- LIM-2162: Stale entries in the identity generator cache were not being cleaned up.
- LIM-2163: Persisted workflow information was not being correctly re-loaded when restarting Atoti Limits.
- LIM-2164: The scheduled limit structure evaluation.
- LIM-2165: Error thrown in limits inventory when the limits server is configured without legacy workflows.
- LIM-2168: Limits datastore containing objects that failed validation on save in persistent mode.
- LIM-2169: Scope keys for limits on slicing multi-level hierarchies are now correctly resolved against their limit structure.
- LIM-2170: Restarting the limits server did not update the limits cache on the connected server.
Added
- LIM-2060: A new direct limit approval process has been added as a default workflow, which does not require any approvals for limits to be created, updated or deleted. This workflow uses the more performant
workflow-serviceand should be preferred to theStraightThroughworkflow. See this section for more details. - LIM-2073: Added a new configuration property
limits.autoconfiguration.connect-on-application-ready-event(default: true) which determines if the application server should automatically connect to Atoti Limits on startup upon receiving the SpringApplicationReadyEvent. Set this property tofalseto disable automatic connection and enable manual connection control. - LIM-2073: Added a new POST endpoint
/limits/autoconfig/connectin the application server that will allow users to manually trigger a connection to Atoti Limits whenlimits.autoconfiguration.connect-on-application-ready-eventis set tofalse. - LIM-2074: Improved performance in
LookUpPostProcessorandLimitsKpiEvaluatorby caching work across locations and failing invalid evaluations faster.
Changed
- LIM-2032:
IAuthenticatedLimitsUserServicenow uses a Spring authentication object for improved compatibility. - LIM-2078: Upgraded the Atoti Server dependencies for version-specific modules to versions
6.1.16,6.0.27-sb3and6.0.27. - LIM-2106: The
limits.autoconfiguration.server-nameproperty is now required to be set if the connected server uses the default catalog name (‘Catalog’), otherwise the connection will fail.
Deprecated
- LIM-2073: Deprecated the
limits/autoconfig/connectingendpoint for removal in favor of thelimits/autoconfig/connectedendpoint, both of which were previously doing the same thing.
Fixed
- LIM-1928: Fixed an issue where real-time updates in the status screen weren’t respecting the filters applied to the screen.
- LIM-2041: Fixed an issue where workflow variable changes were being applied before approval in the Six-Eyes Approval Process.
- LIM-2084: Fixed an issue where the calculated measures for limits with workflows using the new workflow service were not being created immediately after limits were approved.
- LIM-2121: Fixed an issue where temporary limits were not being exported.
- LIM-2124: Fixed incorrect parsing of localized numbers on the limits viewer.
Added
- LIM-357: Added a new six-eyes workflow for limits that require two levels of approval before they can be evaluated.
- LIM-1809: We have added new services to start Activiti workflows in bulk.
- LIM-1812: All workflow variables are now visible on the status screen table.
- LIM-1818: Added a new set of properties,
LimitsInitialLoadConfigurationProperties, to replaceLimitsDlcConfigurationPropertiesfor the new file loading service. - LIM-1819: Added a new service,
ILimitsFileLoadingServicewith default implementationDefaultLimitsFileLoadingService, to replace the DLC in the initial load of Limits data. - LIM-1829: Added a new column to the table to display the ‘limit type’ of each incident.
- LIM-1836: Added a new set of properties and a new API,
ILimitsStatusMananager, that allow for statuses in custom workflows to be mapped to limit actions. - LIM-1839: Added a field
limitTypeto theIncidentclass. This indicates which type of limit was used in the evaluation:OFFICIALorTEMPORARY - LIM-1853: The audit differences drawer now supports array / JSON payloads from the server.
- LIM-1854: Filter on limit ID is automatically applied to the table when navigating from the Status screen to the limit structure screen using links.
- LIM-1856: Added a rest endpoint in the auto-configuration module to retrieve the limits with a location and a kpi name.
- LIM-1862: Added a new endpoint
/activeviam/limits/rest/v2/startup, which is used to ping the Atoti Limits server. - LIM-1864: Added a new endpoint
/limits/rest/v2/incidents/filter-with-variablesto retrieve the incidents along with their workflow variables, which is used to dynamically generate columns in the status screen. - LIM-1864: Added an optional request parameter
includeVariableDefinitionsto the endpoint/limits/sse/v2/incidents/subscribe/filterto send the initial incidents along with their workflow variables, which is used to dynamically generate columns in the status screen. - LIM-1921: Added a new endpoint
/activeviam/limits/rest/v2/workflow-service/workflow-history/{workflow-type}/{object-id}for retrieving workflow histories in the new format. - LIM-1923: Added a new field
actionNameto theWorkflowTaskActionExecutionDTO. - LIM-1924: Updated Atoti Server to version 6.1.13. This includes the upgrade of artifacts required to connect to 6.1.13 versions of Atoti Server.
- LIM-1924: Added a new endpoint
/activeviam/limits/rest/v2/dataexport/downloadin the auto-configuration modules to handle evaluation responses. - LIM-1943: Added a new Incident workflow,
incident-review-process.bpmn, that uses the new workflow service. - LIM-1962: Added new columns for limit structure files:
Limit Workflow VariablesandIncident Workflow Variablesthat are used to populate new fields in the limit structure table:Limit Workflow DetailsandIncident Workflow Details. - LIM-1962: Added new properties
limits.workflow.limit-business-functionsandlimits.workflow.incident-business-functionsto map the business functions used for limit and incident workflows respectively. - LIM-2019: Added a new column for setting limit workflow initialization variables
- LIM-2027: Added new property
limits.workflow.structure-deletion-workflowsto configure the workflows where structure deletion is enabled
Changed
- LIM-1506: Removed server-specific properties from
application.yml. Properties specific to theConnectedAccreference test servers released with Atoti Limits can be found inapplication-connectedacc.ymland can be activated with theconnectedaccSpring profile. - LIM-1750: Realtime mode can now be toggled off during a long initial load.
- LIM-1809: The default implementation of
ILimitsProcessInstanceWorkflowCacheServiceis now a no-operation implementation as this class is unused. - LIM-1810: The status screen is filtered by default to only show the user’s outstanding tasks.
- LIM-1838: Enhanced the filtering of the Server-sent events replacing the
asOfDatesandincidentTypesby aFilterConditionDTOs. - LIM-1849: Improved performance of executing workflow actions using the default workflows by skipping unnecessary retrieval of limit workflow information.
- LIM-1849: Scope hierarchies are now disabled by default to improve performance. They can be enabled by setting
limits.cube.scope-hierarchies-enabled=true. - LIM-1862: The optional property
limits.autoconfiguration.limits-ping-urlis now auto-configured to point at the newly introduced endpoint/activeviam/limits/rest/v2/startup - LIM-1912: The name of the process in
limit-process-straight-through.bpmnhas been renamed fromStraight-through instance processtoStraightThroughto match the name in the UI. - LIM-1912: The name of the process in
limit-process-four-eyes.bpmnhas been renamed fromFour-eyes instance processtoFourEyesto match the name in the UI. - LIM-1912: The name of the process in
limit-process-exception.bpmnhas been renamed fromException WorkflowtoExceptionto match the name in the UI. - LIM-1912: The property to define the file types allowed to be uploaded as attachments in the
workflow has changed from
limits.workflow.allowed-file-upload-extensionstoactiveviam.apps.workflow-service.settings.allowed-file-upload-extensions. - LIM-1912: The property to define the file storage path for uploaded attachments in the workflow
has changed from
limits.workflow.file-storage-pathtoactiveviam.apps.workflow-service.settings.file-storage-path. - LIM-1923: The field
taskKeyinWorkflowTaskActionDTOhas been renamed totaskName. - LIM-1924: The default value of the
limits.autoconfiguration.atoti-mdx-download-urlproperty has been changed from/dataexport/downloadto/activeviam/limits/rest/v2/dataexport/download. - LIM-2034: The
limitValuefield on theLimitandIncidentobjects has been changed from adouble arrayto adouble. Thedouble arraywas previously unused.
Deprecated
- LIM-1809:
ILimitsProcessInstanceWorkflowCacheServiceis unused and has been deprecated for removal. It is still present to avoid breaking the API. - LIM-1809:
IEvaluationTaskManagerhas been deprecated for removal because most of its methods are unused. - LIM-1912:
LimitsWorkflowServicehas been renamed toLegacyLimitsWorkflowServiceand deprecated for removal in a future release.
Removed
- LIM-1822: Removed the DLC and all related configuration properties and classes. It has been replaced by
ILimitsFileLoadingService.
Fixed
- LIM-1777: The limits viewer sometimes incorrectly displays a notification that a limit was added on another table page
- LIM-1799: Errors while creating a structure sometimes do not show up on the screen.
- LIM-1811: Input fields are now properly disabled while submitting workflow actions.
- LIM-1827: Fixed the logic and wording for warning thresholds. The warning threshold is now directly correlated to the limit utilization percentage.
- LIM-1846: Fixed an issue where JWT tokens were not being refreshed causing requests between servers to fail after token expiration (default is 12 hours).
- LIM-1848: Fixed an issue where duplicate incident events may be published by the SSE emitters.
- LIM-1851: Fixed an issue where the Atoti Limits KPIs were not updated after a change of KPI description.
- LIM-1862: Fixed an issue where the reconnection to the Atoti Limits server wouldn’t happen properly if the Atoti Limits server was behind a loadbalancer.
- LIM-1865: Fixed an issue where a limit could not be created if it overlapped with an inactive limit.
- LIM-1915: Fixed an issue where structures created without a
Limit Changesworkflow defaulted to using theStraightThroughworkflow instead of throwing an exception. - LIM-1924: Fixed an issue where evaluation requests were failing due to the streaming responses.
- LIM-1936: Fixed an issue where limit statuses were defaulting to
INITIALIZEDif they were not set on creation inLimitsCrudService. - LIM-1954: You can now create limits on calculated measures where the underlying is a hierarchy.
- LIM-2002: Fixed an issue where creating and updating structures, limits and incidents simultaneously could fail intermittently.