xAPI analytics guide

This guide provides a high-level overview of xAPI. The xAPI, also known as the Experience API or Tincan API, is a new specification for learning technology that makes it possible to collect data about the wide range of experiences a person has (online and offline). This guide describes how the xAPI fits into Kaltura's product ecosystem, how to enable and configure xAPI in Kaltura MediaSpace™ (KMS) and other products, a description of events xAPI records, and troubleshooting/FAQs. This guide is intended for Kaltura partners, community members, and customers who want to understand xAPI analytics and configure Kaltura's xAPI Analytics Tool on their system(s).

This guide requires that users have access to both MediaSpace and the Configuration Management Section of MediaSpace. For technical support, please contact Kaltura Customer Care. Please contact your Customer Success Manager with all other inquiries.

Understanding xAPI and associated nomenclature

A Learning Management System (LMS) is a software application used to manage, record, and provide educational courses, training, or other learning programs. An LMS gives an organization the ability to create customized courses and track the progress of their learners. A Learning Record Store (LRS) is a unique type of server that collects all that learning data in one place. It stores the learning records and allows for reporting and exporting of raw data. LRSs are defined by the xAPI specification. 

The xAPI is a specification to support learning, teaching, and assessment that makes it possible to gather and measure information about online and offline user experiences. This API obtains data from a wide range of systems and different technologies in one uniform way, enabling the capture and sharing of this information using xAPI's straightforward vocabulary.

xAPI's critical role in Kaltura's product ecosystem

Kaltura's extensive product line for teaching and learning offers personalized video messages, lecture capture, video creation and other features. In an age of increased online learning, videos can be used for classroom capture, remote learning, accessibility, flipped classrooms, course materials, and video assignments and assessments. Kaltura's xAPI functionality (Kaltura's xAPI Analytics Tool) is designed to send a broad range of events from MediaSpace and other Kaltura product integrations to the Learning Resource Store (LRS). In Kaltura's case, the LRS acts as a digital grade book of sorts, tracking a learner's progress as they watch Kaltura-hosted videos required by their syllabus. 

The following set of xAPI events are delivered from Kaltura to the LRS:

EventDescription

playProgress

Start, 25%, 50%, 75%, 100% (events are sent when user has passed said marks in video).

playUser started or resumed the playback of an Entry.

pause

User paused playback of an Entry. (verb reference)

seek

User intentionally seeks to a different time in the Entry. (verb reference)

playbackRateChange

categoryView

User opens a gallery or channel page.

login

User logs into the KMS or LMS.

entryLike

User likes an Entry.

entryComment

User comments on an Entry.

entryUpload

User uploads an Entry.

entryUnlisted

User marks an Entry as Unlisted.

entryPublish

User publishes an Entry.

entryCollaborator

User is made a co-editor of an Entry.

captureSpaceLaunch

kalturaCaptureLaunch

User launches the Kaltura Capture product.

The following is sample xAPI data for a playProgress event. Click to expand the view. Note the highlighted line showing playthrough progress of 50%. 

{
  "actor": {
    "objectType": "Agent",
    "name": "John User",
    "account": {
      "name": "johnuser",
      "homePage": "https://example.mediaspace.kaltura.com"
    }
  },
  "verb": {
    "id": "http://activitystrea.ms/schema/1.0/watch",
    "display": {
      "en": "watched"
    }
  },
  "result": {
    "extensions": {
      "https://w3id.org/xapi/cmi5/result/extensions/progress": 50
    }
  },
  "context": {
    "contextActivities": {
      "category": [
        {
          "objectType": "Activity",
          "id": "http://tincan-definitions.kaltura.com/products/mediaspace/1",
          "definition": {
            "type": "http://id.tincanapi.com/activitytype/source"
          }
        },
        {
          "objectType": "Activity",
          "id": "https://example.mediaspace.kaltura.com/default/channels/view/channelid/21212121",
          "definition": {
            "type": "http://id.tincanapi.com/activitytype/category",
            "name": {
              "en": "Marketing"
            }
          }
        }
      ],
      "other": [
        {
          "objectType": "Activity",
          "id": "https://example.mediaspace.kaltura.com",
          "definition": {
            "type": "http://activitystrea.ms/schema/1.0/application",
            "name": {
              "en": "Kaltura MediaSpace"
            }
          }
        }
      ]
    },
    "extensions": {
      "http://tincan-definitions.kaltura.com/extensions/context/video-mode": "VOD"
    }
  },
  "timestamp": "2019-05-03T21:40:35+00:00",
  "object": {
    "objectType": "Activity",
    "id": "https://example.mediaspace.kaltura.com/media/t/1_msutjxqy",
    "definition": {
      "type": "http://adlnet.gov/expapi/activities/video",
      "name": {
        "en": "Kaltura Video Solutions for Media Companies"
      }
    }
  }
}s

Enabling and configuring event delivery

For events to be delivered to the LRS, you must enable and configure the Xapi module in the Configuration Management section of your MediaSpace instance or LMS integration (KAF Configuration Management). If your Kaltura account is integrated into a supported LMS, you must enable and configure one additional module - the Xapikaf module. 

To enable and configure the Xapi module 

  1. Log into your MediaSpace Admin or KAF Admin Console (by going to your MediaSpace URL and add 'admin' at the end, for example: https://{your_KMS_URL}/admin/  
  2. Login using your Kaltura user ID and password.
  3. Click Sign In. The Configuration Management screen is displayedIf this module is not in your MediaSpace application or LMS integration, please contact your Kaltura representative to enquire about adding it. 
  4. In the list of configurable items on the left of your screen, locate and click on the Xapi module. The Xapi configuration window is displayed.

    The xAPI item will be crossed out because it is disabled by default.  

    The Module info box displays a description of the module (what enabling this module allows users to do) and a link to the list of xAPI events that KMS currently supports.  

  5. In the enabled pull down list, select Yes to enable the Xapi module. 
  6. Specify connection parameters as shown in the following table. Retrieve the connection parameters from the LRS. Some LRSs allow for all providers to use the same key and secret. Some recommend creating separate keys and secrets for each provider. Follow the instructions of your LRS.

    Parameter

    Description

    endpoint

    The xAPI (TinCan) endpoint of your LRS.

    key

    The xAPI app key defined in your LRS.

    secret

    The xAPI app secret defined in your LRS.


  7. Specify integration parameters as shown in the following table.

    Integration NameValuesDescription

    sendAccountInfoInsteadOfEmail

    Yes or No (Default: No)

    (advanced)

    • If set to "No" (recommended), the actor.mbox property (user email) will be sent to the endpoint. If the user email is not available, the actor.account property (user ID and user site) will be sent.

    • If set to "Yes", only the actor.account property (user ID, user Site) will ever be sent.

  8. Click Save. You will receive a notice that your configuration for Xapi was saved and the cache was cleared. 

To enable and configure Xapikaf module

  1. In addition to choosing and enabling Xapi, select and enable the Xapikaf module.  
  2. Follow the instructions as for the Xapi Module.The Xapikaf module has no additional configuration options. 

Learning Record Stores supported

Kaltura xAPI is designed to support standards-based data exchange to Learning Record Stores. Following are the tested integrations, however, we welcome our clients to incorporate any other LRS they may be using at present. 

LRS NameAdditional Documentation
Watershed LRS
SCORM Cloud 
Apereo OpenLRW 

Troubleshooting 

ProblemTroubleshooting Steps

Data is not being passed to the LRS

  1. Confirm that the media playback event is happening in the LMS, MediaSpace, or through a MediaSpace secureembed.
  2. Confirm that the endpoint, key and secret have been correctly copied from the LRS system. Make sure there are no extra spaces or characters in the configuration.


Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

In This Article
Related Articles
Back to top

Never miss a thing!

Subscribe to our customer newsletter and our release notes updates, so you always get the best out of Kaltura.
Newsletter