Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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

Table of Contents

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 only 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.

...

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

Course re-runs:

...

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 script” 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 not be usedignored.

    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” “Graded unit” toggle will be automatically turned on for the course.

    4. For a unit within an Exam subsectiona subsection marked as “timed exam”, new discussion topic will not 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:

    Image Added
    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.

    A banner will show up in studio saying something like
    1. 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.

    Topics in discussion
    1. Discussion xblocks are

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

...

    1. no longer supported and will not be visible to learners. Please make the necessary adjustments to the course content.

Running courses:

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

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.

It is important to note that disabling this 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.

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

...

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

...

xblocks will no longer be visible to learners in live courses using OPEN_EDX as discussion 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 frontendto course teams. 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.

To accomodate this, while the discussions.enable_new_structure_discussions 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 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 untouchedunchanged.

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.

When the unit is marked as hidden, the associated topic will not appear in discussions hierarchy. Associated threads will also not show up.

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.