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?
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.
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.
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.
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.
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.
We want to spend some time and resources to build custom themes or plugins to use Discourse as LMS. I have some student interns this summer, and want to give the following challenges to them:
A theme for Categories and sub-categories to appear as e.g. as Modules and Units
A plugin to create new rules leading to awarding new badges
Static sequencing of posts within a Category/Sub-Category
A way of defining pre-requisite topics (maybe using Graphviz plugin) to show at the beginning of each topic, and a roadmap to show where to go next.
Pulling H5P data to show performance to identify gaps in learning (this may need SSO integration with the Wordpress site running the h5p plugin)
Create a downloadable certificate e.g. a PDF of granted badges as a certificate.
The idea is not to deviate and distract participants from civilized discourse as a means of learning/helping students to learn, but to deviate and distract all those who use pathetic LMS to use discourse instead.
We will, of course, be using a public git repo and the outcomes will be available to the Discourse community.
If you have more ideas that are important to get this rolling or ideas of tweaking existing features of Discourse get them done, please post your ideas. If not this summer, at a later stage we will be happy to work towards this goal.