composer require, php artisan curator:install, theme integration). No database migrations unless customizing the Media model.RichEditor, enabling WYSIWYG media embedding without custom JS.UPGRADE.md). Risk mitigated by:
php artisan curator:upgrade).lazyLoad()).UserPathGenerator) or disk partitioning be required?| Step | Action | Notes |
|---|---|---|
| 1 | Backup Existing Media | Copy files from current storage (e.g., Spatie’s public/media) to the new disk/directory. |
| 2 | Install Package | composer require awcodes/filament-curator + php artisan curator:install. |
| 3 | Configure Storage | Update config/curator.php for disk/directory. |
| 4 | Migrate Relationships | Update models to use Awcodes\Curator\Models\Media (or custom model). |
| 5 | Replace Spatie Fields | Swap Spatie\MediaLibrary\HasMedia traits and fields for CuratorPicker. |
| 6 | Update Frontend | Replace Spatie’s media helpers (e.g., {{ $model->getFirstMediaUrl() }}) with <x-curator-glider>. |
| 7 | Test Glide Routes | Verify /curator (or custom path) serves processed images correctly. |
| 8 | Deprecate Spatie | Remove Spatie package and cleanup unused migrations/traits. |
media table by default (customizable via config['model']).CuratorPicker in forms and CuratorColumn in tables.<x-curator-glider> or <x-curator-curation>.awcodes/filament-curator for Filament version compatibility.php artisan curator:upgrade.fallback images for missing media.CuratorPicker inherits Filament’s FileUpload validation (e.g., acceptedFileTypes, maxSize).media table may grow large; consider partitioning by created_at or user_id if >1M entries.FileUpload handles concurrent uploads, but disk I/O could become a bottleneck for high-volume uploads (e.g., user-generated content).media table queries.| Scenario | Impact | Mitigation |
|---|---|---|
| **Glide |
How can I help you explore Laravel packages today?