Badges/build

To fit with our existing CMS and to integrate the needs of various users of the system, we decided to distribute badges via a modified version of the Drupal User Badges Module. The key features of the our badge module are centered around making badges easier to share and manage.

Our Drupal Module
The actual giving out badges part.

Based on our understanding of our community’s needs and workflow analysis in the design step, we built our interface to include the following features:


 * Automatically generated emails to recipients that include a badge image (to allow for easy sharing/re-sharing of badges in different domains) and guide the recipient through the different sharing options. Our email template can now be accessed through Google Docs.


 * Processes for badge recipients to manage their badges and their badges sharing preferences (recipients can keep their badges private or allow sharing on the Open.Michigan site or with Mozilla OBI).


 * A community portal where members can see each other’s badges and discover new badges to be earned.



Tracking
Who got what badge?

We are already using CiviCRM to track event participation and partnerships. Currently on our To-Do list is to build out processes for tracking badge recipients in CiviCRM as well. We are also beginning to see a growing need for formal evaluation mechanisms, such as quizzes for knowledge/skills gained; for better resource statistics, such as numbers of OER downloads or references; and for systems to process user contributed evidence, such as proof of contribution to other non-Open.Michigan open projects.

Mozilla OBI Backpack Integration
Sending badges to the backpack

To allow our community more freedom to share their badges, we are integrating our badge system with the Mozilla Open Badges Initiative (OBI) where users will be able to manage badges from us and other organizations through their virtual Badge Backpack. Visit http://openbadges.org to learn more.

The technical documentation for the Mozilla OBI can be found at: http://openbadges.org/infrastructure-tech-docs

Because we both give out badges and display badges on our community portal, we are considered by Mozilla to be both a badge Issuer and a badge Displayer. Our process for sending badges to the Mozilla Backpack is as follows:


 * 1. We match the badge recipient with the appropriate badge (using their email address).
 * 2. We send a request off to Mozilla to "bake" the badge. In this request, we supply two things.
 * An "Assertion URL" (that thing that actually gets baked into the badge). Mozilla then calls back to that location to obtain email address, the "template" image, etc. If that all succeeds, they bake the badge.
 * A flag indicating whether the baked badge should be sent to the user's backpack or not. We look at the user's preferences to determine how to set this flag. If the user hasn't yet made a decision or they have said "no", then we tell Mozilla not to send it to the backpack. If the user has said "yes", then we tell Mozilla to send it to the backpack.


 * 3. When/If the user later changes the decision to "yes", then we actually "re-bake" the badge and this time tell Mozilla to send it to the backpack.