[!!!][FEATURE] Override any backend template with TsConfig
This patch finishes the migration to the new backend templating strategy. Affected are the backend page module and the dashboard extension: * Bigger refactoring of PageLayoutController towards more modern and streamlined code with much less class state. * Transition of fillDefaultsByPackageName() in the page module for the "grid" layout towards TsConfig based template overrides. * Refactoring of the dashboard main controller to avoid fillDefaultsByPackageName(). The new template override API based on TsConfig is now documented with a feature ReST file. The new template override strategy is breaking for existing overrides based on FE TypoScript and documented with a breaking ReST file including a detailed migration path. The ext:dashboard documentation is adapted accordingly. As a result, all backend controllers that do not rely on extbase no longer parse FE TypoScript. This is especially useful for the central page module: Clicking around on a v12 bootstrap_package page tree in the page module without the patch leads to around 80 to 120 milliseconds parsetime on my machine - depending on the number and complexity of content elements and the cache state. This systematically shrinks to around 50 to 70 milliseconds with the patch: The system no longer loads tons of extbase related classes, dependency injection is more effective, and the entire FE TypoScript parsing is gone. With cold caches ("Flush all caches" backend button), the difference is around 100 milliseconds for the first call on my system - in general, the bigger the instance, the higher the improvement. Change-Id: Ia244495db592526633d01e7f504502e297bd2ef9 Resolves: #96812 Related: #96730 Related: #96614 Related: #90348 Releases: main Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73366 Tested-by:core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
Showing
- Build/phpstan/phpstan-baseline.neon 0 additions, 5 deletionsBuild/phpstan/phpstan-baseline.neon
- typo3/sysext/backend/Classes/Controller/PageLayoutController.php 246 additions, 476 deletions...ysext/backend/Classes/Controller/PageLayoutController.php
- typo3/sysext/backend/Classes/View/BackendViewFactory.php 0 additions, 2 deletionstypo3/sysext/backend/Classes/View/BackendViewFactory.php
- typo3/sysext/backend/Classes/View/Drawing/BackendLayoutRenderer.php 90 additions, 94 deletions...xt/backend/Classes/View/Drawing/BackendLayoutRenderer.php
- typo3/sysext/backend/Resources/Private/Partials/PageLayout/Grid/Column.html 1 addition, 1 deletion...nd/Resources/Private/Partials/PageLayout/Grid/Column.html
- typo3/sysext/backend/Resources/Private/Templates/PageLayout/PageModule.html 66 additions, 0 deletions...nd/Resources/Private/Templates/PageLayout/PageModule.html
- typo3/sysext/backend/Resources/Private/Templates/PageLayout/PageModuleNoAccess.html 21 additions, 0 deletions...rces/Private/Templates/PageLayout/PageModuleNoAccess.html
- typo3/sysext/backend/Tests/Functional/View/Drawing/BackendLayoutRendererTest.php 13 additions, 52 deletions...sts/Functional/View/Drawing/BackendLayoutRendererTest.php
- typo3/sysext/core/Documentation/Changelog/12.0/Breaking-96812-NoFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst 253 additions, 0 deletions...oFrontendTypoScriptBasedTemplateOverridesInTheBackend.rst
- typo3/sysext/core/Documentation/Changelog/12.0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst 5 additions, 1 deletion...0/Feature-96730-SimplifiedExtbackendModuleTemplateAPI.rst
- typo3/sysext/core/Documentation/Changelog/12.0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst 129 additions, 0 deletions....0/Feature-96812-OverrideBackendTemplatesWithTSconfig.rst
- typo3/sysext/dashboard/Classes/Controller/DashboardController.php 42 additions, 118 deletions...sext/dashboard/Classes/Controller/DashboardController.php
- typo3/sysext/dashboard/Classes/Controller/WidgetAjaxController.php 16 additions, 39 deletions...ext/dashboard/Classes/Controller/WidgetAjaxController.php
- typo3/sysext/dashboard/Classes/Dashboard.php 3 additions, 2 deletionstypo3/sysext/dashboard/Classes/Dashboard.php
- typo3/sysext/dashboard/Classes/DashboardInitializationService.php 3 additions, 3 deletions...sext/dashboard/Classes/DashboardInitializationService.php
- typo3/sysext/dashboard/Classes/Views/Factory.php 1 addition, 0 deletionstypo3/sysext/dashboard/Classes/Views/Factory.php
- typo3/sysext/dashboard/Classes/WidgetRegistry.php 8 additions, 3 deletionstypo3/sysext/dashboard/Classes/WidgetRegistry.php
- typo3/sysext/dashboard/Classes/Widgets/BarChartWidget.php 19 additions, 41 deletionstypo3/sysext/dashboard/Classes/Widgets/BarChartWidget.php
- typo3/sysext/dashboard/Classes/Widgets/CtaWidget.php 19 additions, 33 deletionstypo3/sysext/dashboard/Classes/Widgets/CtaWidget.php
- typo3/sysext/dashboard/Classes/Widgets/DoughnutChartWidget.php 19 additions, 41 deletions.../sysext/dashboard/Classes/Widgets/DoughnutChartWidget.php
Please register or sign in to comment