- What is slimani/filament-media-manager used for?
- It is a Filament panel plugin for Laravel that adds a media manager UI on top of Spatie Laravel MediaLibrary. It provides hierarchical folders, tagging, search and filtering, file previews, and multi-disk support for browsing, uploading, and organizing media. It is intended for Filament admin applications where editors need folder-based asset management without building custom CRUD.
- How do I install slimani/filament-media-manager?
- Install it with Composer, register the Filament panel plugin, and publish both the package migrations and the Spatie MediaLibrary migrations. Then add the required trait to models and configure foreign keys for single-file relations. The README documents the conventional Filament plugin setup, but you should review published migrations before running them.
- Which Laravel and Filament versions does this package support?
- The package explicitly targets Filament v4 and v5, and the evaluation context recommends Laravel 11/12 with PHP 8.2+. You should verify the exact constraints in composer.json and test against your specific Filament minor version. The compatibility claim is not a substitute for a tested matrix in your application.
- Does slimani/filament-media-manager require Spatie Laravel MediaLibrary?
- Yes. It sits on top of Spatie Laravel MediaLibrary and adds Filament-native UI plus its own media_files and media_attachments schema. That means your team should already be comfortable with Spatie conventions and storage behavior. It is not a framework-agnostic media library or a replacement for Spatie.
- Can I use multiple disks or S3 with this media manager?
- Yes, the package advertises support for multiple disks and lets you configure the disk per field or globally. Storage still follows Spatie MediaLibrary behavior, so local and S3-compatible disks are the expected fit. Plan how disk changes and existing media URLs will be handled before production use.
- How do I add a media picker to a Filament form?
- Register the panel plugin, add the media trait and foreign key for the model relation, then use the MediaPicker component in your form schema. MediaColumn and infolist entries cover table and detail views. Start with a pilot resource and one single-file relation before rolling it out.
- How do I enable RichEditor integration with the media manager?
- You need to implement HasRichContent and register MediaManagerRichContentPlugin. This integration touches content rendering and URL resolution, so add it only after the basic MediaPicker flow is stable. The evaluation notes a URL-refresh mechanism whose signing and per-render performance cost should be verified.
- Is slimani/filament-media-manager production-ready?
- The code shows tests and PHPStan workflows plus an MIT license, but the package has low external validation: around 21 stars and zero dependents at assessment time. It appears effectively single-maintainer, and the provided release date is future-dated, so verify release cadence and issue response directly. Treat it as a platform-level dependency and have a fork or replacement plan.
- How are migrations, orphaned files, and deletions handled?
- The package adds its own media_files and media_attachments tables alongside Spatie's tables, so you own migration review and rollback testing. The assessment flags orphaned files, disk changes, and deletions as open questions, and no cleanup command or soft-delete strategy is confirmed in the context. Review schema stability and data lifecycle before backfilling existing media.
- What are alternatives if this package is abandoned?
- Because it builds on Spatie Laravel MediaLibrary and Filament-native components, the fallback is to fork or replace the Filament UI while keeping Spatie storage. The underlying models and traits should be reviewed to confirm they are simple enough to maintain. If your app is not Filament-based, a framework-agnostic media library is a better fit.