- What does brackets/admin-listing actually do?
- It is the query-building layer of the BRACKETS admin suite. You define a Listing class next to an Eloquent model, declare which columns and relations are searchable, sortable, and filterable, and the package returns a paginated, translated result set for an admin index table. It ships no UI, routes, or authentication of its own, so think of it as an opinionated Eloquent wrapper rather than a full CRUD package.
- How do I install brackets/admin-listing in a Laravel application?
- Install it with Composer and publish its configuration file, then create a Listing class that implements the package contract for each model you want to expose. You wire the route and controller yourself, or let brackets/admin-generator scaffold them. A first screen typically takes hours, but covering a realistic admin surface takes days.
- Does brackets/admin-listing work standalone, or do I need the rest of the Brackets suite?
- It can technically run without the sibling packages, but the intended experience assumes admin-ui for the frontend table and often admin-auth for access control. The output contract is shaped for admin-ui request parameters and response metadata, so evaluating it in isolation overstates its value. If you are not on the Brackets stack, expect to write your own glue or vendor a fork.
- Which Laravel and PHP versions are supported?
- The published information does not state verified support for Laravel 11 or 12 and PHP 8.3 and above, and the last tagged release was October 2023. Because it mostly depends on illuminate database components, it will often keep working across newer versions, but that is not a support guarantee. Run a CI matrix against your exact Laravel and PHP versions before committing, and pin versions with a lockfile.
- Is brackets/admin-listing actively maintained?
- Public signals are thin: low star count, no declared dependents, and no release since late October 2023, with no evident published support or security policy. Stewardship appears to be single-vendor with no recent activity, so treat the repository as low-bus-factor. Confirm whether it is effectively archived and whether a current-framework release is planned before adopting it broadly.
- How does search and sorting behave with translatable or JSON columns and relations?
- Searching translatable and JSON columns implies raw SQL fragments, and relation-based sorting needs joins or subqueries under the hood. Before exposing this to arbitrary admin input, verify how the package escapes user-supplied terms and how it handles column name collisions across joined tables. Also check index behaviour on your database, since JSON and translated column searches can degrade into full scans. Testing these paths explicitly is strongly recommended.
- Can I use brackets/admin-listing with Filament, Livewire, or Inertia instead of the Brackets admin UI?
- It is not a general-purpose table or filtering layer, so if your admin is Blade, Livewire, Filament, or Inertia based, the package will fight your frontend. Its response shape is designed for the admin-ui table component, meaning query parameter names and metadata attachment conventions may not match your UI. Confirm the frontend assumption before committing, and prefer Filament or a dedicated table package if you are not adopting the Brackets stack.
- Is brackets/admin-listing safe to use in production?
- The main risks are lifecycle and coupling rather than obvious code quality problems. There is no published security disclosure channel and no recent release, so you own patching and framework compatibility. Bulk actions and search accept admin input, so audit escaping, authorization, and mass-assignment behaviour in your own controllers before going live. Many teams mitigate this by forking and vendoring the package under their own maintenance.
- How should I test and roll out a listing built with this package?
- Introduce it as a greenfield admin surface alongside your existing admin, starting with one or two low-risk CRUD listings built on clean Eloquent models without exotic joins. Add feature tests that assert search, sorting, pagination, filters, and bulk actions, and re-run them on every framework upgrade because these paths break silently when illuminate database changes. Keep the old admin untouched until the proof of concept validates both developer experience and compatibility.
- What are the alternatives, and when should I avoid this package?
- Avoid it if you need a general-purpose listing or filtering layer, if your admin is not built on the Brackets suite, or if you require documented support for current Laravel and PHP versions. Evaluate Filament, Laravel Nova, or a dedicated table package for standalone use cases. Choose brackets/admin-listing only when you are standardising on the full BRACKETS admin stack and can accept the transitive commitment to its UI and auth conventions.