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
\Eliasno longer explicitly provides the currentHaeussler\ Typo3Form Consent\ Event\ Modify Consent Event \TYPO3\instance via theCMS\ Form\ Domain\ Runtime\ Form Runtime getmethod. UseForm Runtime () getinstead.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
\Eliasto a newHaeussler\ Typo3Form Consent\ Type\ Consent State Type \Eliasenum.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 formneeds 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 formneeds to be executed. Note: The database column is now nullable.Consent Migrate Consent State $consent->setdoes no longer accept any parameters. UseApproved () $consent->setinstead.State () $consent->getwas removed. UseApproval Date () $consent->getinstead.Update Date () $consent->setwas removed. UseApproval Date () $consent->setinstead.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
oninstead ofConsent Approve ($event) __.invoke ($event) - Event listener identifier
formchanged. 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
getwas removed. UseData Array () getinstead.Data ()->to Array () - Return type of
getwas changed toData () Json. If you need the JSON-encoded string, useType |null json_instead.encode ($consent->get Data ()) - Parameter
$dataofsetwas changed toData () Json. If you need to pass a JSON-encoded string, useType |null $consent->setinstead. If you need to pass a JSON-decoded array, useData (new Json Type ($json)) $consent->setinstead.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.