Spec: Reminder notifications for course dates

Spec: Reminder notifications for course dates

Opportunity

Using the existing notifications feature, we want to provide learners with timely reminders for:

  • Course end date

  • Upgrade deadline

  • Audit access expiry

The intent is to improve awareness of important course dates and enable learners to make timely decisions. For details of notifications feature, see https://openedx.atlassian.net/wiki/x/BIAmGwE.

These notifications are NOT meant for marketing or promotion and will strictly be built and maintained as transactional messages.

Scope

In scope:

  • In-app tray notifications and email notifications for the three cases above.

  • Trigger, schedule and click-through routing.

  • Preference mapping (which toggle controls which activity).

Out of scope:

  • Push notifications / SMS.

  • Changing audit access policy (4-week rule), upgrade eligibility, or course pacing models.

Definitions

  • Course end date: After which the course material is not accessible to paid or unpaid users.

  • Upgrade deadline: After which upgrade (conversion to paid user) is no longer allowed.

  • Audit access expiry: After which course access for audit learners requires upgrade.

Proposed build of notifications

 

Course is about to end

Course audit access is about to expire

Upgrade deadline is near

 

Course is about to end

Course audit access is about to expire

Upgrade deadline is near

Intent

Prevent learners from missing remaining coursework due to a course end date (if configured).

This is not marketing and not progress nudging. It’s a factual warning.

Warn audit learners that they are about to lose access unless they upgrade.

This is not the same as course end. We need to phrase it as loss prevention and not marketing.

Question: Do all openedx courses have an audit access expiry set up? Can instructors disable it?

Question: Is default audit access expiry set to 4 weeks for all courses? Is there a way to change that?

Warn learners that they are about to lose upgrade eligibility for courses that have upgrade option.

To prevent this from falling into marketing domain, we will phrase it as loss prevention and not “encourage purchase”.

Question: Do course teams account for audit access expiry duration when setting upgrade deadline?

Trigger

Course end date

Audit access expiry of each user calculated from their enrollment date and course settings

Upgrade deadline

Audience

Include users:

  1. Who are enrolled in the course

Exclude users:

  1. Who have a course role (Staff/Admin/Beta)

  2. Who have earned a certificate

  3. Whose audit access has expired

Include users:

  1. Whose current enrollment mode is “audit”

Exclude users:

  1. Who have a course role (Staff/Admin/Beta)

  2. Whose audit access has expired

Include users:

  1. Whose current enrollment mode is “audit”

Exclude users:

  1. Who have a course role (Staff/Admin/Beta)

  2. Whose audit access has expired

Cadence

2 notifications, X and X-7 days before the course’s end date.

2 notifications, Y and Y-7 days before the upgrade deadline.

2 notifications, Z and Z-7 days before the upgrade deadline.

Defaults

  • Tray: ON

  • Email: Immediate (it’ll get lost in the summary email)

  • Tray: ON

  • Email: Immediate (it’ll get lost in the summary email)

  • Tray: ON

  • Email: Immediate (it’ll get lost in the summary email)

Language

{Course Name} ends in {X} days. After this date, you won’t be able to access the course.

Your access to {Course Name} expires in {Y} days. After this date, you won’t be able to access course content unless you upgrade.

Upgrade deadline for {Course Name} is in {Z} days. After this date, you won’t be able to upgrade and earn a certificate.

Upon click

Route to:

  1. Course home page?

  2. Dates tab?

Route to:

  1. Course home page?

  2. Payment page?

  3. Dates tab?

Route to:

  1. Course home page?

  2. Payment page?

  3. Dates tab?

Caveats/Open questions

What if course end date is changed after one or all notifications have been sent? How often is this scenario?

What if audit access expiry is changed after one or all notifications have been sent? How often is this scenario?

Where is the option to configure audit access expiry?

What if upgrade deadline is changed after one or all notifications have been sent? How often is this scenario?

Theoretically we should send an “upgrade deadline extended” notification. Maybe it can be implemented in a future iteration.

What if an instance doesn’t want to enable this notification because they have other reminders in place? How will they disable it? Do we need to build something for this?

There’s an existing Day-19 upgrade reminder email which may or may not be in use. Do we deprecate that in favor of this?