Migration notes 4.0.0

This page explains the changes required to migrate to the stated version of the Sign-Off Module.

Migrate to 4.0.0

Upgrading from version 3.1.0 - see Sign-Off Module 4.0.0 Release Notes.

The Sign-Off Module is using ActivePivot 5.10.6 and ActiveUI 5.0.6.

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

Headline announcement

  • Renaming of module signoff-core to workflow-core and renaming of packages

    • The module sign-off core has been renamed to workflow-core
    • In the workflow-core module, the packages com.activeviam.signoff.core.* have been renamed to com.activeviam.workflow.core.*
  • Improvements in the way sample workflows are defined

    • Activiti signals are no longer used; the roll-back action is now used instead.

      • The method signalEvent has been removed from the interface IKeyedObjectWorkflowService and the class AKeyedObjectWorkflowService that implements that interface.
      • The methods getRetryPeriodSignal and getNbMaxRetriesSignal have been removed from the class AKeyedObjectWorkflowService.
      • In the REST service SignOffProcessInstanceWorkflowRestController, the mapping for updateSignal has been removed. The roll-back is now performed by re-initiating the sign-off task.
      • A ROLL_BACK action has been added to the Action enum in the ISignOffProcessInstanceWorkflowService interface.
      • Parts of the workflow using signals have been removed in the files sign-off-process-four-eyes.bpmn, sign-off-process-four-eyes-kpi.bpmn and sign-off-process-simple.bpmn. Instead, sequence flows leading to the ‘UPDATE’ service task are now used to re-initiate tasks.
    • User tasks have been added for adjustment operations (requests for adjustment creation and deletion) to use Activiti for the permissioning of those operations instead of logic coded in Java.

      • The REQUEST_ADJUSTMENT and REQUEST_ADJUSTMENT_DELETION actions have been added to the Action enum in the ISignOffProcessInstanceWorkflowService interface.
      • In the files sign-off-process-four-eyes.bpmn, sign-off-process-four-eyes-kpi.bpmn and sign-off-process-simple.bpmn, the service tasks ‘REQUEST_ADJUSTMENT’ and ‘REQUEST_ADJUSTMENT_DELETION’ have been added to handle the adjustments creation and deletion requests for adjustments respectively.
      • The class SignOffAdjustmentExecutionService interacts with the Activiti workflows (via the method transitionTaskToInitiated).
    • Permissioning: the concepts of ‘initiating user’ and ‘service user’ have been introduced

      • In the file SecurityConfig, the user “controller” has been introduced. Service tasks can use this for roll-back operations.
      • In the interface ISignOffProcessInstanceWorkflowService, the constant SERVICE_USER_NAME is used to refer to the “controller” user, and the constants INITIATING_USER (equal to “initiatingUser”) and SERVICE_USER (equal to “serviceUser”) are defined.
      • In the implementation of this interface, the “initiatingUser” and “serviceUser” values are used as variables in the Activiti workflow, and in the workflow definition files sign-off-process-four-eyes.bpmn, sign-off-process-four-eyes-kpi.bpmn and sign-off-process-simple.bpmn to restrict user actions such that only the initiating user or the service user can trigger the roll-back of a sign-off task instance.

      note

      Consequently, if an external application requests the roll-back of a task, the thread that is used to request the roll-back must be identified as either the service user or the initiating user.

  • Possibility to delete individual adjustments : the deletion of adjustments can now be requested by executionId.

  • Adjustments API : the methods in the interface ISignOffAdjustmentExecutionService and in its implementation SignOffAdjustmentExecutionService have been changed:

    • the method requestAdjustmentExecution has been replaced by two methods to distinguish between:
      • the request to execute existing recurring adjustments, for which the persistence in the application database is not needed (method requestRecurringAdjustmentExecution)
      • the request to execute newly defined adjustments, for which the persistence in the application database is needed (method requestAdjustmentExecutionAndPersistDefinition)
    • the method requestAdjustmentExecutionDeletion now has an additional boolean argument: isRollback
  • Upgrade to ActivePivot 5.10.6 and ActiveUI 5.0.6

    • The upgraded ActiveUI starter application now uses a Module Federated application which means that all plugins will have to be imported and the index.ts file stores the Extension definition.
    • Starter application provided is configured to connect to the FRTB and Sign-Off servers.
  • Helper classes to create DTOs

    • The AdjustmentWorkflowConverter and InstanceWorkflowConverter classes have been added to create DTOs. They are imported into the SignOffAppConfig class and are used in the SignOffAdjustmentExecutionService, ExportStatusService, ExportStatusTask, SignOffProcessInstanceWorkflowService and ApplicationSignOffRestClient classes.
  • Exception handling in RESTful services

    • The SignOffProcessExceptionHandler class has been modified to simplify the handling of exceptions in the UI.

Configuration files

Files Modified

application.yml

Deleted properties:

Property Name Comment
signal-retries.nb-entries Used with Activiti signals. As signals are no longer used in workflows, these properties are no longer needed.
signal-retries.retry-delay-in-milliseconds As above.

Files Deleted

None

Databases

No changes

Datastores

No changes

Cube schema

No changes

Measures

No changes

Other changes

None