Get Discourse to read and issue OpenBadges?

(Bruce Becker) #1

This is one for the badge nerds :nerd_face: :name_badge:
One of the thing I absolutely love about Discourse is the badge system. I am considering issueing badges with badgr. Since our community forum is key to the learning paths and experience, I would like the discourse badges to be synchronised somehow. I could do this by hand, but I was wondering if anyone had worked on something like this?

(Robert McIntosh) #2

I think someone was looking into this fairly recently but I’ve not seen any results - you might want to follow up

(Bruce Becker) #3

Much obliged! perhaps you could merge this topic with that one. I didn’t see it whilst searching initially.

(Robert McIntosh) #4

That was posted to a #dev topic as I believe it was about the development of the plugin, whilst this topic is potentially an interesting conversation for community managers as well, since other CMs might be interested in discussing the ideas for new badges.

As a matter of interest, where is your site hosted? It might be possible to turn on Badge SQL for your instance so you can create your own badges without the need for badgr.

It is the case that Badge SQL can no longer be edited by default but it might be possible to turn this on

(Bruce Becker) #5

Thanks for the thoughts and feedback.

The case in point is

We don’t currently have any of the stuff I describe below…

I’m going to have to read up about the Badge SQL before I stand too firmly behind what I’m about to say here…

There needs to be a badge authority, as well as badge portability, which is why OpenBadges is the path we think is correct. Badges issued for achievements on a discourse instance only make sense inside that context. We want them to make sense outside that context too, in a way that has been validated and signed by an authority. We also want badges earned outside of the forum, but signed and validated by the badge authority to be portable into discourse.

For example, we have a path whereby we provide some guidelines on being productive members of the community. Maybe you vist a few web pages and click some buttons. Maybe you take a short pre-recorded course. Once that’s done you get issued a badge.
When you come to the forum your badge comes with you.

Since badges are (as far as I know), assigned to email addresses, the badge should be associable to the person when they log in. A discourse plugin for this might

  1. contact a badge server of one’s choice
  2. filter out the list of issuers of one’s choice
  3. append the list of existing badges with those of the badge server

When users log in,

  1. lookup the email address of the user
  2. see if there are any badges for them on the server
  3. synchronise the badges via the relevant sidekiq job or something…

Similarly, when users earn badges in discourse, a process claims it on the badge server for them.