[TASK] Bootstrap: Load TCA configuration on every request 53/52753/3
authorBenni Mack <benni@typo3.org>
Thu, 11 May 2017 06:18:22 +0000 (08:18 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 18 May 2017 10:58:23 +0000 (12:58 +0200)
commit45b736116e17686fedaee4f578d5e70758da8287
treec2427868d30bbe983f61af903e74510da431fe54
parentf25149a420a4369cd2a774aac8e3d0b8489d4d50
[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.

Side effects:
- 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

Resolves: #72222
Resolves: #81201
Releases: master
Change-Id: I31a0de0d0b039eb6180123678c61d3f26435dd63
Reviewed-on: https://review.typo3.org/52753
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Philipp Gampe <philipp.gampe@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/backend/Classes/Http/AjaxRequestHandler.php
typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
typo3/sysext/backend/Classes/Http/RequestHandler.php
typo3/sysext/core/Classes/Console/CommandRequestHandler.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Documentation/Changelog/master/Deprecation-81201-EidUtilityloadTCA.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Important-81201-TCAPopulatedAvailableAtAnyRequest.rst [new file with mode: 0644]
typo3/sysext/frontend/Classes/Http/RequestHandler.php
typo3/sysext/frontend/Classes/Utility/EidUtility.php