Bug #81036

TCA l18n_parent is processed for sys_language_uid 0

Added by Nikolas Hagelstein over 2 years ago. Updated over 1 year ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
FormEngine aka TCEforms
Target version:
-
Start date:
2017-04-27
Due date:
% Done:

0%

TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

When opening a TCA Form of e.g. a tt_content record of sys_language_id 0 the l18n_parent field is processed, though the field isn't even displayed.

If you v a lot of tt_content records on the same pid this leads to major performance issues.

E.g. if arround 45k tt_content records on the same pid which are used by a container record via IRRE (kind of like the news does).

If there r 10 Records attached to the container records that leads to 10x45k interations in TYPO3\CMS\Backend\Form\FormDataProvider\AbstractItemProvider\addItemsFromForeignTable which takes 40sec. On my maschine :).

The only way to get arround this is to set type=>none to l18n_parent via override.

This behavior did not exist in TYPO3 6.1 (not sure about later versions).
I assume it has been introduced by the rewriting of the whole tce/form stuff.

I think this is more a general issue, imho fields that r not displayed at all by e.g. DisplayCond should be filtered earlier so that dont make their way through the itemProvider.

Note: this issues is not restricted to tt_content. In general: fields are processed by itemProviders/Dataproviders no matter if they r acctually displayed/used or not.

l18n_parent.png View (63.7 KB) Nikolas Hagelstein, 2017-04-27 10:29


Related issues

Related to TYPO3 Core - Bug #82730: Opening record in backend painfully slow with foreign table and large main table New 2017-10-11
Related to TYPO3 Core - Bug #84247: TCA label_userfunc called for every record in current page/folder New 2018-03-13

History

#1 Updated by Markus Klein over 2 years ago

The performance issue is a known issue. Eg. we had to change the TCA of news to change the parent selector to a group field, since we had 25k news records in default language, which is performance hell.

The part about processing fields depending on the display condition is not that easy. There was a lot of thinking already by Christian Kuhn about that.
Maybe get in touch with him on Slack for more internal details on the processing.

#2 Updated by Andre Koller almost 2 years ago

  • Related to Bug #82730: Opening record in backend painfully slow with foreign table and large main table added

#3 Updated by Susanne Moog over 1 year ago

  • Category set to FormEngine aka TCEforms

#4 Updated by Webadmin no-lastname-given over 1 year ago

  • Related to Bug #84247: TCA label_userfunc called for every record in current page/folder added

Also available in: Atom PDF