xrow/xrowregexpline-bundle
xrow/xrowregexpline-bundle extends Ibexa/eZ Publish with a regular-expression line field type, letting developers add configurable regex validation to content models so editors can enter text that is checked against precise patterns before publishing.
Architecture fit. The first finding a TPM must flag: despite being requested as a "Laravel/PHP package," this is not a Laravel package. xrow/xrowregexpline-bundle is an eZ Publish 5 (Symfony 2.x) bundle that registers/fixes the custom Regexpline datatype from xrow's legacy eZ stack. There is no service provider, no Laravel contract, no framework-agnostic API. Fit against a Laravel codebase is effectively zero; fit against an existing eZ Publish 5 estate is narrow but potentially real.
Integration feasibility. Consumption is via Composer into an eZ Publish 5 kernel, with the bundle enabled alongside ezpublish-kernel. That means legacy PHP (5.x/7.0-era), Symfony 2.8, and a content model that Laravel has no concept of. A modern Laravel application cannot resolve this dependency, and even an eZ 5 project would need to confirm the exact kernel constraint before attempting install. Treat integration as "drop into a legacy container," not "add to a modern app."
Technical risk. High. Zero stars, zero dependents, a single release in October 2016, and no maintenance since. The transitive dependency tree is frozen in a period with known CVEs, and there is no PHP 8 or Symfony 4+ path. The package surface is probably small (a datatype definition plus a validation hook), which limits blast radius but also means it has never been hardened by broad use. There is no evidence of tests, CI, or security disclosure process.
Key questions.
Regexpline datatype? Overrides change the migration calculus.Regexpline, and what does that data look like in storage?Stack fit. None for Laravel. The only credible placement is inside a surviving eZ Publish 5 / Symfony 2.8 application, isolated from the target Laravel platform. If the intent was "we have a Laravel app and found this package," the correct action is to stop and re-scope: the requirement is content migration, not package adoption.
Migration path. Reframe as a data problem. Inventory every Regexpline attribute, extract stored values, and re-express the validation as a Laravel-side rule (native regex validation, a custom rule object, or a form request). The bundle itself does not need to ship to production if only its semantics are needed. Where the legacy eZ app must keep running, vendor a fork rather than depending on Packagist.
Compatibility. Pin the legacy app to the PHP/Symfony versions the bundle expects, confirm the eZ kernel constraint with composer why-not, and run the install in a disposable container first. Do not let this dependency leak into a shared monorepo that also builds modern PHP services.
Sequencing.
Regexpline usage and sample stored values.Maintenance. Effectively unmaintained. There will be no upstream fixes, no PHP-version bumps, no security patches. Whoever adopts it owns it outright; budget for a fork, an internal owner, and periodic manual review of the dependency tree.
Support. No vendor SLA, no community of any size, no issue-tracker activity to lean on. xrow may offer commercial support, but that is an unverified assumption and should be priced before commitment. The realistic support model is "one named engineer understands this."
Scaling. Not a scaling concern in itself—datatype validation is not a hot path and adds no runtime service. The scaling risk lives in the surrounding legacy eZ/PHP stack (old runtime, no modern observability), not in this bundle.
Failure modes. Composer resolution failures on any modern PHP image; datatype registration conflicts if Regexpline is already defined elsewhere; silent content corruption if the regex semantics diverge between legacy and any replacement; fatal deprecations on even minor PHP upgrades; abandonment of the fork when the original owner leaves.
Ramp-up. Low for an engineer already fluent in eZ Publish 5 and Symfony 2.x—the code is likely a few hundred lines. High for a Laravel-only team, because the real learning cost is the eZ content model, datatype registration, and legacy deployment, not this package. Plan onboarding around the platform, not the bundle, and keep the bus factor above one.
How can I help you explore Laravel packages today?