Aspects V1 Release Technical Approach


  • Means for navigating from Open edX LMS to Superset

  • Course dashboard in Superset

  • Course dashboard for a subset of learners in Superset

  • Ability to search for an individual student and view subset dashboard for a single student in Superset

  • Operator dashboard in Superset (as it currently appears in beta - improvements to follow in a future release)

See Product Requirements Document for end user facing detailed requirements for each deliverable listed above.

Technical Details

Technical Approach

In short, this is a list detailing the selected technologies being used to run Aspects:

  1. Tutor

  2. Open Analytics

  3. xAPI for Default Data Transfer and Storage

  4. Superset as Data Visualizer

  5. ClickHouse as Analytic Database

  6. Ralph as Learning Record Store

  7. Areas of Responsibility

  8. Alembic Migrations

This link provides more detail about each technology selected to build aspects. See the for more details about how each of these technologies work together to ultimately display data generated in platform in Superset.

Alternative Approaches Considered

  1. Rejected alternatives to Open Analytics

  2. Rejected alternatives to xAPI for Default Data Transfer and Storage

  3. Rejected alternatives to Superset as Data Visualizer

  4. Rejected alternatives to ClickHouse as Analytic Database

  5. Rejected alternatives to Ralph as Learning Record Store

  6. Rejected alternatives to Areas of Responsibility

  7. Rejected alternatives to Alembic Migrations for Aspects

Implementation Details

  • Aspects will be developed as a Tutor plugin, supporting all of the Tutor modes of operation (development, local, and Kubernetes).

    • Instructions for how to run Aspects outside of Tutor will also be provided, but not supported for v1.

  • By default we will share the Tutor-configured MySQL and redis instances, as well as a ClickHouse instance configured by the Aspects plugin, however these can be overridden to use separate instances or 3rd party hosted services.

  • We will rely on a Studio / LMS plugin to deliver platform metadata that is not appropriate for xAPI learning traces, such as course structure and learner metadata.

  • We will use single-sign-on with the LMS as a backend to provide Superset user authentication and permissions.

  • Numerous extension points will be provided to allow operators to create and maintain additional data sources, transformations, charts, and dashboards using configuration-as-code.

Technical Limitations

  • We’ve decided to omit demographics data from this initial release due to limitations around demographics data on the platform to date.

  • Right-to-left language support is not yet available in Superset.

  • Currently the LMS only provides relatively course permissions, therefore the roles in Superset are not able to be very fine grained.

Technical Requirements for Aspects V1

Deployment Requirements

  • Can be deployed in Tutor local or Tutor Kubernetes

  • Can be deployed using ClickHouse Cloud or Altinity Cloud to host ClickHouse

Resolution of known bugs

Before we consider this V1 release complete, we must address the following known bugs with Aspects beta:

Nonfunctional Requirements

Nonfunctional Requirements are also listed in the Product Requirements Document and consist of the following:

  • Can scale to handle our estimated data size for 1 year of 2 million learners on a small ClickHouse Cloud instance, with all instructor facing chart queries returning in under 5 seconds.

  • Must be supported in the following languages:

    • English upon release

    • Plan to work with Translations Working Group to make sure dashboards are translated into the 19 languages for which the community has translators for which Superset can support (as noted above: Superset does not currently support right-to-left languages).