|
| 1 | +--- |
| 2 | +author: 1Edtech Consortium |
| 3 | +category: Extension |
| 4 | +title: Open Badges American Council for Education (ACE) Extension |
| 5 | +shortcode: OB-ACE-10 |
| 6 | +status: Candidate Final Public |
| 7 | +lastUpdated: 2025-10-09 |
| 8 | +version: '1.0' |
| 9 | +nature: normative |
| 10 | +docType: specification |
| 11 | +specTitle: Open Badges Specification |
| 12 | +contributors: |
| 13 | + - name: Xavi Aracil |
| 14 | + affiliation: 1Edtech |
| 15 | + companyUrl: '' |
| 16 | + role: Editor |
| 17 | +releases: |
| 18 | + - version: Working Document |
| 19 | + docVersion: 1.0 |
| 20 | + date: 2025-07-08 |
| 21 | + comments: Initial proof of concept. |
| 22 | + - version: Candidate Final Public |
| 23 | + docVersion: 1.0 |
| 24 | + date: 2025-10-09 |
| 25 | + comments: Candidate Final Public |
| 26 | +--- |
| 27 | + |
| 28 | +## Abstract |
| 29 | + |
| 30 | +An extension to Open Badges that allows inserting American Council for Education credit recommendations and learning evaluation data. |
| 31 | + |
| 32 | +## Overview |
| 33 | + |
| 34 | +## Introduction{.informative} |
| 35 | + |
| 36 | +This extension provides information about ACE's learning evaluation and credit recommendations for an Achievement. It allows for the inclusion of ACE's credit recommendations and learning evaluation data within the Open Badges framework. |
| 37 | + |
| 38 | +To ensure integrity and verifiability, this information is embedded in an `OpenBadgeCredential` as an `EndorsementCredential`. This way, the information can be easily verified by a verifier using common Verifiable Credentials patterns. |
| 39 | + |
| 40 | +Issuer MAY opt to embed ACE's `EndorsementCredential` directly within the Achievement, so it's embedded in subsequents `OpenBadgeCredential`s. |
| 41 | + |
| 42 | +### Use cases{.informative} |
| 43 | + |
| 44 | +* Describe the ACE's credit recommendations of an Achievement. |
| 45 | +* Describe the ACE's learning evaluation of an Achievement. |
| 46 | + |
| 47 | +### Terminology |
| 48 | + |
| 49 | +The terminology used in this document is consistent with the terminology established in the Open Badges 3.0 specification [[OB-30]]. |
| 50 | + |
| 51 | +ACE |
| 52 | +: American Council of Education |
| 53 | + |
| 54 | +### Document Set |
| 55 | + |
| 56 | +#### Normative Documents |
| 57 | + |
| 58 | +Open Badges 3.0 |
| 59 | +: Main specification of this extension: [[[OB-30]]]. |
| 60 | + |
| 61 | +JSON Schema |
| 62 | +: The JSON Schema defines the syntactical restrictions of this extension: <https://purl.imsglobal.org/spec/ob-ace/v1p0/schema/ob_ace_v1p0_endorsementcredential_schema.json>. |
| 63 | + |
| 64 | +JSON-LD Context |
| 65 | +: The JSON-LD context defines mappings for the terms used in this specification to their canonical IRIs: <https://purl.imsglobal.org/spec/ob-ace/v1p0/context/context-1.0.0.json>. |
| 66 | + |
| 67 | +Errata |
| 68 | +: The errata details any erratum registered for this version of this specification since its publication [[OB-ACE-10-ERRATA]]. |
| 69 | + |
| 70 | +### Extendable Badge Objects |
| 71 | + |
| 72 | +`EndorsementSubject`, with the new type `ACEEndorsementSubject` |
| 73 | + |
| 74 | +#### ACEEndorsementSubject |
| 75 | + |
| 76 | +The `ACEEndorsementSubject` class is used to represent credit recommendations and learning evaluations from the ACE. |
| 77 | + |
| 78 | +##### ACE ID |
| 79 | + |
| 80 | +Each organization that receives an ACE endorsement is assigned a unique ACE ID. Since there's already an `identifier` property the Open Badges specification, which allows endorsers to include aditional identifiers of the recipient of a credential, the ACE ID can be expressed using that property. Therefore, ACE ID are expressed in the `ACEEndorsementSubject` as an identifier with its identityType with the value `ext:ACEId`. |
| 81 | + |
| 82 | +##### CTID |
| 83 | + |
| 84 | +Each organization registered in ACE is assigned a CTID from the Credential Registry. Since there's already an `identifier` property the Open Badges specification, which allows endorsers to include aditional identifiers of the recipient of a credential, the CTID can be expressed using that property. Therefore, CTID are expressed in the `ACEEndorsementSubject` as an identifier with its identityType with the value `ext:CTId`. |
| 85 | + |
| 86 | +##### Minimum Passing Score |
| 87 | + |
| 88 | +ACE capture and publish a minimum percentage passing score that is required for a learner to earn the credential. This helps institutions align the credit recommendations with their policies for transfer courses, which might require "a C or better" or similar language in order to accept a credential for credit. The Open Badges specification already has a `ResultDescription` entity, which allows issuers to define results of an achievement. Therefore, the minimum passing score can be expressed using that entity. |
| 89 | + |
| 90 | +##### Credit Recommendation notes |
| 91 | + |
| 92 | +An ACE Learning Evaluation contains an optional credit recommendation note to capture any nuance needed to accurately use the recommendations. Since the `EndorsementSubject` already has the property `endorsementComment`, which allows endorsers to make a simple claim in writing about the entity, this property can be used to convey the credit recommendation note. |
| 93 | + |
| 94 | +##### Link to National Guide |
| 95 | + |
| 96 | +The link to the National Guide Client is expressed in the `ACEEndorsementSubject` as an `Alignment` object with its `targetType` with the value `ext:ACENationalGuide`. |
| 97 | + |
| 98 | +##### Competencies |
| 99 | + |
| 100 | +A Learning Evaluation can also validate workplace competencies at the request of the National Guide Client. These competences are expressed in the `ACEEndorsementSubject` as `Alignment` objects, with an appropriate `targetType`. |
| 101 | + |
| 102 | +## Data Model |
| 103 | + |
| 104 | +At the top level is a very simple ACEEndorsementSubject object that contains the learning evaluation and credit recommendations. |
| 105 | + |
| 106 | +```mps data-model |
| 107 | +modelId: org.1edtech.ob-ace.v1p0.model |
| 108 | +package: MainClasses |
| 109 | +title: Data Models |
| 110 | +``` |
| 111 | + |
| 112 | +```mps data-model |
| 113 | +modelId: org.1edtech.ob-ace.v1p0.model |
| 114 | +package: Enumerations |
| 115 | +title: Enumerations |
| 116 | +``` |
| 117 | + |
| 118 | +```mps data-model |
| 119 | +modelId: org.1edtech.ob-ace.v1p0.model |
| 120 | +stereotype: DerivedType |
| 121 | +title: Derived Types |
| 122 | +``` |
| 123 | + |
| 124 | +The derived types in this section are shared by all 1EdTech specifications. |
| 125 | + |
| 126 | +```mps data-model |
| 127 | +modelId: org.1edtech.ob-ace.v1p0.model |
| 128 | +stereotype: PrimitiveType |
| 129 | +title: Primitive Types |
| 130 | +``` |
| 131 | + |
| 132 | +The primitive types in this section are shared by all 1EdTech specifications. |
| 133 | + |
| 134 | +## Examples |
| 135 | + |
| 136 | +### Sample EndorsementCredential with ACE extension |
| 137 | + |
| 138 | +```obv3p0 org.1edtech.ob.v3p0.endorsementcredential.class |
| 139 | +{ |
| 140 | + "@context": [ |
| 141 | + "https://www.w3.org/ns/credentials/v2", |
| 142 | + "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json", |
| 143 | + "https://purl.imsglobal.org/spec/ob/v3p0/extensions.json", |
| 144 | + "https://purl.imsglobal.org/spec/ob-ace/v1p0/context/context-1.0.0.json" |
| 145 | + ], |
| 146 | + "id": "http://example.com/credentials/3527", |
| 147 | + "type": [ |
| 148 | + "VerifiableCredential", |
| 149 | + "EndorsementCredential" |
| 150 | + ], |
| 151 | + "name": "SDE endorsement", |
| 152 | + "issuer": { |
| 153 | + "id": "https://state.gov/issuers/565049", |
| 154 | + "type": ["Profile"], |
| 155 | + "name": "State Department of Education" |
| 156 | + }, |
| 157 | + "validFrom": "2010-01-01T00:00:00Z", |
| 158 | + "validUntil": "2030-01-01T00:00:00Z", |
| 159 | + "credentialSubject": { |
| 160 | + "id": "https://1edtech.edu/issuers/565049", |
| 161 | + "type": ["EndorsementSubject", "ACEEndorsementSubject"], |
| 162 | + "endorsementComment": "Some notes about the credit recommendations.", |
| 163 | + "identifier": [{ |
| 164 | + "type": ["IdentityObject"], |
| 165 | + "hashed": false, |
| 166 | + "identityType": "ext:ACEId", |
| 167 | + "identityHash": "ACE-123456" |
| 168 | + }], |
| 169 | + "minimumPassingScore": { |
| 170 | + "type": ["ResultDescription"], |
| 171 | + "name": "Passing Score", |
| 172 | + "resultType": "Percent", |
| 173 | + "requiredValue": "80" |
| 174 | + }, |
| 175 | + "version": 1, |
| 176 | + "creditRecommendations": [ |
| 177 | + { |
| 178 | + "type": ["ACECreditRecommendation"], |
| 179 | + "creditRecommendationId": "b7e8c2a1-4f3d-4e2b-9d6f-8a1c2e3f4b5a", |
| 180 | + "semesterHours": 12.0, |
| 181 | + "level": "LowerDivisionBaccalaureate", |
| 182 | + "subject": "Computer networking" |
| 183 | + }, |
| 184 | + { |
| 185 | + "type": ["ACECreditRecommendation"], |
| 186 | + "creditRecommendationId": "a3f9d7c4-2b1e-4a6f-9e8d-7c6b5a4e3f2d", |
| 187 | + "semesterHours": 24.0, |
| 188 | + "level": "VocationalCertificate", |
| 189 | + "subject": "Computer networking" |
| 190 | + } |
| 191 | + ], |
| 192 | + "alignment": [{ |
| 193 | + "type": ["Alignment"], |
| 194 | + "targetDescription": "Robot software is a set of commands and procedures robots use to respond to input and perform autonomous tasks.", |
| 195 | + "targetName": "Robot Programming", |
| 196 | + "targetFramework": "Example Robotics Framework", |
| 197 | + "targetType": "CFItem", |
| 198 | + "targetUrl": "https://robotics-competencies.example.com/competencies/robot-programming" |
| 199 | + }, { |
| 200 | + "type": ["Alignment"], |
| 201 | + "targetName": "National Guide Link", |
| 202 | + "targetType": "ext:ACENationalGuideLink", |
| 203 | + "targetUrl": "https://example.com" |
| 204 | + }] |
| 205 | + }, |
| 206 | + "credentialSchema": [ |
| 207 | + { |
| 208 | + "id": "https://purl.imsglobal.org/spec/ob/v3p0/schema/json/ob_v3p0_endorsementcredential_schema.json", |
| 209 | + "type": "1EdTechJsonSchemaValidator2019" |
| 210 | + }, |
| 211 | + { |
| 212 | + "id": "https://purl.imsglobal.org/spec/ob-ace/v1p0/schema/ob_ace_v1p0_endorsementcredential_schema.json", |
| 213 | + "type": "1EdTechJsonSchemaValidator2019" |
| 214 | + } |
| 215 | + ] |
| 216 | + } |
| 217 | +``` |
| 218 | + |
| 219 | +## Schema |
| 220 | + |
| 221 | +### Context |
| 222 | + |
| 223 | +```json |
| 224 | +{ |
| 225 | + "@context": { |
| 226 | + "@protected": true, |
| 227 | + "id": "@id", |
| 228 | + "type": "@type", |
| 229 | + "ACEEndorsementSubject": { |
| 230 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#ACEEndorsementSubject", |
| 231 | + "@context": { |
| 232 | + "@protected": true, |
| 233 | + "id": "@id", |
| 234 | + "type": "@type", |
| 235 | + "identifier": { |
| 236 | + "@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#identifier", |
| 237 | + "@container": "@set" |
| 238 | + }, |
| 239 | + "version": { |
| 240 | + "@id": "https://purl.imsglobal.org/spec/vc/ob/vocab.html#version" |
| 241 | + }, |
| 242 | + "minimumPassingScore": { |
| 243 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#minimumPassingScore", |
| 244 | + "@container": "@set" |
| 245 | + }, |
| 246 | + "creditRecommendations": { |
| 247 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#creditRecommendations", |
| 248 | + "@container": "@set" |
| 249 | + } |
| 250 | + } |
| 251 | + }, |
| 252 | + "ACECreditRecommendation": { |
| 253 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#CreditRecommendation", |
| 254 | + "@context": { |
| 255 | + "@protected": true, |
| 256 | + "id": "@id", |
| 257 | + "type": "@type", |
| 258 | + "creditRecommendationId": { |
| 259 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#creditRecommendationId" |
| 260 | + }, |
| 261 | + "semesterHours": { |
| 262 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#semesterHours", |
| 263 | + "@type": "https://www.w3.org/2001/XMLSchema#float" |
| 264 | + }, |
| 265 | + "level": { |
| 266 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#level" |
| 267 | + }, |
| 268 | + "subject": { |
| 269 | + "@id": "https://purl.imsglobal.org/spec/vc/ob-ace/vocab.html#subject", |
| 270 | + "@type": "https://www.w3.org/2001/XMLSchema#string" |
| 271 | + } |
| 272 | + } |
| 273 | + } |
| 274 | + } |
| 275 | +} |
| 276 | +``` |
| 277 | + |
| 278 | +```mps json-schema |
| 279 | +modelId: org.1edtech.ob-ace.v1p0.model |
| 280 | +package: OBClasses |
| 281 | +format: json |
| 282 | +title: JSON Schema |
| 283 | +``` |
0 commit comments