Building backend modules with Extbase 

A backend module is where editors and administrators work with an extension's own data: reviewing submissions, maintaining records that have no frontend form, running reports over the domain model. Extbase is designed for this. The domain models, repositories and validators an extension already has work in a module unchanged, and the module's controllers are ordinary Extbase controllers dispatched by the same code as a frontend plugin.

What changes is everything around the controller. A backend module does not run inside a frontend request, so it reaches Extbase by a different route, reads its configuration from a different place, and resolves its storage pages and its language from the backend rather than from a plugin on a page. Knowing these differences is what makes a module behave predictably.

Registering an Extbase backend module

The two Extbase-specific keys in Configuration/Backend/Modules.php, access control, labels and rendering through the module template.

How an Extbase backend module works

How a module request reaches the controller, which TypoScript a module sees, and how storage pages and language are resolved.