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
  • New Features
  • Bugfixes
  • Breaking changes
  • Deprecations
  • Known issues
  1. Release notes
  2. 11.x.x
  3. 11.0.0

Valtimo backend libraries

Previous11.0.0NextValtimo frontend libraries

Last updated 1 year ago

New Features

The following features were added:

  • Policy Based Access Control (PBAC)

    Valtimo now supports Policy Based Access Control (PBAC), which provides detailed authorization checks on actions and data. More information can be found here:

    In order to use Valtimo, permissions and roles must be defined as described .

  • New service ObjectManagementFacade, for access to ObjectenAPI and ObjecttypenAPI

    A new service ObjectManagementFacade has been added to module zgw/object-management. This service allows implementations to make calls to ObjectsAPI without needing to explicitly initialize the plugin configurations for every single use.

  • Changed encryption algorithm mode

    The block cypher algorithm used was previously set to use ECB (Electronic Codebook) instead of GCM (Galois Counter Mode). As a result, this means, as long as the key does not change, encrypting plaintext blocks will always result in the same ciphertext block. This matters mainly for larger pieces of text (or images) where patterns can be recognized and some information can be derived. For example, see this image:

    Since encryption in Valtimo is applied to keys in valtimo, these are generally a lot shorter, and deriving any kind of information becomes more difficult as a result.

  • Plugin export API endpoint

    It is now possible to export the plugin configurations through a REST API endpoint.

  • Process links export API endpoint

    It is now possible to export the process link configurations through a REST API endpoint.

Bugfixes

The following bugs were fixed:

  • RESTEASY004687 warnings

    The logs will no longer show the warning message 'RESTEASY004687'. This warning happened because a REST client wasn't closed properly. This has been solved now.

  • Unable to save choice field values in PostgreSQL

    Saving choice field values to a PostgreSQL database would fail because a property was only compatible with MySQL and not PostgreSQL. The datatype has been modified, so choice field values can now be saved in PostgreSQL databases.

Breaking changes

The following breaking changes were introduced:

  • Removed REST endpoints

    Several endpoints were meant for public use. By default, Valtimo should not offer any public endpoints, and as a result these have been removed. This is the list of removed endpoints:

    • /api/v1/public/process/definition/{processDefinitionKey}/start-form

    • /api/v1/public/process/definition/{processDefinitionKey}/{businessKey}/start

    • /api/v1/public/task/{taskDefinitionId}/resource/pre-signed-url/{fileName}

    • /api/v1/public/task/{taskDefinitionId}/resource/{resourceId}

    • GET /api/v1/document-definition/{name}/roles

    • PUT /api/v1/document-definition/{name}/roles

    • GET /api/v1/document-definition?filteredOnRole=false

      • Has been replaced by GET /api/management/v1/document-definition

  • Removed classes

    Several classes have been removed in favor of PBAC policies:

    • JsonSchemaDocumentDefintionRole

    • JsonSchemaDocumentDefintionRoleId

  • Spring bean whitelisting for Camunda

  • Property 'valtimo.jwt.secret' renamed

    The application property valtimo.jwt.secret has been renamed to valtimo.oauth.public-key. To better describe what this property is used for.

    As a consequence of this change, the environment variable VALTIMO_JWT_SECRET has been renamed to VALTIMO_OAUTH_PUBLIC_KEY.

  • Property 'valtimo.jwt.tokenValidityInSeconds' renamed

    The application property valtimo.jwt.tokenValidityInSeconds has been renamed to valtimo.oauth.tokenValidityInSeconds. To better describe what this property is used for.

    As a consequence of this change, the environment variable VALTIMO_JWT_TOKEN_VALIDITY_IN_SECONDS has been renamed to VALTIMO_OAUTH_TOKEN_VALIDITY_IN_SECONDS.

  • Classpath scanning

    A package whitelist has been added to the classpath scanning. Classpath scanning is used when searching for custom plugins or dashboard data-sources. Custom plugins or dashboard data-sources will not be found when the package name is not whitelisted. By default, only the Valtimo core packages (com.ritense.valtimo) and the package of the Spring application's main class are scanned. To scan additional packages for custom plugins or data-sources, the following Spring property should be configured:

    valtimo.annotation-scan.accepted-packages: test.package1, test.package2

  • Deleted 'Authority' entities

    Valtimo has switched to a new policy based access control system. As a consequence, the old authorities have been removed. The following entities can no longer be used:

    • Database table: 'jhi_authority'

    • Spring events: AuthorityCreatedEvent, AuthorityDeletedEvent, AuthorityEvent, AuthorityNameChangedEvent

    • Spring beans: AuthorityResource, AuthorityService, AuthorityRepository

    • Domain: Authority, AuthorityRequest, Money

  • Deleted 'Context' entities

    Valtimo no longer supports 'contexts'. The following entities can no longer be used:

    • Database table: 'context_processes', 'context_roles', 'menu_item', 'context'

    • Spring beans: ContextResource, ContextService, ContextRepository, UserContextRepository

    • Domain: UserContextDTO, Context, ContextProcess, MenuItem, UserContext

  • Moved Verzoek plugin property objectManagementId

    For the Verzoek plugin configuration, the property objectManagementId has been moved to a deeper level. This change can break any auto-deployment field that contains a Verzoek plugin.

  • Deleted method from ProcessLinkService

    ProcessLinkService.getProcessLinks(activityId, activityType, processLinkType) was only used for testing.

  • Renamed methods on CamundaTaskService

    CamundaTaskService.completeTaskWithoutFormData(taskId) -> CamundaTaskService.complete(taskId) CamundaTaskService.completeTask(taskId) -> CamundaTaskService.completeTaskWithFormData(taskId)

  • Return type changed for CamundaTaskService.findTaskById()

    org.camunda.bpm.engine.task.Task -> com.ritense.valtimo.camunda.domain.CamundaTask

  • Updated Spring Boot

    Spring Boot has been updated to version 2.7.18

Deprecations

The following was deprecated:

  • Renamed form-flow endpoints

    Several REST API endpoints for form-flow have been given a new path. The old paths are still functioning but have been deprecated. The following changes have been made:

    • GET /api/v1/process-link/form-flow-definition has been replaced with GET /api/v1/form-flow/definition

    • GET /api/v1/form-flow/{formFlowInstanceId} has been replaced by GET /api/v1/form-flow/instance/{id}

    • POST /api/v1/form-flow/{formFlowId}/step/{stepInstanceId} has been replaced by POST /api/v1/form-flow/instance/{id}/step/instance/{id}

    • POST /api/v1/form-flow/{formFlowId}/back has been replaced by POST /api/v1/form-flow/instance/{id}/back

    • POST /api/v1/form-flow/{formFlowId}/save has been replaced by POST /api/v1/form-flow/instance/{id}/save

  • Renamed case endpoints

    Several REST API endpoints for cases have been given a new path. The old paths are still functioning but have been deprecated. The following changes have been made:

    • PATCH /api/v1/case/{caseDefinitionName}/settings has been replaced with PATCH /api/management/v1/case/{caseDefinitionName}/settings

    • POST /api/v1/case/{caseDefinitionName}/list-column has been replaced with POST /api/management/v1/case/{caseDefinitionName}/list-column

    • PUT /api/v1/case/{caseDefinitionName}/list-column has been replaced with PUT /api/management/v1/case/{caseDefinitionName}/list-column

    • DELETE /api/v1/case/{caseDefinitionName}/list-column/{columnKey} has been replaced with DELETE /api/management/v1/case/{caseDefinitionName}/list-column/{columnKey}

Known issues

  • Roles assigned via groups in Keycloak are not fully supported Functionality where the Keycloak API is used to retrieve user data will not be able to use roles assigned via groups. Any functionality that relies on the JWT token will work as expected.

Spring beans that are used inside Camunda BPMN's and DMN's must now be whitelisted before they can be used. This can be done using the @ProcessBean annotation. More information .

Instructions on how to migrate to this version of Valtimo can be found .

Instructions on how to migrate to this version of Valtimo can be found .

here
here
here
Introduction
Getting started
Using Valtimo
here
encryption modes