Commit bf807747 by Tyler Hallada

Add configuration information to Schedules README

parent 65d652f5
...@@ -102,42 +102,118 @@ ACE_ENABLED_POLICIES = ['bulk_email_optout'] ...@@ -102,42 +102,118 @@ ACE_ENABLED_POLICIES = ['bulk_email_optout']
ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME = '<insert_sailthru_template_name_here>' ACE_CHANNEL_SAILTHRU_TEMPLATE_NAME = '<insert_sailthru_template_name_here>'
``` ```
### Configuration Models ### Configuring Schedule Creation
Make sure a Site has been created at `<lms_url>/admin/sites/site`. Make sure a Site has been created at `<lms_url>/admin/sites/site`.
#### ScheduleConfig
In the Django admin panel at `<lms_url>/admin/schedules/scheduleconfig/` create In the Django admin panel at `<lms_url>/admin/schedules/scheduleconfig/` create
a ScheduleConfig and link it to the Site. Make sure to enable all of the a ScheduleConfig and link it to the Site. Make sure to enable all of the
settings: settings:
* `create_schedules`: enables creating new Schedules when new Course Enrollments * `create_schedules`: enables creating new Schedules when new Course Enrollments
are created. are created.
* `enqueue_*`: allows sending email tasks of this message type to celery.
* `deliver_*`: allows delivering emails through ACE for this message type.
* `hold_back_ratio`: ratio of all new Course Enrollments that should NOT have a * `hold_back_ratio`: ratio of all new Course Enrollments that should NOT have a
Schedule created. Schedule created.
If you are testing with a particular course, make sure that it is self-paced by #### Roll-out Waffle Flag
going to `<studio_url>/admin/self_paced/selfpacedconfiguration/` and add an
enabled self paced config. Then, go to Studio settings for the course and change There is one roll-out related course waffle flag that we plan to delete called
the Course Pacing value to "Self-Paced". Note that the Course Start Date has to `schedules.create_schedules_for_course`, which, if the
be set to sometime in the future in order to change the Course Pacing. `ScheduleConfig.create_schedules` is disabled, will enable schedule creation on
a per-course basis.
#### Self-paced Configuration
Schedules will only be created for a course if it is self-paced. A course can be
configured to be self-paced by going to
`<studio_url>/admin/self_paced/selfpacedconfiguration/` and adding an enabled
self paced config. Then, go to Studio settings for the course and change the
Course Pacing value to "Self-Paced". Note that the Course Start Date has to be
set to sometime in the future in order to change the Course Pacing.
### Configuring Upgrade Deadline on Schedule
The upgrade reminder message type depends on there being a date in the
`upgrade_deadline` field of the Schedule model. Up-sell messaging will also be
added to the recurring nudge and course updates message types when an upgrade
deadline date is present.
#### DynamicUpgradeDeadlineConfiguration models
In order to enable filling in the `upgrade_deadline` field of new Schedule
models created, you must create and enable one of the following:
* A DynamicUpgradeDeadlineConfiguration toggles the feature for all courses
globally.
* A OrgDynamicUpgradeDeadlineConfiguration toggles the feature for all courses
in a particular organization.
* A CourseDynamicUpgradeDeadlineConfiguration toggles the feature for a
particular course.
The CourseDynamicUpgradeDeadlineConfiguration takes precedence over the
OrgDynamicUpgradeDeadlineConfiguration which takes precedence over the global
DynamicUpgradeDeadlineConfiguration.
The "deadline days" field specifies how many days from the day of the learner's
enrollment will be their soft upgrade deadline on the Schedule model.
#### Verified Course Mode
The `upgrade_deadline` will only be filled for a course if it has a verified
course mode. To add a verified course mode to a course, go to
`<lms_url>/admin/course_modes/coursemode/` and add a course mode linked with
the course with the "Mode" equal to "verified".
### Configuring Email Sending
#### ScheduleConfig
The ScheduleConfig model at `<lms_url>/admin/schedules/scheduleconfig/` also has
fields which configure enqueueing and delivering emails per message type:
* `enqueue_*`: allows sending email tasks of this message type to celery.
* `deliver_*`: allows delivering emails through ACE for this message type.
#### Roll-out Waffle Flag
Another roll-out related course waffle flag that we plan to delete called
`schedules.send_updates_for_course` will enable sending specifically the course
updates email per-course.
### Configuring Highlights UI in Studio
The button and modal on the course outline page that allows course authors to
enter section highlights can be toggled globally by going to
`<lms_url>/admin/waffle/switch/` and adding an active switch called
`dynamic_pacing.studio_course_update`.
### Waffle Flags and Switches This is a roll-out related waffle switch that we will eventually delete.
#### Global ### Configuring a Learner's Schedule
All waffle flags and switches can be created at `<lms_url/admin/waffle/`. Emails will only be sent to learners who have Schedule `start_date`s or
`upgrade_deadline`s and ScheduleExperience that match the criteria for the
message type.
#### Org-level #### Recurring Nudge
#### Course-level * Learners must have the ScheduleExperience type of "Recurring Nudge and Upgrade
Reminder".
* Their Schedule `start_date` must be 3 or 10 days before the current date.
Schedule creation: `schedules.create_schedules_for_course` #### Upgrade Reminder
* Learners must have the ScheduleExperience type of "Recurring Nudge and Upgrade
Reminder".
* Their Schedule `upgrade_deadline` must be 2 days after the current date.
#### Course Update
### Other Requirements * Learners must have the ScheduleExperience type of "Course Updates".
* Their Schedule `start_date` must be 7, 14, or any increment of 7 days up to 77
days before the current date.
## Testing Changes ## Testing Changes
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment