- What is orchestra/notifier used for?
- It provides a centralized notification system for Laravel and Orchestra Platform applications, wrapping Laravel's native notification capabilities behind a consistent API. It adds database-backed persistence, read and unread state, and in-app plus mail delivery so notification logic stays organized. It is designed primarily for Orchestra Platform projects, where recipient and ACL resolution come from the platform's User component.
- Does orchestra/notifier support Laravel 9 or 10?
- No. The v6.0.0 release's only change was support for Laravel 8, which makes Laravel 8 a ceiling rather than a floor. On Laravel 9 or newer the Composer constraint will either refuse to resolve or force illuminate packages back to 8.x. Plan on a fork or removal before upgrading the framework.
- How do I install orchestra/notifier?
- Install it with Composer as orchestra/notifier, then register the service provider if your Laravel version does not auto-discover it. Publish the package's configuration and migrations, then run the migrations against your database. Verify the migration schema before running it in any environment that already uses Laravel's native notifications table.
- How is orchestra/notifier different from Laravel's built-in notifications?
- Laravel already ships notifications with channels, queues, and database persistence. Orchestra Notifier wraps that same primitive with an opinionated inbox, read and unread state, and Orchestra-native recipient and ACL plumbing. The trade-off is portability: you gain platform integration and lose the ability to swap in a maintained, general-purpose package.
- Can I use orchestra/notifier without Orchestra Platform?
- Technically you can install it, but it is a platform component rather than a general-purpose library. Recipient resolution, authorization, and identity all assume Orchestra's user model, so a plain Illuminate user class will require significant glue code. If your app is not already on Orchestra Platform, starting here is not recommended.
- Will orchestra/notifier conflict with Laravel's native notifications table?
- That is a real risk. Laravel's database channel owns a notifications table with a notifiable_type, notifiable_id, read_at, and data shape, and if this package writes the same table name with a different schema the failure is silent. Read the package's migrations before running anything in a shared environment, checking for skipped migrations or writes landing in mismatched columns.
- How do I send a notification with orchestra/notifier?
- You define a notification class and dispatch it through the package's fluent API to a recipient resolved by Orchestra's user component. Delivery is handled per channel, typically in-app persistence plus mail, and the resulting record carries read and unread state. Because the package wraps Laravel's native notifications, the notification definition itself follows familiar patterns.
- Does orchestra/notifier support queues and custom channels?
- The package is described as extensible for custom channels and use cases, and it builds on Laravel's native notification system, which supports queues. Queued delivery depends on your notification classes implementing ShouldQueue and on your queue worker setup. Confirm channel behavior in your own environment before relying on it for customer-visible surfaces.
- Is orchestra/notifier safe to run in production?
- It is mechanically a standard Laravel package, but the larger concern is upstream support. It has no dependents and no forward release stream beyond the Laravel 8 ceiling, which means no battle-testing, issue triage, or CVE response for the package itself. Treat customer-visible notification surfaces with a higher bar and keep an exit path behind an application-owned contract.
- How do I test notifications built with orchestra/notifier?
- Use Laravel's notification fakes and assert against the package's dispatch API rather than hitting real channels. Because the package persists to a database table, feature tests should cover the stored record, its read and unread state, and recipient resolution against Orchestra's user model. Keep a test that verifies the migration schema so a table collision with native notifications fails loudly instead of silently.