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

Pageon Doctrine Data Grid Bundle Laravel Package

pageon/pageon-doctrine-data-grid-bundle

A Symfony bundle that integrates Pageon's Doctrine data grid, providing services and configuration to build sortable, filterable, paginated grids from Doctrine entities with less boilerplate and straightforward setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Stack mismatch (primary finding). The package is a Symfony bundle, not a Laravel package. It registers via the Symfony kernel/bundle system and depends on Symfony's DI, event dispatcher, and templating. If the target stack is Laravel, this is a non-starter without introducing Symfony components into a Laravel application — an architectural decision no TPM should approve for a UI grid feature. If the target stack is actually Symfony, the evaluation below applies.

Architecture fit.

  • Tightly coupled to two heavyweight dependencies: KnpPaginatorBundle and Doctrine ORM. It is a thin convenience layer that maps entity metadata into paginated, sortable grids.
  • Only fits a very specific architecture: Symfony + Doctrine entities + Knp paginator already in place. Any deviation (Eloquent, raw SQL, DQL-only read models, API-only backend) invalidates the fit.
  • Value-add over Knp alone is likely modest (column config, sorting/filtering conventions, template rendering). That is replicable in-house in days.

Integration feasibility.

  • Low effort if prerequisites are already satisfied: enable bundle, provide entity + grid config, render template.
  • Prohibitive effort otherwise — adopting Doctrine + Knp + this bundle is a re-platforming exercise, not an integration.
  • Requires validating Composer version constraints against current Symfony/PHP/Doctrine versions; bundle compatibility matrices are a known failure point for low-adoption Symfony bundles.

Technical risk: HIGH.

  • Adoption risk: 1 star, 0 dependents, score 0.005 — effectively unknown in the ecosystem. No community, no third-party validation, no downstream users to surface issues.
  • Maintainer risk: single-vendor provenance (Pageon). Bus factor of one. No indication of release cadence or an archived/abandoned status.
  • Version drift risk: Symfony major upgrades (5→6→7) routinely break bundles; Doctrine ORM 3 is a breaking change. An unmaintained bundle will block framework upgrades.
  • Security surface: low direct risk (read-only grid rendering), but unmonitored dependencies are still a supply-chain concern, especially if the bundle renders user-influenced sort/filter input.

Key questions for the maintainer / due diligence.

  1. Which Symfony, PHP, Doctrine ORM, and KnpPaginatorBundle versions are supported? Is there a tested compatibility matrix and CI?
  2. Is the repository actively maintained? Last commit, last release, open issues/PRs, archived status?
  3. License (MIT?) and are there any restrictions on forking/vendoring?
  4. Does it add meaningful capability beyond KnpPaginatorBundle (filtering DSL, export, column abstraction, security hooks), or is it a thin template wrapper?
  5. Test coverage and code size — how much code would we be inheriting if we fork?
  6. Is sorting/filtering input sanitized against injection and DQL abuse?

Integration Approach

Stack fit.

  • Laravel target: not viable. Recommend native Laravel equivalents — Filament tables, Livewire tables, Orchid, or a DataTables adapter — all of which are maintained, community-backed, and idiomatic to Eloquent.
  • Symfony target: viable only if KnpPaginatorBundle + Doctrine are already standard in the codebase and no higher-level admin/grid framework (EasyAdmin, SonataAdmin) is in use — both of which already solve this problem with far larger communities.

Migration path.

  • If Symfony + Doctrine + Knp are already present, adoption is additive and reversible: one bundle registration, one grid config, one template. Low sunk cost if abandoned.
  • If not present, treat this as a fork-and-own decision, not a dependency decision. Budget for vendoring the source into the monorepo so we control upgrades.
  • If a Laravel shop is evaluating this, the correct action is reject and substitute, not migrate.

Compatibility.

  • Pin exact versions in composer.json; add the bundle to the dependency-review and Renovate/Dependabot watchlist.
  • Verify PHP 8.1/8.2/8.3 and the current Symfony LTS before any pilot.

Sequencing.

  1. Confirm framework. Resolve the Laravel-vs-Symfony ambiguity before any engineering time is spent.
  2. Alternatives review. Benchmark against the incumbent grid solution and the two strongest alternatives in the target framework.
  3. Time-boxed spike (≤3 days). One representative entity, one grid, one render path, in a branch.
  4. Fork decision. If the spike passes, vendor the code and assign an internal owner.
  5. Pilot one low-traffic admin screen.
  6. Roll out only if the fork is owned and the upgrade path is documented.

Operational Impact

Maintenance.

  • Assume zero upstream maintenance. Ownership of bug fixes, Symfony/Doctrine upgrades, and security patches transfers to our team the moment we adopt it. Budget a fraction of an engineer per upgrade cycle.
  • Track framework upgrade blockers explicitly; an unmaintained bundle can gate a Symfony 7 migration.

Support.

  • No vendor SLA, no issue triage, no community forum. Internal on-call must be able to read the source. Documentation is likely thin; the source is the spec.

Scaling.

  • Pagination-based grids are fine at moderate volumes. Watch for:
    • N+1 queries when grid columns traverse associations (no fetch-join guarantees).
    • COUNT query cost on large or heavily joined tables.
    • Deep offsets (LIMIT/OFFSET) degrading on high-page-index navigation.
    • Unindexed sort columns producing full scans.
  • Assess at realistic row counts, not dev fixtures.

Failure modes.

  • Symfony or Doctrine major upgrade breaks the bundle → grid feature frozen or emergency fork.
  • Knp paginator API changes propagate silently.
  • Sorting/filtering on unindexed or association columns → production latency incidents.
  • Memory pressure when filters widen the result set beyond pagination expectations.
  • Entity schema changes drift from grid config → runtime template errors.
  • If input sanitization is weak, filter parameters become a DQL/SQL injection vector.

Ramp-up.

  • Low for engineers already fluent in Symfony, Doctrine, and Knp — a half-day to first grid.
  • Moderate for Symfony devs without Doctrine — need entity mapping and DQL familiarity.
  • Effectively blocked for a Laravel-only team; the learning cost exceeds the value of the feature.

Recommendation. Do not adopt as a strategic dependency. If the stack is Symfony-with-Doctrine-with-Knp and the feature is genuinely needed, either fork-and-own it or reimplement the thin grid layer in-house. If the stack is Laravel, reject and substitute a maintained native package.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox