Aspects V1 Release Technical Approach
Deliverables
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:
Tutor
Open Analytics
xAPI for Default Data Transfer and Storage
Superset as Data Visualizer
ClickHouse as Analytic Database
Ralph as Learning Record Store
Areas of Responsibility
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
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:
CilckHouse user config not working in k8s · Issue #558 · openedx/tutor-contrib-aspects
Dictionaries in Alembic block ch_admin password changes · Issue #553 · openedx/tutor-contrib-aspects
Perf: Only recreate materialzed views when necessary · Issue #546 · openedx/tutor-contrib-aspects
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).