Project

General

Profile

Actions

Task #69715

closed

Story #69712: Further FormEngine development

Flex: Better encapsulation

Added by Christian Kuhn about 9 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
Start date:
2015-09-12
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
hard
Sprint Focus:
Stabilization Sprint

Description

getFlexIdentifier() of TcaFlex.php calculates the "pointer" that determines which defined data structure should be chosen.

The implementation is only sparse, documented stuff ( https://docs.typo3.org/typo3cms/TCAReference/Reference/Columns/Flex/Index.html ) like ds_pointerfield_searchparent is not handled.

getFlexFormDS() currently does two things: The pointer calculation and then fetching and parsing the structure. This should be split and unit tested put to FlexFormTools of ext:core (the only non-static class we have that handles flex form related stuff). Unsure about the error handling that is also happening - maybe better throw exceptions. Also the hint from resolvePossibleExternalFile() of TcaFlex should be taken into account and merged to the parser method.

There is a second (similar) method in BackendUtility::getRegisteredFlexForms that has a slightly different scope, though. The second one is used by the SelectItem data provider of flex forms, iirc.

In the end, the following methods should be deprecated and substituted by unit tested code within FlexFormTools that is split into sane capsules:

BackendUtility::getRegisteredFlexForms()
BackendUtility::getFlexFormDS
GeneralUtility::resolveSheetDefInDS()
GeneralUtility::resolveAllSheetsInDS()

It might be required to split this issue here into multiple smaller issues.


Related issues 1 (0 open1 closed)

Related to TYPO3 Core - Task #78581: Refactor flex form data structure handlingClosed2016-11-05

Actions
Actions

Also available in: Atom PDF