ymsoft/filament-table-presets
A Filament package for saving and restoring table presets—let users store column layouts, filters, sorting, and other table settings, then switch between named views instantly without reconfiguring tables each time.
Architecture fit
Integration feasibility
composer require ymsoft/filament-table-presets, publish migrations/config, register the plugin in the target PanelProvider, and optionally enable per resource/table.Technical risk
| Risk | Severity | Notes |
|---|---|---|
| Maturity / bus factor | High | 17 stars, 0 dependents, single-maintainer signal. Effectively unvalidated in production by anyone but the author. |
| Filament major-version coupling | High | Plugins hook table internals; a Filament v4→v5 bump can break presets silently. This is the dominant long-term cost. |
| Serialized state fragility | Medium–High | If presets store filter objects or column names, any rename/removal of a column or filter produces broken or misleading presets. |
| Multi-tenancy / authorization | Medium | Must confirm presets are scoped by tenant and user, and that a shared-preset feature (if present) enforces policy. Cross-tenant leakage is a compliance issue, not a bug. |
| Data sensitivity | Medium | Filter values can encode PII or business-sensitive queries (e.g., a customer ID filter). Presets become stored user data subject to retention/export/deletion obligations. |
| Abandonment | Medium | MIT license and a small surface area make forking viable; plan for it rather than assume upstream fixes. |
Key questions to put to the maintainer / to answer in a spike
Stack fit
Migration path
Compatibility
composer.json with a caret pin plus a lockfile. Treat any Filament upgrade as requiring a preset regression test.Sequencing
Maintenance
Support
Scaling
Failure modes
| Mode | Symptom | Mitigation |
|---|---|---|
| Filament upgrade breaks hooks | Preset action missing or throws | Pin Filament; regression test; feature-flag the plugin off per resource |
| Renamed/removed column or filter | Preset loads but table is wrong/empty | Graceful-skip expectation documented; audit presets on schema changes |
| Serialized payload schema drift | Old presets throw on load | Version the payload or accept a one-time reset of presets per upgrade |
| Tenant scoping gap | Preset visible across tenants | Verify in pilot; enforce with our own global scope if absent |
| Migration not run on deploy | Runtime exception on table render | Deploy checklist + migrate in release pipeline |
| Abandonment | No fixes for new Filament | Fork/vendor trigger defined in advance |
Ramp-up
How can I help you explore Laravel packages today?