[BD-03] Archived Meeting Notes

Time Frame

Updates & Actions Needed

~Hours

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:

Extract LTI consumer code from XBlock to a library that cab be used by the platform [https://github.com/edx/xblock-lti-consumer/pull/77 ]
Implement Configuration models from discovery above [https://github.com/edx/edx-platform/pull/24190 ]
RejectedConsolidate the code that deals with cs_comments in one place, to create a boundary between the generic discussions code and the code specific to the cs_comments service.

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:

SpilloverAdd a new field to courses to enable/disable discussions and add a similar field to verticals/units to enable discussions for that vertical/unit
SpilloverStart 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.

SpilloverAdd a new field to courses to enable/disable discussions and add a similar field to verticals/units to enable discussions for that vertical/unit [ ]
SpilloverStart laying the groundwork for the course-authoring MFE [ ]
Discussions forum MFE conversion [ ]

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:

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

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

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

+84

Total 490+84 = 574/1200

47.83 - 9/8

2020-09-07 - 2020-09-21

+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

 

 

+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

      • MFE TinyMCE UI Update - Minor note on TinyMCE, some UX review of controls + tools for discussions to show here:

        • still don't have answer for how to include symbol previews (tinyMCE plugin options exist) but the goal here is to remove the markdown + preview box areas to have 1 text entry area.

      • All Discussion Links from now on will be to this 1 Miro board:

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

  •