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.