Announcements — Production Guide
Licensing
- Catalog slug:
announcements - Not default-included; not billable (Marketplace free install)
- Deactivate via Central/Marketplace subscription tools to revoke access without dropping data
Bootstrap
New workspaces do not get Announcements until Marketplace install.
- Run create-table migrations (
announcements,announcement_reads) - Run
register_announcements_module+add_announcements_permissionsdata migrations - Deploy frontend (dialog, dashboard section,
/announcements) - Install module on the workspace; refresh SPA session for entitlements
Permissions rollout
Mutation permissions for existing workspaces ship via TenantPermissionSynchronizer::grantMissingDefaultRolePermissions (admin defaults). No announcements.view permission exists.
Monitoring
Platform audit events: announcement_created, announcement_updated, announcement_deleted, announcement_published.
Deploy checklist
- Migrate schema + catalog + permissions
- Deploy backend (notification job + dashboard widget)
- Deploy SPA
- Smoke: Marketplace install → create published announcement as admin → second user sees login dialog → Mark as read → readers list for admin → dashboard unread card disappears after mark-as-read (history remains under Announcements nav)
- Confirm routes return 403 when module not installed
- Confirm queue workers are running so publish notifications are delivered
- Optional: set workspace timezone ≠ UTC and verify
expires_atmatches Settings → General wall clock