Discourse as an LMS / Discourse integration with an LMS

(Ted Strauss) #1

Continuing the discussion from Customized Discourse Help Needed (requests below):

Hi Jay,
Like you I am looking into using Discourse as an LMS or integrating it with an LMS. I find most LMSes too be too bloated with features, and need something a lot more flexible and user-driven. I’m curious: what were the plugins you wrote? Or maybe I should ask: what plugins would you like to create if you had unlimited resources that would make Discourse into a better LMS-like tool?

Discourse as LMS?
(Jay Pfaffman) #2

Hi, @trudat.

I have a couple course syllabi online here and here.

I didn’t write any plugins (except for a DOI resolver that is now broken; one day I’ll find the hour it’ll take to figure it out again). What I do have is a handful of scripts that make API calls to do things like create badges that are triggered when someone creates a topic with a particular tag in a particular category and then another badge when that topic gets liked by a teacher and another when it gets a certain number by peers.

Another script will read a ZIP file produced by Sakai, unzip it, see which badge the student got, enter a grade into the grades file, and then zip it all back up to upload back to Sakai.

What would I do with unlimited resources? I’d need to know more about who’d be using it and why. I used openEdX a couple years back while I was working at Stanford, and even with near-unlimited resources, the group I was working with couldn’t deal with it.

I installed a Discourse instance for a friend who was teaching a graduate course, and for them, it worked pretty well. If someone were to use Discourse for teaching on a larger scale than a course or two in an instance, you’d need some things like:

  • a plugin to create a category and sub-categories for a course and assign appropriate permissions
  • means to hook Discourse to the in-place LMS, or, perhaps better, whatever system deals with grades

While I think that the argument that discussion is the most important part of online teaching and that most LMSs have really horrible discussion platforms makes a lot of sense, but there’s a fairly strong hegemony toward making things like quizzes and private assignments being the most important part of teaching. I once wrote a conference proposal about that. If you’re interested, I can send you a copy.

I’ve since left my academic job and am working on making a living off of Discourse. If you’re serious about unlimited resources, well, let’s talk.

(Ted Strauss) #3


This makes sense; a working LMS could be built from existing discourse features with new UI labels slapped on. Ex: A plugin that provides a new kind of topic, it could be called ‘class assignment’. When it’s created, you choose a user group as the assignees. There could be a few pedagogical models to choose from:

  • All students are required to reply once; until they do the topic is highlighted in the list and inside it displays a teacher-provided prompt.
  • Complete a poll(s); leverages polls feature.
  • Write a new topic; leverages topic splitting feature.
  • Create a collection of new badges, and integrate those.
  • Integrate the correct answer plugin somehow.

It would be helpful to then clone the admin>groups panel and redo it as a class>student assignment panel, with basically the same features as now but with a new layout and a preset security policies.

I think a OneBox implementation on a given LMS, e.g. moodle or edx, would be the simplest way to approach this.

I think a lot of people would find those scripts useful. Would be awesome if you made a gist of them, or shared a few in this thread.

I don’t actually have funds for contracts but just curious to know what ideas you’ve had over the years that were never pursued for whatever reason. Cheers.

(Jay Pfaffman) #4

If I thought that, I’d make them available. The badge script is potentially useful, but right now the custom badge feature is turned off by default (easy enough to turn it back on, though, and the script would help insure that you didn’t botch the SQL). Last I looked, Sakai had about a 5% market share, and few of its original developers use it anymore. Then from that small set, you find the people who are willing to use a non-sanctioned solution with no support from anyone at their university, and it becomes a pretty small set. It seems fairly improbable that “a lot” of people. :slight_smile:

I’ve posted about them a couple times here. When someone offers enough karma or cash, I’ll take the time to make them useful to others. The badge creator is pretty close, actually. Oh, what do you know? Apparently at some point in my past I thought that they might be useful to others. Judging from the dates, sakai-grade is probably not ready for primetime, but discourseBadgeCreator probably works.

(Ted Strauss) #5

Regardless of Sakai (which I had never heard of) these scripts are good starting point for someone trying to implement community-oriented features through scripting and API calls.
Thanks for sharing.

(Carson) #6

Hi, since this discussion took place a year ago, does anyone currently use Discourse as their LMS?

If so, what’s working? What’s not? How have you supplemented Discourse?

We’re considering it ourselves - proof of concept and good ideas from others are appreciated!

(Jay Pfaffman) #7

I’ve left the academy, but I think the system that I was using would still work pretty well.


So there are quite nice wordpress ways to create an LMS: ThimPress Demo

But they are all quite rigid. I think Discourse as an LMS might be a better idea, is there any new development?

In terms of what we need, I am thinking:

  • Advanced search, which we have already but we would need to make it more prominent in the LMS: Search results for '' - Discourse Meta
  • A nicer way to display grouped lessons (a course)
  • A nicer way to display grouped courses (a course category)

So maybe what we need is a template/theme rather than a full fledged plugin? We could have the theme to display in a special way all threads with a certain tag (course or lesson). Also, we would need to make the advanced search place a bit more LMS looking.

(Timothy Vail) #9

Hello, I’m trying to build a training course for a mid-size corporation using discourse. I’ve already built a training site using google’s ai chatbot with discourse through discobot here.

I intend to use h5p, another great open source project https://h5p.org/, but need a small, simple plugin that captures the data that H5P content emits (which is in the form of xAPI statements)

I need to store quiz results etc from students / trainees , there is some docs here
H5P and xAPI | H5P [1]
Analyzing results and answers | H5P [2]

Would anyone be willing to help? My company would be willing to pay for coding time.

Also, I need the ability to track progress, do grading, and give certificates, the last of which I know is already a functionality in discourse, but I need to give them for performance on quizzes etc.

Any discourse coders out there willing to help in this project?

(Jay Pfaffman) #10

I’m sure that there are! Post in #marketplace. You’ll need $500 to $2000 depending on the scope.

(Timothy Vail) #11

Will do pfaffman! I’m actually going to use a part of your format in the training, thanks for the example! Would you yourself be interested in helping with the project?