Discourse integration plugin for Open edX

Hi @Remi_Bachelet
Currently there is no straightforward way to do this, however, there is work in progress that lays the groundwork for better integration. This would allow plugins that integrate with external discussion services/tools.

The forums have been the number one aspect bugging me about edX. Any idea when we could expect this to become reality?

1 Like

@danielw the improvement of Discussions is making good progress. Phase 1 is done, and weā€™re now working on Phase 2.

Iā€™m not involved in the work myself, so I donā€™t know exactly if/when we can expect to be able to use a Discourse instance that is tightly integrated with Open edX. But maybe my colleague @xitij2000 can answer this.

1 Like

@danielw At this point you should be able to use other LTI-based discussion providers in the main discussions tab, but it needs a bit of setup. This will only work on Lilac and above.

You need to then set up the following via the admin panel at [LMS_URL]/admin:

  • Visit [LMS]/admin/discussions/discussionsconfiguration/add/ and enter the course key in learning context key, set it to enabled, put ā€œdiscourseā€ as the discussion provider, and click on the add button next to LTI configuration to add one.
  • In the resulting popup, select LTI 1.1 for the version, select ā€œConfiguration stored on this modelā€ for config store, enter the LTI 1p1 (1.1) launch URL for the provider, the client key and client secret. Ignore the rest and click on save.

Now when you visit the course it should show the LTI provider in the discussion tab.

If youā€™re on master you can use the course authoring MFE makes things much simpler. You can avoid the above manual steps and use GUI instead. It will let you select an alternative discussion provider and specify the LTI config here. You can then get Discourse running with the following additional steps:

  1. You need to use a plugin that allows logging into discourse using LTI, such as this one: GitHub - mit-teaching-systems-lab/discourse-edx-lti: Discourse plugin for using Discourse as a discuss
  2. You need to use a plugin that allows embedding discourse in an iframe, such as this one: GitHub - BeXcellent/discourse-allowiframe: Changes X-Frame-Options to allow iframe embedding.
  3. Create an override allowing PII sharing for the course in which you want to use discourse at /admin/lti_consumer/courseallowpiisharinginltiflag/
  4. Enabling sharing the PII in the course authoring MFE.
6 Likes

This is the first I hear of this feature. Awesome! Thanks, @xitij2000!

The WIP provider list can be seen here: https://github.com/edx/edx-platform/blob/b693a54e1ec5b6ec84825211a4e938deb9697a3d/openedx/core/djangoapps/discussions/models.py#L90

1 Like