Skip to content

Notification improvements #381

@TinyServal

Description

@TinyServal

I've mentioned this before in doubtfire-lms/doubtfire-web#479 before I realized this was not a frontend issue.

First of all, we really need some sort of active notification mechanism for doubtfire. Having to check it all the time actively becomes very tedious if I got a lot of units on there.

The first channel should be email (doubtfire-lms/doubtfire-web#312) since students are obligated to check it and we already have functional mailer stuff set up already. I think we should:

  1. Rename the current weekly digest emails to "weekly digest" instead of "notification" in the UI. Most people don't even know what those options are for in the frontend.
  2. Change the sender email address to something like doubtfire-noreply@university.edu instead of impersonating unit chairs, especially given they have no control over these emails whatsoever and it's a setting on the recipients' (students) side. See: Notification emails - editable templates doubtfire-web#284
  3. Implement email notifications for comments and task status changes, perhaps do the checks every hour or so, and send a notification email of the status changes and new comments to the student if there is any. Don't tie it to status changes or comment submits, it can be spammy. An additional property of a task comment should be added (something like "notified"), and we need some logic to make sure the changes we are notifying originates from a convenor, not the student.

Other optional channels to consider:

  • Develop an MS Teams bot to allow students to opt in and have the task changes sent to them as messages on Teams (if available from the university).
  • Web Push (available in most mainstream browsers, Safari support is coming soon:tm:), it's fairly straightforward and how it works is very similar to FCM and APNs. We don't need API keys from 3rd party providers to send notifications. There is already a gem that handles all the heavy-lifting as well: https://github.com/zaru/webpush

@jakerenzella @macite What do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions