/learning-analytics-playground

:factory: A playground using OpenEdx to generate factice learning logs

Primary LanguagePythonMIT LicenseMIT

Learning analytics playground

Description

This tool is dedicated to generate learning events (aka tracking logs) from a LMS platform to feed dashboard development testing datasets. It is intended to be used locally.

Usage

Launch Edx platform

  1. Run the following command to launch the Edx platform:
make bootstrap
make run-edx

Note: as the command includes migrations, it may take some time to complete (several minutes). Go grab a coffee, a tea or whatever pleases you!

  1. When connections are established, you can access to:

  2. Two users are available for testing the LMS/CMS:

Role Email Password
admin admin@example.com admin
student edx@example.com edx

Note that it is also possible to create customized users at your convenience, but remember that those accounts will not persist if you remove the database container.

Run end-to-end tests

In this playground, end-to-end tests have been implemented to simulate learning events generation.

As this project is evolving, the tests will progressively comprises a wide panel of use cases.

The following command runs end-to-end tests:

make test

Graylog

Generated events with end-to-end tests or with manual navigation on the LMS service are observable on the Graylog server.

Configure an input on Graylog interface

  1. Access Graylog interface with admin:admin credentials.

  2. To configure the input where to listen the LMS server, click on System bar menu and Inputs button.

  3. On Select input, choose GELF TCP and click on Launch new input button.

  4. In the input window appearing, enter the input title you want.

  5. Check that binding adress is 0.0.0.0 and the listening port is 12201.

  6. Ensure that Null frame delimiter? option is activated (on the bottom of the windows), otherwise logs won't be recognized and streamed.

  7. Click on Save button.

Stream events

  1. Go on LMS server and navigate through the website.

  2. On the Graylog server, go on Search and update the timeframe on Search in all messages option if no logs are visible.

  3. You should see appearing a list of all the messages you have generated!

Keycloak

The keycloak SSO service is pre-configured for the fun-mooc realm.

Use the ad hoc Make target to run the service:

make run-keycloak

It can be accessed at http://localhost:8080. Admin credentials are: admin:pass.

The potsie client has been configured to login to grafana (see the openfun/potsie project).

Use the ad hoc Make target to provision fun-mooc realm:

make realm

You can now login to grafana using the following credentials: grafana:funfunfun.

License

This work is released under the MIT license (see LICENSE).