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


What is “In-context discussions” (v1.7)?

Milestone v1.7 primarily consists of two improvements: Discussions sidebar and New discussions topic structure.

Discussions sidebar

Users will be able to see and interact with discussions corresponding to a course Unit, along side the Unit in a collapsable side-bar, when they navigate to that course Unit.

This setup assumes a 1:1 mapping between course Units and discussion topics, something that the legacy experience does not enforce. Therefore, a new discussions topic structure is introduced (details below).

New discussions topic structure

In legacy discussions experience, course authors can create course-wide discussion topics (details) and content-specific discussion topics (details). Content-specific discussion topics are created using discussion Xblocks (details). A 2 level hierarchy of these discussions Xblocks is created using the Category and Subcategory property of the discussion topic.

To satisfy the need for 1:1 mapping between course Units and content-specific discussion topics, we have introduced a new topic structure in which:

  • Each course Unit has AT MOST 1 content-specific discussion topic associated with it.

  • Each content-specific discussion topic has EXACTLY 1 course Unit associated with it.

Course teams will have the option to skip discussion topics for graded units.

Figma mockups for 1.7 related configurations: https://www.figma.com/file/SeNpRff5HxzdpCgoD5pmlQ/Apps-and-resources-landing-page?node-id=3786%3A18911

Rollout decisions

What will the rollout look like?

We only plan to rollout in-context discussions for new courses and re-runs.

New courses:

  1. All new courses will use the new discussion provider by default.

  2. Once the course or a unit is published, “the script” will run and create discussion topics.

Course re-runs:

  1. Re-run of a course will use the new discussion provider by default.

  2. Once re-run has been created, “the script” will run and create discussion topics, with following rules:

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

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

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

    4. For a unit within an Exam subsection, new topic will not be created even if the unit already has a discussion xblock.

  3. A banner will show up in studio saying something like “Hey we’ve migrated discussions over to the new topic structure. Learn more about it here. Topics in discussion xblocks are not accommodated in the new topic structure.

  4. For units that were not assigned new topics, there is an option in studio to create topics for a unit, as seen below.

A toggle on discussions configuration page that can be used to show “Enable discussion” checkbox in course units configuration.
Checking “Enable discussion” box on a course unit’s configuration will create and associate a discussion topic for that unit.

Running courses:

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

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

  1. All xblocks will appear in collapsed state, as seen below, with inactive “Show Discussion” button.

  2. Can we stop showing option to add xblocks in courses using the new provider?

Rolling back new provider for a course

We want the migration to be non-reversible. Therefore, we wont provide a rollback option on the frontend. However, if a course team really wants to use the legacy provider for a new course or re-run, we want to be able to migrate that particular course manually.

Once Infinity team gets a request from PS or PC team to switch a course to legacy discussion provider, they will change the discussion provider for that course to legacy.

During this rollback, the discussion topics created during migration and settings for the new provider will remain untouched. 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.