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

Datagrid Bundle Laravel Package

fsi/datagrid-bundle

FSI DataGrid Bundle is a Symfony package for building flexible, configurable data grids. It supports columns, filters, sorting, pagination, actions, and exports, with Doctrine and Twig integration for quickly rendering admin-ready tables.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

  • The package is a Symfony bundle, not a Laravel package. It has no service provider, no facade, no config publishing, and no Laravel-compatible container wiring. Any evaluation framed as "Laravel/PHP" must start by correcting that premise: out-of-the-box it is unusable in a Laravel application.
  • Functionally it is a thin integration shim, not a grid engine. Its entire job is (a) registering the fsi/datagrid component's DataGridFactory and related services in the Symfony DI container and (b) exposing Twig functions for rendering grids in templates. All real capability — data sources, columns, filters, sorting, pagination, rendering — lives in the upstream fsi/datagrid component.
  • This means the bundle adds almost no differentiated value on its own. The genuine decision is whether to adopt the underlying FSi DataGrid Component; the bundle is a ~1-file convenience layer on top.
  • Architectural mismatch is significant for a Laravel codebase: FSi DataGrid's data-source adapters are built around Doctrine ORM/ODM abstractions. Laravel's Eloquent does not slot into those interfaces without a custom adapter, which is the single largest piece of integration work.

Integration feasibility

  • In a Symfony app: high feasibility. Composer install, register the bundle, configure the grid definitions as services, render via Twig. Low friction, low ceremony.
  • In a Laravel app: low feasibility as-is. Realistic options are (1) depend on fsi/datagrid directly and hand-wire a service provider plus a custom Eloquent data-source adapter, (2) port the Twig rendering to Blade, or (3) abandon it in favour of Laravel-native table tooling. Options 1–2 are non-trivial and effectively amount to forking the integration layer.
  • Blast radius of adoption is small in code terms (few files, small surface), but the hidden dependency chain is larger: fsi/datagrid, Twig, Doctrine collections/adapters, and Symfony contracts.

Technical risk

  • Maintenance risk: high. Last release March 2022, 18 stars, 0 dependents. This is effectively an unmaintained package. No security response path, no compatibility updates for current Symfony/PHP versions.
  • Version-drift risk: high. A 2022 Symfony bundle will typically pin to Symfony 4/5-era APIs and PHP 7.4/8.0 constraints. Installing on Symfony 6/7 or PHP 8.3+ will likely require constraint overrides and patching.
  • Concentration risk: because the bundle is thin, most risk transfers to the upstream component — which has the same staleness profile. You are not buying a maintained product; you are buying a snapshot.
  • Licensing risk: low. MIT, clean.

Key questions for the team

  1. Are we actually a Symfony shop, or was this scoped against Laravel by mistake? The answer changes the recommendation entirely.
  2. If Symfony: which Symfony and PHP versions are we targeting, and does the 2022 constraint set install cleanly?
  3. If Laravel: are we willing to own a fork of the integration layer plus a custom Eloquent data-source adapter — and who maintains it?
  4. What is our exit plan if the upstream component stops working on a future framework version?
  5. Have we compared this to maintained alternatives (Symfony: EasyAdmin, SonataAdmin, API Platform + custom table; Laravel: Filament, Livewire tables, DataTables) before committing?

Integration Approach

Stack fit

  • Symfony + Twig + Doctrine: natural fit. This is the intended deployment and the only one with a low-effort path.
  • Laravel + Blade + Eloquent: poor fit. Every layer of the stack diverges — container, templating, ORM, and rendering.
  • Framework-agnostic PHP service: partial fit only after removing the bundle and using the component directly, which negates the reason to adopt the bundle.

Migration path

  • Greenfield Symfony: install bundle + component via Composer, register bundle in bundles.php, define grids as services, render in Twig. Days, not weeks.
  • Existing Laravel app: do not attempt to install the Symfony bundle. Two viable routes:
    • Route A (adopt the engine): require fsi/datagrid only, write a Laravel service provider that binds the factory, implement an Eloquent-backed DataSourceInterface, and provide Blade components or a JSON endpoint for rendering. Estimate: 2–4 weeks of engineering plus ongoing ownership.
    • Route B (adopt a native tool): use Filament/Livewire tables or a JS grid; migrate any grid definitions to that DSL. Lower long-term risk, faster, but discards the FSi column/filter model.
  • There is no incremental "try it in one screen" path in Laravel that doesn't involve building the adapter first — that is the minimum viable spike.

Compatibility

  • Verify Symfony version constraints in composer.json before anything else; expect to need --ignore-platform-reqs or a fork with widened constraints.
  • Verify PHP constraint against the team's runtime; a 2022 bundle will predate PHP 8.2/8.3 idioms.
  • Twig function names are registered globally — audit for collisions with existing Twig extensions before enabling.
  • Doctrine ORM/DBAL major-version alignment is the most common breakage point in this era of packages.

Sequencing

  1. Confirm framework target and close the Laravel-vs-Symfony question.
  2. Spike: install in a throwaway branch, render one grid against real data, measure the constraint/patching effort.
  3. Decide adopt-vs-alternative based on spike cost, not on the package description.
  4. If adopting, isolate behind an internal interface so the grid library can be swapped later.
  5. Only then roll out to additional screens.

Operational Impact

Maintenance

  • Expect to own the code, not consume it. With a 2022 last release and no active dependents, the practical model is "vendored fork with periodic manual patches" rather than "track upstream."
  • Budget recurring effort for framework upgrades: each Symfony/PHP major bump likely requires a compatibility patch to the bundle and possibly the component.
  • No vendor SLA exists; support is GitHub issues on a low-traffic repository.

Support

  • Community-only, low volume. Do not plan on upstream responsiveness for defects or security reports.
  • Internal knowledge will concentrate in whoever performs the integration — a single-owner bus factor that should be documented and cross-trained.

Scaling

  • Rendering is server-side PHP over a data source; scaling characteristics are those of the underlying query layer, not the bundle. Pagination and filtering are pushed to the data source, which is the right design.
  • The bundle itself adds negligible runtime overhead — a few container registrations and Twig functions. No background workers, no queues, no external services.
  • Real scaling constraint: N+1 query behaviour in column rendering and filter application against large tables; must be validated with realistic data volumes during the spike.

Failure modes

  • Install-time: composer constraint conflicts (most likely failure), container compile errors from missing services, Twig function name collisions.
  • Runtime: data-source adapter exceptions surfacing as blank grids; Doctrine connection/version mismatches; filter expressions generating invalid SQL on unfamiliar drivers.
  • Silent failure: unmaintained Twig functions can render nothing without erroring, which is harder to detect than a hard crash — add rendering smoke tests.
  • Security: no patch channel. A disclosed vulnerability in the dependency chain leaves you dependent on your own fork.

Ramp-up

  • Symfony developers: low — a day to be productive, given familiarity with DI service definitions and Twig.
  • Laravel developers: high — the framework model is foreign, and the Eloquent adapter work requires someone comfortable with both Doctrine's data-source contracts and Laravel's container.
  • Documentation for this bundle is thin (the README largely points at the component); plan on reading component source to answer real questions.

Bottom line for the TPM: this is a low-value, low-maintenance integration shim around an aging component, with a framework mismatch against the stated Laravel context. Do not adopt unless the target stack is Symfony and the grid requirement is modest; in a Laravel context, treat it as a rejected candidate and evaluate native alternatives first.

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.
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings
coleus/apps
seampact/laravel
emmyconceptng/laravel-ng-postcode
jjsquady/round-robin
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route