Skip to main content

Aspects plugin for Tutor

Project description

Aspects Learner Analytics integrates several open-source tools to add powerful analytics and reporting capabilities to the Open edX platform. This plugin enables seamless installation, configuration, and deployment of these tools via Tutor. The tools integrated by Aspects are:

  • ClickHouse: A fast and scalable analytics database.

  • Apache Superset: A data visualization and exploration platform.

  • OpenFUN Ralph: A Learning Record Store that validates and stores xAPI statements in ClickHouse.

  • Vector: A tool for forwarding logs and xAPI data to ClickHouse.

  • Event-Routing-Backends: An Open edX plugin that transforms tracking logs into xAPI and forwards them to Learning Record Stores in near real-time.

  • dbt: A SQL-based data pipeline builder, utilizing the aspects-dbt project.

For more information, refer to the Aspects architecture documentation.

Key Features

  • Streamlined deployment of analytics and reporting tools.

  • Integration with Open edX for real-time and historical data analytics.

  • Extensible architecture supporting customization.

  • Open edX Teak or higher: In-context metrics in Studio.

Compatibility

Current versions of the plugin are compatible with Tutor 19.0.0 and later and support Open edX releases from Sumac onward. Older releases can support Open edX versions as far back as Nutmeg. Details are available in the Aspects Documentation.

Installation

Aspects is implemented as a Tutor plugin. For now, the easiest installation method is via Tutor. Follow these steps for a tutor local installation:

  1. Install Tutor: Follow the instructions at Tutor Installation Guide.

  2. Create an Admin User: Refer to the Tutor Setup Guide.

  3. Install and Enable the Plugin:

    pip install tutor-contrib-aspects
    tutor plugins enable aspects
    tutor config save
  4. Rebuild Docker Images:

    tutor images build openedx --no-cache
    tutor images build mfe --no-cache  # Only necessary if using in-context metrics
    tutor images build aspects aspects-superset
  5. Initialize the Environment:

    tutor local do init

Data Population Options

To visualize data:

  • Generate test data:

    tutor local do load-xapi-test-data
  • Import a demo course and create real data:

    Follow these steps.

  • Interact with the course to generate data:

    Complete a few activities within the course (e.g., enroll, take quizzes, watch videos) to generate real data. This will provide a more realistic dataset for analytics.

  • Sync data from an existing Tutor installation with default settings:

    tutor local do dump-data-to-clickhouse --options "--object course_overviews"
    tutor local do transform-tracking-logs --source_provider LOCAL --source_config '{"key": "/openedx/data", "container": "logs", "prefix": "tracking.log"}' --transformer_type xapi

Superset and Autoscaling

Superset Assets

Aspects maintains its Superset assets (dashboards, charts, datasets) in the repository. Local changes to these assets will be overwritten during updates unless saved as new assets.

To rebuild and re-import assets:

tutor images build aspects-superset --no-cache
tutor local do import-assets

Autoscaling

Aspects supports Kubernetes autoscaling configurations for Ralph, Superset, and Superset Worker via the Pod Autoscaling plugin. Modify autoscaling settings as needed.

Contributing Charts and Dashboards

To contribute Superset assets:

  1. Fork this repository and set up a local Tutor instance with Aspects installed.

  2. You should work on the non-localized versions of the Superset dashboards. Export the new or updated dashboard(s) using Superset’s “Export” feature. It is best to export the entire dashboard instead of just charts or datasets to ensure that all of the correct changes are captured.

  3. Use the command:

    tutor aspects import_superset_zip ~/Downloads/your_file.zip
  4. Update database connection strings to use template variables.

  5. Validate and rebuild:

    tutor images build aspects-superset --no-cache
    tutor aspects check_superset_assets
    tutor local do import-assets
  6. Submit a pull request with screenshots and details of your contributions.

Release Workflow

Releases are handled by repository maintainers via GitHub Actions:

  • Trigger the Bump version and changelog action to update the version and changelog.

  • Merge the PR to initiate the release and build-image workflows.

Ensure the updated version appears on PyPI and DockerHub.

Additional Resources

Project details


Release history Release notifications | RSS feed

This version

2.5.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tutor_contrib_aspects-2.5.3.tar.gz (164.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tutor_contrib_aspects-2.5.3-py3-none-any.whl (363.5 kB view details)

Uploaded Python 3

File details

Details for the file tutor_contrib_aspects-2.5.3.tar.gz.

File metadata

  • Download URL: tutor_contrib_aspects-2.5.3.tar.gz
  • Upload date:
  • Size: 164.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tutor_contrib_aspects-2.5.3.tar.gz
Algorithm Hash digest
SHA256 c9c327b426ccb8508c4107ebbe6d24849bd2760318cf9203f88bbda1d54d7380
MD5 81d28dd2952a4aaa2eba07b0193b4540
BLAKE2b-256 10eb615e7cddfeef855c190f04848ef314b44ee6a01ef5e7ed88b89f6743e719

See more details on using hashes here.

File details

Details for the file tutor_contrib_aspects-2.5.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tutor_contrib_aspects-2.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1ea347365b21b4e6d85a3d99f1714c811578a6a322b3d46185c6d5d440a9dbe6
MD5 f08936ae7c7858f72e560e11058b064d
BLAKE2b-256 11a0dd030c90748c6be2bd2b552c6ceeef017528f0a8701baf3a305b175148f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page