Versions Compared

Key

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

Time Frame

Updates & Actions Needed

~Hours

2020-04-06 - 2020-04-20

Discoveries on available approaches for YellowDig and Piazza, two initial integrations being considered.

  •  Investigate SSO and LTI integration options for YellowDig and Piazza

Update:

Both support LTI integration. As a result the need for LTI embedding out of courses was added to the scope of this work.

17

Total = 17/1200
1.4% - 4/20

2020-04-20 - 2020-05-04

Discoveries to move some of the course apps out of the core platform were conducted.

  •  Discovery: Move Textbooks app to external plugin
  •  Discovery: Move WIki app to external plugin

Update:

The results of the discovery were that move these plugins out of the core, we need a standard API for external apps to store information in the course that will be automatically imported and exported, or we need a import-export API that can hook into the export process and include data from external apps, and hook into the import process to import data from external apps.

+11

Total 17+11 = 28/1200

2.3% - 5/04

2020-05-18 - 2020-06-01

Discoveries to investigate a rough API boundary for Discussion Apps and for configuring such apps.

  •  Discovery: Configuration API
  •  Discovery: Discussion App API

Update:

A rough boundary between Discussion Apps and the core platform was investigated and discussed.

A PR was created to capture this: https://github.com/edx/edx-platform/pull/24145 and it will be updated as these APIs are implemented concretely.

+18

Total 28+18 = 46/1200

3.8% - 6/01

2020-06-01 - 2020-06-15

There were a number of tasks scheduled for this sprint:

Update:

The first task is now merged and included additional work from the next sprint.

The second one is complete but is held back from further review to allow for refactoring from task 5 first.

The final task turned out to be overly ambitious since it involves massive code changes on a moving target. It will now instead be done in small bits with other tasks.

+82

Total 46+82 = 128/1200

10.6% - 6/15

2020-06-15 - 2020-06-29

There were a number of tasks scheduled for this sprint:

  •  
    Status
    colourYellow
    titleSpillover
    Add a new field to courses to enable/disable discussions and add a similar field to verticals/units to enable discussions for that vertical/unit
  •  
    Status
    colourYellow
    titleSpillover
    Start laying the groundwork for the course-authoring MFE
  •  Add API to embed LTI content outside of the XBlock, and potentially outside of a course

Updates:

The first two task were close to complete but with final review comments to be addressed.

With this PR, the third task here was completed along with the LTI task from the previous PR.

+68

Total 128+68 = 196/1200

16.3% - 6/29

2020-06-29 - 2020-07-13

Since tasks were left over from the previous sprint, they continued in this one.

The leftover tasks form previous sprint continued, but they are still missing some polish before being ready for upstream review.

A skeleton with basic API integration was created. It needs to be the moved to the edX org.

+67

Total 196+67= 263/1200

22% - 7/13

2020-07-13 - 2020-07-27

With BD-29 ramping down, a lot of work was scheduled for this sprint:

  •  
    Status
    colourBlue
    titleTIMEBOXED
    [TNL-7353] Create React-based forum post editor
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7342] Add plugin support to current Discussions tab
  •  
    Status
    colourYellow
    titledelayed
    Status
    colourPurple
    titleReview needed
    [TNL-7348] Add discussion enable/disable status to course blocks, and outline API
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7349] Studio UI to edit discussions toggle
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7339] Convert xblock_handler API to support non-session based auth
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7341] Create python API to map external and internal discussion ids
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7347] Implement Discussions Plugin loading and listing API

The aim this sprint is to get the platform to the point where you have a code-only route to enabling a third-party discussion tool in the discussion tab.

Update:

We are now at a point where a rough discussion tab integration is possible for an external plugin.

This can be seen in this sandbox: https://pr24584.sandbox.opencraft.hosting/dashboard

The Discussions tab for course course-v1:Test+TST101+2020 is now provided by a simple test plugin that just inject some basic HTML into that page. (Unfortunately since we’re in the process of testing a Mongo upgrade the forums for our sandboxes are broken. This isn’t a result of the plugin work, but we will try to fix that issue so that it doesn’t mask something else).

The task to create a discussion post editor was restricted in this sprint to start looking for react-based editors that match the requirements.

“Add discussion enable/disable status to course blocks, and outline API” was delayed since the original PR to add that field was only ready for review this sprint.

+95

Total 263+95= 358/1200

29.83% - 8/7

2020-07-27 - 2020-08-10

  •  Basic Plugin to embed Piazza in discussions tab using LTI
  •  
    Status
    colourPurple
    titleReview needed
    [TNL-7353] Create React-based forum post editor
  •  
    Status
    colourYellow
    titleDelayed
    Use Discussion ID Map in existing cs_comments_service code
  •  
    Status
    colourYellow
    titleSpillover
    Discovery: Evaluate API changes required for existing discussions to enable functionality in wireframes

Setting up a sandbox for Discussions here: https://discussions.sandbox.opencraft.hosting

Will keep this updated with latest consolidated code.

+52

Total 358+52= 410/1200

34.16% - 8/12

2020-08-10 - 2020-08-24

  •  Discovery: Evaluate API changes required for existing discussions to enable functionality in wireframes
  •  
    Status
    colourPurple
    titleIN internal review
    [TNL-7411] [Discussions MFE] Posts UI
  •  
    Status
    colourPurple
    titleIN internal review
    [TNL-7412] [Discussions MFE] Threads UI
  •  
    Status
    colourPurple
    titleIN internal review
    [TNL-7413] [Discussions MFE] Topics UI
  •  
    Status
    colourPurple
    titleIN internal review
    [TNL-7414] [Discussions MFE] Discussions Javascript API Code
  •  [Authoring MFE] Base forum settings editor
  •  [Authoring MFE] Discovery: settings plugins

In this sprint we made good progress in getting the new discussions UI into shape. It is currently in internal review and for the next sprint I plan to set up demo instance of the new frontend.

There were issues getting a sandbox up due to the issue fixed in this unmerged PR. We are now using that as a basis for setting the demo instance. Unfortunately, there have been other major changes to the way plugins work in the platform, so the existing branches are broken.

The base forum setting editor will need to be rethought a bit since the discussion in the last meeting. The UI is done, but it might need to be pushed to a different MFE than originally thought.

+80

Total 410+80 = 490/1200

40.83% - 8/25

2020-08-24 - 2020-09-07

  •  [TNL-7432] [edx-platform] Extract all course discussion settings into new API for MFEs
  •  [TNL-7431] [Authoring MFE] Implement forum tool selector wireframe
  •  Prototype: Implement frontend plugin loading mechanism
  •  Setup demo instance

+84

Total 490+84 = 574/1200

47.83 - 9/8

2020-09-07 - 2020-09-21

  •  [edx-platform] [cs_comments_service] Add Discussion APIs support new features in Discussions MFE - Part 1
  •  [Discussions MFE] Add embeddable views to Discussions MFE
  •  [Discussions MFE] Add forum new post UI (without editor)

+53

Total 572+52/1200 = 627/1200

52.25 - 9/21

2020-09-21 - 2020-10-05

+35

Total 627+35/1200 = 662/1200

55.16 - 10/5

2020-10-05 - 2020-10-19

  •  Kshitij Sobti Sync up status on current TNL tickets
  •  Kshitij Sobti TNL-7347: Accommodate review feedback, simplify PR and get it merged

+23

Total 662+23/1200 = 685/1200

57.00 - 10/20

2020-10-19 - 2020-11-02

Updates:

The configuraiton system was rewritten to be simplified.

The plugin interface was also cleaned up and rebased on the above configuration PR. There are some tests failing on the CI that aren't locally that Kshitij Sobti is investigating.

The frontend work was rebased on the latest changes, and will be merged after refreshing it based on the newer designs.

+20

Total 685+20/1200 = 705/1200

58.75 - 11/03

11/12/20

  • Status

    • David

      • able to get everything up and running - still needs to try Piazza

    • Steven

      • Technical concerns - need to change the way the tables interact, and maybe simplify

    • Kshitij

      • Piazza plugin is being cleaned up, up and running

      • Once we have the YellowDig plugin we’ll have two LTI plugins and we can extract the common parts, which will let us create an LTI-based plugin system. Going to work with Giovanni Cimolin da Silva on this.

      • Discussions MFE UI

        • Figuring out the next steps for next phases

        • Which are the latest mockups?

      • On leave until Monday

      • Wants to plan out next phase which is v1.1

        • YellowDig Plugin

        • Not much config UI needed for either, since they’re just LTI-based

        • Do we want course authors to ever enter LTI credentials?

          • We do expect that authors would be specifying LTI keys/secrets for each course run

            • We want “new” forums for each course run

        • LearningContext flexibility is helpful for site/program level integrations, not necessarily to share an integration across multiple courses.

    • Marco

    • Config code tech discussion

      • Relationship between two tables - using a foreign key. Because they’re historical tables, the course-level config would be locked to a historical version of the discussion provider. If someone makes a change to the discussion provider, how does that then get propagated to the courses that depend on it?

        • Response from Kshitij:

          • had almost the exact opposite goals in mind when designing it.

          • Think it may be better to think of this from scratch and come up with a simpler approach.

          • Historical tables should be for auditing - understanding who made what changes when, and be able to revert.

11/4/20

  • Reviewed Discussions Milestones, in particular what is in scope for v1.0, v1.1

    • Reviewed PRs, set goal, broad details on runbook requirements for v1.0.