- Is fsi/admin-positionable-bundle a Laravel package?
- No. It is a Symfony bundle (FSi\Bundle\AdminPositionableBundle) that registers through Symfony's DI container and bundle system, and it is a satellite of the FSi AdminBundle CRUD suite. There is no service provider, no facade, no config publishing, and no Laravel package auto-discovery. Treat it as a design reference for the UX, not as a dependency you can drop into a Laravel app.
- Can I install fsi/admin-positionable-bundle in Laravel 10 or 11?
- Unlikely to resolve. The 2019 codebase targets php ^7.1 and symfony/* ^3.4|^4.0, which conflict with the Symfony 6/7 components Laravel 10 and 11 depend on. Even a forced install drags in Doctrine event subscribers and FSi AdminBundle list-view code that you would have to discard anyway.
- What does fsi/admin-positionable-bundle actually do?
- It adds positionable behavior to admin-managed Doctrine entities so administrators can reorder list rows with drag-and-drop and persist the sequence. It provides a configurable position field, an ordering scope, and increase/decrease position actions wired into FSi AdminBundle lists. Under the hood the sorting logic computes a target position and shifts sibling rows consistently inside a transaction.
- Does fsi/admin-positionable-bundle integrate with Doctrine entities?
- Yes, Doctrine integration is the core of the bundle — positioning is entangled with Doctrine event subscribers and the FSi AdminBundle list view layer. That coupling is exactly why it does not port cleanly to Eloquent or to Laravel's package model. In a Laravel app you would replace it with an Eloquent sortable package rather than adapt the Doctrine code.
- What is a good Laravel alternative for drag-and-drop sortable admin lists?
- spatie/eloquent-sortable is the standard Eloquent primitive: it handles the position column, sibling shifting, and query scopes. Pair it with a Blade/Livewire or Inertia drag-and-drop front end to match the admin UX the bundle originally provided. Unlike this Symfony bundle, it is actively maintained and compatible with current Laravel versions.
- Is fsi/admin-positionable-bundle still maintained?
- No. The last release was 2019-08-07, the repository has one star and zero dependents, and the surrounding FSi AdminBundle ecosystem is effectively dormant. Single-organization maintenance means there are no downstream users to inherit bug fixes from and no security triage process. The MIT license is clean, so forking or porting carries no legal friction — the risk is purely technical debt.
- How do I port the positionable behavior to Laravel?
- Adopt an Eloquent sortable package such as spatie/eloquent-sortable as the persistence primitive, then reimplement only what the bundle uniquely contributed: the increase/decrease action semantics and the authorization and UI affordances around them. Verify the bundle's position column semantics (0-based vs 1-based, gap handling) so migrated data matches the new implementation. Preserve MIT attribution if you copy any code verbatim into a fork.
- Does fsi/admin-positionable-bundle handle concurrent admin reordering safely?
- The sibling-shifting logic is designed for typical single-editor admin usage; collision-safe concurrent reordering is not a documented guarantee. If two administrators reorder the same list at once you would need transactions and row-level locking that you must add yourself. Confirm your concurrency assumptions before relying on any port of this behavior.
- What PHP and Symfony versions does fsi/admin-positionable-bundle require?
- Expect php ^7.1 and symfony/* ^3.4|^4.0 constraints from its 2019 codebase — check composer.json before assuming anything else. Those constraints will not resolve against modern Laravel, which runs on Symfony 6/7 components. That single compatibility check usually ends the "just install it" option.
- Should I use fsi/admin-positionable-bundle or build the feature myself?
- Build it. Manual list ordering is a near-universal admin requirement, but this package only names the problem — it does not solve it for Laravel. A timeboxed 1–2 day spike on spatie/eloquent-sortable plus a schema migration to add and backfill a position column will get you further than fighting Symfony version constraints.