Feature proposal/specification for increased granularity to mod_forum subscription digest settings
To reduce the amount of e-mail that users receive, but still allow them to be notified of changes, this proposal suggests adding granularity to the user Daily Digest options. Specifically, this feature proposal suggests adding a per-forum Daily Digest setting rather than a per-user setting.
We've encountered a number of issues relating to forum subscriptions, and the granularity of the options within them. These broadly fit into four groups:
- inability for some staff to unsubscribe from forced subscription forums;
- inability for other staff to subscribe to forced subscription forums;
- too much e-mail from forums that users are not interested in;
- too much e-mail from forum threads that users are not interested in.
- The issue of forum thread subscription will be resolved by MDL-39707 if it is implemented, however I don't believe that the rest will based on the descriptions available; and
- MDL-40483 attempts to address the first two issues by introducing a new capability which allows you to define which users can unsubscribe from a forum.
However, there is still a lack of granularity for forum subscriptions on the whole and this is the final area that this proposal seeks to address.
Proposal in brief
At present, forum digest settings are a user profile setting and the same setting applies to every forum in Moodle. As a solution to the issue described, the proposal we're putting forward is to introduce additional granularity to the forum subscription type that users may choose. This will:
- convert the existing user profile digest setting into a user default preference; and
- add a per-forum instance setting for each user to select the digest preference.
Effectively, this will give each user the option of whether they wish to receive a digest e-mail, or a single e-mail for each of their forums.
User profile settings
Wording will be changed to indicate that the setting selected is the user's default setting.
mod_forum UI changes
The existing per-course forum index (/mod/forum/index.php?id=X) will be updated to display the current subscription settings. This information may also be displayed on a summary page for all forums a user is subscribed to (depending on performance aspects).
Where a user has the appropriate capability to both subscribe and unsubscribe from a forum's email notifications, a dropdown with these options will be displayed. Where they are unable to change their subscription options, text/an icon will be displayed indicating that that they cannot change their subscription and what their current subscription status is.
The current subscription setting will be a dropdown (single_select) with options:
- Profile Default - always reflects the current profile field setting;
- Single e-mail - always send an e-mail per forum discussion;
- Daily Digest Complete - send a daily e-mail each day with the complete contents of each post in this forum;
- Daily Digest Subjects - send a daily e-mail each day with the subject of each post in this forum;
These names may be shortened to reduce complexity of the user interface.
mod_forum back-end changes
To cater for this, the forum_subscriptions table will be modified to incorporate any overrides to the standard settings. The following fields will be added
No additional database call is required for this, but the existing call to retrieve a list of all forums will be modified to outer join the forum_subscriptions table against the current user.
- navigation changes to show and allow cyclic toggling of the setting?
- improve perf of cron so it does not make an additional call per forum per message per user (on developed PoC patch)
- determine UI changes required
- UI mockups