kalamu/dashboard-bundle
Kalamu Dashboard Bundle is a Laravel package for adding a ready-made admin dashboard to your app, with configurable pages, widgets, and management screens that help you scaffold back-office UI faster while keeping the implementation in PHP.
Architecture fit — framework mismatch is now confirmed, not inferred. The v2.0.0 notes are explicit: "Upgrade the compatibility with Symfony 4 and drop support of Symfony 2.*" There is no mention of Laravel, service providers, Blade, or extra.laravel — only Symfony majors and Twig-rendered Bootstrap markup. This package is a Symfony bundle for the Kalamu CMS. Architecture fit against a Laravel codebase remains poor-to-nonexistent without a rewrite. The release does, however, settle the single open question that mattered most (question 1 below), which shortens the evaluation.
Integration feasibility — unchanged in method, worse in ceiling. The prior assessment hedged "Symfony 4/5, Bootstrap 4." The release note removes the hedge: Symfony 4 is the top of the supported range, and Bootstrap 4 is the explicit target. Concretely:
Technical risk — high, and marginally higher than the previous pass.
| Risk | Assessment | Δ from prior review |
|---|---|---|
| Abandonment | Last release 2020-03-27; ~5+ years dormant. No security patching. | Unchanged |
| Adoption | 3 stars, 0 dependents — no production signal, no community corpus. | Unchanged |
| Viability score | 0.075 (composite). | Unchanged |
| Framework ceiling | Symfony ≤4 only; Symfony 4.4 EOL Nov 2023. Cannot coexist with Symfony 5.4/6/7 constraints. | New / worse |
| Frontend ceiling | Bootstrap 4 + jQuery explicitly targeted; BS4 is legacy-maintenance. | Sharpened |
| Upgrade velocity | Adding Symfony 4 support was the latest release — the project is two Symfony majors behind even after its most recent work. Expect Symfony 5/6 support (if ever) years late. | New |
| Security surface | Admin dashboard is auth-adjacent; unaudited authorization and XSS exposure in the highest-privilege surface, now on an unpatched framework branch. | Unchanged, compounded |
| Bus factor | 1. | Unchanged |
One caveat worth flagging: these notes carry no dates or links, and if v2.0.0 is the 2020-03-27 release surfacing through the feed rather than a genuinely new tag, then nothing has changed materially. Either reading lands in the same place — Symfony 4 / Bootstrap 4 ceiling, single maintainer, no security posture — so the recommendation is robust to that ambiguity. Do not spend cycles resolving it.
Key questions (revised — the framework question is now closed):
Recommendation: unchanged — do not adopt as a dependency. The v2.0.0 notes strengthen the case against adoption by replacing an inferred compatibility ceiling with a confirmed, already-expired one. The residual value is still the configuration-driven dashboard pattern, not the code. Treat it as a one-hour reference read, then build natively. Feed one item back to whoever owns package scoring: framework family and supported-major ceiling should be first-class filters, and EOL framework floors should hard-fail a candidate.
Stack fit. For a Laravel target: still no fit — Symfony bundle to Laravel container is a translation project, and the confirmed Symfony 4 ceiling makes the translatable surface smaller (Symfony 2-era constructs may persist in config wiring even after the bump). For a Symfony target: fit exists only on Symfony 4.4, which is EOL. A modern Symfony 5.4/6/7 app cannot install this without a fork-and-port, which is the same work as writing it. Either way, expect Composer solver conflicts before the first line of code.
Migration path (recommended: pattern port, not package install).
DashboardRegistry with named slots, per-widget config array, route + permission gate.DashboardServiceProvider registering a DashboardManager singleton, Blade components per widget type, config in config/dashboard.php mirroring the original's shape. Symfony: a small DashboardBundle on the current Symfony major with modern Bootstrap/Tailwind. Roughly 3–5 engineer-days either way.acme/dashboard-bundle, keep it pinned, add CI, and own it.Compatibility — now pin the verification. Assume and confirm: Symfony ≤4.x only (no 5.4/6/7), Twig 2/3, Bootstrap 4 + jQuery, PHP 7.x–8.0-era constraints inherited from Symfony 4.4. Run composer why-not symfony/framework-bundle 5.4 (and 6.x/7.x) plus a static-analysis pass before committing even to the reference read, so the effort estimate is grounded rather than assumed.
Sequencing.
Total: roughly one engineer-week, versus an open-ended liability plus an EOL-framework dependency if adopted directly. That delta is the recommendation.
Decision gate: if step 1 finds no Symfony 4.4 host, or step 2 finds hard coupling to Kalamu internals with no separable config contract, terminate — value is zero and the dashboard should be designed from first principles.
Maintenance. Adoption means owning a fork from day one and inheriting a dependency on an EOL framework branch. There is no upstream to receive fixes from and no version to track. Every PHP major, every Symfony major, every Bootstrap major, every Twig release is ours — in the most privileged surface of the application. The v2.0.0 release is instructive: the project's most recent engineering output was raising its Symfony floor, and it still landed two majors behind. A native rebuild converts that unbounded, framework-tracking cost into a bounded, self-authored codebase under our own conventions.
Support. No vendor, no SLA, no maintainer responsiveness expectation. Three stars and zero dependents means no external knowledge base: any bug is first-principles debugging with no prior art, and no Stack Overflow corpus to search. Internal support burden rests entirely on whichever engineer read the source — a bus factor of one inherited from upstream, now compounded by the fact that the surrounding framework is also unsupported.
Scaling. Runtime scaling impact remains negligible — dashboard rendering is request-scoped and cacheable, with no data-plane logic to bottleneck. The scaling constraint is organizational: how many dashboards, widget types, and permission permutations can one bespoke fork absorb before it needs the refactor a maintained library would have supplied? With zero dependents, there is no evidence anyone has stress-tested that boundary — and the BS4/jQuery asset pipeline is a second, silent ceiling on frontend modernisation.
Failure modes to plan for.
symfony/framework-bundle ≤4.x alongside an EOL PHP constraint. Most likely first failure, and slow to diagnose.Ramp-up. Deceptively low for the initial read (small codebase, MIT, readable Bootstrap/Twig) and deceptively high for real ownership (framework-convention archaeology, plus the framework-mismatch translation if the target is Laravel, plus the Symfony 4.4 → modern Symfony port if the target is Symfony). Budget ~1 engineer-week to reach a native, tested equivalent and explicitly budget zero ongoing hours for the fork avoided. That asymmetry — one week now versus perpetual framework-tracking on unaudited admin code pinned to an EOL platform — is the business case, and v2.0.0 reinforces it.
Bottom line for the roadmap: the package still does not clear the bar for dependency adoption (score 0.075, dormant since 2020, zero production signal), and v2.0.0 makes the exclusion firmer by confirming a Symfony 4 / Bootstrap 4 ceiling that is already past end-of-life with no feature or security content. The defensible move is an unchanged one-week scoped reference-and-rebuild task that captures the configurable-dashboard ergonomic under our own ownership. Two notes back to the package-scoring owner: framework family and supported-major ceiling must be first-class filters, and an EOL framework floor should hard-fail a candidate outright.
How can I help you explore Laravel packages today?