openedx / openedx/credentials

[Badges] Badge and progress records do not store enough context about achievement

Open
#2,986 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
25
Forks
83
Avg merge
11h 51m
Merged PRs (30d)
1

Description

Description

The current badge data model stores only limited information about learner progress and awarded badges.
So to understand why this learner has this badge or which course activity created this progress record, it's necessary to research in depth the current template configuration and reconstruct from it.

Supporting Info

Examples of information that might be helpful to store directly with progress or badge records:

  • source course key
  • enrollment reference
  • event identifier
  • triggering timestamp
  • exact rule match history

This is especially difficult when badge templates have multiple requirements or change over time.

Expected Result

It's possible to trace a badge or progress record back to the course, enrollment, and event activity that caused it.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the current badge and progress data models alongside the badge template configuration, then trace how records are created from course, enrollment, and event activity. Done means the required context and rule-match history can be retained well enough to explain why a badge or progress record exists, including when templates change.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.