novosga/panel-bundle
PHP/Symfony bundle for Novo SGA that adds the panel module, wiring routes, menu entries, and UI components so queue-management applications can expose panel features consistently alongside the core bundles.
novosga/panel-bundle is the administrative/attendant panel layer of the NovoSGA ecosystem — the surface where units/branches, services, priority rules, attendants and roles are configured, and where tickets and attendance are monitored. The decision it informs is whether to ship an operator console ourselves or adopt an existing domain model.vendor:publish, no Blade, no facades. In a Laravel codebase, adopting it is a service integration decision: run it alongside as its own container/process and talk to it over HTTP, or accept the cost of a second framework runtime. That trade-off belongs in the decision memo, not the implementation ticket.Consider it when:
Look elsewhere when:
Decision hygiene either way: run a time-boxed spike — stand the panel up in its own Composer root against the NovoSGA schema, log in as an attendant, and confirm your app can create a ticket that appears in the panel. That single end-to-end seam is the real integration risk; everything else is packaging.
For executives (one paragraph):
We are evaluating NovoSGA's admin panel bundle as the back office for our queue and service-desk operations. It gives us a working operator console — ticketing, triage, priority handling, multi-branch and role-based administration, and a modular dashboard — instead of building that ourselves, which is the low-differentiation, high-maintenance part of the product. Two caveats shape the recommendation. First, it comes from the Symfony ecosystem, so in our Laravel stack it runs as a companion service rather than a drop-in library, which means a modest ongoing operational cost. Second, support is community-based, and the v2.3.0 release shipped without an itemised changelog, so we cannot yet say precisely what changed. Recommendation: fund a short, time-boxed spike to validate fit against our service model and prove the ticket-creation integration end to end — a fit decision, not a commitment to adopt on the strength of release notes alone.
For engineering (the framing they need):
v2.3.0 is a minor bump with no published release notes beyond a changelog link — your first task is reading the diff, not upgrading. Specifically: (1) diff the public API for signature and service-definition changes; (2) diff the template/theme layer, since panel bundles are usually customised at the view level and that is exactly where minor bumps break silently; (3) check for new Doctrine migrations and required config keys; (4) confirm the PHP and
symfony/*/novosga/core-bundleconstraints before touching anycomposer.json. Do not install this into the Laravel app — Laravel pins its own Symfony components and the bundle pins its own; separate Composer roots solve that permanently. The integration shape is "run alongside, talk over an HTTP boundary": a smallNovosgaClientbehind an interface with configured base URI, timeout and retry, so it can be faked in tests and never called straight from controllers. Sync attendant records from Laravel out to NovoSGA'susuariotable (scheduled job or user-created listener) rather than duplicating auth; scope cookies andX-Forwarded-*headers deliberately, or cross-app auth will fail silently. For queue data inside Laravel, poll into local read-model tables — never join across to their schema. Debug in Symfony's profiler andvar/log/dev.log, notstorage/logs/laravel.log. Assume we own this dependency: pin the exact tag, keep the override surface small and documented, and answer the data-ownership question — who owns tickets, us or the panel? — before writing code.
How can I help you explore Laravel packages today?