GitXplorerGitXplorer
g

django-xapi-client

public
2 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
a2531c130c494a2380d4ec732165a531bb0d60ff

longer timeout; send_statement timeout to logger

ggtoffoli committed 7 months ago
Unverified
31f0876abeb5c6e840ceed753a1dcfc2a23608cb

Added Exception value in arg of logger.debug

ggtoffoli committed 7 months ago
Unverified
73d29680e9fac2492af48769835f3a7a094763c1

Added exception logging in remote LRS building.

ggtoffoli committed 8 months ago
Unverified
acc7029b886c8f021832b78039125847b8012c0c

Added result from LRS to 'tracking' logger.

ggtoffoli committed 8 months ago
Unverified
33d3b9a1fb1fb18b0645b3c9f53da21259c25ac6

Replaced diagnostic print with 'tracking' logger.

ggtoffoli committed 9 months ago
Unverified
585ebcd63b378d57f5182244dd8414afa09cdf40

Added diagnostic print in xapi_statements module.

ggtoffoli committed 9 months ago

README

The README file for this repository.

django-xapi-client

A set of functions to put, get and process xAPI statements.

This is a Django app for writing statements to, and reading statements from, an xAPI Learning Record Store (LRS) and supporting some processing on them.

This app was initially created by extracting some code from the CommonSpaces Platform, and was tested with the Learning Locker LRS. Now we have interfaced it also to TRAX LRS.

django-xapi-client relies on the Python implemetation of the xAPI protocol TinCanPython, developed by Rustici Sofware, as maintained by the OpenEdx project. It is still used as an extension of CommonSpaces inside a few Erasmus+ projects.

This client also implements:

  • a UI form for assisting a user in composing xAPI statements manually and sending them to an LRS, as a self-declaration of learning-related activities, possibly in informal learning contexts;
  • a UI form supporting the computation of the URL to be used for getting a Parameterized Learning Analytics Dashboard from Learning Locker.

As a Django app, django-xapi-client has to be configured with a set of context variables defined in the settings module of the main app, which, in our case. is commons (some of these are hidden in a private include file). They include

  • HAS_LRS - enabling / disabling the sending of the xAPI statements;
  • LRS_VERSION - eg. 1.0.1 or 1.0.3;
  • LRS_ENDPOINT - an url defined by the LRS, possibly in relation with a username;
  • LRS_USERNAME - mandatory if LRS_AUTH is not provided;
  • LRS_PASSWORD - mandatory if LRS_AUTH is not provided;
  • LRS_AUTH - if not provided, it is computed by TinCanPython.