Breaking: #102224 - TemplaVoila related FlexForm dataStructure lookups¶
See forge#102224
Description¶
The following TCA config options for 'type' = 'flex'
column fields are
not handled anymore:
['config']['ds_pointerField_searchParent']
['config']['ds_pointerField_searchParent_subField']
['config']['ds_tableField']
The following related exception classes have been removed and are no longer thrown:
\TYPO3\CMS\Core\Configuration\FlexForm\Exception\InvalidParentRowException
\TYPO3\CMS\Core\Configuration\FlexForm\Exception\InvalidParentRowLoopException
\TYPO3\CMS\Core\Configuration\FlexForm\Exception\InvalidParentRowRootException
\TYPO3\CMS\Core\Configuration\FlexForm\Exception\InvalidPointerFieldValueException
Impact¶
When dealing with TCA type flex
fields, there needs to be a "data structure" that
defines which fields are rendered when editing the record. The default is looking up
the data structure using the ['ds']['default']
value.
Multiple different data structures can be defined, so there is a strategy to find the
data structure relevant for current record. For table tt_content
, this is
defined using ds_pointerField
, which determines the specific data structure based
on the combination of the fields CType
and list_type
.
There have been more sophisticated lookup mechanisms based on the TCA config options
ds_pointerField_searchParent
, ds_pointerField_searchParent_subField
and ds_tableField
. Those lookup mechanisms have been removed with TYPO3 v13.
Affected installations¶
Instances with extensions having flex
fields using one of the TCA options
ds_pointerField_searchParent
, ds_pointerField_searchParent_subField
or ds_tableField
will fail to retrieve their data structure. Most likely,
an exception will be thrown when editing such records.
Those three fields have been implemented long ago for heavily flex form driven instances based on "TemplaVoila" (TV). This detail never found broader acceptance in not-TV driven instances.
Instances not driven by one of the TemplaVoila forks are most likely not affected by this change. Instances actively using TemplaVoila forks may be affected, but those forks seem to implement the data structure lookup on their own already, affected instances should wait for their templavoila maintainers to catch up.
Migration¶
There are appropriate events that allow manipulating the data structure
lookup logic in class \TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools
.
Those can be used to re-implement the logic that has been removed from TYPO3
Core if needed.