Composr Tutorial: Notifications

Written by Chris Graham (ocProducts)
Composr includes a highly-configurable notification system for members to be alerted on what is going on.


Choosing notifications

Image

Setting notifications

Setting notifications

(Click to enlarge)

There are a wide number of notification types that members can receive.
Some are set to be enabled by default, and some are only available based on privileges.

Some notification types allow fine-grained control, allowing you to choose to receive them only for certain notification categories. For example, with forum topic notifications you can choose to receive them only for certain forums. This is similar to what some forum software calls 'tracking'.

Double notifications

If you enable notifications on a particular type, but also categories of that type, you will get doubled up notifications. As Composr allows fine-grained control of different kinds of notification we don't want to add overwhelming complexity by trying to do 'smart de-duplication'. Therefore if you get duplicated notifications check your settings.

Forms of receipt

You can receive notifications through a number of means:
  • E-mail
  • Digest e-mail (i.e. in batches)
  • Private topics
  • SMS (if configured, requires payment for each text message sent)
  • As web notifications

Note that private topic receipt is disabled for topic-derived notifications, in order to stop massive growth in database size.

Web notifications

Web notifications are particularly cool. If you have the website open (or pinned open, which some browsers support), then visitors will be notified directly through the Composr user interface within a matter of seconds. From the list of recent/unread notifications, you can view an overlay with the full notification details, or a full page detailing all enabled web notifications from the last period of days.

Additionally, most platforms will allow native notification display:
  • in the Windows notification center
  • in the MacOS notification center
  • in the Internet Explorer pinned site notification area
  • in the main notification area of iPhone or Android phones – unfortunately this doesn't work at the time of writing, as background pages don't run and most mobile browsers don't support HTML5 notifications

(If you don't want the interface to support this, you can remove the top_notifications block from the default GLOBAL_HTML_WRAP.tpl template and disable web notifications.)

Automatically monitor content you've touched

This option works to automatically set up a member to receive notifications on content they have interacted with. This happens at the point of them making an interaction – it automatically sets up a monitor. It is not retroactive.

Members have this set automatically if the global "Auto-monitor posted content" option is enabled.

Smart Topic notification

The "Smart Topic notification" option works to stop members being flooded with notifications for a topic, until they've caught up. It sends them just one notification until they have read it again.

Debugging

You may wish to see what notification e-mails are being sent out.

The best way to debug notifications is to view the e-mail log, from Admin Zone > Audit > E-mail queue/log. You can see exactly what e-mails were sent out.

To see if someone is set up for notifications on some content, use the SU feature (see the Testing access and privileges tutorial, Access control and privileges section) to pretend to be them. You will see their settings reflected in the interface.

There's a config option, "Carbon-copy e-mail address". This address receives a copy of most e-mails the system sends out.
Note that it will only CC a notification e-mail to this address once, not once per notification.

Limits

If the number of categories for a notification type exceeds the value of the "Safety listing limit" config option then a full selection tree will not be provided under the advanced notification settings.
For example, if you have a large number of download categories, the Download notification type will not show a full download category tree.
Instead, only the IDs of notification categories that the user has already monitored will show. New notifications may be set via clicking Monitor buttons when browsing through content in the normal fashion.

Lock-down

Image

Setting notification type lock-downs

Setting notification type lock-downs

(Click to enlarge)

In the Admin Zone you can define what notification types are "locked-down". You can use this to:
  • See which notifications are designed for staff only
  • Stop any member from receiving particular notification types
  • Force members to receive particular notifications types

Locked-down notifications will not show on the user's notification configuration at all.

Set lock-downs from Admin Zone > Setup > Notification lock-down.

You will see the following columns:
  • Notification title (the column title is actually unlabelled, but this is what it is)
  • "Privileged / Restricted" – this is Yes or No, and shows the general access for this notification type in Composr (it is non-configurable, shown for informative purposes only)
  • "Not locked down, free choice" – this is a checkbox, defaulting to 'On'. If you uncheck it then the members will have the settings that you choose in the interface (i.e. they can no longer choose their own settings). If it stays checked, the following checkboxes have no effect.
  • "Member's typical notification type" – specifies that a notification type will be forcibly sent out in the member's average way they've set to receive notifications
  • (All the different ways of receiving notifications) – the checkbox selections here determine specifically how members will forcibly receive this notification type (you will not typically use this in combination with "Member's typical notification type").

If no checkboxes are checked then the members will not be able to receive the notification type at all. This is quite a common configuration, essentially allowing you to turn off a notification type for the whole website.

Note that the settings apply to all members (while respecting the notification permissions). You cannot set lock-downs against specific usergroups.

Security

Notifications broadly fall into 3 classifications:
  1. Notifications sent directly to a specific member, relating to them
  2. Privilege-affected notifications, e.g. monitoring a download category, and hence needing access to that category to receive the notification
  3. Staff notifications

To stop Composr becoming bloated/over-complex, there is no configurable granularity with Staff notifications. Any one with the "May listen to notifications intended for staff" privilege may receive them.

However, you may come into a situation where you do want some granularity. A nice workaround is to have a staff account with a gmail address, and use gmail forwarding rules to forward to others based upon subject line. Then deny regular staff the "May listen to notifications intended for staff" privilege.

Digests

Digest e-mails provide combined summaries of activity.

It is possible digest e-mails could become very long. In this case, Composr would struggle to parse their Comcode. Composr therefore implements a 100kb limit per digest.

Members are informed if the limit is exceeded (while still given the subjects of each digest item). The member may then choose to change their settings to something more manageable (such as more regular, or smaller, digests).

Debugging

Digests are sent out via the scheduler. A member can only choose to receive digests if the scheduler is set up and if they have configured an e-mail address.

Digests are not sent out at any specific time (to avoid overloading outbound e-mail each night), but rather each member's digests are individually time-tracked using the digestives_consumed table. For each member there is a timestamp in that table representing when each of their digest's was last sent. When the scheduler runs it looks to see what digests are due and sends them if there's any content for them.

Actual digest content is queued up in the digestives_tin table.

See also


Feedback

Please rate this tutorial:

Have a suggestion? Report an issue on the tracker.