Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Placeholder] Django admin pages to view and correct learner competency statuses

Open
#843 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

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

Research direction

Start by reading ADR-0004 and the requirements in issues #642 and #643, then map the learner competency and mastery-status models they describe. Resolve how staff corrections and tree rollups should behave before locating the Django admin entry points. Done means the correction behavior is decided and the required admin views support viewing and editing the relevant statuses.

Written by the indexing model from the issue text.

Description

Unresolved Requirements

  • Django admin pages are needed to view and correct a learner's competency status, meaning the mastery status recorded for a learner at the competency level, and at the criteria group and criterion levels once #642 adds those models.
  • Django admin pages are needed to view and correct the mastery statuses themselves, meaning the lookup table of AttemptedNotDemonstrated, PartiallyAttempted and Demonstrated.

Open Questions

  • How do we implement downward corrections? An automatic write may only raise a status, while a staff correction may lower one (ADR-0004 Decisions 4 and 6), and #643 states that no current work covers the staff correction path. Should a correction include the tree rollup, and can that rollup cause the loss of statuses on higher criteria groups or competencies, or the loss of a mastery status the learner had earned?
  • If a mastery status is changed by hand, how do we handle the tree no longer being in sync? The statuses above and below the changed row were computed from grades and from the old value, so they can disagree with the corrected row until something recalculates them.
Dominant language
Python
Stars
10
Forks
33
Avg merge
2d 4h
Merged PRs (30d)
10

Getting set up

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.

More from openedx/openedx-core

All issues in openedx/openedx-core

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.