Migration
This page lists all notable changes and required migrations when upgrading to a new major version of this extension.
Version 2.0.0
Finisher context in event
\Elias
no longer explicitly provides the currentHaeussler\ Typo3Form Consent\ Event\ Modify Consent Event \TYPO3\
instance via theCMS\ Form\ Domain\ Runtime\ Form Runtime get
method. UseForm Runtime () get
instead.Finisher Context ()->get Form Runtime () - \EliasHaeussler\Typo3FormConsent\Domain\Factory\ConsentFactory::createFromForm
no longer expects a
\TYPO3\
as second parameter. Pass the currentCMS\ Form\ Domain\ Runtime\ Form Runtime \TYPO3\
instead.CMS\ Form\ Domain\ Finishers\ Finisher Context
Version 1.0.0
Consent state enum
- Different consent states moved from
\Elias
to a newHaeussler\ Typo3Form Consent\ Type\ Consent State Type \Elias
enum.Haeussler\ Typo3Form Consent\ Enums\ Consent State - Use enum cases instead of the old class constants.
Version 0.7.0
Global form settings
- Form settings for Frontend requests (
plugin.
) are no longer included globally.tx_ form - Make sure to add the static TypoScript setup at
EXT:
to your root template.form_ consent/ Configuration/ Typo Script
Version 0.4.0
Generic consent state
- The current state of form consents is now represented in a more generic way.
- Database field
tx_
was renamed toformconsent_ domain_ model_ consent. approved tx_
. Upgrade wizardformconsent_ domain_ model_ consent. state form
needs to be executed.Consent Migrate Consent State - Database field
tx_
was renamed toformconsent_ domain_ model_ consent. approval_ date tx_
. Upgrade wizardformconsent_ domain_ model_ consent. update_ date form
needs to be executed. Note: The database column is now nullable.Consent Migrate Consent State $consent->set
does no longer accept any parameters. UseApproved () $consent->set
instead.State () $consent->get
was removed. UseApproval Date () $consent->get
instead.Update Date () $consent->set
was removed. UseApproval Date () $consent->set
instead.Update Date ()
Post-consent dismissal finishers
- Custom finishers can now be executed after consent was dismissed.
- Event listener was renamed. Change references to
\Elias
. Adapt your service configuration, if needed.Haeussler\ Typo3Form Consent\ Event\ Listener\ Invoke Finishers Listener - Listener method was renamed. Use
on
instead ofConsent Approve ($event) __
.invoke ($event) - Event listener identifier
form
changed. Change references toConsent Invoke Finishers On Approve Listener form
.Consent Invoke Finishers On Consent Approve Listener
Version 0.3.0
Post-consent approval finishers
- Custom finishers can now be executed after consent was approved.
- Database field
tx_
was added. A manual migration is required. Database field should contain an JSON-encoded string of the parsed body sent with the original form submit request.formconsent_ domain_ model_ consent. original_ request_ parameters - Database field
tx_
was added. A manual migration is required. Database field should contain the content element UID of the original form plugin.formconsent_ domain_ model_ consent. original_ content_ element_ uid - Post-approval finishers can now be defined as described here: Invoke finishers on consent approval or dismissal. A manual migration is required. Create form variants and configure the post-approval finishers.
Consent model
- Form values are now represented as an instance of \EliasHaeussler\Typo3FormConsent\Type\JsonType.
- Method
get
was removed. UseData Array () get
instead.Data ()->to Array () - Return type of
get
was changed toData () Json
. If you need the JSON-encoded string, useType |null json_
instead.encode ($consent->get Data ()) - Parameter
$data
ofset
was changed toData () Json
. If you need to pass a JSON-encoded string, useType |null $consent->set
instead. If you need to pass a JSON-decoded array, useData (new Json Type ($json)) $consent->set
instead.Data (Json Type:: from Array ($array))
Codebase
- Minimum PHP version was raised to PHP 7.4. Upgrade your codebase to support at least PHP 7.4.
- Several classes were marked as
final
. If you still need to extend or override them, consider refactoring your code or submit an issue.