Current state of OpenedX Notifications
Related documents
OpenedX Notifications
The notifications feature describe below is yet to become part of Ulmo release. It is described as it exists in Aug 2025, on edx.org.
The notifications feature enables timely updates to learners, instructors, and course staff about course activity. Notifications can be delivered via an in-app tray and via email. Users can configure what they receive, how often, and through which channels.
Purpose of notifications is to improve user engagement, learner-instructor communication and course moderation.
Some images in this document need to be expanded to be viewed.
Activities, Preferences and Defaults
Activities for which notifications have been built so far, are listed in the table below, along with screenshot (expand).
Platform App | Preference name | Activity | Audience | Tray default | Email default | Notification text |
Discussions |
Activity notifications | New response | Post author | ON | Daily | Steve responded to your post {post title} |
New comment | Post author | ON | Daily |
| ||
New comment on response | Response author | ON | Daily | Steve commented on your response to the post {post title} | ||
New response on post i'm following | Post follower | ON | Daily | Steve responded to a post you’re following: {post title} | ||
New comment on post i'm following | Post follower | ON | Daily |
| ||
Response on my post is endorsed | Post author | ON | Daily | Steve's response has been endorsed in your post {post title} | ||
My response is endorsed | Response author | ON | Daily | Your response has been endorsed on the post {post title} | ||
Reported content | A post has been reported | Moderators only | ON | Daily | Steve's thread has been reported {truncated content} | |
A response has been reported | Moderators only | ON | Daily | Steve's response has been reported {truncated content} | ||
A comment has been reported | Moderators only | ON | Daily | Steve's comment has been reported {truncated content} | ||
New question posts | A new discussion-type post | Any | OFF | OFF | Steve posted {post title} | |
New discussion posts | A new question-type post | Any | OFF | OFF | Steve asked {post title} | |
New posts from instructors | A new post from course instructor | Any | ON | OFF | Your instructor posted {post title} | |
Course updates | Course updates | New course update | All enrollments | ON | OFF | {Truncated course update} |
Grading | New ORA submission for staff | New ORA submission for staff review | Staff, Admin only | ON | OFF | You have a new open response submission awaiting review for {ORA title} |
ORA grade received | ORA Grade awarded | Learners | ON | Daily | You have received 4 out of 5 on your assessment: {ORA title} |
Preferences Center
The Preferences Center is a centralized interface that allows users to manage how and when they receive notifications. Here, they can set preferences at the account level. Users can get to the preferences page:
Via “Notifications” tab on the “Account Settings” page.
Via the gear icon in top right corner in the notification tray.
For each preference:
Users can toggle tray and email preference ON or OFF.
Users can set cadence for email notifications: Immediately, Daily and Weekly.
Default Behavior
High-value notifications have tray and email ON by default.
New posts from instructorsandCourse updatesare an exception where email is OFF by default to keep email volume/cost low.
High-volume notifications (e.g., new discussion posts) are OFF by default to prevent inbox fatigue.
Email cadence default is set to “Daily” for all preferences where email default ON.
Unsubscribe
Email notification includes a one-click unsubscribe link. Clicking it disables turns off email notification for all preferences listed on the preferences page.
Role based visibility
The preference named
New ORA submission for staff gradingis only visible to users with a Course Staff or Course Admin role.The preference
Reported contentis only visible to users with forum moderation privileges (Discussion Admin, Discussion Moderator, Community TA and Group Community TA)
Tray notifications
The notification tray keeps users informed while they’re on the web platform.
A bell icon in the top-right corner displays the count of unread notifications.
When clicked, it opens a tray that organizes notifications into tabs based on platform area (Discussions, Grading, Updates).
Each notification includes the relevant course’s name, a red dot to indicate it’s unread (not clicked), and a timestamp showing when it was generated.
A gear icon in the tray’s top-right corner links to the preferences center, where users can adjust their notification settings.
Email notifications
Email notifications keep users informed even when they're away from the platform.
Users can choose to get notified immediately or to receive a daily or weekly summary of notifications.
Immediately: Receive the email notification as soon as the activity happens.
Daily: Receive a summary of notifications for the past 24 hours, everyday at 2200hrs UTC.
Weekly: Receive a summary of notifications for the past 7 days, everyday Saturday at 2200hrs UTC.
Daily or weekly notification summaries contain up to 5 notifications per platform area.
A
See X more…button indicates that there are more notifications. Clicking this will take user to the learner dashboard.
Emails have one-click unsubscribe option which allows turning off email notifications for all activity types.
Notifications Grouping
High-volume notifications, such as new discussion posts or new ORA submissions, can quickly clutter the notification tray. This clutter reduces the visibility of other important notifications, making it challenging for users to stay informed effectively. As a result, crucial but potentially high-volume notifications need to be turned off by default to avoid overwhelming users.
The notification grouping feature mitigates this issue by combining similar notifications into a single, unified notification, based on their context. Currently, grouping is supported for two notification types:
New discussion posts: Notifications are grouped by the specific course.
New ORA submissions: Notifications are grouped by the ORA assignment ID.
How Grouping Works:
When a new notification is triggered, the system checks if there is an existing, unseen notification of the same type and context:
If yes: Instead of creating a new notification, the existing notification is updated.
If no: A new notification is created.
Once a notification is seen by the user (the user has opened the notification tray and viewed it, even without clicking), it becomes excluded from further grouping. Subsequent notifications of the same type and context will begin a new grouping cycle, enhancing traceability and ensuring that previously viewed notifications remain unaffected.
What Gets Updated in Grouped Notifications:
When notifications are grouped, two key elements are updated:
Text: The language of the notification changes to reflect multiple activities.
URL: The link within the notification points to the most recent relevant activity.
Notification Type | Single Notification Text | Grouped Notification Text |
|---|---|---|
New Discussion Posts | {User A} posted in {Course ID}: {Title of User A's post} | {User B} and others posted in {Course ID} |
New ORA Submissions | You have a new ORA submission awaiting review for {ORA Title} | You have multiple submissions awaiting review for {ORA Title} |
Timestamp Behavior:
Currently, both the created and modified timestamps are updated whenever a notification is grouped:
The created timestamp (used for sorting and pagination) is displayed in the notification tray and email.
Ideally, only the modified timestamp should update, but due to technical constraints (indexing and pagination), both timestamps currently update.
Notification Expiry
Everyday, notifications older than 60 days are deleted from the database to keep the storage in control. This duration is configurable from django settings page.
Feature Flags
notifications.enable_notifications
notifications.enable_email_notifications