Collecting fine grained information about what students are doing within a full range of online systems, from browsers, smart phones, etc is difficult. You can use Web analytic's or a tool specific for a given application, however, then you are limited in the quality of the data and the range of software. Migration or interconnectedness between Campus systems requires extra actions to translate well to your Learning Analytic's projects. By getting the activity streams out of a given silo and storing in a central location (a Learning Record Store) using a standards based protocol allows for the greatest degree of interoperability and also clean data. One of the biggest costs for many LA projects is the merging and clean of data sets. Using a well defined structure for passing the student activity stream decreases these costs considerably. Interoperability, the ability to create campus wide deployments and clean data are the thrusts of this project.
For an introduction to Learning Record Stores see: http://tincanapi.com/overview
In this project we enable Sakai CLE to talk via the Experience API with Learning Record Stores. The University of Amsterdam needed this capability to stimulate local Learning Analytics pilots. Unicon provided the framework.
The project initial goals were:
- Create a Sakai API which can use a variety of learning record implementations (possibly multiple ones at a time) which will allow for future implementations and also can allow tools and other parts of Sakai to register LRS activities in a centralized way.
- Provide an internal integration with the experience API which is suitable for inclusion in the Sakai and covers core functionality.
We are now looking for cooperation and resources to expand and refine the feature set.
Contact point: a.m.berg AT uva.nl
Apereo 2013 presentation: https://docs.google.com/presentation/d/1svLBrNIlMQFYHUjB17GxURqk7CgZVltk1XAXmGP619A/
How things Works
If enabled in the configuration, every time a potential learning event occurs a JSON message is sent to a Learning Record Store using the Experience API protocol. The Learning Record store securely saves this. Later, Learning Analytic's Applications can query the Learning Record Store.
The strength of this approach becomes apparent when you create a dashboard application that is BasicLTI enabled. This allows the dashboard to appear in most modern Learning Management Systems. You now have an infrastructure that is standards based and agnostic to any particular campus application. Migration between systems or the addition of systems is simplified for large scale production ready Learning Analytic's projects.
The following instructions runs a demonstration locally using Sakai CLE trunk and the reference implementation of a Learning Reocrd Store from ADlNet.
Installing the Learning Record Store
Follow the instructions found at: https://github.com/adlnet/ADL_LRS
Note: You can find an excellent distribution list on tincan api at: https://groups.google.com/a/adlnet.gov/forum/?fromgroups#!forum/TinCanAPI-adopters
Adding a user to the Learning Record Store
Visit http://localhost:8000/xapi/register/ and add a new user.
Compiling Sakai CLE trunk
Assuming that you have the current version of Java 6 or 7 installed, the following instructions work:
- svn co https://source.sakaiproject.org/svn/sakai/trunk/
- cd trunk
- mvn clean install -Ppack-demo
- In the pack/pack-demo directory you will find sakai-demo-2.10-SNAPSHOT.tar.gz or the zip version.
- Place in a suitable location and expand and then run Sakai (start-sakai.bat or .sh)
- Wait 90 seconds and test by browsing http://localhost:8080
Compiling and Deploying the tincan API provider
Requires version 10 (trunk) of Sakai or better.
Download or checkout the Unicon TinCanAPI provider (this README is part of it).
Build the code using maven 2 or 3:
mvn clean install sakai:deploy
Add the config (as shown in the config section above).
Restart the Sakai server and check the logs. You should see some LRS INFO logs
about a successful init OR error messages that explain the problem.
Here is the minimal set of properties for Sakai CLE to communicate via BasicAuth:
Note: User and password are from the user you made in the Learning Record Store
For full debug details during logging add:
The properties needed to configure OAUTH are:
Security, Security, Security
In production, the transport of student activity streams should take place over https. This avoids the risk from packet sniffers.
Sakai CLE specific details
How can I help out
Here are a list of ways you can help out. And of course if you have other suggestions please feel to expand.
- Implement a pilot
- Improve the feature set
- Clean up any bugs found
- Disseminate the knowledge
- Build a BasicLTI enabled Learning Analytic's dashboard