- How do I install and set up Promethys/Revive for Laravel with Filament v5?
- Run `composer require promethys/revive` and execute `php artisan revive:install`. Ensure your Laravel version is 11+ and FilamentPHP is v5+. The package integrates directly with Eloquent’s soft-deletes and Filament resources without schema changes.
- Does Promethys/Revive work with Laravel 10 or older versions?
- No, Revive v3.x requires Laravel 11+ and Filament v5+. For Laravel 10 or older, use version 2.x (Filament v4) or 1.x (Filament v3). Check the [README](https://github.com/Promethys/revive) for version-specific installation commands.
- Can I customize the recycle bin UI or add custom bulk actions?
- Yes, Revive allows UI customization via Filament resource configurations. For bulk actions, enable them per model with `bulk_actions: true` in the `revive()` method. Version 3.1.0 adds optimizations for large datasets, reducing manual custom logic.
- How does bulk restore/delete work in Revive 3.1.0, and is it safe for large datasets?
- Bulk actions in 3.1.0 support batch processing and progress tracking, making them safer for large datasets (e.g., >100K records). The package handles memory efficiently, but test thoroughly in staging. Custom validation hooks can be added per model if needed.
- Will Promethys/Revive break existing soft-delete logic in my models?
- No, Revive leverages Laravel’s built-in `SoftDeletes` trait and doesn’t modify your database schema. It only adds a centralized UI for managing soft-deleted records. Ensure your models already use `SoftDeletes` before integrating Revive.
- How do I integrate the new `recycle-bin:empty` event with notifications or audit logs?
- Listen for the `recycle-bin:empty` event in your `EventServiceProvider`. Use it to trigger custom notifications (e.g., via Laravel Notifications) or log the event to audit systems. Example: `Event::listen(RecycleBinEmpty::class, function () { ... });`
- Are there performance concerns when using bulk actions on very large datasets?
- Revive 3.1.0 optimizes bulk operations with batch processing to mitigate performance issues. For datasets exceeding 100K records, monitor memory usage and consider chunking operations further. The package avoids full-table scans by filtering soft-deleted records efficiently.
- Can I use Promethys/Revive with multi-tenancy (e.g., Laravel Breeze or Jetstream)?
- Yes, Revive supports multi-tenancy out of the box in versions 2.x and 3.x. It respects Filament’s built-in tenant isolation, so soft-deleted records are scoped to the current tenant. No additional configuration is required for most setups.
- What alternatives exist if I’m not using FilamentPHP or need a simpler solution?
- For non-Filament projects, consider packages like `spatie/laravel-activitylog` (for audit trails) or custom middleware to intercept soft-deletes. If you need a standalone recycle bin, `spatie/laravel-permission` can be paired with manual soft-delete handling, though Revive’s Filament integration simplifies the workflow significantly.
- How do I test Revive’s bulk actions or the `recycle-bin:empty` event in my CI pipeline?
- Use Laravel’s `SoftDeletes` testing helpers to simulate soft-deleted records. For bulk actions, test with `Model::where('deleted_at', '!=', null)->get()` and verify counts. Mock the `recycle-bin:empty` event in PHPUnit with `Event::fake()` to validate listeners without side effects.