[Milestone Rollout Plan]: v1.7 In-context discussions

 

Please refer to this document to understand what “in-context discussions” is and its features.

In-context discussions is configured as a separate provider called OPEN_EDX. The current topic structure is configured as LEGACY provider.

What will the rollout look like?

We plan to rollout in-context discussions for new courses and re-runs only. If a course team wants to use in-context discussions for a running course, they’ll have to create a re-run of that course.

New courses:

While discussions.enable_new_structure_discussions is enabled, default provider for all new courses will be OPEN_EDX.

New course runs:

  1. While discussions.enable_new_structure_discussions is enabled, default provider for all new course runs will be OPEN_EDX.

  2. Once re-run has been created, the mechanism for new topic structure will run and create discussion topics, with following rules:

    1. For unit without an existing discussion xblock, new discussion topic will NOT be created during migration.

    2. For a unit having at least 1 discussion xblock, a new discussion topic will be created. Topic of existing discussion xblock will be ignored.

    3. If a unit lies within a graded subsection (but not “timed exam”), and contains at least 1 discussion xblock, a new discussion topic will be created and “Graded unit” toggle will be automatically turned on for the course.

    4. For a unit within a subsection marked as “timed exam”, new discussion topic will NOT be created even if the unit already has a discussion xblock.

  3. On the UI for creating a new run of a course, following discussions related settings will be provided: A link in course run creation interface will route users to discussions configuration page.

    Discussions related settings to be shown in UI for creating course run

    1. If the first option is selected during course run creation, discussion topics will be created for all units in the course except the ones that are part of graded subsections.

    2. Second option will be active only if the first option is selected. If the second option is selected during course run creation, discussion topics will be created for all units in the course including the ones in graded subsections, except the ones that are part of subsections marked as “timed exam”.

  4. A banner in studio will inform course teams about the new topic structure and xblocks.

    1. For new courses, the banner will say: “This course uses the new discussions topic structure. Learn more about it here. Discussion xblocks are no longer supported.

    2. For new course runs, the banner will say: “Hey we’ve migrated discussions over to the new topic structure. Learn more about it here. Discussion xblocks are no longer supported and will not be visible to learners. Please make the necessary adjustments to the course content.

Running courses:

We do NOT plan to migrate running courses to avoid complexities associated with threads in existing xblocks.

Waffle flag:

Enabling discussions.enable_new_structure_discussions flag will initiate the rollout.

Once this flag is enabled, all new courses and new course runs will use OPEN_EDX as default discussions provider.

While the flag is enabled, edX global staff will see two edX discussion providers (OPEN_EDX and LEGACY) in discussions configuration, for all courses, until LEGACY is deprecated.

Once a course using new provider has been started:

  1. If a new unit is published, a new topic will be created be automatically created and linked to that unit.

  2. If the newly published unit contains an xblock, that xblock will be ignored.

xblocks in courses using new provider

xblocks will no longer be visible to learners in live courses using OPEN_EDX as discussion provider.

Rolling back new provider for a course

It is important to note that disabling discussions.enable_new_structure_discussions flag will not “rollback” in-context discussions. Course runs using OPEN_EDX as discussion provider will keep using it even after the flag has been disabled.

In essence, in-context discussions can NOT be rolled back for all courses, at once.

We want the migration to be non-reversible. Therefore, we wont provide a rollback option to course teams.

However, if a course team really wants to use the legacy provider for a new course or re-run, they’ll probably place a request to partner support or project coordinator team. This request should be routed to Infinity team along with the reasons for rolling back.

Infinity team will then switch the provider for that particular course run to LEGACY.

During this rollback, the discussion topics created during migration and settings for the new provider will remain unchanged.

Once the rollback is complete, course team will only see the legacy topic structure (categories and subcategories of xblocks). Course teams will NOT be able to see or access the topics created during migration, nor the threads in those topics.


Information below this note is meant for Infinity team and OpenCraft only.

Delta between current implementation and planned

  1. Configure discussions.enable_new_structure_discussions flag such that all new courses and new course run use OPEN_EDX as default discussion provider. In addition, edX global staff will see 2 discussion providers for all courses once this flag is enabled.

  2. Creating a migration workflow for course re-runs.

  3. Discussion settings in course run creation UI and how those discussion settings will be linked to the topic creation mechanism.

  4. xblocks will no longer be visible to learners in live courses using OPEN_EDX as discussion provider.