What was the Challenge?
What we Researched
What we Discovered
- We researched various third-party tools that integrated well with Open edX for richer discussions and these tools include Google Groups, Discourse, Django BB, Misago, Machina and Slack.
- We concluded that Discourse is the most suitable tool to encourage active cross-course discussions. If you want to know more about the metrics we used for course comparison, view our detailed analysis here.
Our Technical Approach: How we integrated Discourse with Open edX
- Deployed a separate instance of discourse
- Changed the theme in order to make it look more consistent with the rest of the Open edX platform
- Made it more amenable to an embedded user experience by changing the layout of the Discourse page. For eg. eliminating the Top Navigation
- Packaged this Discourse Customization as a Discourse Plugin:
- Created groups on the platform based on themes given by our clients - planned leadership, regional and cross-functional group
- Pre-registered users using their emails on the Discourse platform. We plan to automate this in the future via Google Single Sign-on which auto-provision users through login
- Added users to their respective groups
- Used Google oAuth to enable single sign feature where users can use their Google account to login to their Open edX account.
- Integrated Discourse homepage under a special cross-course Discussion tab as an iFrame. Tip: To enable embedding of such nature, change the xFrame settings on the Discourse server
- Created a widget from Discourse’s ‘recent discussions’ feed and integrated it on the main Dashboard homepage. This allows users to see information about their discussion activity without having to specifically visit the Discussions tab
- Integrated Discourse notifications into the main Open edX top nav notifications, federated with the standard Open edX notifications