2016-06-30 Meeting notes: Discussions Performance and Architecture

2016-06-30 Meeting notes: Discussions Performance and Architecture

Date

Jun 30, 2016

Attendees

  • @Robert Raposa@Andy Armstrong (Deactivated)@Brian Jacobel (Unlicensed), @Dave Ormsbee (Deactivated)@Toby Lawrence (Deactivated)

  • Optional (not attending): @Diana Huang 

Goals

  • Meeting 1: Status update and go forward plan for performance work

  • Meeting 2: Discuss future design and determine next steps for XBlockTab

Meeting Discussion items

Adjust performance tests:

  • Complete clean-up and merge existing performance tests and seeding

    • Create story for fast fail on Discussion API query params that aren't indexed

    • Link PR for Chris's original changes that didn't land.

  • Enhance performance tests

    • How should we manage LMS (Web) Discussions vs Discussion API load testing?

    • We should start with fresh seed every time. How long will this take?

    • Start with read-only testing.

      • Why does performance slow linearly with the number of threads in a course? Related to lack of paging on main page?


Potential performance fix ideas (before testing):

  • Consider limits: Limit on threads in course? Responses and comments?

  • Not highest priority: Ruby garbage collection tuning:

 

Discussion refactor:

  • XBlockTab:

    • Possibly start with Course scopes which have agreement.  Where should these be stored?  Talk to @Calen Pennington (Deactivated).

    • Preferred to treat Discussions as a feature and get tab by default.

    • Tab could be enabled by default on Mobile as webview.  (See other background from @Andy Armstrong (Deactivated) and others in https://openedx.atlassian.net/browse/TNL-2319

    • Add capabilities through xblock views

    • Keep extension points of stevedore and add xblock tabs as new feature

    • For additional background, see:

  • Moving Discussions to its own repo

    • Could Discussions run stand-alone through workbench?

    • Teams: 

      • Handling js loading across XBlock and Teams. 

      • Can we use the XBlock in Teams? 

        • Proposed iframe for xblock rendering (in Teams), or teams rendering an xblock for topic id, authorization (in django) (how can this be done across repos)

      • Can we have authorization that both can use?

      • Are there joins across discussions and teams?

    • Review lms notifier endpoints

 

Discussion enhancements:

  • New unit level topics: 

    • Possibly would want to use Asides to implement unit level in-line discussions.

    • Note MIT use case of re-using Inline Topic across units.  This was mentioned to @Marco Morales (Deactivated), and he is aware, but we may start with simplest cases first.

  • Notifications. 

 

Action items

@Robert Raposa: Create story for fast fail on Discussion API query params that aren't indexed
@Robert Raposa@Diana Huang: Continue performance story using input from above: https://openedx.atlassian.net/browse/TNL-4846
@Robert Raposa: Follow up with @Braden MacDonald on XBlockTab discussion.
@Andy Armstrong (Deactivated)@Dave Ormsbee (Deactivated)@Toby Lawrence (Deactivated): Please add or correct any notes above.  Thank you!