Valtimo backend libraries
New Features
The following features were added:
valtimo-dependency-versions module
A new
valtimo-dependency-versionsmodule has been created, which at the same time removes the version control fromvaltimo-dependenciesandvaltimo-gzac-depenencies.This module specifies versions for dependencies of Valtimo.
More information can be found here.
User task assignees saved by user ID
The assignees of a user task are now saved in the database by their user ID. When implementations use keycloak, the assignee column from the task table in the databases is automatically migrated from email to user ID.
Localization module
A new module
localizationhas been added, which provides endpoints for user configurable translations. For more information on how to use these translations in the front-end, refer to this page.New endpoint to retrieve Zaaktypen A new endpoint has been added to the zaken-api module to retrieve zaaktypen:
/api/management/v1/zgw/zaaktype. This replaces the/api/v1/openzaak/zaaktypeendpoint from the openzaak module, which is now deprecated. The new endpoint requires at least one Zaken API Plugin to be configured.Moved OpenZaak plugin to new
openzaak-plugin-authenticationmodule Since theopenzaakmodules has been deprecated, theOpenZaakPluginhas been moved to the newopenzaak-plugin-authenticationmodule. The packages are still the same to keep it backwards-compatible without configuration migrations.Value resolver null values
Value resolver now supports resolving and handling
nullvalues. This change can break existing value resolver implementations.Migration instructions related to this change can be found here.
Plugin actions on all activity types
Support for plugin action on all activity types has been added.
Replacement for header based pagination
Several endpoints that use URLs in the HTTP headers to paginate results have a new version with endpoints that return the pagination information in the response body. The following endpoints are impacted by this change:
/api/v1/choice-fields
/api/v2/choice-fields
/api/v1/choice-field-values
/api/v2/choice-field-values
/api/v1/choice-field-values/{choice_field_name}/values
/api/v2/choice-field-values/{choice_field_name}/values
/api/v1/process/{processDefinitionName}/search
/api/v2/process/{processDefinitionName}/search
/api/v1/task
/api/v2/task
New endpoint to retrieve Zaaktypen
A new endpoint has been added to the zaken-api module to retrieve zaaktypen:
/api/management/v1/zgw/zaaktype. This replaces the/api/v1/openzaak/zaaktypeendpoint from the openzaak module, which is now deprecated. The new endpoint requires at least one Zaken API Plugin to be configured.Moved OpenZaak plugin to new
openzaak-plugin-authenticationmoduleSince the
openzaakmodules has been deprecated, theOpenZaakPluginhas been moved to the newopenzaak-plugin-authenticationmodule. The packages are still the same to keep it backwards-compatible without configuration migrations.Automatically set 'Uiterlijke einddatum afdoening' in Zaken-api
The field 'Uiterlijke einddatum afdoening' is now set automatically in the Zaken-api when creating a case in Valtimo.
Internal statuses are now available to cases
Cases can be filtered on statuses set to the case via the process. More information on this can be found here
The RabbitMQ outbox publisher now support exchange targets
Exchange targets can now be used with the outbox publisher for RabbitMQ by using the
valtimo.outbox.publisher.rabbitmq.exchangeproperty. More information on this can be found hereExecutableflag is automatically set upon process deploymentWhen deploying processes via the
/api/v1/process/definition/deploymentendpoint or by import, theexecutableflag is automatically set to true. The result is that deployment will no longer fail silently on this misconfiguration. This behaviour is not applied to auto-deployment via classpath.Task list columns can be exported and imported Columns configured for the task list can now be exported and imported via the case administration.
ZGW Document list columns can be exported and imported Columns configured for the ZGW document list can now be exported and imported via the case administration.
Bugfixes
The following bugs were fixed:
Error in some plugin action properties
The plugin action property would throw an error when the plugin action property was set to a process variable that contained a list.
Plugin auto-deployment fails on nullable property
If the plugin configuration file contained a 'null' value for a plugin property, an error was thrown.
Access control
inoperator fails on listWhen a list was provided for the
inoperator (e.g.["1","2"]), the permission could not be imported.Process not linked after deploying a new case definition
When a new version of the case definition was deployed, the new case definition would sometimes no longer be linked to any of the process definitions that were linked in previous versions.
Imported forms marked as readonly
Imported forms were automatically marked read-only, making it impossible to edit them. The read-only flag is now only applied on auto-deployed forms.
Breaking changes
The following breaking changes were introduced:
Upgrade to Spring Boot 3
Valtimo has been upgraded to Spring Boot 3. This was needed to keep the product up to date with the latest (transitive) dependencies.
Migration instructions related to this change can be found here.
Valtimo dependencies have changed
valtimo-dependenciesandvaltimo-gzac-depenenciesshould no longer be used fordependencyManagementorplatform. This functionality has been replaced by valtimo-dependency-versions.Moved KvKProvider and BsnProvider The
KvKProviderandBsnProviderand implementations (ZaakKvKProviderandZaakBsnProvider)have been moved to thezaken-apimodule. The objects-api module has been changed to use the relocated interfaces. Please be aware that the new implementations require at least one Zaken API Plugin to be configured.Removed deprecated code The
form-linkmodule, which was deprecated in 10.6.0, has been removed. Process links should be used instead. Additionally,CamundaProcessJsonSchemaDocumentService.getDocument(DelegateExecution execution)has been removed. This method is replaced byDocumentDelegateService.getDocument(DelegateExecution execution.ResourceService implementation is now optional Valtimo can now start without providing any implementation of the
ResourceService. When no implementation is provided, the following features will not work:The
camundaSmartDocumentGeneratorandsmartDocumentGeneratorbeans will not be available. The plugin should work as normal.The
documentRelatedFileSubmittedEventListenerImplbean will not be available.JsonSchemaDocumentService.assignResourcewill throw an error when invoked.The
FormIoFormFileResourcebean will not be available.
**
OpenZaakUrlProviderhas been replaced TheOpenZaakUrlProviderclass and bean (openZaakUrlProvider) have been removed. These have been replaced by:ZaakUrlProvider: implemented byDefaultZaakUrlProviderin the zaken-api module.ZaaktypeUrlProvider: implemented byDefaultZaaktypeUrlProviderin the zaken-api module.
**
ZaakUrlProvider.getZaak(documentId: UUID): Stringhas been removed. This method is replaced byZaakUrlProvider.getZaakUrl(documentId: UUID): URI.Removed dependencies from
valtimo-gzac-dependenciesThe following modules have been removed from
valtimo-gzac-dependencies:These modules are still defined in the
valtimo-dependency-versions. Please add them to your project manually if needed.OpenZaak module has been deprecated Its functionality has been moved or copied to the following modules:
Instructions on how to migrate to this version of Valtimo can be found here.
Outdated modules have been deprecated
Besluit: replaced by Besluiten API plugin/module
Contactmoment: will be replaced by new plugins in the future
External-event: partly replaced by the outbox module. Portal-related functionality has not been replaced.
Haalcentraal BRP: will be replaced by new plugins in the future
Klant: will be replaced by new plugins in the future
Openzaak resource: replaced by the Documenten API plugin
Deprecations
The following was deprecated:
Connectors
The connector framework, including all connectors, have been deprecated.
Audit module methods
Several methods have been deprecated as they were not used for anything. No alternatives are offered. These are:
AuditRecordRepository.findAuditRecordByProperty(String key, Object value, Pageable pageable)AuditService.findByEventAndOccurredBetween(Class<? extends AuditEvent> event, LocalDateTime from, LocalDateTime until, Pageable pageable)AuditService.findByProperty(String key, Object value, Pageable pageable)AuditService.findByEventTypeAndProperty(Class<? extends AuditEvent> event, String key, Object value)
Audit module classes
The
AuditSearchServiceclass has been deprecated as it was not used for anything.OpenZaak module The
openzaakmodules has been deprecated and theOpenZaakPluginhas been moved to the newopenzaak-plugin-authenticationmodule. The packages are still the same to keep it backwards-compatible without configuration migrations.
Instructions on how to migrate to this version of Valtimo can be found here.
OpenZaak module The OpenZaak module has been deprecated. The deprecated methods and classes have been annotated with instructions on how to replace them. The general guideline here is to use the available (Plugin) functionality from the ZWG modules as replacement.
Known issues
This version has the following known issues:
Issue1
Discovered in version x.x.x
Describe what can be done to work around the issue
Issue2
Discovered in version x.x.x
Describe what can be done to work around the issue
Last updated