I am supporting CandidateX

CandidateX is a startup that focuses on creating inclusion-focused hiring solutions, designed to increase access to job opportunities for underestimated talent. Check them out if you have a few minutes to spare. They need visibility!

What’s going on here

In Badges I described a badge manager infrastructure I was planning, centered on the Mozilla Open Badges. There a quite a lot of components involved. I’ll be showing the latest pieces I’m working on here, and welcome any input, collaboration, assistance, comments and criticism through our forum.

Latest status

I’m issuing badges! There are still a few small issues to overcome as below, but it’s working.
  • Some confusion if you are running multiple persona profiles on the same machine – when the open badge backpack form comes up, it sometimes thinks you are on the other profile (it notices though, and doesn’t award the badge). Don’t know if the problem is me or openbadges or persona at this point.
  • Occassionally get sigin in error when moving between pages with the badge organizer panel installed. This usually happens if page is changed while the mozilla login is in process. I need to handle that.
  • I need to check if the badge is already in the backpack, and gray out the badge. It also creates multiple award entries for the same badge sometimes.
  • Create a step by step guide for generalized implementation when these issues are dealt with.
If you have any input on these and other issues, would like to help in development or testing, or with an article,  please  contact me on the forum or tweet me.

Authentication with Persona.

Open Badge Backpacks are accessible through the persona authentication system (now deprecated – I am referring you to the announcement about the service’s closure). I found the documentation about this pretty unfathomable, but searching around, I’ve been able to find out what was needed to get authenticated to persona. I need to be able to access the Mozilla backpack, since I’m using this as my source of truth for what badges any individual has earned, and I also want to be able to issue a badge to that backpack when earned.

Navigator object.

This persona object watches for changes in persona login/logout status. To action that status change, I’m calling a login or logout function, hosted on my server. On a successful login, I get the email address, convert the email to a mozilla open badges ID, and retrieve all backpack public groups that this user has created. We also update the page with who is logged in, and change the login button to a logout one.

Here’s how to login – it needs to be server based, so I’ve used PHP. While we’re at it, we’ll also return the Mozzilla Open Badges UserID associated with this email address.

I’m using the standard css for styling persona login buttons

Because the Mozilla badge issuer doesn’t like cross domain requests, I have to use a php proxy to actually issue badges

Complete source code

For help and more information join our forum, follow the blog or follow me on Twitter .