BYOL: xAPI in Action—Implementing and Sending
xAPI Data to an LRS
Jeff Batt
Founder & Trainer
Learning Dojo (learningdojo.net)
@jeffbatt01
LMS
Closed learning ecosystem
Learning is going on everywhere
LRS/LMS
SCORM
LRS
LRSJeff Batt started this video
Jeff Batt completed the video
Jeff Batt asked a question
Jeff Batt shared a link
Jeff Batt mastered a game
Sending Over xAPI Statements
Apps, Websites, YouTube Videos and eLearning Courses
Started new video
Completed a goal
Asked a question
Shared a link
Mastered a game
Personal Learning History
Input data but use data to build personal learning experiences
On job performance
New employee training
Career advancements
Seminar training
Leadership training
Manager tasks
Just in time videos
Full courses
KPIs
Conferences
Live events
Self-improvement
Self-study
LRS
On job performance
New employee training
Career advancements
Seminar training
Leadership training
Manager tasks
Just in time videos
Full courses
KPIs
Conferences
Live events
Self-improvement
Self-study
Personal Learning History
Input data but use data to build personal learning experiences
LRS
xAPI Statement Structure
http://xapi.vocab.pub/verbs.html
{actor ,verb ,object}
answered
asked
attempted
attended
commented
completed
exited
experienced
failed
imported
initialized
interacted
launched
mastered
passed
preferred
progressed
registered
responded
resumed
scored
shared
suspended
terminatedvoided
Enhanced Learning Data
Like Google Analytics for Learning
LRS
Orientation training
On job resources apps
Set learning goal or skill they want to learn
Video statistics
https://github.com/adlnet/xAPIWrapper
<script src="js/cryptojs_v3.1.2.js"></script>
<script src=“js/xapiwrapper.js"></script>
LRS
Jeff Batt started this video
Easiest Way to Send Data
Need a JavaScript library
Started new video
Completed a goal
Step 1: Connect to the LRS
var conf = {
"endpoint" : "https://cloud.scorm.com/tc/CJ0NK8AJKV/sandbox/",
"auth" : "Basic " + toBase64('jeffbatt@gmail.com:DevLearn17'),
};
ADL.XAPIWrapper.changeConfig(conf);
Breakdown - Connect to LRS
Step 2: Sending the Statement
var statement ({
});
ADL.XAPIWrapper.sendStatement(statement);
Breakdown - Send statement
var statement ({
});
ADL.XAPIWrapper.sendStatement(statement);
Breakdown - Send statement
https://experienceapi.com/statement-generator/
"actor": {
},
"verb": {
},
"object": {
}
Breakdown - Actor, Verb and Object
"actor": {
},
"verb": {
},
"object": {
}
Breakdown - Actor, Verb and Object
"actor": {
},
"verb": {
},
"object": {
}
Breakdown - Actor, Verb and Object
"actor": {
"name": “Jeff Batt",
"mbox": “jeffbatt@gmail.com”
},
Breakdown - Actor
"verb": {
"id": "http://adlnet.gov/expapi/verbs/initialized",
"display": {"en-US": "initialized"}
},
Breakdown - Verb
http://xapi.vocab.pub/verbs.html
"object": {
"id": “http://learningdojo.net/xAPI/ActivityID",
"definition": {
"name": { "en-US": "Name of ID”},
"description": {"en-US": "Description"}
}
},
Breakdown - Object
"object": {
"id": "http://learningdojo.net/xAPI/ActivityID",
"definition": {
"name": { "en-US": "Name of ID”},
"description": {"en-US": "Description"}
}
},
Breakdown - Object
"object": {
"id": “http://learningdojo.net/xAPI/ActivityID",
"definition": {
"name": { "en-US": "Name of ID”},
"description": {"en-US": "Description"}
}
},
Breakdown - Object

xAPI in Action—Implementing and Sending xAPI Data to an LRS