Load TCA earlier in each TYPO3 request
Since TYPO3 v8, loading of TCA via Configuration/TCA/* in each extension allows to have a fully cacheable $TCA array which is now possible to be called within the Bootstrap and not the RequestHandler, meaning that this logic becomes more part of the actual Bootstrap process (so a TYPO3 request can be handled) instead of having custom logic dealing with that.
[TASK] Bootstrap: Load TCA configuration on every request
By moving Bootstrap::loadBaseTca() to the configure() call of the
TYPO3 Bootstrap, the global TCA variable is now populated very early
and it is obvious that this logic is then part of the actual system setup,
and does not need to be handled by any RequestHandler anymore.
Considering TCA is necessary for a TYPO3 environment to run,
this change might be very helpful.
Please note that the Install Tool application does not call
configure(), so this is not affected.
This also removes some issues related to Extbase
Command controllers in CLI handling.
- eID requests now have full TCA loaded as well at any time
- TCA is now loaded BEFORE entering any request handler check
- TCA is now loaded before e.g. BackendRouting initialization, and other Backend security checks
Easy to test the current behaviour:
- Clear all caches via install tool
- Call CLI command extbase:help which will result in a Warning / Exception
Tested-by: TYPO3com <email@example.com>
Reviewed-by: Georg Ringer <firstname.lastname@example.org>
Tested-by: Georg Ringer <email@example.com>
Reviewed-by: Jan Helke <firstname.lastname@example.org>
Tested-by: Jan Helke <email@example.com>
Reviewed-by: Philipp Gampe <firstname.lastname@example.org>
Reviewed-by: Christian Kuhn <email@example.com>
Tested-by: Christian Kuhn <firstname.lastname@example.org>