Migration notes 5.0

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

Migrate to 5.0.0-ui-update-4

No migration needed.

Migrate to 5.0.0-ui-update-3

The activate function’s signature has changed. See UI Activation for more details.

Migrate to 5.0.0-ui-update-2

No migration needed.

Migrate to 5.0.0-ui-update-1

Upgrading from version 5.0.0 See Sign-Off 5.0.0-ui-update-1 Release Notes.

The Sign-Off Module is using Atoti Server 6.0.1 and Atoti UI 5.0.20, and the Signoff-ext module 2.1.0.

For new features and fixes included in these releases, please see:

Headline announcement

  • Refactoring and new design of the Sign-Off Toolbox
  • Refactoring of the Sign-Off Daily Progress and Sign-Off Task Definitions Widgets
  • Only the version number has changed, there are no code changes in the back-end of the Sign-Off Module 5.0.0-ui-update-1 compared to the 5.0.0 version.

UI changes

Exported plugins

The exported plugins have been renamed. If you are using Sign-Off plugins outside the scope of the Sign-Off application, you will need to update your imports:

  • pluginWidgetTaskActivities
  • pluginWidgetAdjustmentsTable
  • pluginWidgetTaskListTable
  • pluginWidgetDailyTaskProgress
  • pluginCellDailyTaskProgress
  • pluginCellTaskListTable
  • pluginCellAdjustmentsTable
  • pluginMenuItemAdjustments

Settings

If you modify the default settings, be aware that the following fields have been changed:

Previous Name Current Name Comment
asOfDateDimensionName signoffAsOfDateDimensionName
asOfDateHierarchyName signoffAsOfDateHierarchyName
asOfDateLevelName signoffAsOfDateLevelName
tradeDimensionName signoffTradeDimensionName
tradeHierarchyName signoffTradeHierarchyName
taskKeyLevel signOffInstanceKeyDimensionName + signOffInstanceKeyHierarchyName + signOffInstanceKeyLevel
taskAsOfDateInstanceLevel signOffInstanceAsOfDateDimensionName + signOffInstanceAsOfDateHierarchyName + signOffInstanceAsOfDateLevelName
signOffInstanceStatusLevel signOffInstanceStatusDimensionName + signOffInstanceStatusHierarchyName + signOffInstanceStatusLevelName
signOffServers filteredApplicationCubes Is now a blacklist: set the names of the cube that you do not want as domains for each application server.
signOffButtonInformation/{workflowName}/{actionName}/endpoint signOffButtonInformation/{workflowName}/{actionName}/actionKey

Migrate to 5.0.0

Upgrading from version 4.2.1 See Sign-Off 5.0.0 Release Notes.

The Sign-Off Module is using ActivePivot 6.0.1 and ActiveUI 5.0.18, and the Signoff-ext module 2.1.0.

For new features and fixes included in these releases, please see:

Headline announcement

  • Upgrade to ActivePivot 6.0.1.

    note

    As the definition of REST services has changed between ActivePivot 5.x and ActivePivot 6.x, the Sign-Off Module 5.0.0 is only compatible with ActivePivot 6.x applications.

  • Upgrade to ActiveUI 5.0.18 amd Accelerator SDK 5.0.14.

Input file formats

No changes.

Configuration files

Files Modified

application.yml

New properties:

Property Name Comment Value
content.hibernate.connection.globally_quoted_identifiers Enable/disable quoting database identifiers for the Content Server database. Disabled by default. false
activiti.datasource.properties.hibernate.globally_quoted_identifiers Enable/disable quoting database identifiers for the Activiti database. Enabled by default. true
application.datasource.properties.hibernate.globally_quoted_identifiers Enable/disable quoting database identifiers for the Application database. Enabled by default. true
audit-log.datasource.properties.hibernate.globally_quoted_identifiers Enable/disable quoting database identifiers for the Audit Log database. Enabled by default. true

Renamed properties:

Old Property Name New Property Name Comment
qfs.jwt.key.public activeviam.jwt.key.public Public key used for generating JWT tokens.
qfs.jwt.key.private activeviam.jwt.key.private Private key used for generating JWT tokens.
qfs.jwt.expiration activeviam.jwt.expiration Expiration delay of the generated JWT tokens (in seconds).

Updated properties:

Property Name Comment New Value Old Value
application.rest-api.MR.url Root URL for Sign-off REST services in the MR application. http://localhost:10010/mr-application http://localhost:10010/mr-application/services/rest/v3
application.rest-api.FRTB.url Root URL for Sign-off REST services in the FRTB application. http://localhost:8080/frtb-starter http://localhost:8080/frtb-starter/services/rest/v3
sign-off.export.initial-delay-in-milliseconds Delay (in milliseconds) before the polling for the export status starts. 500 100

Datastores

No changes.

Cube schema

No changes.

Context values

No changes.

Upgrade to ActivePivot 6.0

Dependencies

The versions of the project dependencies have been updated to align with the dependency versions of ActivePivot 6.0 in the main pom.xml file of the project.

ActivePivot Configuration

  • In the signoff-activeviam project, a configuration file implementing IDatastoreSchemaDescriptionConfig has been added to define the bean implementing IDatastoreSchemaDescription.
  • In the ActivePivotCoreConfig class, the following changes have been made for importing ActivePivot classes:
    • The ActivePivotWithDatastoreConfig class is now imported in the instead of the ActivePivotConfig and DatastoreConfig classes.
    • The NoSecurityDatabaseServiceConfig ActivePivot class is now imported instead of the NoSecurityDatastoreServiceConfig class.
    • The ActivePivotRestServicesConfig ActivePivot class is now imported instead of the ActivePivotWebServicesConfig class.

REST services

In ActivePivot 6.0, all REST endpoints have been migrated to Spring MVC. This has changed the way DTOs are returned in the Sign-Off module. Previously, the REST services returned DTOs wrapped into a Response object, which contained the HTTP status of the response, and the DTO as a data attribute. As a consequence of this change, DTOs are now returned directly.

The following classes, which contain code invoking REST services, are impacted by the change:

  • SignOffSupportedAdjustmentsService
  • AdjustmentStatusTask (in the method statusProducer)
  • AdjustmentDiscardExecutionTask (in the method statusProducer)
  • ApplicationSignOffRestClient

The SignOffProcessExceptionHandler, which extends ResponseEntityExceptionHandler, now has an order defined in its Spring configration to take precedence over the default implementation of exception handling for REST services in ActivePivot.

Security Configuration

  • The UserDetailsService bean is now defined in its own class, UserDetailsServiceConfig. The SecurityConfig file has been modified accordingly.
  • The session cookie has been renamed to AP_JSESSIONID.

H2 upgrade to H2 2.0.214

The dependency version of H2 has been upgraded from 1.4.196 to 2.1.214. This version change makes H2-generated .db files incompatible with the prior versions of the Sign-Off module.

You can delete unwanted .db files, or attempt restoring the entries of your current database using the H2 migration notes: https://www.h2database.com/html/migration-to-v2.html

Spring injection

  • In the SignOffAdjustmentExecutionService class, the SignOffProcessInstanceWorkflowService instance is not injected via the constructor anymore, but is defined via a setter.
  • In the SignOffProcessInstanceWorkflowService class, the ExportStatusService class is autowired using a setter instead of via lazy autowiring and a @PostConstruct annotation is used to inject the SignOffProcessInstanceWorkflowService bean into the SignOffAdjustmentExecutionService class via the setter mentioned above.
  • In the class ExportStatusService, the SignOffProcessInstanceWorkflowService and the InstanceWorkflowConverter beans are no longer injected in the constructor. Instead, they are passed as arguments of the addExportStatusRequest and addExportFailed methods. The IExportStatusService interface is modified accordingly.

Miscellaneous

  • In the ApplicationProperties file, the unused method getRestApi() and the unused attribute serverName have been removed.

Timestamps

Previously, timestamps with a nanosecond precision were used for objects stored in the application and audit log databases. H2 version 2 uses timestamps with a microsecond precision, so timestamps are now generated with a microsecond precision, with some logic to make sure that two identical timestamps are never generated within the same microsecond. The new class IncreasingInstant is used instead of the previous class PreciseInstant to compute the timestamps.