A Richer Discussion Experience in Open edX

For some institutions interested in using Open edX, student discussions may be an afterthought, while others find it quite important to use discussions for peer learning. The default discussion feature offered by Open edX brings a decent out-of-the-box solution for facilitating interaction between students. However, to get a more robust, cross-course discussion experience it may be worth considering a third-party app integration.

A client recently approached us with a need for creating an edX environment that was largely influenced by peer and social learning. Their requirements for social features included the following:

​Student

  1. Cross-Course Discusions: Ability for students to have one destination to access discussions for multiple courses. 
  2. User Groups: Ability for students to be a part of multiple assigned educational groups. 
  3. Private Discussions: Ability for students to create there own groups with classmates of their choosing. 
  4. Private Messaging: Ability for students to message other students/ instructors in the system privately. 
  5. Multi-Format File uploads: Ability for students to upload files to discussions in a variety of formats. 
  6. Student Directory: Ability for students to be able to access a directory of all students in the system/ see what groups they belong to. 
  7. Advanced Student Profiles: Ability for students to add video/ other multimedia to their profile page. 
  8. Restricted Login/ Signup: Ability to restrict signup/ login to users who have a specific email domain.   
  9. Widget Dashboard: Ability to use discussion data to drive a widget dashboard that would display content such as Top Groups, Discussions, Teacher Announcements, etc. 

Instructor

  1. Create and Assign Groups: Ability for an instructor to create groups and assign students to them.
  2. View/ Manage All Groups: Ability to see all groups and edit/ add/ delete members. 
  3. Moderate posts: Ability to manage posts based whether promoting positive posts or flagging/ deleted negative posts. 
  4. Rate Student posts: Ability for an instructor to rate a students post/ provide feedback on their post. 
  5. Private Messaging: Ability for an instructor to be able to message students. 
  6. Widget Dashboard Management: Ability for an instructor to manage widget dashboard/ post content to dashboard. 

Examining the required feature set revealed that the current default Open edX Discussions solution did not cover a lot of what the client was looking for. Using cohorts and groups along with some platform customizations could be a viable solution. However, our client required minimal to no platform customizations in order to make future upgrades as seamless as possible. This is pretty common as the further you deviate the platform from it’s original state, the harder it becomes to upgrade. This means that you’ll eventually be losing out on new free features that edX rolls out.   

It became apparent that a third party tool would best suit our clients needs.

There are many tools available that would integrate well with edx for richer discussions. The ones we evaluated included:

  1. Google Groups
  2. Discourse
  3. DjangoBB
  4. Misago (another Django Forum)
  5. Machina
  6. Slack

We did a feature analysis, posted below for your review.

Student Feature Default Open edX Google Groups Discourse DjangoBB Misago Machina Slack
Cross-Course Discussions No Yes Yes Yes Yes Yes Yes
User Groups Using Cohorts Yes Yes No Yes No Yes
Private Discussions No Yes Yes No Yes No Yes
Private Messaging No Through Gmail Yes w/ Plugin Yes Yes No Yes
Multi-Format File Uploads No Yes Yes Yes Yes No Yes
Student Directory No Not Cross Group Yes Yes Yes No No
Advanced Student Profiles No No Yes No No No No
Restricted Login/ Signup No Yes No No No No No
Widget Dashboard No Yes Yes No No No Ywa
Instructor Feature Default Open edX Google Groups Discourse DjangoBB Misago Machina Slack
Create and Assign Groups Yes Yes Yes No Yes No Yes
View/ Manage All Groups Yes Yes Yes Yes (No Groups) Yes Yes (No Groups) Yes
Moderate Posts Yes Yes Yes Yes Yes Yes Yes
Rate Student posts No No Yes No No Yes Yes
Private Messaging No Via Gmail Yes Yes Yes No Yes
Who would we go with?

While a Slack + Open edX integration sounded super exciting and something we want to pursue in the near future, after carefully considering all of these options, we decided to go with Discourse for a few different reasons:

  1. Feature richness: Discourse has many features that were required by our client. Just a few include Post Metrics, Groups, SSO, Multiple file attachment formats, and many more.
  2. Open source: Like Open edX, Discourse is completely open source which means it’s completely free and can be edited/adapted as needed. It’s built in Ruby on Rails, the same technology stack as the current Open edX discussions solution.
  3. Active Community: The open source community that revolves around discourse is extremely active with releases coming every couple of weeks and sometimes as often as every few days. See their github here: (https://github.com/discourse/discourse).
  4. API: Discourse comes with a comprehensive API which allows it to seamlessly integrate with Open edX. This was helpful in this particular case because it allowed for data to easily be picked up for the required dashboard.

Prototype

Click on the prototype below which imagines discussions heavily integrated into Open edX using Discourse, based on our clients’ needs.

Picture