spyrit/propel-datagrid-bundle
Lightweight Symfony bundle integrating Propel ORM with DataGrid to add sortable, filterable, paginated tables to admin screens. Configure grids for Propel models and render query-backed results with minimal boilerplate, simplifying familiar Symfony admin and reporting interfaces.
Architecture fit. The first-order finding is a stack mismatch: spyrit/propel-datagrid-bundle is a Symfony bundle built on the Propel ORM, not a Laravel package. Laravel has no bundle/service-container-extension concept, and Propel is not part of any standard Laravel stack. For a Laravel-centric portfolio the architectural fit is effectively zero without a port. It only fits a legacy Symfony application that already uses Propel as its ORM.
Integration feasibility. Composer-installable into a Symfony app that exposes the expected bundle registration and Propel connection. In Laravel, composer require would either fail dependency resolution or drag in a parallel Symfony/Twig/Propel runtime that shadows the framework. The salvageable value is the datagrid domain logic (column definitions, filters, pagination, sorting, rendering contract) — that logic is only reusable if it is decoupled from Propel Query objects and Symfony services, which is unlikely for a 3-star bundle.
Technical risk. High. Signals: 3 stars, 0 dependents, composite score 0.105 (opportunity 24.68 is a weak positive that mostly reflects low competition, not quality). No dependents means no downstream validation — no one has proven it works in production. The Propel dependency is itself a risk: Propel 1.x is effectively legacy/EOL, and Propel 2.x has a small, shrinking maintainer base. Unknown PHP/Symfony version constraints mean any upgrade path becomes our problem. MIT license is clean, so forking is legally unencumbered.
Key questions for the maintainer/owner.
ModelCriteria? Is the core extractable?Stack fit. Fits only Symfony + Propel. It does not fit Laravel, and it does not fit Symfony + Doctrine — the Propel coupling is the load-bearing constraint, not the Symfony wrapper. Treat it as a legacy-stack artifact.
Migration path. Two distinct cases:
Compatibility. Before any commitment, spike a composer why-not against the target PHP version and the intended Symfony/Laravel release line. Expect conflicts around symfony/http-kernel, symfony/service-contracts, Twig, and Propel's pinned dependencies. If the app is on Laravel 10/11 with modern PHP, plan on the port rather than the package.
Sequencing.
Maintenance. Effectively zero upstream. Expect to own a fork from day one: PHP version bumps, security patches, Symfony/Laravel deprecation fixes, and Propel transitive dependency churn all land on us. Budget a standing maintenance allocation, not a one-time integration cost.
Support. No community, no dependents, no visible maintainer commitment. There is no external escalation path; internal ownership is required before adoption, not after.
Scaling. Largely unknown and unvalidated. Watch for Propel hydration cost on large result sets, N+1 from relation columns, and server-rendered Twig output with no live-update path. Pagination and filter defaults need load-testing against realistic row counts before trusting them in a high-traffic admin surface.
Failure modes.
composer update, breaking unrelated builds.Ramp-up. Steep and low-leverage. Engineers need Propel (a rare skill in a Laravel-heavy market) plus Symfony bundle internals, and that knowledge has no reuse elsewhere in the stack. Realistically 2–3x the onboarding cost of a Laravel-native grid, and the knowledge walks out the door with the engineer. Recommendation: reject for new work; if inherited, contain it, extract the definitions, and schedule replacement rather than investing in it.
How can I help you explore Laravel packages today?