Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

History

  • In the beginning, there was Asbot for the first version of 6.002x.
  • When we made a site for multiple courses, we discovered that Asbot didn't support multiple courses with different discussion forums well.
  • Amondo Fox from Berkeley decided to write something.
  • So originally written by a team (grad student and undergrads) at Berkeley.
  • They set up the original architecture, which we still have.

Comments Service (basically a data store from the LMS perspective)

  • written in Ruby
  • data store in Mongo
  • text search in Elastic Search
  • all updates need to update both Mongo and Elastic Search

LMS

  • originally written by Dave to provide a higher-level interface
  • lms/lib/comment_client
    • handles all communication to comment service
  • lms/djangoapps/django_comment_client
    • provides the django views
  • common/djangoapps/django_comment_common
    • has role and permission data
    • stored in RDS (mySQL) in its own tables
    • table of very granular permissions
      • e.g., open/close thread
    • in practice, only (really) 2 roles with 2 permissions each
      • Student
      • Privileged User
        • Administrators
        • Moderators
          • originally, all permissions, except grant/revoke moderator role
          • but, these roles are managed in instructor dashboard so no need for separation between Moderator and Administrator
        • Community TAs
          • same as moderator role, except surfaced role name is different when displayed on a thread

Browser

UX designers: Marco and then Brian

 

June 2013 -> Aug 2014, Forums team was formed: Greg, Jim, and Kevin (a contractor just for a few months).

  • Forums performance improvement: 5 second timeout between LMS and Comments Service happening for over 1% of the requests.
  • UX issues: front-end wouldn't tell you if there was an error.  The UI would just continue to spin.  There are still some front-end deficiencies there.

Brian worked on designs to fix the navigation experience.

 

  • No labels