se7enxweb/layouts-ezplatform-relation-list-query
An eZ Platform Layouts extension that provides a relation-list query for fetching related content in layout blocks, enabling dynamic relation-based listings with configurable queries and reusable templates.
Architecture fit. The framing of this package as a "Laravel/PHP package" is inaccurate and materially changes the decision. se7enxweb/layouts-ezplatform-relation-list-query is a Symfony bundle that registers a query type with Netgen Layouts and resolves related content from eZ Platform relation-list fields. It has no service provider, no package discovery manifest, no Eloquent or container contract with Laravel. Against a Laravel codebase, architectural fit is zero without an adapter tier. Against an eZ Platform / Ibexa application already running Netgen Layouts, fit is high and the integration surface is small. As a TPM, the first action is to correct the intake record: this belongs to the legacy CMS boundary, not to the Laravel application portfolio.
Integration feasibility. Feasible and cheap in the correct host: add the Composer requirement, register the bundle, expose the query type in Layouts configuration, and let editors configure relation-list fields per block. In a Laravel application, adopting it would require running a Symfony/eZ kernel alongside Laravel to support one query handler — a disproportionate cost, and a decision I would reject. The defensible alternative is to read relations over Ibexa's REST or GraphQL API from the Laravel service and keep this package out of that dependency graph entirely.
Technical risk. Mostly sourcing and lifecycle risk rather than code risk, but the blast radius is user-visible:
Key questions.
Stack fit. Scope this strictly to eZ Platform/Ibexa plus Netgen Layouts. For Laravel services, record a not applicable determination with the API-consumption alternative documented, so the question is not relitigated each quarter. The package lives in the legacy CMS boundary; it does not enter application code.
Migration path. Two cases, two answers:
Compatibility. Unverified. Resolve the effective dependency set in a scratch branch (composer why, composer outdated --direct, composer audit) against the target PHP and Symfony minor before committing engineering time. Expect friction: eZ-era constraints commonly pin Symfony 5.x and PHP 7.4/8.0-era packages, which may collide with the estate's security patch floor — that collision is the realistic blocking finding.
Sequencing.
Sequencing note for planning. The whole exercise is a two-to-three-day spike for a developer who already knows Layouts, plus a legal check. That is small enough to justify as a tactical ticket, not a roadmap item — which is precisely how it should appear in planning artifacts.
Maintenance. Ongoing cost is dominated by watching upstream, not by this fork. Someone must periodically reconcile se7enxweb against the original project and decide whether to stay. Given the opaque release notes, budget explicit per-release review time and put this on the quarterly dependency review with a named owner — otherwise it becomes an unowned artifact discovered only during an audit or an incident.
Support. Community-only. No SLA, no paid escalation, no security policy. Defect turnaround should be modeled in weeks, not days. For a component in the content-rendering path that is a real availability consideration; mitigate by being able to disable the affected layout block at runtime without a deploy.
Scaling. This is a query handler, so cost scales with content volume, relation-set size, and layout page count — not request count alone. Watch for uncached relation queries executed per block render, N+1 patterns when several relation lists appear on one page, and unrestricted result sets. Mitigation sits at the Layouts layer via HTTP and block-level caching; whether this handler participates in those caches must be established during the spike, not discovered under load.
Failure modes.
Ramp-up. Requires three overlapping skills: Netgen Layouts block/query model, eZ Platform/Ibexa content model and relation semantics, and Symfony bundle wiring. Budget one to two weeks for a competent mid-level developer to be productive and roughly double that to be confident modifying query behavior. Laravel-only engineers do not transfer here — do not staff this as routine PHP work or the estimate will be wrong by a wide margin.
How can I help you explore Laravel packages today?