laravel-afterburner/communications

Team announcements and discussion threads for Afterburner applications

Maintainers

Package info

github.com/laravel-afterburner/communications

pkg:composer/laravel-afterburner/communications

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.7.0 2026-06-04 22:14 UTC

This package is auto-updated.

Last update: 2026-06-04 22:14:35 UTC


README

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