Achievement Types and Categories
Our system uses Achievement Types to organize and categorize user credentials. This document explains how to work with standard and custom types and ensure they integrate seamlessly into the platform.
Categories We Support
Our system organizes achievements into predefined categories to ensure they are properly grouped and displayed. Below is the list of supported categories:
Achievement: Generic accomplishments.
ID: Identifiers such as student or employee IDs.
Learning History: Records of educational achievements.
Work History: Records of professional experience.
Social Badges: Recognition tied to social or community participation.
Membership: Memberships in organizations or groups.
Accomplishment: Specific completed tasks or goals.
Accommodation: Support or adjustments made for individuals.
Family: Recognition tied to family relationships or contributions.
Standard Achievement Types
Overview
Standard AchievementTypes
are predefined achievement types that do not include the ext:
prefix. These types are sourced directly from the IMS Global Open Badges v3 AchievementType Enumeration. These types are directly recognized by the system and are mapped to predefined categories without additional transformation.
Here is the complete list of predefined achievement types supported on our platform
'Achievement'
'Achievement'
'Assessment'
'Achievement'
'Award'
'Achievement'
'Badge'
'Achievement'
'Certificate'
'Achievement'
'Certification'
'Achievement'
'CommunityService'
'Achievement'
'Competency'
'Achievement'
'Degree'
'Achievement'
'MicroCredential'
'Achievement'
'License'
'ID'
'Membership'
'Membership'
'ApprenticeShipCertificate'
'Work History'
'JourneymanCertificate'
'Work History'
'MasterCertificate'
'Work History'
'Assignment'
'Learning History'
'AssociateDegree'
'Learning History'
'BachelorDegree'
'Learning History'
'CertificateOfCompletion'
'Learning History'
'CoCurricular'
'Learning History'
'Course'
'Learning History'
'Diploma'
'Learning History'
'DoctoralDegree'
'Learning History'
'FieldWork'
'Learning History'
'GeneralEducationDevelopment'
'Learning History'
'LearningProgram'
'Learning History'
'MasterDegree'
'Learning History'
'ProfessionalDoctorate'
'Learning History'
'QualityAssuranceCredential'
'Learning History'
'ResearchDoctorate'
'Learning History'
'SecondarySchoolDiploma'
'Learning History'
Custom Achievement Types
Overview
Custom AchievementTypes
, include the ext:
prefix and allow for user-defined or external achievements. These custom types must adhere to specific formatting rules.
Rules for Custom Types
Prefix: Custom types must begin with
ext:
.Validation: Custom types must match the regex:
Structure: Custom types follow this format:
Example:
ext:LCA_CUSTOM:Learning History:The_Coolest_Dog
Formatting Logic
Custom types are formatted using helper functions:
Capitalize Words
Converts lowercase strings like cool cat
to Cool Cat
:
Replace Spaces with Underscores
Converts "Cool Cat" to "Cool_Cat":
Construct the Final Type
Combines the category and transformed achievement type:
Example:
Internal Handling of Custom Types
Custom types are processed internally using the following helper functions:
Check if a Type is Custom
This function checks if a given type string contains the LCA_CUSTOM
identifier:
Extract Achievement Type from Custom Type
This function extracts the specific achievement type from a custom type string:
Extract Category Type from Custom Type
This function extracts the category type from a custom type string:
FAQ
How do I pass a type into a credential?
Types can be passed into credentials using the newCredential
method. Here is an example:
Passing a standard type:
Passing a custom type:
Can I create new categories?
No, our system only supports the following pre defined categories
How do I validate a custom type?
Use the CUSTOM_TYPE_REGEX
to ensure compliance:
You can also test the formatting of your custom type to ensure it works internally:
Check if the type is custom: Use the
isCustomType
function:Extract the achievement type: Use the
getAchievementTypeFromCustomType
function:Extract the category type: Use the
getCategoryTypeFromCustomType
function:
Last updated