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

Adminbundle Laravel Package

umbrella2/adminbundle

Umbrella2 AdminBundle provides a ready-made administration layer for Symfony apps, with configurable CRUD screens, dashboards, and backend utilities. It integrates with existing entities and routing to reduce boilerplate when building internal management panels.

View on GitHub
Deep Wiki
Context7

Getting Started

The bundle is archived (last release May 2021) and has no dependents, so treat it as a reference implementation rather than an actively maintained dependency. Pin Symfony to the 4.4/5.x range the bundle was built against; Composer will otherwise resolve to a version whose API no longer matches.

  1. Require it alongside the Umbrella bundles it builds on (typically umbrella2/corebundle, and often umbrella2/cmsbundle). The AdminBundle is not standalone — its controllers, Twig layout, and widgets assume the CoreBundle's services and assets are registered.
  2. Register the bundle in config/bundles.php and import its routing under a protected prefix, e.g. admin: in config/routes.yaml.
  3. Create an admin user (or wire the bundle's security role) and log in — the bundle ships an admin shell (layout, menu, dashboard) rather than individual screens.
  4. Look first at the bundle's Resources/views/ and its admin controller base classes: that is where the contract for a "page" lives. The quickest first use case is instantiating one of the provided dashboard/list controllers against an existing Doctrine entity and letting the bundle render the shell around it.

Implementation Patterns

  • Extend, don't compose. Day-to-day work is subclassing the bundle's abstract admin controller(s) and overriding the handful of hooks (entity class, list columns, form type, actions). Treat the base classes as the framework and your app code as configuration.
  • Reuse the shell for every back-office screen. Point your app's admin routes through the bundle's base controller so the menu, breadcrumbs, and layout stay consistent; do not hand-roll Twig pages unless you're prepared to reimplement the layout blocks.
  • Template overriding via templates/bundles/UmbrellaAdminBundle/. Symfony's bundle override path is the cleanest extension point; copy the shipped template into your app's override directory and edit in place rather than forking the vendor code.
  • Pair with Doctrine entity repositories. Most list/detail behaviour is driven by entity metadata and repository queries, so define explicit repository methods for filtered lists rather than trying to configure filtering through the bundle.
  • Menu/dashboard as configuration. Register menu entries and dashboard widgets in your app's service config (the bundle exposes tagged services for these in typical acantepie style); keep them in config/packages/ so they survive a vendor reinstall.
  • Isolate in a single firewall. Put all admin routes behind one security.firewall with ROLE_ADMIN; the bundle assumes authenticated access and does not provide its own authorization layer.

Gotchas and Tips

  • Archived = frozen Symfony constraints. There will be no Symfony 6/7 support, no PHP 8.2+ fixes, and no security patches. If you adopt it, budget for a fork under your own namespace and a replace/repositories entry in composer.json.
  • Hidden coupling to sibling bundles. Installation failures usually trace to a missing umbrella2/corebundle (or a version skew between the Umbrella bundles). Pin all Umbrella packages to compatible tags together — mixing releases is the most common breakage.
  • Assets and cache. The bundle's public assets and Twig cache live under public/bundles/ and var/cache/. After editing an override template or a menu service, run bin/console cache:clear and assets:install --symlink or you'll debug a phantom.
  • No upgrade path documented. There is only a single tagged release (2021-05-31) and no changelog trail beyond it; read the tagged source at that commit rather than main, which may contain unfinished work.
  • Debugging extension points. Use bin/console debug:container --tag=<bundle tag> and debug:router to discover what the bundle actually registers — with so little external documentation, the container and router are the real reference.
  • Fork checklist if you keep it: rename the namespace, replace the sibling-bundle dependencies with direct code, add Symfony 6/7 + PHP 8 compatibility shims, and add tests around the controller base classes — those are the parts most likely to break on a future Symfony minor.
  • Opportunity note. With a score of 0.13 and 16 stars, the realistic play is extracting the useful ideas (layout shell, controller/base-class pattern, menu-as-service) into your own bundle rather than depending on this one in production.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect