using xAPI in a Virtual Learning Environment VLE
Recently I’ve been conducting a little more research into the Experience API, also known as xAPI and Tin-Can API. For those that don’t know, xAPI is the new standard to replace the dated SCORM packages that were created some 10 years ago. Whilst SCORM is great and has its place, there are many limitations to what it can do. You can read more about the xAPI at https://tincanapi.com/.
This fine if you only use it in a Learning Management System (LMS), but this got me to thinking: What if your VLE consists of more than just a LMS? How do you know what your students are learning?
The xAPI is a standard of defined statements that can contain (amongst other things, visit https://tincanapi.com/statements-101 to find out more) Verbs that includes “experienced”, “attended”, “attempted”, “completed”, “passed”, “failed”, “answered”, “interacted”, “imported”, “created”, “shared”, and “voided”. They form a basis of the statement in an Actor Verb Object where Actor is the user, Verb is what they did and the Object is what it was, so put simply, What the User Did with Something.
These add meaning to what a user is actually doing. For example, if a student accesses a H5P Quiz within your WordPress, the statement may say ‘Joe Bloggs interacted with Activity 1’ and as Joe progresses through the quiz, statements will be generated providing details on the questions answered. The xAPI makes the recording of learning data much more person-centric, something that SCORM is not real good at.
So I mention in the title, the Evolving VLE. What I mean by this is that with the introduction of xAPI, your VLE can become much more streamlined and benefit from a single repository for storing student learning experiences. So let’s take this a bit further and examine what we need to start. You will need a Learning Record Store (LRS). This will be you central repository for ALL of you statements, no matter where they come from. This could sit on an independent public facing server, but the statements passed will need to have user details to access the LRS. There are a few out there on the market at the moment but the one that seems to be taking up traction is Learning Locker (https://learninglocker.net/). Learning Locker has built-in reports and custom reporting that can be used to generate your student / course / activity reports. It also has an API that can be accessed to generate your own reports or applications.
All of your learning tools can be interfaced to pass statements to the centralised LRS and as your VLE grows, you simply provide the LRS login details and add it to your VLE.
Let’s look at an example to see how we can start with a simple VLE that consists of a LMS (Moodle), Content Management System (CMS – WordPress), Browser Bookmarklet and a LRS (Learning Locker).
First we set up our LRS and create the Key’s and Passwords to be able to connect. This will give us an Endpoint as well, which we will need to connect to our LRS. That’s pretty much all you need to do at this stage.
Next, setup your LMS in this case, we are going to use Moodle. There is a plugin you can get that will allow Moodle to generate xAPI statements and fire them off to a LRS. Have a look at the plugin Logstore xAPI – https://moodle.org/plugins/logstore_xapi. Depending on your plugins, you may have done some additional coding or configuration to interface to the LRS. I wrote an article on how to update the Moodle H5P Plugin (https://moodle.org/plugins/mod_hvp ) to interface to a LRS. Read more at http://juliandavis.com/connecting-h5p-interactive-activity-in-moodle-to-an-lrs/ . So now we have our LMS interfacing to our LRS and all is happy in the world!
Now what if a student is researching or learning something on a website? Wouldn’t it be great to have the student / user just click a bookmark and send an experienced statement to your LRS? Our friends at http://tincanapi.com have developed a tool that will allow you to create a bookmarklet and drag it into your browser toolbar. You can see it at http://tincanapi.com/bookmarklet/ . Now while this is pretty awesome, you’d need to modify it a bit to use in the real world. I’m pretty sure your students / users would have no idea what the Endpoint, Key and Secret are to your LRS!
Download the simple LRS Bookmarklet.
You will need to update the variables LRSuser, LRSpass and LRSendpoint to point to your own LRS. If you need a free LRS to test, checkout https://cloud.scorm.com .
Once you’ve run the code (can be run without the local web server), enter in the name and email and click on Generate Bookmark. This will show a new box with a new button titled Save My learning. Drag this to your tool bar. Navigate to any website and click on the new bookmark you just created. You will see a window open the looks like below.
Click on Send Statement to send to your LRS.
When viewed in your LRS (in this case, SCORM Cloud), you’ll see the statements for the user.
Finally, we have WordPress. Now if you’ve got WordPress set up as your front facing main website, perhaps you would want some for registration via this site. There are a couple of plugins you could use, a quick search found these ones https://wordpress.org/plugins/tags/xapi
Below is a simple overview diagram of what I’ve just discussed.
So now we have a baseline for our VLE where learning can start to be designed, developed and recorded using xAPI.