Install and configure Open edX with Valamis - part 2.

Introduction

This is short guide how you can integrate Open edX with Valamis & Liferay using Experience API. This article is in two parts. First part describes setting up Open edX. This second part is about configuring Experience API connector between Open edX and Valamis Learning Record Store. This article assumes that you have installed Open edX succesfully and you have Valamis 2.4 or newer running on your Liferay 6.2. You can find guide setting up Valamis and Liferay here: https://www.liferay.com/web/zsolt.berki/blog/-/blogs/setting-up-valamis-from-github

Business case

Your organization might be looking into using edX or any other course or learning management systems. Many large organisations can have multiple systems for learning or course activities. Migration and integration projects are difficult at best. It is imortant to be able to control the learning data for reporting, analytics and other purposes. This is why Experience API standard was defined and Learning Record Store was created.

With this integration, you can connect external course environment to your Liferay platform for storing the learning activities to provide single source for learning analytics and gamification. You can use this approach to connect multiple cloud based or third party learning solutions to Valamis and Liferay. For example, you are able to connect learning performance metrics to your organisation competencies, HR metrics and social intranet platform.

About Open edX 

The Open edX platform is an open source, course management system (CMS) that is developed by edX. The Open edX platform is used all over the world to host Massive Open Online Courses (MOOCs) as well as smaller classes and training modules.

About Valamis 

Valamis is an open source Learning Experience Platform (LXP), which not only enables formal learning but also social and informal learning. Valamis has strong emphasis on learning analytics, which are operated via Experience API (xAPI) and Learning Record Store (LRS). The combination of the Experience API and Valamis gives organizations a powerful tool to receive accurate analytics of learning processes of individuals as well as of groups of learners.

Configure Open edX for Valamis using Experience API 

For the next step we configure Experience API integration between Open edX and valamis. Open edX will act as a Experience API client and send statements to Learning Record Store in Valamis. Client will authenticate using secure OAuth to LRS.

After you have installed Open edX platform and Valamis successfully, you should install edx-xapi-bridge

$ git clone https://github.com/adlnet/edx-xapi-bridge.git
$ cd edx-xapi-bridge
$ virtualenv env
$ source env/bin/activate
(env)$ pip install -r requirements.txt
(env)$ deactivate
$  

 

Edit the file xapi-bridge/settings.py and change the properties to match your environment.

Configuring settings.py file: in this file you should replace 3 fields, where

1) LRS_ENDPOINT = 'http://yoursite.com/valamis-lrs-portlet/xapi/'

2) LRS_USERNAME and LRS_PASSWORD you can get, when you are create new account in Valamis Client Manager.

For example, for create new user in Valamis, open http://yoursite.com/web/valamis/admin (you need to setup Valamis Admin portlet and your url may vary) and click “+ADD NEW CLIENT” button

Add user to Valamis

then write Application Title, for example, edx and mark all checkboxes at “Autorization Scope”. Check, that Authentication Type is oauth and click “Save”.

After that you can get “client id” and “client secret”, where “client id” is LRS_USERNAME and “client secret” is LRS_PASSWORD. You should write all values with single quotes.

After configuring settings.py file you can run edx-xapi-bridge

$ source env/bin/activate
(env)$ python xapi-bridge [watchfile]
(env)$ deactivate
$

where [watchfile] is the path to the log to be watched. Default value [watchfile] is /edx/var/log/tracking.log. Make sure the user account running the xapi-bridge has permissions to read the log file.