Skip to content

feat: add ora reminder notification#38298

Open
AhtishamShahid wants to merge 2 commits into
masterfrom
ahtisham/add_ora_reminder_notification
Open

feat: add ora reminder notification#38298
AhtishamShahid wants to merge 2 commits into
masterfrom
ahtisham/add_ora_reminder_notification

Conversation

@AhtishamShahid
Copy link
Copy Markdown
Contributor

@AhtishamShahid AhtishamShahid commented Apr 7, 2026

This pull request introduces a new notification type for Open Response Assessment (ORA) reminders, ensuring learners are notified about pending self or peer review steps. The changes include configuration, documentation, icon mapping, and updates to tests for this new notification.

New ORA Reminder Notification

  • Added a new notification type ora_reminder to the NotificationType dictionary, with web and email channels enabled, daily email cadence, and a content template for pending ORA steps.
  • Updated the notification documentation table to include the new ora_reminder entry.
  • Mapped the ora_reminder notification type to the correct icon in the notification icon mapping.

Testing Updates

  • Added ora_reminder to test data for notification settings and non-editable preferences to ensure correct aggregation and display in views.)

Testing Instructions

Prerequisites


Test 1: Learner Receives a Peer Review Reminder

  1. Log in as Learner A.
  2. Navigate to the ORA block that has peer review.
  3. Write and submit a response.
  4. Do not do the peer review. Log out or leave the page.
  5. Wait for the sweeper to run .
  6. Log back in as Learner A.
  7. Click the bell icon in the top navigation bar.

Expected:

  • A notification appears in the list.
  • The notification text references the ORA name and mentions pending peer reviews.
  • Clicking the notification takes the learner directly to the ORA block page.

Test 2: Learner Receives a Self Review Reminder

  1. Log in as Learner A on a course with a self review ORA.
  2. Submit a response.
  3. Do not complete the self review.
  4. Wait for the sweeper to run.
  5. Log back in and open the bell icon.

Expected:

  • A notification appears mentioning pending self review for that ORA.
  • Clicking it navigates to the correct ORA block.

Test 3: Completing the Review Stops Reminders

  1. Log in as Learner A who has already submitted to a peer review ORA.
  2. Complete the peer review step in the ORA.
  3. Wait for the next sweeper cycle.
  4. Check the bell icon.

Expected:

  • No new reminder notification appears after the review is completed.
  • The learner is not notified again for that ORA.

Test 4: Reminder Stops After Maximum Count

  1. Log in as Learner A who submitted but never completed their peer review.
  2. Wait through multiple sweeper cycles (3 total).
  3. After 3 reminder notifications have been received, wait for one more cycle.
  4. Check the bell icon.

Expected:

  • Exactly 3 reminder notifications are received total.
  • No 4th notification is sent after the maximum is reached.

Test 5: No Reminder for an ORA With No Peer/Self Steps

  1. Log in as Learner A.
  2. Navigate to an ORA that only has Staff Grading (no peer or self review step).
  3. Submit a response.
  4. Wait for multiple sweeper cycles.
  5. Check the bell icon.

Expected:

  • No reminder notification is received for this ORA.

Test 6: First Submitter — No Notification Until Peers Are Available

  1. Enroll only Learner A in a course with a peer review ORA (no other learners have submitted yet).
  2. Log in as Learner A and submit a response.
  3. Wait for one sweeper cycle.
  4. Check Learner A's bell icon.

Expected:

  • No reminder notification yet — there are no peers to review.
  1. Log in as Learner B and also submit a response to the same ORA.
  2. Wait for the next sweeper cycle.
  3. Check Learner A's bell icon again.

Expected:

  • A peer review reminder now appears for Learner A (peers are now available).

Test 7: Notification Links to the Correct ORA

  1. Enroll Learner A in a course with two different ORA blocks — each with peer review.
  2. Submit responses to both ORA blocks without completing peer review.
  3. Wait for the sweeper to run.
  4. Open the bell icon.

Expected:

  • Two separate reminder notifications appear, one for each ORA.
  • Each notification shows the correct ORA name.
  • Clicking each notification takes the learner to its corresponding ORA block (not the wrong one).

Test 8: Step Transition — Reminder Switches From Peer to Self

(Applies only to ORAs with both peer and self review steps.)

  1. Log in as Learner A and submit a response to an ORA with both peer and self review steps.
  2. Wait and receive the peer review reminder notification.
  3. Log in as Learner A and complete the peer review step.
  4. Wait for the next sweeper cycle.

Expected:

  • A new notification appears reminding the learner to complete their self review.
  • The peer review reminder stops (learner already completed peer review).

Pass / Fail Summary

# Scenario Pass Criteria
1 Peer review reminder received Notification appears in bell with correct ORA name
2 Self review reminder received Notification references self review
3 Completing review stops reminders No further notification after review done
4 Max 3 reminders sent Exactly 3 notifications, no 4th
5 Staff-only ORA gets no reminder No notification sent
6 First submitter deferred until peers available No notification until a 2nd learner submits
7 Notification links to correct ORA Each notification navigates to the right block
8 Step transition triggers new reminder Self review reminder appears after peer is completed

Copilot AI review requested due to automatic review settings April 7, 2026 19:17
@AhtishamShahid AhtishamShahid marked this pull request as draft April 7, 2026 19:17
@AhtishamShahid AhtishamShahid force-pushed the ahtisham/add_ora_reminder_notification branch from ac498d9 to 0634a4e Compare April 7, 2026 19:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new Notifications “type” for Open Response Assessment (ORA) reminder messages and wires it into the existing notifications configuration/documentation surface (icons, settings docs, and a waffle flag).

Changes:

  • Adds ora_reminder as a new notification type (web/email) under the grading notification app.
  • Adds a new waffle flag notifications.enable_ora_reminders intended to gate ORA reminders.
  • Introduces LMS settings for ORA reminder cadence/batching and documents the new notification key in notification settings docs.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
openedx/core/djangoapps/notifications/base_notification.py Adds ora_reminder notification type definition.
openedx/core/djangoapps/notifications/config/waffle.py Adds ENABLE_ORA_REMINDERS feature flag.
openedx/core/djangoapps/notifications/email/notification_icons.py Maps ora_reminder to an ORA icon for emails.
openedx/core/djangoapps/notifications/docs/settings.md Documents the new ora_reminder notification key.
lms/envs/common.py Adds configuration settings for reminder cadence/sweeping/batching.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread openedx/core/djangoapps/notifications/base_notification.py
Comment thread openedx/core/djangoapps/notifications/config/waffle.py Outdated
Comment thread lms/envs/common.py Outdated
| 12 | updates | course_updates | False | Course updates |
| 13 | grading | ora_staff_notifications | False | New ORA submission for staff |
| 14 | grading | ora_grade_assigned | False | ORA grade received |
| 15 | grading | ora_reminder | False | ORA peer/self review reminder |
Copy link
Copy Markdown
Contributor

@saraburns1 saraburns1 May 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all notification documentation has moved to readthedocs. you can update this line here: https://github.com/openedx/docs.openedx.org/blob/main/source/site_ops/how-tos/enable_notifications.rst?plain=1#L434 (or enter an issue in that repo and I can do it if you are out of hours)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@saraburns1 We are keeping as a document that is more centric to developers.

@farhaanbukhsh farhaanbukhsh changed the title Ahtisham/add ora reminder notification Add ora reminder notification May 5, 2026
@farhaanbukhsh farhaanbukhsh changed the title Add ora reminder notification feat: add ora reminder notification May 5, 2026
@farhaanbukhsh
Copy link
Copy Markdown
Member

@AhtishamShahid it will be great if you can add testing instructions to the PR.

@AhtishamShahid
Copy link
Copy Markdown
Contributor Author

@AhtishamShahid it will be great if you can add testing instructions to the PR.

Added testing instructions.

fix: removed extra code

fix: removed extra config

fix: updated failing tests
@AhtishamShahid AhtishamShahid force-pushed the ahtisham/add_ora_reminder_notification branch from 2f3ac12 to 6c69231 Compare May 11, 2026 06:22
@saraburns1
Copy link
Copy Markdown
Contributor

LGTM once readthedocs is fixed

@AhtishamShahid
Copy link
Copy Markdown
Contributor Author

AhtishamShahid commented May 15, 2026

LGTM once readthedocs is fixed

Doc PR was merged .
openedx/docs.openedx.org#1446

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants