Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Cms Backend Laravel Package

typo3/cms-backend

The TYPO3 CMS backend package supplies the core administrative interface and framework: backend modules, user and group management, authentication, routing, layouts, and UI components for editors and administrators. It is a foundational system extension for extending TYPO3 backend functionality.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Editorial/admin UI strategy for enterprise content platforms. typo3/cms-backend is the system extension that provides TYPO3's backend shell — module registration (Configuration/Backend/Modules.php), backend routes and Ajax routes, PSR-15 middleware stacks, and the toolbars/menu machinery. Any decision about building a custom back office on TYPO3 is effectively a decision about this package.
  • Build vs. buy for admin tooling. It supplies a ready-made, permission-aware, localization-aware backend (module framework, routing, middleware, DI, PSR-14 events). If your roadmap includes a CMS admin surface, this is the "buy/consume" side of the ledger; the effort shifts to writing modules rather than inventing navigation, auth, and module loading.
  • Extension architecture standards. It codifies how extensions plug into the backend: tagged services (mfa.provider, fal.file_renderer), Services.yaml autowiring, #[AsEventListener] attributes, and a dual container (full Symfony DI plus a failsafe container for the installer). This shapes hiring profiles, code review standards, and partner expectations.
  • Roadmap timing and upgrade cost. The repo's own conventions — one-major deprecation cycles, Feature-*.rst changelogs scoped to the in-development version from Typo3Version::BRANCH, a shrinking PHPStan baseline — tell you upgrades are governed and predictable. Budget for a major-version migration lane every cycle rather than reactive patching.
  • Feature scoping for editorial workflows. Because DataHandler remains the central write path and TCA/schema (TcaSchemaFactory) govern content modeling, decisions like workspaces, versioning, and localization are architecture-level, not plug-in features. Plan them before UI work, not after.
  • Testing investment. The documented runTests.sh suites (unit, functional on SQLite/Postgres/MariaDB, Playwright e2e, CGL, PHPStan, integrity/RST gates) mean CI cost and QA process are known inputs, not unknowns.

When to Consider This Package

Consider it when:

  • You are committing to TYPO3 as the platform — this package is a sysext inside the typo3/typo3 monorepo, not an independently consumable library. Zero dependents confirms it is a component, not a product.
  • You need a GPL-compatible, self-hosted, enterprise-grade editorial backend with multi-language, workspace/versioning, and granular permission models out of the box.
  • You are building custom backend modules and want a supported framework for routing, middleware, DI, and events rather than bespoke plumbing.
  • You have (or will hire) PHP/Symfony-fluent engineers who can work within the package's conventions: declare(strict_types=1), constructor injection over GeneralUtility::makeInstance(), events over legacy hooks, TcaSchema over $GLOBALS['TCA'].
  • You accept the contribution model: Gerrit at review.typo3.org, Redmine at forge.typo3.org, no pull-request-style flow.

Look elsewhere when:

  • You want a framework-agnostic or Laravel-native admin panel. Despite the PHP framing, this is not a Laravel package and carries none of Laravel's conventions; pairing it with Laravel is fighting two ecosystems.
  • GPL-2.0 is incompatible with your distribution model — for example, shipping a closed-source SaaS-adjacent product where you cannot accept copyleft obligations on the backend layer, or a proprietary embedded appliance. Legal review is a hard gate, not a formality.
  • You need a thin, single-purpose admin UI. You would inherit the full TYPO3 bootstrap: SystemEnvironmentBuilder → Bootstrap::init() → Core\Http\Application, plus the failsafe-container wiring rules for anything that must run in the installer.
  • Your team cannot absorb the monorepo workflow (Build/Scripts/runTests.sh as the only sanctioned entry point, Resources/Public/JavaScript|Css as build output that must never be hand-edited, mandatory RST changelogs per user-facing change).
  • You require independent release cadence or a small dependency footprint. Forking a core sysext out of a synchronized Gerrit mirror is a maintenance liability, not an integration.

How to Pitch It (Stakeholders)

For executives: TYPO3's backend is an enterprise CMS administration layer with a proven governance model — versioned deprecations, enforced changelogs, and a documented test matrix spanning multiple databases and browser-level end-to-end tests. It is a platform commitment, not a library purchase. The commercial question is not "should we adopt this package" but "should we standardize on TYPO3 for our editorial back office." If yes, this package delivers the admin surface at effectively zero build cost and shifts our spend to content modeling and custom modules. The material risk is licensing: GPL-2.0 is copyleft and constrains how we distribute or embed the result — legal sign-off is required before commitment.

For engineering leadership: This is a core system extension inside a monorepo, with zero external dependents and a Gerrit/Redmine contribution path. It brings a full Symfony DI container, PSR-15 middleware pipeline, PSR-14 event system, and a typed TCA schema layer — modern, conventional PHP architecture. Costs are real but bounded: container-only tooling (runTests.sh with -b docker), a functional test suite that provisions a real instance per case and is therefore slow, mandatory RST changelog entries for user-facing changes, and unique timestamp-based exception codes enforced by an integrity check. Upside is that architecture decisions are constrained in useful ways: constructor injection over service location, events over legacy hooks, TcaSchema over globals. Expect a one-major-version upgrade lane each release cycle; the deprecation policy (@deprecated since v<current>, removed in v<next> plus E_USER_DEPRECATED) means breakage surfaces early and loudly rather than at deploy time.

For the delivery team: Treat this as an inherited platform, not a greenfield dependency. Before writing a module, read the extension shape (Classes/, Configuration/, Resources/{Private,Public}, Tests/{Unit,Functional}, ext_localconf.php, ext_tables.sql), understand that frontend assets compile from Build/Sources/TypeScript/<ext-key>/ into generated Resources/Public/ output, and remember the failsafe container: any service needed by the install tool — including Fluid ViewHelpers used in installer templates — must be wired manually in Classes/ServiceProvider.php because autowiring does not apply there. Also note the label reference syntax <extkey>.<resource>:<identifier> applies from v14 onward; backports to 13.4 need the legacy LLL:EXT: form.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
thomas-0816/doctrine-dbal-duckdb
moyisoft/laravel-admin
oxygen/mod-pages
oxygen/mod-import-export
oxygen/mod-media
ksoft/laravel-contentbuilderjs
ourgoldpackages/exchange
mikkimike/laravel-exchange1c
wandesnet/mercadopago-laravel
tsfcorp/email
larafony/core
laravel-enso/currencies
tartan/laravel-online-payment
gam/laravel-sat-catalogs
cloudcreativity/laravel-stripe
abdulelahragih/querybuilder
wedevbr/celcoin-laravel
surazdott/nepali-date
devsquad-cockpit/laravel
coding-socks/laravel-upload-handler