th3mouk/cms-page-bundle
A Symfony bundle for CMS page management: add editable content pages to your application with reusable page entities and a simple workflow for creating, storing, and rendering static content. A lightweight option for projects that need basic CMS pages without a full CMS.
pages table in an afternoon). For most teams the answer is the latter, and this package's own feature list is the evidence.Net PM takeaway: the decision this package actually informs is "do we need a CMS at all, or do we need a slug-and-body table?" — and on that question it argues for the cheaper answer.
Adoption is defensible only under a narrow, defensive set of conditions:
Look elsewhere — decisively — if any of the following hold:
Adoption gate, if someone insists: a written fork-and-own plan naming an owner, a timeboxed one-day spike proving it resolves against our PHP/Symfony constraints, a version-upgrade budget, and a security review of the full dependency tree. Absent all four, the answer is no.
To executives: We recommend against adoption. This is an archived, single-star Symfony bundle with zero downstream users and no maintenance path — and it isn't even built for our stack. Adopting it converts a small upfront convenience into an open-ended maintenance and security liability we would have to staff ourselves; the savings are deferred cost, not real cost. The strategic point is more useful than the package: the feature set here — a title, a slug, a body — tells us our "editable pages" need is probably a two-day internal build or a maintained CMS, not a dependency. Close the evaluation and keep the CMS decision on the main track.
To engineering: This is a thin DX wrapper over SonataPageBundle, not a platform. It buys ergonomics at the moment it was written, and those ergonomics are frozen at whatever Symfony/Sonata versions it last targeted — plan on EOL pins across symfony/* and sonata-project/*, and a fork-and-own obligation if you touch it. Two legitimate uses: (1) skim it as a design reference for wrapping a heavy upstream bundle, and (2) if we ever need it inside a legacy Sonata app, fork it, vendor it, pin the dependency tree, and assign an explicit owner for framework-major upgrades. Otherwise, spend the same effort against a maintained alternative and get an upgrade path and a security channel in the bargain. If anyone wants to proceed, gate it behind a one-day compatibility spike and a build-vs-adopt comparison against a 1–3 day internal reimplementation — default outcome is no.
How can I help you explore Laravel packages today?