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 about 8 years ago. Updated over 3 years ago.

Should have
Target version:
Start date:
Due date:
% Done:


Estimated time:
(Total: 0.00 h)
TYPO3 Version:
PHP Version:
Sprint Focus:


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


Task #57863: Introduce a signal in ExtensionManagementUtility::loadBaseTcaClosed2014-04-12

Task #57881: Make category TCA changes cacheableClosed2014-04-13

Task #57942: Provide API to add cached TCA changesClosed2014-04-15


Related issues

Related to TYPO3 Core - Bug #57869: Remove side effects form TCA cache buildingRejected2014-04-12

Related to TYPO3 Core - Bug #58039: Fix TCA overrides when not cachedClosed2014-04-18


Updated by Helmut Hummel almost 8 years ago

  • Status changed from New to Resolved

Updated by Benni Mack over 3 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF