Skip to content

Badger #557

@eemaanamir

Description

@eemaanamir

Background

Badgr support in Open edX was deprecated after the Redwood release, making the legacy integration unusable on newer releases.

For Teak, badging has been reintroduced using a new external Django app, rather than reviving deprecated edx-platform code.


Approach

Badging is implemented via a standalone Django app:

  • Repo: edly-io/openedx-badges
  • Installed as an external Django app
  • Configured entirely through Django settings
  • Integrated using platform signals (certificate generation / course completion)

This keeps the integration modular and avoids reintroducing deprecated Badgr logic into edx-platform.


Workflow Summary

  1. Admins configure Badgr credentials and issuer details via settings
  2. A course-level boolean field (issue_badges) controls whether badges are issued
  3. On certificate generation:
    • A badge class is created if it does not already exist
    • A badge assertion is issued and stored locally
  4. Awarded badges are exposed via a simple API endpoint

Related PRs


Notes

  • Runtime patching of course fields is not supported; the issue_badges field must exist in CourseFields
  • Requires a Badgr-compatible server with appropriate issuer permissions

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions