Valtimo documentation v1
Valtimo 11
Valtimo 11
  • Introduction
    • Overview
    • Architectural overview
    • Available modules
      • Dashboards
      • Documents
      • Form flow
      • Form links (deprecated)
      • Plugins
    • How to contribute
    • Style guide for contributing
  • Getting started
    • First dive into Valtimo
      • Start as Docker containers
      • Creating your own Valtimo implementation
    • Compatibility matrix
    • Components
      • Valtimo List
    • Configure database
    • Modules
      • Core
        • Audit
        • Authorization
        • Camunda
        • Case
        • Connector
        • Contract
        • Core
        • Dashboard
        • Document
        • Document generation
        • Exporter
        • Form
        • Form flow
        • Form link (deprecated)
        • Importer
        • Local document generation
        • Local mail
        • Mail
        • Mandrill
        • Milestones
        • Plugins
        • Outbox
          • Outbox RabbitMQ
        • Process document
        • Resource
        • Temporary resource storage
        • Test utils common
        • Value resolvers
        • Valtimo dependencies
        • Web
          • CORS
      • ZGW
        • Besluit
        • Besluiten API
        • Catalogi API
        • Contactmoment
        • Documenten API
        • Haalcentraal BRP
        • Klant
        • Notificaties API
        • Notificaties API Authentication
        • Objecten API
        • Objecten API Authentication
        • Object management
        • Objects API
        • Objecttypen API
        • OpenZaak
        • OpenZaak resource
        • Portaaltaak
        • SmartDocuments
        • Valtimo GZAC dependencies
        • Verzoek
        • Wordpress mail
        • Zaken API
    • Exchange
      • Building blocks
      • Process blueprints
  • Using Valtimo
    • Access control
      • Auto-deployment for access control
      • Configuring permissions
      • Configuring roles
      • Front-end access control
    • Case
      • Creating case settings
      • Case tabs
      • Exporting and importing case definitions
    • Dashboard
      • Auto deploying dashboards
      • Create dashboard
    • Documents
      • Assigning a user to a document
      • Automatic task assignment
      • Creating a document definition
      • Creating case settings
      • Custom case list columns
      • Custom case headers
      • How to link a process to a case
      • How to start a process for a case
      • Search fields
      • Case search
    • Forms
      • Creating FormIO forms in Valtimo
      • Interpolating data in Form.io
      • Configuring an Objecten API object form
    • Form flow
      • Creating a form flow definition
      • Creating a custom form flow component
    • Form links (deprecated)
      • How to refer to external data from a form
      • How to link a form to a task
    • Keycloak
      • Configuring Keycloak
    • Pending Changes mechanism
    • Plugins
      • Catalogi API plugin
      • Configuring plugins
      • SmartDocuments plugin
      • OpenZaak plugin
      • Documenten API plugin
      • Zaken API plugin
      • Object Token Auhentication Plugin
      • Objecten API Plugin
      • Objecttypen API Plugin
      • Portaaltaak Plugin
      • Exact Plugin
      • Verzoek Plugin
      • Besluiten Plugin
    • Process
      • System processes
      • Correlating messages
      • Job service
    • Process links
      • Creating a process link
      • Editing a process link
      • Unlinking a process link
    • Upload
      • Temporary file storage
      • Uploading to Documenten API with metadata
    • Web
      • Configure CORS in Valtimo
  • Extending Valtimo
    • Access control
      • Creating a resource
      • Creating a relation to another resource
    • Dashboard
      • Creating custom data sources
      • Creating custom display types
      • Widget translations
    • Document
      • Assigning and unassigning a user
      • Search fields
    • Forms
      • Creating a form field data resolver
    • Form flow
      • Whitelisting Spring beans for Form flow
    • Making Valtimo multi instance ready
    • Modals (external docs)
    • Creating a custom outbox message publisher
    • Plugins
      • Custom plugin definitions
    • Process
      • Whitelisting Spring beans for Camunda
    • Tabs
      • Customizing case details tabs
      • Customizing case list tabs
      • Setting extra tabs for Zaak object type
    • Integrating spring beans in a process
    • Creating a custom dashboard
    • Creating a custom value resolver
    • Security testing
  • References
    • Modules
      • Authorization
      • Outbox
      • Dashboard
      • Case
      • Core
        • ZonedLocalDateTimeDeserializer
      • Document
      • Form
      • Form flow
      • Form links (deprecated)
      • Object management
      • Value resolvers
    • User interface
      • Design philosophy
      • Carbon design system
      • v-button
      • Breadcrumbs
    • Feature toggles
    • Supported databases
    • Process beans
    • Content Security Policy (CSP)
    • Troubleshoot
  • Release notes
    • Release notes
    • 11.x.x
      • 11.3.3
        • Valtimo backend libraries
      • 11.3.2
        • Valtimo frontend libraries
      • 11.3.1
        • Valtimo frontend libraries
      • 11.3.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.2.2
        • Valtimo frontend libraries
      • 11.2.1
        • Valtimo frontend libraries
      • 11.2.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.6
        • Valtimo frontend libraries
      • 11.1.5
        • Valtimo frontend libraries
      • 11.1.4
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.1
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.1.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 11.0.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
    • 10.x.x
      • 10.8.5
        • Valtimo backend libraries
      • 10.8.4
        • Valtimo frontend libraries
      • 10.8.3
        • Valtimo backend libraries
      • 10.8.2
        • Valtimo frontend libraries
      • 10.8.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.7.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.6.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.5.3
        • Valtimo backend libraries
      • 10.5.2
        • Valtimo backend libraries
      • 10.5.1
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.5.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.4.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.3.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.2.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
      • 10.1.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
      • 10.0.1
        • Valtimo frontend libraries
      • 10.0.0
        • Valtimo backend libraries
        • Valtimo frontend libraries
        • Migration
    • 9.x.x
      • 9.26.2/5.15.2
        • Valtimo backend libraries (9.26.2)
        • Valtimo frontend libraries (5.15.2)
        • Migration
      • 9.26.1/5.15.1
        • Valtimo backend libraries (9.26.1)
        • Valtimo frontend libraries (5.15.1)
      • 9.26.0/5.15.0
        • Valtimo backend libraries (9.26.0)
        • Valtimo frontend libraries (5.15.0)
        • Migration
      • 9.25.0/5.14.0
        • Valtimo backend libraries (9.25.0)
        • Valtimo frontend libraries (5.14.0)
      • 9.24.0/5.13.0
        • Valtimo backend libraries (9.24.0)
        • Valtimo frontend libraries (5.13.0)
      • 9.23.0/5.12.0
        • Valtimo backend libraries (9.23.0)
        • Valtimo frontend libraries (5.12.0)
      • 9.22.0/5.11.0
        • Valtimo backend libraries (9.22.0)
        • Valtimo frontend libraries (5.11.0)
        • Migration
      • 9.21.0/5.10.0
        • Valtimo backend libraries (9.21.0)
        • Valtimo frontend libraries (5.10.0)
        • Migration
      • 9.20.0/5.9.1
        • Valtimo backend libraries (9.20.0)
        • Valtimo frontend libraries (5.9.1)
        • Migration
      • 9.19.0/5.8.0
        • Valtimo backend libraries (9.19.0)
        • Valtimo frontend libraries (5.8.0)
        • Migration
      • 9.18.0/5.6.0
        • Valtimo backend libraries (9.18.0)
        • Valtimo frontend libraries (5.6.0)
        • Migration
      • 9.17.0/5.5.0
        • Valtimo backend libraries (9.17.0)
        • Valtimo frontend libraries (5.5.0)
      • 9.16.0/5.4.0
        • Valtimo backend libraries (9.16.0)
        • Valtimo frontend libraries (5.4.0)
Powered by GitBook
On this page
  1. Release notes
  2. 10.x.x
  3. 10.0.0

Migration

PreviousValtimo frontend librariesNext9.x.x

Last updated 1 year ago

This page describes how to update Valtimo from the previous version to the current.

  • MySQL 5.7 end of life

    Scope: Backend

    Now that the extended support for MySQL 5.7 is ending, it is recommended to upgrade any MySQL database to MySQL 8 or higher. More information .

  • Java 17

    Scope: Backend

    In order to run Valtimo a Java 17 environment must be used. The way to configure this is different per implementation. For example, the Java version used when gradle with gradle can be set like this:

    sourceCompatibility = JavaVersion.VERSION_17
    targetCompatibility = JavaVersion.VERSION_17

    Also make sure that when building to a docker container a base image is used that supports Java 17.

  • View configurator

    Scope: Backend

    The view configurator module has been removed. This module has not been supported by the front-end since Valtimo 5 and any implementation that has this on the classpath can remove this module. Any implementation that has had this module on the classpath can run this database script for or to clean up the database.

  • Process data object relation

    Scope: Backend

    Process data object relations have been removed. Any implementation that has entities that extend the IProcessDataObject class are to remove this interface and store the data in their document definition instead. This data can be the entity or a reference to the entity, and has to be migrated before upgrading to this version of Valtimo.

    Additionally, the following database script should be used for or to clean up the database.

  • Angular upgrade

    Scope: Frontend

    In order to use the new front-end libraries based on Angular version 14 in an implementation, run the following command in the root of the implementation project: ng update @angular/core@14 @angular/cli@14

  • Dependency upgrades

    Scope: Frontend

    In order to use the front-end libraries with upgraded dependencies, make sure to first upgrade your implementation to Angular 14 by following the steps mentioned on this page.

  • Redundant stylesheets

    Next, you might have to delete the following lines from the styles array in angular.json in the root of your implementation:

    "node_modules/dmn-js/dist/assets/dmn-font/css/animation.css"

    "node_modules/dmn-js/dist/assets/dmn-font/css/dmn-ie7.css"

    "node_modules/dmn-js/dist/assets/dmn-font/css/dmn-ie7-codes.css"

  • New required dependency

    Scope: Front-end

    ngx-translate-multi-http-loader requires a new dependency. Run the following command in the root of the implementation project: npm i deepmerge-ts.

  • Matching dependencies

    Then, make sure the following dependencies in package.json in the root of your implementation have the following versions:

    package.json

    {
      "dependencies": {
        ...
        "@mdi/font": "^7.0.96",
        ...
        "dmn-js": "^12.1.0",
        "dropzone": "^6.0.0-beta.2",
        "ngx-color-picker": "^13.0.0",
        ...
        "ngx-translate-multi-http-loader": "^9.0.0",
        ...
        "swagger-ui": "^4.15.0",
        ...
        "zone.js": "^0.11.8"
      },
      "devDependencies": {
        ...
        "@types/jasmine": "^4.3.0",
        "@types/jasminewd2": "^2.0.10",
        ...
        "jasmine-core": "^4.4.0",
      } 
    }

    Note: if your implementation has any dependencies not included in the above example, and installing dependencies or building your application causes errors, make sure the versions of these dependencies match the versions in this release of valtimo-frontend-libraries.

    Translate loader upgrade

    ngx-translate-multi-http-loader has been upgraded from version 7 to version 9. This upgrade requires adjustments in implementations of Valtimo: HttpClient needs to be replaced by HttpBackend in the deps of the loader of TranslateModule.

    app.module.ts.ts

    import {HttpBackend, HttpClientModule} from '@angular/common/http';
    ...
    
    @NgModule({
      ...
      imports: [
        ...
        TranslateModule.forRoot({
          loader: {
             provide: TranslateLoader,
             useFactory: MultiTranslateHttpLoaderFactory,
             deps: [HttpBackend, ConfigService],
          },
        }),
      ],
      ...
    })
    ...

    If your implementation uses custom translation resources, these need to be adjusted in the environment file of your implementation. The environment property translationResources no longer accepts an array of ITranslationResource, but an array of strings. The properties prefix and suffix are now redundant. For example, if the previous value in your environment file was [{prefix: 'src/assets/translation', suffix: 'json'}], it should now be ['src/assets/translation'].

    Migrating from Protractor to Cypress

    Support for Protractor (an end-to-end testing framework) in the Angular CLI will be discontinued. Either remove Protractor from your implementation, or migrate to Cypress . The latter is recommended.

  • REST API versioning

    Scope: Front-end and back-end

    Versioning has been introduced for every REST endpoint exposed by Valtimo. If your implementation manually makes calls to currently existing Valtimo endpoints, these will have to be changed, e.g. /api/document becomes /api/v1/document.

  • Auth0 removed as authentication provider

    Scope: Front-end

    As of major version 10, Auth0 is no longer supported as an authentication provider. In order to adjust your implementation remove the dependencies @auth0/angular-jwt and @valtimo/auth0. Also, remove the files auth0-config.dev.ts, auth0-config.prod.ts and auth0-config.test.ts from src/environments/auth if they exist. Lastly, make sure none of the environment files in your implementation use Auth0 under the key authentication.

  • Removed deprecated code

    Scope: Back-end

    The following table shows the methods that were removed, and which methods should be used instead:

Class
Removed method
Replacement method
Notes

ValtimoUser

ValtimoUser(String, String, String, String, String, String, String, boolean, String, boolean, boolean, List<String>)

-

Use ValtimoUserBuilder instead

QueryDialectHelper

getJsonValueExpression(CriteriaBuilder, Path, String)

getJsonValueExpression(CriteriaBuilder, Path, String, Class)

Classes that implement this method have also had this method removed.

FormFieldDataResolver

supports(ExternalFormFieldType)

supports(String)

Classes that implement this method have also had this method removed.

AuthorityCreatedEvent

AuthorityCreatedEvent(UUID, String, LocalDateTime, String, String, Boolean, Money)

AuthorityCreatedEvent(UUID, String, LocalDateTime, String, String, Boolean)

Hourly rates were removed.

AuthorityDeletedEvent

AuthorityDeletedEvent(UUID, String, LocalDateTime, String, String, Boolean, Money)

AuthorityDeletedEvent(UUID, String, LocalDateTime, String, String, Boolean)

Hourly rates were removed.

AuthorityEvent

AuthorityEvent(UUID, String, LocalDateTime, String, String, Boolean, Money)

AuthorityEvent(UUID, String, LocalDateTime, String, String, Boolean)

Hourly rates were removed.

AuthorityNameChangedEvent

AuthorityNameChangedEvent(UUID, String, LocalDateTime, String, String, Boolean, Money, String)

AuthorityNameChangedEvent(UUID, String, LocalDateTime, String, String, Boolean, String)

Hourly rates were removed.

Authority

Authority(String, BigDecimal, boolean)

Authority(String, boolean)

Hourly rates were removed.

AuthorityRequest

AuthorityRequest(String, BigDecimal)

AuthorityRequest(String)

Hourly rates were removed.

FormFileResource

uploadFile(String, MultipartFile)

uploadFile(String, String, MultipartFile)

-

FormAssociationService

getPreFilledFormDefinitionByFormLinkId(Document.Id, String, String, String)

getPreFilledFormDefinitionByFormLinkId(String, String, Optional<Document.Id>, Optional<String>)

-

BlacklistRepository

findByEmailAddress(String)

existsById(String)

-

BlacklistService

blacklist(EmailAddress, String)

blacklist(String, LocalDateTime, String)

-

DocumentenService

createObjectInformatieObject(URI, UUID, String)

createObjectInformatieObject(URI, UUID)

-

DocumentDefinitionProcessLinkService

getDocumentDefinitionProcess(String)

getDocumentDefinitionProcessList(String)

-

DocumentDefinitionProcessLinkService

getDocumentDefinitionProcessLink(String)

getDocumentDefinitionProcessLink(String, String)

-

In addition to this, the following classes were removed. No replacements were added as these should not be used.

Class
Notes

AuthorityHourlyRateChangedEvent

Hourly rates were removed.

ExternalFormFieldType

  • Carbon design system

    Scope: Front-end

    The user interface of Valtimo will now use the Carbon design system. In order to make this work in your implementation, first make sure the @valtimo/* dependencies in package.json are version 10 or higher and run npm install. Your node_modules folder should now include the packages @carbon/icons, carbon-components and carbon-components-angular.

    Next, add the follow entries to the end of the styles array in angular.json in your project root: "node_modules/@valtimo/components/assets/css/carbon.scss" and "node_modules/@valtimo/components/assets/css/carbon-beagle-compatibility.scss".

    The environment files (of type ValtimoConfig) now support an entry applicationTitle. This can be left empty and defaults to Valtimo. If another value is specified, the page titles, tab titles and breadcrumbs will make use of this new title.

    The logos of implementations are now specified through a Base64 string in the environment file, either under the key logoSvgBase64 or logoPngBase64, which means the logo can either be in the .png format or the .svg format, encoded in Base64.

    Finally, import this string value containing a Base64 image in your environment file and specify it under the key logoSvgBase64 for .svg images, or under the key logoPngBase64 for .png images.

    The functionality to highlight the active menu item in the Carbon sidebar depends on the sequence numbers of the menu items under menu.menuItems in your environment file(s). Make sure the sequence numbers of menu items, and child menu items, are consecutive. No menu items on the same level should have the same sequence numbers

Enum was removed to increase extendability. See for a list of external form fields.

To use your own logo, first make sure to resize it to an optimal resolution if it's a .png file (a height of about 30px is recommended). If it is a .svg image, you might want to make use of to reduce its file size and complexity.

Next, create a file in the same folder as your environment files: logo.ts. From this file, export a string containing your base64 encoded logo. Use to encode .svg to a Base64 string. Use to encode .png to Base64. Make sure the option 'Plain text -- just the Base64' value is selected. The resulting Base64 string should not be prefixed with data:.

here
MySQL
PostgreSQL
MySQL
PostgreSQL
by following this guide
an optimization tool
this page
this page
here