A new Admin Panel for TYPO3

Summary

The goal of this initiative is to refactor the Admin Panel, add a new API, re-design it and add new functionality.

Background

The Admin Panel implementation is very old and there is currently no API to extend the functionality (aside from a hook to add content). As programming paradigmns and possibilities changed quite a bit during the last twenty years, it's time to refactor the implementation and modernize the architecture.

Goals

  • Refactor current implementation and extract code from main AdminPanelView class
  • Have a dedicated system extension for the admin panel
  • Have a stable API for extending the admin panel
  • The Admin Panel has been redesigned with the general backend CI in mind.
  • Database Query information is displayed in an Admin Panel Module
  • Log Messages can be shown via the Admin Panel
  • ... tbd

Milestones

  • Extract AdminPanelView modules to one class per module with interface and API to register own modules (#84045)
  • Extract module specific code lines from general code (interface expansion might be necessary)
  • Move AdminPanel to own system extension and let the modules be registered by the corresponding core extensions (f.e. fe_edit)
  • Remove access to globals and use PSR-7 request object instead (introduce AdminPanel PSR-15 middleware) [interface expansion with $request might be necessary]
  • Remove configuration via $_GET params (google the admin panel get vars and you'll see one of the reasons)
  • Render modules via fluid standalone
  • Render outer panel via fluid standalone
  • Re-Design the panel
  • Add functionality (tbd)
Image about timing (calendar)

Timing

Target version for the this initiative is v9 LTS.

Scope

Scope of this initiative is the area Admin Panel, this excludes side-topics like Logging or Frontend Editing.

Current Status

Epic-Link: https://forge.typo3.org/issues/84044 (note that only the tickets currently in progress or done are listed here)

Get involved!

Team

Susanne Moog (Lead)

Tobias Kretschmann

Jörg Bösche

Steffen Frese

Jan Stockfisch

Frank Nägler

You?