Discussions
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.
Teams Discussion
/wiki/spaces/LEARNER/pages/48169049
Docs Guides
edX Learner’s Guide: Course Discussions
Building and Running an edX Course: Managing Course Discussions
Glossary
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") }