Personal Data


Introduction

With TRAX LRS, each user can see its personal data and transfer it to an external LRS.

{warning} Privacy features are not available with the basic configuration profile of TRAX LRS. You should take it into account when choosing the configuration profile of your installation.

Declaring the agent(s) of a user

On the Accounts > Users page, create a user account if it does not exist, and give it a role. The assigned role does not need any specific permission. So you can for instance create a Learner role without any permission and assign it to the created user account. Be aware that users without a role can't log into the application.

Then, on the account row, click on the blue icon. This will open a page where you can declare a list of agents for the edited user account.

Finally, the created user can log-in and explore its personal data, including all the statements, agents, profiles and states associated with its account.

Getting a personal endpoint

Once a user account have been created and associated agents have been declared, the user can log-in and go to the Privacy > My endpoint page, where he can create a personal endpoint.

This endpoint can be used to pull the xAPI data of the user from an external LRS. It gives access to the standard APIs of the xAPI spec, with a few restrictions for security reasons.

First, CORS policy is not supported. Then, there are some limitations on the standard APIs listed below.

Statement API

  • Using a method other than GET will return a 403 error.
  • Using the statementId or voidedStatementId paramteters will return a 403 error.
  • Using an agent parameter which is not associated with the user account will return a 403 error.
  • Only the statements associated with an agent of the user will be returned.

Agent API

  • Using an agent parameter which is not associated with the user account will return a 403 error.

Agent Profile API

  • Using a method other than GET will return a 403 error.
  • Using an agent parameter which is not associated with the user account will return a 403 error.

State API

  • Using a method other than GET will return a 403 error.
  • Using an agent parameter which is not associated with the user account will return a 403 error.

Activity API

  • Trying to use this API will return a 403 error.

Activity Profile API

  • Trying to use this API will return a 403 error.

Removing personal data

Assuming that you already created a user account and declared the associated agents, go back to the Accounts > Users page, click on the agents link of the user, then, click on the Delete agents and related data.

The deleted agents are still visible but appear in grey. This means that they are in the process to be deleted. The agents and related xAPI data will be deleted with the following command, that you should run with a CRON job running during a low activity period, every 24 hours.

php artisan agents:cleanup