Announcements System
Table of contents
- Distribution Endpoints
- Adding an announcement
- Publication status
- Announcement Attributes
- Editing announcements
The PCS supports the dissemination of simple text announcements to multiple distribution endpoints. Announcements are managed through the Django Administration interface.
Distribution Endpoints
The PCS offers both embedded and remote distribution endpoints, allowing users to access announcements on a wide variety of devices, platforms, and services.
Homepage
The most recent1 announcements are displayed on the PCS homepage in the Recent Announcements column.
Announcements List
The Announcements page, located at <site_url>/announcements/
, is a public list of all published announcements.
RSS Feed
The announcemets list is published as an RSS feed, available at <site_url>/announcements/feed/rss
. Links to the feed are located on the homepage and the Announcements page.
Announcements may be emailed to PCS users assuming the PCS has a working email configuration. A user may opt-out of receiving announcement emails by updating their profile.
Discord
Announcements may be delivered to a Discord webhook assuming the PCS has a working Discord configuration.
Adding an announcement
From the Django Administration homepage, click the Add button located in the Announcements row of the ANNOUNCEMENTS section.
Publication status
An announcement’s visibility is controlled by its publication status. Announcments may be published and unpublished using the Status attribute.
Draft
When the Draft status is selected, an announcement is stored in the PCS database but not delivered to any distribution endpoint.
Publish
When the Publish status is selected, an announcement is stored in the PCS database, visible on the homepage and Announcements pages, and available in the RSS feed. If the announcement is configured for Email or Discord distribution, it is delivered to those endpoints.
Announcement Attributes
Each announcement in the database is comprised of the following attributes.
- Title
Required, Unique. The title of the announcement. - Slug
Required, Unique. The announcement’s slug field. - Author
Required. The PCS user attached as the announcement’s author. May be any user in the database. - Updated on
Required. The date and time the announcement was last updated. Automatically updated by the PCS. - Content
Required. The body text of the announcement. - Created on
Required. The date and time the announcement was created. - Status
Required, Default:Draft
The announcement’s publication status:Draft
orPublish
- Send discord
Required, Default:checked
If selected, the announcement is delivered to a Discord webhook. Otherwise, the published announcement is not delivered to a Discord endpoint. - Send email
Required, Default:checked
If selected, the announcement is delivered to PCS users who have not opted-out of receiving announcement emails. Otherwise, the published announcement is not distributed by email.
Editing announcements
Announcement updates
When an announcement’s status is Publish, clicking the Save button when editing/updating an announcement will always trigger delivery to selected Discord or Email endpoints. Consider avoiding incremental updates to announcements when using the aforementioned endpoints.
Publishing drafts
If an existing announcement is updated from Draft to Publish, the Discord and Email distribution selection at the time the new status is saved will determine the distribution behavior, respectively.
Unpubishing announcements
If an existing announcement is updated from Publish to Draft, the anouncement will no longer be visible on the site or available in the RSS feed. If the the announcement was published to the Discord or Email endpoints, the announcement url contained in those messages will result in an HTTP 404 error until the announcement is republished.
-
In the mobile view, only the most recent announcement is displayed. In the desktop view, the six most recent announcements are displayed. ↩