StateSelect component integrates seamlessly into existing Filament forms/tables.Order, Ticket) or global (e.g., user account states)?status column)?is_approved") or dynamic (e.g., API-triggered)?admin, user, manager) sufficient, or will custom roles be needed?status columns, custom logic).composer require xentixar/workflow-manager
php artisan vendor:publish --tag=workflow-manager-config
php artisan vendor:publish --tag=workflow-manager-migrations
php artisan migrate
config/workflow-manager.php (roles, default settings).OrderStatus::class).HasWorkflows trait on Eloquent models:
use Xentixar\WorkflowManager\Traits\HasWorkflows;
class Order extends Model {
use HasWorkflows;
}
Workflow class or inline:
Workflow::make('Order')
->addTransition('pending', 'processing')
->addTransition('processing', 'shipped')
->condition('processing', 'shipped', fn ($order) => $order->isReadyToShip());
StateSelect:
StateSelect::make('status')
->setRole('admin')
->workflow('Order')
Order or Ticket) to validate the approach.xentixar/workflow-manager, Filament, and Laravel.workflow.transition event) to debug issues in production.StateSelect.Illuminate\Support\Facades\Cache).workflow_state tables.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Database migration fails | Workflow states uninitialized | Test migrations in staging; use rollback scripts. |
| Transition condition throws error | Broken workflows | Wrap conditions in try-catch; log errors. |
| Filament UI renders incorrectly | Users can’t interact with workflows | Validate Filament version; check for CSS/JS conflicts. |
| Role misconfiguration | Unauthorized state changes | Audit roles during deployment; use gates/policies as a backup. |
| Enum definition errors | Invalid state transitions | Use PHP 8.1’s match expressions to validate states; add runtime checks. |
| High latency in transition checks | Slow responses | Optimize conditions; consider denormalizing state checks. |
Order model).How can I help you explore Laravel packages today?