Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Propel Datagrid Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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.

  • What is the last commit/release date, and is there any stated maintenance status?
  • Which PHP, Symfony, and Propel versions are actually supported (composer.json constraints vs. tested)?
  • Is there a test suite, and what does it cover — grid definition, query building, or rendering?
  • How tightly is the datagrid core coupled to Symfony services and Propel ModelCriteria? Is the core extractable?
  • Does the filter layer sanitize/parameterize column and filter inputs, or does it concatenate into the criteria?
  • Is the Twig rendering layer the only view, or is there a headless/array output mode?
  • Does any grid logic encode business rules (computed columns, permissions, row-level scoping) we would need to preserve?

Integration Approach

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:

  • Inherited Symfony/Propel app: keep it running short term, isolate it behind an internal interface, and plan an exit as part of a broader ORM/framework modernization. Do not extend it with new grid types.
  • Laravel target: do not migrate the code. Migrate the definitions. Column lists, filter semantics, sort orders, and pagination defaults are portable as config/arrays; the implementation is not. Reimplement on Eloquent query builder + Livewire/Inertia tables or Blade components.

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.

  1. Time-boxed spike (1–2 days): clone, attempt install in a scratch Symfony app, read the source, and determine whether the datagrid core is separable.
  2. Effort compare: extract-and-port vs. adopt a Laravel-native solution (Livewire tables, Spatie Query Builder, Laravel DataTables, or a thin in-house grid).
  3. Inventory business logic in the existing grids (computed columns, permission scoping, saved filters) — this is the real migration cost either way.
  4. Decision gate: unless the core is cleanly extractable and the grid inventory is large, choose native and use this package only as a reference implementation for semantics.

Operational Impact

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.

  • Filter/column parameters flowing unparameterized into Propel criteria (injection / unexpected query shape).
  • Composer dependency conflicts surfacing during routine composer update, breaking unrelated builds.
  • Silent abandonment: no security advisories, so vulnerabilities accumulate unnoticed.
  • Framework upgrades (Symfony major, PHP minor) breaking the bundle with no upstream fix.
  • Rendering layer lock-in to Twig, blocking a SPA or API-first front end.

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console