LRSDump 

LRSDump is a xAPI tool to extract data from an LRS (Learning Record Store) in order to use them with BI (Business Intelligence) or Learning Analytics tools.

LRS

Download Version 1.0.1 : Windows (64bit) Linux (64bit)

 Documentation 

Set up

lrsdump [] [--=]

lrsdump -h to display Help

Examples :

With Learning Locker:

Command : lrsdump --since="2019-01-01 00:00:00"

Fichier conf.json
{
"endpoint": "https://saas.learninglocker.net/data/xAPI",
"username": "xxxxxxxxxxxxxxxxxxxxxxx",
"password": "xxxxxxxxxxxxxxxxxxxxxxx",
"outputDirectory": ".",
"OutputFormat": "CSV",
"Ascending": false,
"DayPerDayLoading": true,
"AnonymizeData": true,
"BatchSize": 500,
}
With SCORM Cloud

Command : lrsdump

Fichier conf.json
{
"endpoint": "https://cloud.scorm.com/lrs/XXXXXXXXXX/",
"username": "xxxxxxxxxxxxxxxxxxxxxxx",
"password": "xxxxxxxxxxxxxxxxxxxxxxx",
"outputDirectory": ".",
"OutputFormat": "CSV",
}
With  Cornerstone On Demand CSOD

Command : lrsdump

Fichier conf.json
{
"endpoint": "https://xxxxxxx.csod.com/services/api/LRS/",
"OauthTokenUrl": "https://xxxxxxx.csod.com/services/api/oauth2/token",
"username": "xxxxxxxxxxxxxxxxxxxxxxx",
"password": "xxxxxxxxxxxxxxxxxxxxxxx",
"outputDirectory": ".",
"OutputFormat": "CSV",
}

Configuration

Configuration options are read from (in this order):

  • The conf.json file (another file can be specified as first argument)
  • Environment variables (Prefix options with « CONF_ »
  • Use command line arguments (ex. –username=Admin)

Example of conf.json:

{
  "endpoint": "https://mylrs.com/xapi/",
  "username": "",
  "password": ""
}

Available options

  • Endpoint [Required] : Url of the LRS endpoint
  • Password [Required] : Password or Secret
  • Username [Required] : Username or Authentication Key
  • OauthTokenUrl : If your LRS is using an oAuth2 authentication (like CSOD Cornerstone On Demand), indicate the token request URL.
  • AnonymizeData (Default: False) : Anonymize all personal data of the Actor
  • Ascending (Default: True) : Send the Ascending option
  • BatchPerDay (Default: False) : Sometime (We had the case with SAAS Learning Locker instances) LRS as too many data and could not respond quick enough, this option batch main LRS query per day.
  • BatchSize [Range(1, 10000)] (Default: 1000) : Result asked par requests, if the value is higher than the LRS can accept it must lower it automatically
  • OutputDirectory (Default: .)
  • OutputFormat [values: JSON, CSV] (Default: JSON) : see formats
  • Since [Format(“yyyy-MM-dd HH:mm:ss”)]
  • Until [Format(“yyyy-MM-dd HH:mm:ss”)]

Format

  • JSON format generate a big JSON array containing all statements
  • CSV format generate 3 files in the OutputDirectory:
    • actions.csv all statements
    • actors.csv details about actors
    • objects.csv details about objects