View on GitHub

Examples of Openbadges v3 Credentials for Edubadges

Public static hosting of OBv3 example JSON

OB3 Credential Examples

Examples of Open Badges V3 credentials based on the Educredentials metadata model. These examples can be used to test the capabilities of various wallets.

Table of Contents

SURF Documentation

Questions

Assumptions and Choices

Educredentials: Current Model

We currently distinguish three types of credentials in Educredentials: Extracurricular, Regular, and Microcredential.
The difference between these three types is which metadata elements are used in the badge class.

  Microcredential Regular Edubadge Extracurricular Edubadge
Basic Information      
Name Required Required Required
Edubadge Image Required Required Required
Description Required Required Required
Learning Outcomes Required Required Required
Criteria Required Required Required
Program Information      
Language of Instruction Required Required Required
ECTS/SBU Credits Optional Required Not Applicable
Time Investment Optional Not Applicable Required
Indication of EQF Level Required Required Optional
Participation Type Required Optional Optional
Educational Codes Optional Required Optional
Assessment Information      
Assessment Type Required Optional Optional
Supervision of Assessment Required Optional Optional
Identity Required Optional Optional
Quality Assurance      
Name Quality Framework HO/MBO Optional Optional
URL Required Optional Optional
Description Required Optional Optional
Related Educational Framework      
Name Optional Optional Optional
Framework Optional Optional Optional
URL Optional Optional Optional
Code Optional Optional Optional
Description Optional Optional Optional

Terms

With the introduction of OB3, several terms used in Educredentials (OB2) have changed:

OB2 OB3
Badgeclass Digital Credential Achievement
Open Badge Open Badge Credential
Edubadge Digital Credential Assertion

(See also OB3 datamodel conceptual model)

ext: extensions:

“This enumeration can be extended with new, proprietary terms. The new terms must start with the substring ‘ext:’.”

EduCredential Examples

The following JSON code examples will be used to create the Open Badges V3 credentials. These will need to be signed by an agent to be used in wallets, but that is step 2.
The following types of OB3 examples are provided:

Three variants are worked out as examples for each type:

For MBO we only provide the full version, for no other reason than that managing six more variants is too much work.

We provide the different versions to check how the various wallets, verifiers and issuers handle the attributes:

Evidence

One example shows how an “evidence” can be included in the credential. The example with an evidence is mbob_zw_ssb_microcredential_full.json.

Both the VC data model spec and the OBv3 spec have an “evidence” entry in the spec. In both the VC data model and the OBv3 spec it lives at the JSON path .evidence[]. The structure and fields overlap, but OBv3 defines some optional extra fields. The VC data model spec has mechanisms, with fields, to ensure Integrity of Related Resources.

We define all fields from the OBv3 spec with one additional field digestMultibase from the VC data model spec. This is a multibase encoded digest of the evidence, which can be used to verify the integrity of the evidence.

NOTE: (@TODO) We don’t have automation in place to calculate the digestMultibase, so it is a dummy value in the examples.

Markdown

OBv3 allows Markdown in many data fields, without specifying which subset or variant.

Markdown A String that may contain Markdown.

https://www.imsglobal.org/spec/ob/v3p0/#org.1edtech.ob.v3p0.derived.markdown.class

We limit this in markdown.md. This subset is therefore not backward compatible with OBv3, which still allows code, links, tables, etc. We further restrict it for OBv3. Elements not detailed in markdown.md are therefore not allowed.

Validity

All _full versions have a validFrom and a validUntil, which are hardcoded to make them valid for 5 years starting from 30 August 2024.

URLs

Images hosted at https://raw.githubusercontent.com/ e.g. https://raw.githubusercontent.com/educredentials/obv3-examples/refs/heads/main/images/boerderijdieren.jpg

Contexts hosted at contexts.example.com, e.g. https://contexts.example.com/learning-outcome-extension.json

IDS

Ids are in the form of a URL. They use https and the following structure:

https://example.com/{resource}/{unique}
For the examples, we use the following mock unique identifiers: - **Students:** - `stu-1A2B3C` - `stu-4D5E6F` - `stu-7G8H9I` - `stu-J1K2L3` - **Credentials:** - `crd-A1B2C3` - `crd-D4E5F6` - `crd-G7H8I9` - `crd-J0K1L2` - **Issuers:** - `iss-9Z8Y7X` - `iss-6W5V4U` - `iss-3T2S1R` - `iss-Q9P8O7` - **Achievements:** - `ach-33LML` - `ach-77NPN` - `ach-55BGB` - `ach-22RFR`

In the examples we will use the first always, except for the rare cases when we must convey that there are multiple resources in a single example.