[FEATURE] New API for the admin panel 90/55890/6
authorSusanne Moog <susanne.moog@typo3.org>
Sun, 25 Feb 2018 11:21:31 +0000 (12:21 +0100)
committerBenni Mack <benni@typo3.org>
Tue, 27 Feb 2018 15:45:55 +0000 (16:45 +0100)
commit61df57efe9284b2a9a26612f7ef2fa1e1019c10b
treec010aceb9c1bca410b8b9138fd164c3c27c2fe42
parent17fcf208c64526ceec3205a31cba82e85ba6a027
[FEATURE] New API for the admin panel

The admin panel consisted of one big god class
that contained the complete rendering.

The hook to extend the admin panel only allowed to
add content but not to add new modules (with expandable
headers).

The code has been refactored as a first step for a more
flexible admin panel:

- All modules are now rendered by a class per module
- Modules have an interface
- Modules can be registered in ext_localconf (and overwritten) using
the dependency ordering service for priority
- All new classes are strictly typed

Related: #84044
Resolves: #84045
Releases: master
Change-Id: I124bb503907dcfcbd4425d6f7178b87562d2fda4
Reviewed-on: https://review.typo3.org/55890
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
15 files changed:
typo3/sysext/core/Documentation/Changelog/master/Deprecation-84045-AdminPanelHookDeprecated.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-84045-NewAdminPanelModuleAPI.rst [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/AbstractModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/AdminPanelModuleInterface.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/CacheModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/EditModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/InfoModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/PreviewModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/AdminPanel/TsDebugModule.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/View/AdminPanelView.php
typo3/sysext/frontend/Classes/View/AdminPanelViewHookInterface.php
typo3/sysext/frontend/Tests/Unit/View/AdminPanelViewTest.php
typo3/sysext/frontend/Tests/UnitDeprecated/View/AdminPanelViewTest.php [new file with mode: 0644]
typo3/sysext/frontend/ext_localconf.php
typo3/sysext/install/Configuration/ExtensionScanner/Php/ArrayDimensionMatcher.php