Open Forms 3.0 is a major version release that contains some breaking changes. As always we try to limit the impact of breaking changes through automatic migrations, and this release is no different, but there are some subtle changes in behaviour that you should be aware of, as they may require additional manual actions.
Jump to
- Legacy OpenID Connect callback endpoints are now disabled by default
- Removal of price logic
- Removed legacy "machtigen" context
- Form components/fields changes
- Removed import conversions
- Removal of /api/v2/location/get-street-name-and-city endpoint
- Legacy temporary file uploads no longer supported
- Deprecations in registration backends
Before Open Forms 3.0, the legacy endpoints were used by default.
The following environment variables now default to False
instead of True
:
USE_LEGACY_OIDC_ENDPOINTS
USE_LEGACY_DIGID_EH_OIDC_ENDPOINTS
USE_LEGACY_ORG_OIDC_ENDPOINTS
To keep the old behaviour, make sure you deploy with:
USE_LEGACY_OIDC_ENDPOINTS=True
USE_LEGACY_DIGID_EH_OIDC_ENDPOINTS=True
USE_LEGACY_ORG_OIDC_ENDPOINTS=True
To use the new behaviour, you must ensure that
https://open-formulieren.gemeente.nl/auth/oidc/callback/
is listed in the allowed
Redirect URI values of your identity provider.
Price logic rules are removed in favour of setting the submission price via a form variable and normal logic rules. The conversion is automatic.
There is a slight change in behaviour. When no price logic rules matched the trigger condition, the price set on the related product was used. This can lead to surprises and wrong amounts being paid due to logical errors in the form itself.
The new behaviour will (deliberately) cause a crash that will show to the end-user as "something unexpectedly went wrong", since we refuse to make any (likely wrong) assumptions about the amount that needs to be paid. Crash information is visible in the error monitoring if that's set up correctly.
Note
Existing, automatically converted forms are crash-free because we create an explicit fallback logic rule that mimicks the old behaviour.
Open Forms 2.7.0 revamped how mandates ("machtigingen") are captured when DigiD
Machtigen or eHerkenning Bewindvoering are used. We kept the old structure in place to
give some time to transition and are now removing this in favour of the new setup. For
the time being, the new setup still defaults to "Lax" mode, meaning it will continue to
work when some information is missing that is considered required. We recommend to opt
in to strict mode though, through the DIGID_EHERKENNING_OIDC_STRICT
feature
flag/environment variable.
You are affected by this if you use the static variable auth.machtigen
in your
registration backends. Instead, you should use the auth_context
static variable.
Since Open Forms 2.7.0, the same data has been saved to both datastructures.
The password component was deprecated a long time ago, and has now been removed. If you need to replace it anywhere, use a regular textfield component instead, but you really shouldn't be asking users for passwords.
For a number of changes, Open Forms ensured that old form exports could still be imported and would automatically convert some data. Some of these conversion have been removed.
Since the UX improvments in Open Forms 2.8.0 you can select the object type in a dropdown, and under the hood we save the unique identifier rather than the full API resource URL (which you used to have to copy-paste in a text field). The usage of hyperlinks for the object type is now also disallowed when importing a form.
Previously the hyperlinks would be converted to the expected format, and saved as such, which was quite complex and not ideal for exports using the new format. We recommend re-creating the exports on a newer version of Open Forms.
Old (from before Open Forms 2.4) form export files containing form field translations in the legacy format are now ignored instead of converted to the new format. We recommend re-creating the exports on a newer version of Open Forms.
The import conversion of StUF-ZDS plugin extensions, back to the default StUF-ZDS plugin, has been removed. We recommend re-creating the exports on a newer version of Open Forms, or manually changing the plugin to stuf-zds-create-zaak in the export files.
The legacy format (from before Open Forms 2.3) for registration backend will no longer be converted to the current standard. When importing a form with this configuration, the form will be created without registration backends.
The name
field of a FormDefinition
export is no longer written to the matching
active locale field (name_nl
or name_en
) during imports. Instead, the
translations
key is used. This affects forms that were exported before the
translations
key existed. We recommend re-creating the exports on a newer version
of Open Forms.
The formStep
key was deprecated in favour of formStepUuid
and the conversion
code has been removed. This may affect form exports from before Open Forms 2.1.0. We
recommend re-creating the exports on a newer version of Open Forms.
In Open Forms 2.3, the template tag {% cosign_information %}
was introduced and
automatically added to confirmation templates during import if it was absent. This
automatic patching has now been removed. We recommend re-creating the exports on Open
Forms 2.3 or newer.
The /api/v2/location/get-street-name-and-city was deprecated for some time, and is now removed in favor of the /api/v2/geo/address-autocomplete endpoint.
Before Open Forms 2.7.0, temporary file uploads (as created by the file upload form component) would not be related to the submission they were uploaded in. We call these legacy temporary file uploads, and support for them has been removed in Open Forms 3.0.
The setting TEMPORARY_UPLOADS_REMOVED_AFTER_DAYS
controls how long file uploads are
kept. Ensure that this many days have passed since the last legacy upload before
upgrading to Open Forms 3.0, otherwise you will run into database errors during the
upgrade.
We've done extensive UX rework in the Objects API and ZGW API's registration backends - you can now select the case and/or document types to use in dropdowns rather than having to copy-paste the API resource URLs. The API resource URLs will continue to work and are scheduled for removal in Open Forms 4.0 (no planned date for this yet), but we recommend you to already migrate your forms to the new format:
- it has a better UX for the people configuring forms :)
- it automatically picks the correct version from the Catalogi API
Migrating is as simple as opening the registration options, selecting the catalogue to use and then selecting the case type/document type to use and emptying the URL-field.