Bug #85544
closedThe form definition upgrade wizard does not update all relevant plugin settings
100%
Description
The form definition upgrade wizard (rename .yaml => .form.yaml) does not update all relevant plugin settings.
The form definition renaming wizard updates the "settings.persistenceIdentifier" property within the flexform but ignores the "Override finisher settings" options.
The form plugin tries to prevent unintentionally finisher settings overrides.
This could be happened if you have an already overridden finisher option and select another form definition.
In some cases it could be, that a finisher override from form definition "A" is set as an finisher override for form definition "B" if you switch from form definition "A" to "B".
To prevent this, every dynamic flexform sheet (every finisher, which allows the form plugin to override settings, appears in another tab) has an unique name which is composed of properties of the form definition.
This name is an md5 hash from the following form definition properties:
- persistenceIdentifier
- prototypeName
- formIdentifier
- finisherIdentifier
Since the form definition renaming wizard renames the "persistenceIdentifier" propery, the calculation for the unique name for the flexform sheets for the finisher overrides results in another md5 hash. The result is that the corresponding sheets are no longer associated with the currently selected form and all overridable finisher options are empty.