Open Badges Extensions
Open Badges is extensible through the use of extensions. Any issuer may define and publish extensions in order to include new types of metadata in badges. Any other Open Badges service may use these extensions to publish or consume similar information in a mutually recognizable way.
There are two types of extensions, IMS Extensions and Community Extensions. IMS Extensions are developed through IMS Global workgroups that follow an established process for submission, technical review, intellectual property review, approval, and publishing. Community extensions may be developed and supported by non-IMS individuals or organizations, are not part of the core specification, and are governed by licensing and copyright terms of the authoring individuals and organizations. IMS will publish community extensions here for informational purposes.
Here’s an example of an Open Badges extension:
Example Extension Name
This is a definition of an example extension. If it were a real extension, it would describe the purpose of adding it to a badge object. If you follow the link #ExampleExtension, you’ll get to this paragraph. This is the IRI (Internationalized Resource Identifier) to use for implementations of this extension, included below as the compact IRI extensions:ExampleExtension
. See the context and schema files that form the machine-readable core of this extension.
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://openbadgespec.org/extensions/exampleExtension/context.json |
type | type IRI array | ['Extension', 'extensions:ExampleExtension'] |
exampleProperty | string | Any text the implementer likes. |
Extendable Badge Objects: Assertion, BadgeClass, Issuer
Example implementation:
IMS Extensions
-
Issuer Accreditation - This extension provides a reference to a single, or to an array of multiple, accreditation bodies as related to the Issuer Profile.
-
Assessment - This extension allows issuers to embed metadata about assessment(s) performed in the badge awarding process, potentially including some questions and related rubric data.
-
Extra Description - Allows issuers to add additional descriptive fields to a BadgeClass or Issuer Profile.
Community Extensions
Submit your published extensions to this page with a pull request on GitHub, following the existing format of the page.
Note: Authors of Community Extensions are not required to host extensions on this page in order for them to be valid. Extension authors may publish descriptions, context and/or schema files required for a new extension on any publicly-accessible location, however that location should provide stable hosting for many years, because extended badges will lose their meaning if these resources become inaccessible.
Community Extensions
- Apply Link - The apply link provides a url that allows potential badge earners to apply for an opportunty as specified by the badge issuer.
- Endorsement - Legacy extension that is now part of the core specification.
- Geo Location - Allows for the addition of the geographic coordinates associated with a badge object.
- Accessibility - Supports the addition of content for people with disabilities.
- Creative Commons Content License - Enables issuers to indicate what permissions are granted to the public to reuse BadgeClass metadata in their own badges.
- Original Creator - Provides a way to track the origin of a badge when one organisation creates it for another.
Apply Link
Author: Kerri Lemoie
The apply link provides a url that allows potential badge earners to apply for an opportunty as specified by the badge issuer.
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://openbadgespec.org/extensions/applyLinkExtension/context.json |
type | type IRI array | ['Extension', 'extensions:ApplyLink'] |
url | string,uri | Valid url beginning with http:// or https:// |
Extendable Badge Objects: BadgeClass
Example implementation:
Endorsement
Endorsement, previously an extension, is now part of the core specification. See original.
This property definition still resides here in the extensions namespace, which is now replaced by the claim
property:
Property | Type | Value Description |
---|---|---|
endorsedObject | object | An optional embedded copy of the endorsed Badge Object with ‘id’ attribute set. |
Geo Location
Authors: Doug Belshaw and Kerri Lemoie
An extension allowing for the addition of the geographic coordinates associated with a badge object. For example, geolocation could represent where a BadgeClass is available, where a badge Assertion was earned or the location of an issuer. The required description property allows implementers to be more specific about the reason location is included.
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://w3id.org/openbadges/extensions/geoCoordinatesExtension/context.json |
type | type IRI array | ['Extension', 'schema:Place' 'extensions:GeoCoordinates'] |
name | text | The place’s name, if available |
description | text | A description of the location |
geo | GeoCordinates | The GeoCoordinates of a location (containing the following properties) |
Property | Type | Value Description |
---|---|---|
latitude | number | The latitude of a location |
longitude | number | The longitude of a location |
Extendable Badge Objects: Assertion, BadgeClass, Issuer
Example implementation:
Accessibility
Author: Vincenzo Tilotta
An extension allowing for the addition of the content for people with disabilities.
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://w3id.org/openbadges/extensions/accessibilityExtension/context.json |
type | type IRI array | ['Extension', 'extensions:Accessibility'] |
accessibilityAPI | text | Indicates that the resource is compatible with the referenced accessibility API. Possible values: ['AndroidAccessibility', 'ARIA', 'ATK', 'AT-SPI', 'BlackberryAccessibility', 'iAccessible2', 'iOSAccessibility', 'JavaAccessibility', 'MacOSXAccessibility', 'MSAA', 'UIAutomation'] |
accessibilityControl | text | Identifies one or more input methods that allow access to all of the application functionality. Possible values: ['fullKeyboardControl', 'fullMouseControl', 'fullSwitchControl', 'fullTouchControl', 'fullVideoControl', 'fullVoiceControl'] |
accessibilityFeature | text | Content features of the resource, such as accessible media, supported enhancements for accessibility and alternatives. ['alternativeText', 'annotations', 'audioDescription', 'bookmarks', 'braille', 'captions', 'ChemML', 'describedMath', 'displayTransformability', 'highContrastAudio', 'highContrastDisplay', 'index', 'largePrint', 'latex', 'longDescription','MathML', 'none', 'printPageNumbers', 'readingOrder', 'signLanguage', 'structuralNavigation', 'tableOfContents', 'taggedPDF', 'tactileGraphic', 'tactileObject', 'timingControl', 'transcript', 'ttsMarkup', 'unlocked'] |
accessibilityHazard | text | A characteristic of the described resource that is physiologically dangerous to some users. Related to http://www.w3.org/TR/UNDERSTANDING-WCAG20/seizure.html ['flashing', 'noFlashingHazard', 'motionSimulation', 'noMotionSimulationHazard', 'sound', 'noSoundHazard'] |
Extendable Badge Objects: Assertion, BadgeClass, Issuer
Example implementation:
Creative Commons Content License
Editor: Nate Otto
The content license extension enables issuers to indicate what permissions are granted to the public to reuse BadgeClass metadata in their own badges in terms of an expressive set of open content licenses that have broad global buy-in.
Thanks to editorial contributions from Timothy F Cook, Attila Szabó Nagy, Serge Ravet, and Jim Goodell
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://openbadgespec.org/extensions/licenseExtension/context.json |
type | type IRI array | ["extension", "cc:License"] |
id | @id (IRI) | The URL unique identifier for the license that is used. For example, ‘http://creativecommons.org/licenses/by/4.0/’ (Aliases available to international versions: CC-BY , CC-BY-SA , CC-BY-NC , CC-BY-NC-SA , CC-BY-ND ) |
legalCode | @id (IRI) | The URL unique identifier for the license that is used. For example, ‘http://creativecommons.org/licenses/by/4.0/legalcode’ |
Extendable Badge Objects: BadgeClass
Example Implementation (Abbreviated JSON-LD BadgeClass):
Get Started: See examples of all international Creative Commons licenses in use on the License Extensions Example Page.
Original Creator
Author: Antti Koskinen
This extension provides a way to track the origin of a badge when one organisation creates it for another.
For example, presume we have organisations X, Y and Z. A badge is created by X and they grant Y and Z the right to issue it. IssuerClass of X is stored as the OriginalCreator in the BadgeClass and either Y or Z becomes the issuer.
Property | Type | Value Description |
---|---|---|
@context | context IRI | https://openbadgespec.org/extensions/originalCreatorExtension/context.json |
type | type IRI array | ['Extension', 'extensions:OriginalCreator'] |
url | string, uri | Valid url pointing to the Issuer document of the issuer that originally defined this BadgeClass |
Extendable Badge Objects: BadgeClass
Example implementation:
xAPI Integration
An exploratory prototype draft xAPI vocabulary has been defined so that Open Badges will soon be referenceable from Experience API activity streams. See xAPI Open Badges documentation for details.