add a user preference email_frequency, which users would be able to set to:
unlimited notifications in real time
at most one email from the site per day
at most one email from the site per week
no emails from the site at all
The middle two options, when set, mean that any notifications sent to the user (at the moment, proofs and tags/taggings moderation decisions) should be buffered for a day/week, and only released to the user in a digest (single email, with
separators) once per selected period.
The footer of all emails should be modified to include a link to a page where the user can manage their preference. If the email recipient is not a registered user (possible because proof submitters don't have to be users), the text instead invites them to sign up, as it would, among other things, allow them to set an email frequency preference.
At the moment, there is no user 'home page' or control panel on the site. In the future, this would be part of it, but for now, we can assume the preferences link would lead to a trivial page with just this setting to configure.
Please think about this and propose a design for the back-end, before proceeding to implement.
Design an email throttling system:
add a user preference email_frequency, which users would be able to set to:
The middle two options, when set, mean that any notifications sent to the user (at the moment, proofs and tags/taggings moderation decisions) should be buffered for a day/week, and only released to the user in a digest (single email, with
separators) once per selected period.
The footer of all emails should be modified to include a link to a page where the user can manage their preference. If the email recipient is not a registered user (possible because proof submitters don't have to be users), the text instead invites them to sign up, as it would, among other things, allow them to set an email frequency preference.
At the moment, there is no user 'home page' or control panel on the site. In the future, this would be part of it, but for now, we can assume the preferences link would lead to a trivial page with just this setting to configure.
Please think about this and propose a design for the back-end, before proceeding to implement.