Feature Overview

CategoryCommunity Application
DocumentationLINK TBD
User ImpactAs a learner I am able to engage in the community of learners also in my course, guiding and supporting my learning experience
Developer GuideDiscussions Developer Guide
 Additional documentation details...

JIRA Issues

The Jira server didn't understand your search query. If you entered JQL, please ensure that it's correctly formed. If you entered an issue key, ensure that it exists and you have permission to view it.
 Project Listing...
Project Listing

Current Architectural Diagram (Dec 2015)

Forums 2016

Forums 2016 Google Drive folder
User Story Mapping 

Discussion API

Originally developed for Mobile, these docs are hosted under Mobile, but this API may serve as the basis of all future Discussion work.

Discussion API

Teams Discussion


Docs Guides

edX Learner’s Guide: Course Discussions

Building and Running an edX Course: Managing Course Discussions


Category: See separate Glossary for Category related definitions.

Comment: A discussion has up to 3 levels of discussion related hierarchy: a) Post, b) Response, c) Comment.  Each of these is stored in the Comment Service.

Comment Thread: A synonym for Post, used by the Comment Service to describe a top-level comment.

Comment Service: Name of separately deployed Ruby-based service that handles commentables.  Discussion Forums are the one and only use of the Comment Service (inside edX).

Course Discussion: The term used to describe discussions in our public docs.

Discussion: 1) The most popular end-user term for our discussion forums.  Also used in the name of our newest Discussion API (used by mobile applications). 2) One of two types of posts.  The other type of post is a Question.

Forum: Sometimes used as a synonym for Discussion.  It sometimes appears in UI (e.g. Report Forum Misuse).  Forum Service also used as a synonym of Comment Service.  The term Forum is also used in code related to Forum Roles.

Question: One of two types of Posts.  The other type is a Question.

Post: See Comment.

Response: See Comment.

Topic: See separate Glossary for Category related definitions.

Discussions Persistence


Database Usage (Dec 2015)

  • Comments Service (Mongo)

    • Comments, Threads, and Votes

  • Users (MySql)

    • Forums Roles

  • Modulestore

    • Discussions Module and Discussions Topics

  • TODO: Determine where this data is stored:

    • User Digest Preference (Notifier)

    • User Comment read status

Sample Comment Service Mongo Record (Dec 2015):

"_id" : ObjectId("563915bc56c02c19a8000001"), 
"votes" : { 
"up" : [ ], 
"down" : [ ], 
"up_count" : 0, 
"down_count" : 0, 
"count" : 0, 
"point" : 0 
"visible" : true, 
"abuse_flaggers" : [ ], 
"historical_abuse_flaggers" : [ ], 
"thread_type" : "discussion", 
"context" : "course", 
"comment_count" : 3, 
"at_position_list" : [ ], 
"title" : "Test post", 
"body" : "Here is my test post", 
"course_id" : "course-v1:edX+DemoX+Demo_Course", 
"commentable_id" : "cba3e4cd91d0466b9ac50926e495b76f", 
"_type" : "CommentThread" [or "Comment"],
"anonymous" : false, 
"anonymous_to_peers" : false, 
"closed" : false, 
"author_id" : "4", 
"author_username" : "staff", 
"updated_at" : ISODate("2015-11-03T20:14:52.632Z"), 
"created_at" : ISODate("2015-11-03T20:14:52.632Z"), 
"last_activity_at" : ISODate("2015-11-12T18:08:59.691Z")