mod forum-subscriptions: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
= Feature proposal/specification for increased granularity to mod_forum subscription digest settings = | |||
== Summary == | |||
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. | |||
== Background == | |||
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: | 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 some staff to unsubscribe from forced subscription forums; | ||
Line 8: | Line 10: | ||
# too much e-mail from forum threads that users are not interested in. | # too much e-mail from forum threads that users are not interested in. | ||
Several of these issues may be addressed shortly by MDL-39707 and MDL-40483: | |||
* 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. | 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. | 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: | 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: | ||
Line 22: | Line 24: | ||
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. | 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. | ||
== Changes required == | |||
=== User profile settings === | |||
Wording will be changed to indicate that the setting selected is the user's default setting. | 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). | 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). | ||
Line 45: | Line 47: | ||
[[File:modforum-subscription-ui1.png]] | [[File:modforum-subscription-ui1.png]] | ||
=== 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 | 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 | ||
{| | |||
| field | type | length | default value | nullable | | |||
| maildigest | int | 1 | -1 | not null | | |||
|} | |||
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. | 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. |
Revision as of 09:41, 4 July 2013
Feature proposal/specification for increased granularity to mod_forum subscription digest settings
Summary
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.
Background
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.
Several of these issues may be addressed shortly by MDL-39707 and MDL-40483:
- 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.
Changes required
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 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;
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
type | length | default value | nullable | | int | 1 | -1 | not null | |
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.
A single_select will be used to change the selection.
TODO
- 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