[FEATURE] Provide API to add cached TCA changes 84/29484/6
authorHelmut Hummel <helmut.hummel@typo3.org>
Tue, 15 Apr 2014 10:55:37 +0000 (12:55 +0200)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Tue, 15 Apr 2014 16:30:21 +0000 (18:30 +0200)
commitf2180402888a08871d37c9a785c4d82ab6c993b0
tree5887f0e252791d9d6eacc850cf79e7d2221c7cdd
parentea063ac12ee691920648553c2f044903775c2378
[FEATURE] Provide API to add cached TCA changes

This change adds the feature that php files in the
extension directory Configuration/TCA/Overrides/
will be executed right before building the cached
TCA. These files must *only* contain PHP code
that manipulate TCA (like addTCAColumns or
addToAllTCATypes).

The benefit in doing so is that we can move all code
manipulating the TCA that previously was in ext_tables.php
and therefore uncachable, can now be in a defined
location and is only executed when TCA is built
and after that cached.

This will give backend requests quite a performance
boost once extensions start using these files.

Category Registry changes will also be applied
after Configuration/TCA/Overrides/ has been processed
so that makeCategorizable calls can now also happen
in files in this locations and do not need to stay
in ext_localconf.php where they also would be executed
on every request.

For now only filemetadata extension TCA configuration
is moved. All other core extensions will follow later.

Resolves: #57942
Documentation: #57951
Releases: 6.2
Change-Id: Id7fdebac266bc0b4e85a45b64d73e4f4f3c59a36
Reviewed-on: https://review.typo3.org/29484
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
typo3/sysext/core/Classes/Category/CategoryRegistry.php
typo3/sysext/core/Classes/Configuration/TcaBuildingAspect.php [new file with mode: 0644]
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/Package/PackageManager.php
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/ext_localconf.php
typo3/sysext/filemetadata/Configuration/TCA/Overrides/sys_file_metadata.php [new file with mode: 0644]
typo3/sysext/filemetadata/Configuration/TCA/sys_file_metadata.php [deleted file]