Webinar for xAPI Chinese CoP (X Talks) Interviewed with Jessie Chuang Mark Berthelemy Licensed under CC BY-NS-SA
Two case studies Continuing Professional Development (CPD) management system Software training simulation
Why xAPI? Capture data from any activity, not just those in the LMS
xAPI design required Identify use cases Identify data required for use case Identify or create vocabulary for use case Mockup statements for use by developers How will actors be identified consistently? How will activities be identified consistently?
Learning Record Store (Learning Locker) Backend database (Moodle) Front end (Javascript application) Secure communication backend (nodeJS) Authentication & user profile (Twitter) Group membership Roles Course enrollments Activities Aggregated reports Activities Aggregated reports
Why xAPI? Richer data than SCORM, allows deeper analytics Offers ability to correlate data from real application usage
xAPI design required Identify reporting requirements Identify data required to generate reports Identify vocabulary needed in statements Identify when statements will be sent How will actors be identified consistently? How will activities be identified consistently?
xAPI implementation questions What reports will be required? Does the data need to work outside of the organisation? What vocabulary will you use for verbs, activity types, extensions, and contexts? How will you identify actors? How will you identify activities?
xAPI’s killer application
INTRODUCTION TO XAPI
Statements State Activity profiles Agent profiles
{Actor} {Verb} {Object} {Actor} {Verb} {Activity} {Context} {Result} Simplest form g More useful g A means of identifying the user a What did the user do? a What did they do it to? a Where did they do it? a What did the activity result in? a
{ "actor": { "objectType": "Agent", "account": { "homePage": " "name": "GUID12345" } }, "verb": { "id": " "display": { "en-GB": "experienced" } }, "object": { "objectType": "Activity", "id": " "definition": { "type": " "name": { "en-GB": "Health and safety - manual handling" }, "description": { "en-GB": "A practical course on manual handling" }, "extensions": { " { "name": "All hands on deck training", "homePage": " } }, "result": { "extensions": { " "yes" } }, "context": { "contextActivities": { "category": [ { "id": " "definition": { "name": { "en-GB": "Health and Safety" }, "type": " } ] } }, "timestamp": " T23:59Z" }
Security Any web-based resource can generate statements All calls to the LRS require credentials Credentials should be secret Communication should be server to server
Other APIs State: a scratch pad for an activity provider to keep useful data for this actor Activity profile:core metadata about an activity Agent profile:user-defined metadata about an agent