The xAPI Vocabulary and Profile Server is a curated list of xAPI vocabulary concepts and profiles maintained by the xAPI community.
A BLUEPRINT FOR IMPLEMENTING xAPI SUCCESSFULLY
A profile provides the human and machine-readable documentation of application-specific vocabulary, extensions, and statement templates for a particular use case or specific implementation of xAPI. This site and the xAPI Profile Spec were created to guide more consistent publishing and maintenance practices for xAPI profiles.
First identify the specific requirements you’re trying to satisfy with xAPI such as improving learning, human performance, or even business processes.
Browse and search xapi.vocab.pub and then document the specific vocabulary concepts, profiles, and statement templates you will author from scratch or reuse
Create functional examples and send statements to an LRS. Query the LRS and visualize the data to help inform any changes or refinements to your profile.
Publish new profiles based on the Profile Spec. The profiles and vocabulary concepts are curated by the xAPI community and shared at xapi.vocab.pub for reuse.
GUIDANCE FOR AUTHORING, PUBLISHING, AND UPDATING xAPI PROFILES
Resource page section links:
Commonly accessed external resources:
Before authoring a Profile, determine if a new Profile is needed by asking the following questions:
First, check and see if there are vocabulary concepts from a Profile or complete Profiles you can reuse before attempting to author a new one. Existing vocabulary concepts might not describe or accurately define the concept you need. In that case, you might need to coin a new concept and create a profile. You also might not want to use all the concepts of an existing Profile. Let's say you only want to use some of the verbs from the SCORM profile. That's perfectly fine. You can reuse any concepts from multiple existing Profiles and you can also require the inclusion of statement templates from existing Profiles. If you mix multiple profiles and don't really add any new concepts (verbs, activity types, extensions, attachment usage types) on top of them then you don't need to create a profile. You are just simply going to reuse existing ones.
You should create a Profile if you need to mint new vocabulary concepts such as verbs, activity types, or extensions. If you mix multiple profiles and add new concepts on top of them then you do need to create a profile. Profiles may often contain vocabulary concepts and aren't required to include statement templates. However, the answer is also "Yes" if you have specific structural requirements for your statements and need to provide statement templates to enforce the rules.
The very first step is to identify the specific requirements you’re trying to satisfy with xAPI such as improving learning, human performance, or even business processes. What types of learning activities and interactions do you need to track? This will help inform what you put into your Profile. And your Profile will help you to realize your options for reports and analytics. Click HERE to download the Use Case Template word document.
Browse and search xapi.vocab.pub and then document the specific vocabulary concepts, Profiles, and statement templates you will author from scratch or reuse. Reuse whole Profiles are only parts of them that are needed for your project. Let's say you were developing a SCORM course or updating an existing one. The course has video embedded in it. You could use a combination of both the SCORM and the Video Profile rather than creating a new Profile. If you need to author a new Profile you can start with an empty starter template. Click HERE to open the repo of existing Profiles and the starter template.
Create functional examples and send statements to an LRS. Query the LRS and visualize the data to help inform any changes or refinements to your Profile. Click HERE to go to the ADL Learning Record Store (LRS) and test your xAPI prototype. You can also search the web for existing commercial LRS vendors as most offer free trial accounts for testing as well.
Once you've finished authoring and refining your Profile you will publish it to the Profile repository on github. For more detailed steps on publishing see the "Publishing Profiles" section below. Click HERE to go to GitHub to see complete examples of existing Profiles. After your Profile has been submitted to the repository, your Profile and vocabulary concepts are curated by the xAPI community. Then they are imported to xapi.vocab.pub for reuse.
The process of authoring Profiles for xAPI can be made easier if some specific rules are followed. This section of the document will explain these rules and provide the recommended practices for Profile authoring.
This section provides a set of general design principles aimed at helping Profile authors mint consistent and reliable IRIs. The IRIs for concepts are expected to be dereferenced (aka resolve to a URL) by a browser or any other client making an HTTP GET request. Therefore, Profile authors must follow good IRI design practices in order to ensure that xapi.vocab.pub will be able to consistently dereference Profile metadata. The following IRI pattern should be adopted by anyone creating new concepts for a profile:
https://w3id.org/xapi/ [profile name] / [concept type] / [concept]
The parts of the IRI in brackets are the only parts that will be customized. For example the Video Profile Verb, https://w3id.org/xapi/video/verbs/seeked, follows this pattern. A best practice for IRIs is to use a persistent resolution service. The xAPI community is using the W3C's w3id.org service for this purpose. This is why all IRIs should begin with the w3id.org domain (except older IRIs that were generated before the community established this process).
Profiles should include information about the profile such as the the name of the profile, a description, the organization or person that authored it, and the date/time it was published. Profiles can also include concepts (e.g., verbs, activity types, extensions) and statement templates. These are all described in a JSON-LD document based on the W3C's Resource Description Framework (RDF). However, you don't need to understand RDF or JSON-LD in order to author a Profile. You can simply look at existing examples and look at the starter template to begin the process. What's most important is that we keep the process simple so Profile authors can focus on providing quality metadata.
Once the metadata has been written for your Profile, you can prepare to publish it. When you publish to it the Profiles repository, the xAPI community will curate the Profile for quality and validate it. We will also assist you if need help with authoring your Profile or have questions. Submit inquires or ask questions by opening an issue. If you would like to make sure it produces valid JSON before publishing it you can use any of the tools below:
This section describes the process for publishing Profiles. The workflow utilizes Github for version control and as the official repository location for importing Profile metadata into xapi.vocab.pub. If you don't have experience with Github and would like to learn, click HERE to go to the GitHub Help page, or HERE to go to the GitHub Learning Lab page. If you don't want to learn Github or don't have time, then contact us and we'll help publish your Profile for you.
This section describes the process for updating existing Profiles that have already been published to the Github repository.
Additional external resources relevant to xAPI Profiles and the underlying standards and technologies used.