openedx / openedx/openedx-aspects
Plugin: add aggregated completion events
@pomegranited is already working on this.
Since Jun 3, 2024.
- Dominant language
- Makefile
- Stars
- 8
- Forks
- 12
- Avg merge
- 16h 13m
- Merged PRs (30d)
- 4
Description
Completion events are standard, openedx events, so supporting them should be part of the Aspects core, cf https://github.com/openedx/openedx-aspects/issues/88.
OpenCraft maintains the completion aggregator plugin app which currently lacks support for tracking events.
Contribution https://github.com/open-craft/openedx-completion-aggregator/pull/173 adds tracking events for the aggregated completion states, and https://github.com/openedx/event-routing-backends/pull/377 proposed pulling them into the ERB. But since these events aren't openedx events, we'd rather keep the event routing logic with the aggregator app.
- Get https://github.com/open-craft/openedx-completion-aggregator/pull/173 tested and merged: https://github.com/open-craft/openedx-completion-aggregator/pull/206
- Refactor https://github.com/openedx/event-routing-backends/pull/377 into a https://github.com/open-craft/openedx-completion-aggregator PR: https://github.com/open-craft/openedx-completion-aggregator/pull/205
May require some refactoring of https://github.com/openedx/event-routing-backends/pull/377 to support sharing event routing and testing logic. - Create a dbt extension that adds aggregated completion views to aspects-dbt. https://github.com/open-craft/dbt-completion-aggregator/pull/1#
- Create a tutor plugin that adds custom tab / charts to display aggregated completion information in instructor dashboard https://github.com/open-craft/tutor-contrib-completion-aggregator/pull/1
- Document this example of how to create Aspects plugins in the How Tos:
https://docs.openedx.org/projects/openedx-aspects/en/latest/technical_documentation/how-tos/xapi_transforms.html
https://docs.openedx.org/projects/openedx-aspects/en/latest/technical_documentation/how-tos/dbt_extensions.html
Ensure caveats of the aggregator are noted (cf sync vs async) if providing installation instructions. - Optional: create a management command to read the completions aggregates from the database and send them in a way that we can backfill this data. cf https://github.com/openedx/openedx-aspects/issues/88 for ideas on how to approach this.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.