ibexa/fieldtype-matrix
Matrix Field Type for Ibexa DXP and Ibexa Open Source adds configurable matrix fields to content types, letting editors define rows and columns of data. Licensed under Ibexa BUL or GPLv2.
What this actually is. ibexa/fieldtype-matrix is not a general-purpose Laravel/PHP package. It is an Ibexa DXP field type bundle — a plugin that extends Ibexa's content model with a matrix/grid attribute (rows × columns of values) so editors can capture tabular data inside a content item. It runs on Ibexa DXP / Ibexa Open Source, which is Symfony-based. Any assumption that this drops into a Laravel application is incorrect and should be corrected before estimation.
Architecture fit.
Integration feasibility.
composer require, register the bundle, clear cache, add the field type to a content type definition, then author content.composer.json constraints — the bundle version line tracks the DXP release line, so an upgrade of one typically forces the other.Technical risk.
NOASSERTION on the registry means automated license scanners will flag it and may block the build. GPLv2 is copyleft — viable for internal/self-hosted use under the OSS edition, but a lawyer should confirm obligations before any distribution or SaaS exposure. Route to legal early; this alone can kill a timeline.Key questions for the vendor/team.
NOASSERTION, and can we obtain a written license clarification?Stack fit. Symfony + Ibexa DXP only. Confirm the Laravel assumption is off the table before spending estimation effort. If the estate is Laravel, the correct decision is "reject — wrong platform," and the requirement should be met with a JSON column, a custom table, or a dedicated matrix package.
Migration path (Ibexa estates).
composer.json constraints rather than assuming.Compatibility. Two axes to pin: DXP version ↔ bundle version, and PHP version ↔ both. Treat the bundle as a versioned component of the platform upgrade train, not a free-floating dependency. Confirm whether the field type requires a reindex after activation.
Sequencing.
Effort shape. Small engineering footprint, disproportionate governance and content-modeling effort. Budget accordingly — this is a 60/40 split between legal/platform confirmation and actual build.
Maintenance. Vendor-maintained and released in lockstep with DXP. Upside: fixes arrive with platform upgrades. Downside: you inherit Ibexa's cadence — no independent patch path, and an urgent fix means an urgent DXP upgrade. Pin versions, review changelogs each cycle, and keep the bundle in the same dependency-review process as the core.
Support. Entitlement follows the license. Under an active DXP subscription, Ibexa support is the escalation path — this is the main argument for BUL over GPLv2 in a production estate. Under GPLv2/OSS, expect community-forum-level support only; internal ownership must be explicit and named.
Scaling. Watch three dimensions: cells per content item (wide matrices inflate row size and admin render time), number of content items carrying the field (search index growth), and editorial concurrency on large grids. Validate against realistic upper bounds during the POC rather than after launch. Rendering is our responsibility, so cache matrix output as you would any other fragment.
Failure modes and mitigations.
Ramp-up. Two audiences. Developers need Ibexa/Symfony field-type and content-API familiarity — not Laravel skills — roughly a few days for an experienced Symfony developer, longer for anyone new to Ibexa's content model. Editors need a short walkthrough; the matrix authoring UI is the main usability question and should be trialed with real editors in the POC.
Recommendation. Pursue only inside an existing Ibexa DXP estate with an active subscription and a genuine structured-tabular content need. Otherwise decline: the platform mismatch, dual-license ambiguity, and zero external adoption make the cost of ownership exceed the benefit.
How can I help you explore Laravel packages today?