Badgr - Badging Support

Note: This is my first Open edX implementation.

I’m looking to implement badging to my platform, and from what I can find on the OpenedX documentation, Badgr was / is baked in. There are variables that can be set in the yml files such as “ENABLE_OPENBADGES”.

When going through the documentation about configuring Badgr and setting up a server, all of the links appear to be broken. As I look into things, I see that they have changed into Canvas Credentials, and there is no information readily available there either.

My question then is, where should I be looking to get things going? I have access to the Badgr Backpack, but I see no clear direction on where to go now that Badgr is Canvas Credentials.

Has anyone successfully used Badgr with OpenedX recently? Or is there another OpenBadges implementation that I should be looking into?

Thanks!

Hi @MrJohnson-SixNinesIT and welcome :wave:

I don’t know anything about Badgr and I won’t be able to help with follow-up questions. However I remember seeing a post about Badgr in June: Backporting Badgr integration updates to Lilac

It looks like it was merged to Maple and working then. Are you using Nutmeg and finding it broken? Or are you using a release earlier than Maple?

Hi @MrJohnson-SixNinesIT

We’ve been using badgr in Lilac and Maple, haven’t tested with Nutmeg yet but as far as I can tell the API endpoints (at least the ones that edx-platform is using) haven’t been changed.

When going through the documentation about configuring Badgr and setting up a server, all of the links appear to be broken.

You are right, seems that the Badgr docs have moved, that is news to me as well.

My question then is, where should I be looking to get things going? I have access to the Badgr Backpack, but I see no clear direction on where to go now that Badgr is Canvas Credentials.

I have no experience with Badgr Backpack but I think it’s for displaying earned badges, it could be useful for testing your integration.

For your Open edX platform to be able to award badges, you’ll need to create an “Issuer App” in Badgr. I believe the relevant docs are now here:

From that Issuer you should be able to retrieve the following settings for your Open edX platform:

BADGR_USERNAME: ""
BADGR_PASSWORD: ""
BADGR_BASE_URL: ""
BADGR_ISSUER_SLUG: ""

And as our docs suggest, for badges to work properly on your platform you’ll need to have certificates enabled and you’ll need to run migrations after enabling badges.

Linking this post for reference here as well since it contains an example tutor plugin.

I hope this helps :slight_smile:

2 Likes

Hello Sarina,

Thanks for the response. We are using Nutmeg. My questions were more around that we did not see a clear path on the typical way of moving forward, given the links were broken and that Badgr now seems to be a paid feature.

Hello @mrtmm, thank you for the reply.I will look into setting things up as an issuer and giving it a go.

As an aside, is Badgr the only Badging system supported by OpenedX? I see that after a certain number of users (500) Badr requires an enterprise account. There are any free alternatives that can be integrated in a similar fashion to Badgr?

@mrtmm I created an Issuer on the badgr.com. I also created a badge and a group. The disconnect I am having is, where do I get the badgr base URL and slug from? Talking about from within the badgr platform.

As I navigate badgr.com while logged in, I am in the issuer section, is the baseURL talking about Badgr.com? For example, I have this URL for navigating to my badges: Digital Credential Network Powered by Badgr Pro

Would it look like this?:
BADGR_BASE_URL = “https://badgr.com
BADGR_ISSUER_SLUG=“6334700065ef7361326061d6”

And that username and password be the username and password in which I used to sign up / login?

Edit: had a copy + paste error in slug.

Hi @MrJohnson-SixNinesIT

Badgr is currently integrated and supported but you can integrate some other systems as well, see the docs. I guess you’ll need to run a patch on your edx-platform for that.

I believe there is (or at least used to be) an option to host your own Badgr server. But similarly to the docs, seems like things have changed. There used to be a repo at https://github.com/concentricsky/badgr-server but it’s gone now. I do see a fork of it at GitHub - ffedoroff/badgr-server: Open Badge issuing and management with Django but I really don’t know much more about it. Once upon a time I spun it up locally for brief testing following the README but that’s it.

I believe the base url should point to an API, so it should something like https://api.test.badgr.com or https://api.badgr.io or https://api.eu.badgr.io but I am not sure where this is configured exactly and which is the correct one for you.

That seems about right

Yes, I believe so.

You should be able to confirm the values by testing the token creation.

curl -X POST '{BADGR_BASE_URL}/o/token' -d "username={BADGR_USERNAME}&password={BADGR_PASSWORD}"

If you can create a token with these values, so can your LMS.