Story #57862

Epic #55070: Workpackages

Epic #55065: WP: Overall System Performance (Backend and Frontend)

Bug #52949: Speed decrease since 4.5

Add possibility to make all TCA additions cached

Added by Helmut Hummel over 5 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Performance
Target version:
-
Start date:
2014-04-12
Due date:
% Done:

100%

TYPO3 Version:
6.2
PHP Version:
Tags:
Sprint Focus:

Description

Currently only parts of the TCA are cached (ExtensionManagementUtility::loadBaseTca) which is the TCA defined in <ext>/Configuration/TCA/table_name.php but additions to TCA which are
added through API calls in ext_tables.php or TCA registered in the category API is always applied on every (backend) call.

To improve the performance in this area (ExtensionManagementUtility::addToAllTCATypes is a big performance issue which can be found in profiling) there should
be a possibility to cache a consistent state of the complete TCA making changes to it in ext_tables.php obsolete.

To achieve this a first step is to introduce a signal is introduced in ExtensionManagementUtility::buildBaseTcaFromSingleFiles
to make it possible to hook into the place where the base TCA is built. Changes and additions can be applied there.

A second step would be to make the core make use of this signal. The idea is that the core registers one slot which evaluates
files in every loaded extension that must only contain PHP code that deals with TCA changes (file name and location still has to be specified)
and move the code from core extensions in that location.

A third step would make the categorization API also use this signal.

Lastly we can cleanup all core extensions, that make use of <ext>/Configuration/TCA/table_name.php not only to introduce TCA
for new changes, but to extend/ overwrite it (filemetadata sysext does this for example) as these files are meant to become
a real configuration layer without any logic


Subtasks

Task #57863: Introduce a signal in ExtensionManagementUtility::loadBaseTcaClosed

Task #57881: Make category TCA changes cacheableClosed

Task #57942: Provide API to add cached TCA changesClosed


Related issues

Related to TYPO3 Core - Bug #57869: Remove side effects form TCA cache building Rejected 2014-04-12
Related to TYPO3 Core - Bug #58039: Fix TCA overrides when not cached Closed 2014-04-18

History

#1 Updated by Helmut Hummel over 5 years ago

  • Status changed from New to Resolved

#2 Updated by Benni Mack about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF