snce/ezpublish-legacy-utility-bundle
A Symfony bundle of utility helpers for integrating eZ Publish Legacy into modern applications. It provides services and tooling to bridge legacy content, templates, and APIs with Symfony, simplifying migration and day-to-day development for projects running eZ Publish Legacy alongside contemporary...
Architecture fit. Despite being catalogued alongside Laravel/PHP packages, this is a Symfony bundle targeting eZ Publish 5.x, not a Laravel package. It ships no service provider, facade, config publisher, or Laravel-compatible container wiring. Its runtime contracts are eZ Publish's legacy kernel (ezpublish-legacy bridge) and the Symfony 2.x/3.x bundle system. In a Laravel application it cannot be installed or bootstrapped without a rewrite; the only reusable asset is whatever business logic it exposes, which would need to be extracted and re-expressed against Laravel idioms.
Integration feasibility. Feasible only inside a maintenance-mode eZ Publish 5.x estate that still enables the legacy bridge. Realistically that means PHP 5.6–7.x, Symfony 2.7–3.x, and a composer graph pinned to ezsystems/ezpublish-kernel and legacy bridge packages. Modern PHP 8 runtimes and Ibexa 3+/4+ (where the legacy stack was removed) are incompatible. Expect composer constraint conflicts rather than clean installs.
Technical risk. High. The bundle is unmaintained since February 2018, has 2 stars and 0 dependents, meaning no downstream validation, no issue triage, and no security response. It is GPL-2.0, a copyleft license that is acceptable for internal/SaaS use but creates distribution obligations if the product is shipped to customers — a legal review item, not just an engineering one. The underlying platform is end-of-life, so the risk is dominated by the host stack rather than this bundle's own code volume.
Key questions. (1) What exactly do the "extra legacy functionalities" implement — template operators, legacy content helpers, view/controller bridges? The answer determines whether the capability is trivial to reimplement natively. (2) Are we actually running eZ Publish 5.x in production today, or is this a speculative dependency? (3) Who consumes it — which templates/controllers call into it — and is that usage inventoried? (4) Is our distribution model SaaS (GPL-safe) or on-premise/embedded (GPL obligations triggered)? (5) Is there an internal SME who understands the eZ legacy APIs?
Stack fit. Binary: it fits a legacy eZ Publish 5.x Symfony stack and does not fit a Laravel stack. Do not attempt to shoehorn it into Laravel; treat any Laravel adjacency as a signal to reimplement the utility logic natively. If the organisation is standardising on Laravel, this package should be classified as "reference only, do not adopt."
Migration path. Three options, in order of preference: (a) replace — inventory the specific helper behaviours and reimplement them in native application code, which is likely cheap given the bundle's narrow scope; (b) fork — vendor the source into the repo, apply PHP 8 compatibility patches, and record GPL obligations; (c) retain — only if the eZ 5 estate is frozen and the bundle is already in production with no planned upgrades. Option (c) should carry an explicit sunset date tied to the platform migration.
Compatibility. Verify composer constraints against the target PHP and Symfony versions before planning anything. Assume PHP 7.0/7.1-era code, Symfony 2.7/3.x APIs, and tight pins on the legacy bridge. Any dependency upgrade in the host application is a potential break; this bundle will be the constraint that blocks it.
Sequencing. (1) Usage discovery — grep templates, controllers, and services for bundle references; produce a call-site map. (2) Behaviour capture — write characterization tests around each used helper so a replacement can be proven equivalent. (3) Fork-and-patch if the eZ estate must continue short-term. (4) Replace with native code as part of the platform migration. (5) Decommission and remove the bundle. Do not start with step 3; starting with discovery prevents paying maintenance costs for functionality that is unused or trivially replaceable.
Maintenance. Effectively zero upstream maintenance — the team owns the code the day it is adopted. The codebase is small, so patch effort is low, but that effort is recurring and unpredictable, driven by PHP/Symfony upgrades rather than by feature demand.
Support. No vendor, no active community, 2 stars and 0 dependents means no external expertise to escalate to. Support is a single internal owner; if that person leaves, the knowledge leaves with them. Document the call-site map and behaviour notes as a bus-factor mitigation.
Scaling. Not a scaling concern in itself — it is a helper bundle, not a hot path. The scaling risk sits in the eZ legacy stack it depends on, which is a known bottleneck and cannot be scaled horizontally the way the Symfony side can. Do not let this bundle appear in capacity planning discussions; it is incidental.
Failure modes. PHP minor-version upgrades breaking legacy APIs; composer resolution deadlocks when other dependencies move forward; unpatched CVEs in the EOL PHP runtime the bundle requires; drift between the Symfony and legacy bridge layers; GPL exposure if the product is distributed without a license review; and silent behavioural differences if the bundle is forked and patched by someone who does not understand the original semantics.
Ramp-up. Steep relative to the value delivered. Developers who know eZ Publish legacy templates and kernel APIs are increasingly rare, and onboarding a new engineer to this bundle requires them to learn both the legacy CMS model and the Symfony/legacy bridge. Budget for knowledge transfer before any migration or fork work begins, and prefer replacement over deep onboarding where the behaviour set is small.
How can I help you explore Laravel packages today?