Looking to hire Laravel developers? Try LaraJobs

communications maintained by laravel-afterburner

Description
Team announcements and discussion threads for Afterburner applications
Last update
2026/09/26 18:28 (dev-master)
License
Links
Downloads
18

Comments
comments powered by Disqus

Afterburner Communications Package

Team-scoped announcements and discussion threads for Laravel Afterburner Jetstream.

Features

  • Announcements — role-targeted posts, read tracking, scheduled email (announcements:send-scheduled)
  • Discussion threads — scopes: council, team, property (optional lot link)

Installation

Local Development Setup

For local development, add the package as a path repository:

composer config repositories.afterburner-communications path ../afterburner-communications
composer require laravel-afterburner/communications:@dev

Quick Install (Recommended)

composer require laravel-afterburner/communications
php artisan afterburner:communications:install

The install command will:

  • Publish config and views
  • Add communications environment variables to .env and .env.example when present
  • Optionally run migrations and seed permissions

Manual Install

php artisan vendor:publish --tag=afterburner-communications-config
php artisan vendor:publish --tag=afterburner-communications-assets
php artisan migrate
php artisan db:seed --class="Afterburner\\Communications\\Database\\Seeders\\CommunicationsPermissionsSeeder"

If you use migrate:fresh --seed, register CommunicationsPermissionsSeeder with your app's PackageSeederRegistry (or call it from DatabaseSeeder) so discussion permissions are assigned beyond the default role templates.

Configuration

Environment variables (added by the install command):

AFTERBURNER_COMMUNICATIONS_ENABLED=true
AFTERBURNER_COMMUNICATIONS_DISCUSSIONS_ENABLED=true

Package options live in config/afterburner-communications.php. Discussions default on when afterburner.entity_label is strata.

Permissions

Slug Purpose
post_announcements Create and manage team announcements
create_discussions Start new discussion threads
edit_discussions Edit thread title, scope, and properties
archive_discussions Archive and restore threads
lock_discussions Lock and unlock threads
delete_discussions Permanently delete threads
moderate_discussion_posts Edit or delete other members' posts

Existing installs that still assign the legacy manage_discussions slug receive the full set of discussion permissions when the seeder runs again.

Seeded via CommunicationsPermissionsSeeder (registered with PackageSeederRegistry).

Events (host listeners)

  • AnnouncementPublished
  • ThreadCreated

Scheduled Tasks

Register in your host app:

$schedule->command('announcements:send-scheduled')->everyMinute();

License

MIT License