#1781 - Site-wide Bulletins / Announcements
| Identifier | #1781 |
|---|---|
| Issue type | Feature request or suggestion |
| Title | Site-wide Bulletins / Announcements |
| Status | Completed |
| Handling member | Chris Graham |
| Addon | core |
| Description | Some CMS systems allow for the ability to have site-wide bulletins and announcements displayed, eg for upcoming maintenance or very important bulletins for visitors.
Make a feature in Composr that would make this possible. The announcement would display in the notifications area of all pages, below the top logo and top menu. Build this on top of the existing "closed site" options. The closed site config option group gets additional config options in it... - Show message when open also, start date - Show message when open also, end date - Show message when open also, status level (inform, notice, or warn) |
| Steps to reproduce | |
| Additional information | Attached is a screenshot of where the announcements might appear.
[Chris says... I removed the idea of dismissing the alerts. Difficult to do well, to work for guests needs cookies, which increases HTTP communication overhead -- and people will inevitably dismiss it then forget what it said.] |
| Funded? | No |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
(Click to enlarge)
I suppose we could make an option for the closed site message to show even when the site is open, as a bulletin. That's a nice clean solution.
"On my site I plan on making a lot of announcements and unfortunately I haven't discovered a way to make a mass announcement on all the pages of the site so that people are aware of the announcement. My suggestion is to utilize the preview feature by adding a bar on the header of each page that can be color coded dependent upon the urgency of the announcement. Users can then hover over that bar to see a preview of the announcement. Once they've done that... the announcement bar can then be clicked off and it disappears until the next announcement is made."
It was an invaluable site tool for bringing important info immediately to my members.
It would be nice to have an option to be able to show announcements to: members only, guests only, or both members and guests.
I'm looking forward to seeing this become reality, and because I find it invaluable (for me anyway) when I'm working again, I'll sponsor any remaining balance. (But, please don't wait for me because I don't know how long I'll be out of work.)
I don't think we should tie to the closed-site messaging like I originally suggested as that's a bit convoluted. In v10+ we can have as many config options as we want, no need to try and re-use them.
We'll have 5 new options:
- site_message (message to show, mention it supports Comcode)
- site_message_start_datetime (start date/time)
- site_message_end_datetime (end date/time)
- site_message_status_level (list: inform/notice/warn)
- site_message_usergroup_select (a Selectcode string for filtering by usergroup, provide examples in the description for filtering by members only or by guests only)
We'll update the news tutorial to mention the new options and that you could put a link in the site message to a news article using Comcode, to elaborate on the message.
I want us to be able to support multiple messages, but doing a proper admin management module for it would be serious bloat.
So I'd like site_message to support JSON, which I'll document as an advanced thing in the News tutorial.
Example:
[code="JavaScript"]
{
"messages": [
{
"site_message": "First message",
"site_message_start_datetime": "2017-04-23T18:25:43.511Z",
"site_message_end_datetime": "2017-04-24T18:25:43.511Z",
"site_message_status_level": "inform",
"site_message_usergroup_select": null
},
{
"site_message": "Second message",
"site_message_start_datetime": "2017-04-26T18:25:43.511Z",
"site_message_end_datetime": "2017-04-27T18:25:43.511Z",
"site_message_status_level": "inform",
"site_message_usergroup_select": null
}
]
}
[/code]