Feature #86003

Epic #84044: Admin Panel Rework

Add composition based API for the adminpanel

Added by Susanne Moog 6 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
AdminPanel
Target version:
-
Start date:
2018-08-28
Due date:
% Done:

100%

PHP Version:
Tags:
Complexity:
Sprint Focus:

Associated revisions

Revision d7ea9a75 (diff)
Added by Susanne Moog 6 months ago

[FEATURE] Refactor AdminPanel API to use composition

Enabling future enhancements for the adminpanel without
having to make breaking changes for existing module providers
is a key ingredient for providing a future proof extensible
solution. Using single big interfaces that need to change on
updates break backwards compatibility and do not provide
sufficient feature encapsulation.

The adminpanel APIs have been refactored to use a composition
pattern to allow modules more flexibility. Modules can now only
implement the interfaces they need instead of implementing all
functionality. For example an adminpanel module that only provides
page related settings does no longer have to implement the getContent
method.

Small interfaces have been provided as building blocks for modules with
rich functionality. Easy addition of new interfaces that can (not
must) be implemented allow future improvements.

Additionally the API has been modified to allow a more object-oriented
approach using simple DTOs instead of associative arrays for better
type-hinting and a better developer experience. Storing and rendering
data have been separated in two steps allowing to completely disconnect
the rendered adminpanel from the current page. This is a preparation
for a standalone adminpanel that can be implemented separately.

Resolves: #86003
Releases: master
Change-Id: I88236a86e612dee9085b9f6ad7da34f90770d5ed
Reviewed-on: https://review.typo3.org/57987
Tested-by: TYPO3com <>
Reviewed-by: Benjamin Kott <>
Tested-by: Benjamin Kott <>
Reviewed-by: Benni Mack <>
Tested-by: Benni Mack <>

History

#1 Updated by Gerrit Code Review 6 months ago

  • Status changed from New to Under Review

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#2 Updated by Gerrit Code Review 6 months ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#3 Updated by Gerrit Code Review 6 months ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#4 Updated by Gerrit Code Review 6 months ago

Patch set 10 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#5 Updated by Gerrit Code Review 6 months ago

Patch set 11 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#6 Updated by Gerrit Code Review 6 months ago

Patch set 12 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#7 Updated by Gerrit Code Review 6 months ago

Patch set 13 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/57987

#8 Updated by Susanne Moog 6 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#9 Updated by Benni Mack 5 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF