Learning Analytics Documentation

Overview

Jisc provide a RESTFul API to access LRW Data. Each application reading the data is consider a client and should have a client configured in LRW. Jisc can assist with this. Each client has it's own username and password for access to LRW, and can have it's access scope limited.

LRW supports two modes of query via RESTful APIs

  • ▪ xAPI Standard
  • ▪ Aggregation

The latter is the recommended approach.

Typically there will be two modes of query:

  • ▪ Realtime - the application wishes to get data and display it straight away
  • ▪ Batch - the application wished to download large chunks of data for onward processing.

Not all queries are suitable for real-time processing. This is cover more in the detail section below.

Step 1 : Review xAPI General Principles eg HT2 Guide to xAPI

Step 2 : Review the Learning Locker documentation: Learning Locker API Documentation

Step 3 : Review the Jisc xAPI templates and recipes: Jisc xAPI

Step 4 : Review the additional guidelines below

Step 5 : Set up a client in LRW to access the data.

Step 6 : Set up a Postman environment to test the queries.

Step 7 : Integrate the query into your application.

If you application doesn't support integration via RESTful APIs then contact Jisc for advice.

Detail

The learning records warehouse will typically contain many millions of rows of data, and therefore queries need to be carefully constructed in order to ensure efficient query.

Typically there will be two modes of query:

  • ▪ Realtime - the application wishes to get data and display it straight away
  • ▪ Batch - the application wished to download large chunks of data for onward processing.

Not all queries are suitable for realtime mode, for performance reasons. Generally queries that first break the data set into a smaller subset perform well, whereas those that scan across the entire data set will perform poorly and should use batch mode instead.

Suitable Realtime examples*Total VLE access for a module between two dates*Total VLE access for a student between two dates*Total VLE access for a module by day/month/week between two dates*Total VLE access for a student by day/month/week between two dates

**Unsuitable Realtime examples*Total VLE access for an institutions between two dates when the date period is long

Query Optimisation Tips

1) Use Timestamp not Statement.Timestamp

Statement.Timestamp is defined in xAPI as a string, and therefore can be inefficient. Timestamp is provided by Learning Locker as a date object.