Skip to main content
This page explains the changes required to migrate to the stated version of Atoti Sign-Off.

Migrate to 6.0.1

Upgrading from version 6.0.0 See Atoti Sign-Off 6.0.1 Release Notes.

Headline announcement

  • Persisting full scope paths: Full scope paths are persisted to the JPA layer to allow handling of scopes with slicing and non-slicing hierarchies.
  • Customized sign-off status feed: The sign-off status feed member for “in review” representation can be customized on the application server.

Using full scope paths in persisted data

Older versions of Atoti Sign-Off did not include the full scope path for definitions that were saved to the JPA layer. As of this version, full scope paths will be used. For example, if you have a definition on the slicing Book level, the old path would look like:
The new path will look like:
To migrate scope paths created before Atoti Sign-Off 6.1.0, we have added a migration endpoint. The reason for adding an endpoint rather than a script is that we need to connect with the application server to get the full scope path.
You only need to run the migration if you are using persisted data as your golden source of Atoti Sign-Off data. If you are using files as your golden source of data then you do not need to run the migration.
To run the migration, do the following:
  1. Start your application server.
  2. Start Atoti Sign-Off with the 6.0.1-migration Spring profile to include the endpoint and override default validation.
  3. Run the migration endpoint. You can do this via Swagger by executing the POST request at <base URL>/sign-off/rest/v2/migrate/sign-off-definition-scopes. The migration endpoint retrieves the full scope paths from the application server and updates the definitions if necessary.
  4. Restart the application server and Atoti Sign-Off as normal (without the 6.0.1-migration profile) to view your updated definitions and proceed as normal.

Configuration properties

Properties added

signoff-activeviam

Configuration

Configuration properties

Properties added
signoff-activeviam module

Configuration files

Files modified
RestApiProperties.java
Updated properties:
UI settings
Updated properties: Deleted properties:
application.yml
New properties: Updated properties:

Datastores

Modified stores

Other changes

Spring Boot compliance

Atoti Sign-Off now aligns more closely with Spring Boot best practices in our aim to move towards using Spring Boot Starters to ease migrations.
Configuration properties
Atoti Sign-Off now uses Spring Configuration Properties to help externalize configurations for users. You can see a full list of the provided properties in the Configuration Properties section.

Adjustments locations and input fields

These two adjustment fields are now Lists instead of Sets. This impacts the following classes and services that may affect your implementation: Workflow-related:
  • SignOffProcessInstanceWorkflowService.java
  • AuditableAdjustmentDefinitionDTO.java
  • AdjustmentExecutionDTO.java
JPA-related:
  • AdjustmentsDefinitionEntity.java
  • AdjustmentsFiltersConverter.java
  • AdjustmentsInputConverter.java
  • IAdjustmentDefinition.java
  • AdjustmentExecutionEntity.java
  • IAdjustmentExecution.java

Status manager service

The ISignOffWorkflowStatusManager lets you implement a service to define the statuses that relate to specific categories. Current methods with a default implementation in DefaultSignOffWorkflowStatusManager are:
  • getLiveDefinitionStatuses(): returns a list of definition status considered live.
  • getPendingApprovalTaskStatuses(): returns a list of task status considered pending.

Workflow task actions

A unique way is now used to execute common workflow task actions (e.g. approve, reject, request approval …) and custom actions. It allows greater flexibility and easier extension of current set of actions. To extend the task actions, see Adding Custom Workflow Tasks.

Using Atoti Sign-Off with older solutions

Atoti Sign-Off 6.0 is a major upgrade but can be compatible with older solutions with some adjustments. This section guides you through the steps to make your solution compatible with Atoti Sign-Off 6.0. We shall include sample changes specific to Atoti Market Risk version 5.4.2 and Atoti FRTB 5.3.4, but the general steps apply to any server that connects with Atoti Sign-Off.

Steps to use Atoti Sign-Off

The steps to use Atoti Sign-Off are the same as in the Getting started guide. Note that depending on the Atoti Server version of the solution you are running with Atoti Sign-Off, you may need to update the property application.rest-apis.<server>.mdx-endpoint in your application.yml file. If your Atoti Server version runs with a different version of the API than the default set in Atoti Sign-Off (/activeviam/pivot/rest/v9/cube/query/mdx) for Atoti Server 6.1, you will need to update this property. See the Atoti Server API documentation for the correct version.
Connecting with Atoti Market Risk 5.4.2 & Atoti FRTB 5.3.4
With Atoti Market Risk 5.4.2 and Atoti FRTB 5.3.4, which runs with Atoti Server 6.0, you need to update this property in Atoti Sign-Off:

Steps to use the Atoti Solution

Migrate adjustments services
For UI compatibility, adjustments-services version 4.1 or higher is required. See Adjustments Services 4.1. You will need to:
  1. Update your dependency artifact’s groupId and version to com.activeviam.solutions and 4.1.0 respectively.
  2. Update your code to use a List in AdjustmentRequestDTO and SupportedAdjustmentDTO when setting yourfilters and input.
  3. Update your code to replace use of NamedValueDTOs from dependencies (e.g. com.activeviam.apps:shared also known as the common library).
Connecting Atoti Market Risk 5.4.2 & Atoti FRTB 5.3.4
In Atoti Market Risk 5.4.2 and Atoti FRTB 5.3.4, the dependency com.activeviam.apps:shared is using version 2.0.6-AS6.0 and 2.0.3-AS6.0 respectively which depend on adjustments-services version 4.0.0. Your code may call methods in dependencies that use NamedValueDTO which has changed in adjustments-services version 4.1.0. You should replace calls to ExecutionFunctionalComponents::parseInput with calls to a local method to your project to complete its purpose.
Atoti Market Risk 5.4.2 You may place this method in ExecutionFunctionalComponentsConfig for instance. Then you should replace the calls to ExecutionFunctionalComponents.java::parseInput with it in:
  • AdjustmentsExecutionVaRConfig
  • AdjustmentsExecutionPnLConfig
  • AdjustmentsExecutionSensiConfig
Atoti FRTB 5.3.4 You may place this method in AdjustmentExecutionConfig for instance and make it static. Then you should replace the calls to ExecutionFunctionalComponents::parseInput with it in this same class.
Migrate Sign-Off API
To ensure that the API contract between the Atoti solution and Atoti Sign-Off is respected, check that the Sign-Off API is upgraded to the version required by your Atoti Sign-Off version. You can find the correct version in the Dependency versions section of the Release notes. For Atoti Sign-Off 6.0.0 you need to upgrade to 4.2.0. See Sign-Off API 4.2. You will need to:
  1. Update your dependency artifact’s groupId, artifact and version to com.activeviam.solutions.signoff-api, signoff-api-lib and 4.2.0 respectively.
  2. Implement the ISignOffRestService::enabled method. This method is used to let Atoti Sign-Off know that the server is up and running.
  3. Remove calls to getMeasures in SignOffProcessInstanceExportDTO: The measures field has been removed in Sign-Off API 4.2.0.
Connecting with Atoti Market Risk 5.4.2 & Atoti FRTB 5.3.4
In Atoti Market Risk 5.4.2 and Atoti FRTB 5.3.4, you may remove calls to the getMeasures method in the SignOffProcessInstanceExportDTO class by extending the SignOffService with a CustomSignOffService class.
Alongside with an adapted SignOffServiceConfig.
These changes will be used in the Atoti Market Risk solution when it is upgraded to be compatible with Atoti Sign-Off 6.0.x.