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.
Download Version 1.0.1 :
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