Valtimo backend libraries
New Features
The following features were added:
valtimo-dependency-versions module
A new
valtimo-dependency-versions
module has been created, which at the same time removes the version control fromvaltimo-dependencies
andvaltimo-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
localization
has 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/zaaktype
endpoint 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-authentication
module Since theopenzaak
modules has been deprecated, theOpenZaakPlugin
has been moved to the newopenzaak-plugin-authentication
module. 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
null
values. 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/zaaktype
endpoint 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-authentication
moduleSince the
openzaak
modules has been deprecated, theOpenZaakPlugin
has been moved to the newopenzaak-plugin-authentication
module. 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.exchange
property. More information on this can be found hereExecutable
flag is automatically set upon process deploymentWhen deploying processes via the
/api/v1/process/definition/deployment
endpoint or by import, theexecutable
flag 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
in
operator fails on listWhen a list was provided for the
in
operator (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-dependencies
andvaltimo-gzac-depenencies
should no longer be used fordependencyManagement
orplatform
. This functionality has been replaced by valtimo-dependency-versions.Moved KvKProvider and BsnProvider The
KvKProvider
andBsnProvider
and implementations (ZaakKvKProvider
andZaakBsnProvider
)have been moved to thezaken-api
module. 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-link
module, 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
camundaSmartDocumentGenerator
andsmartDocumentGenerator
beans will not be available. The plugin should work as normal.The
documentRelatedFileSubmittedEventListenerImpl
bean will not be available.JsonSchemaDocumentService.assignResource
will throw an error when invoked.The
FormIoFormFileResource
bean will not be available.
**
OpenZaakUrlProvider
has been replaced TheOpenZaakUrlProvider
class and bean (openZaakUrlProvider
) have been removed. These have been replaced by:ZaakUrlProvider
: implemented byDefaultZaakUrlProvider
in the zaken-api module.ZaaktypeUrlProvider
: implemented byDefaultZaaktypeUrlProvider
in the zaken-api module.
**
ZaakUrlProvider.getZaak(documentId: UUID): String
has been removed. This method is replaced byZaakUrlProvider.getZaakUrl(documentId: UUID): URI
.Removed dependencies from
valtimo-gzac-dependencies
The 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
AuditSearchService
class has been deprecated as it was not used for anything.OpenZaak module The
openzaak
modules has been deprecated and theOpenZaakPlugin
has been moved to the newopenzaak-plugin-authentication
module. 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