-
Notifications
You must be signed in to change notification settings - Fork 7
Badger #557
Description
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
- Admins configure Badgr credentials and issuer details via settings
- A course-level boolean field (
issue_badges) controls whether badges are issued - On certificate generation:
- A badge class is created if it does not already exist
- A badge assertion is issued and stored locally
- Awarded badges are exposed via a simple API endpoint
Related PRs
-
feat: updated badging setup and support edly-io/openedx-badges#3
Introduces the new Badgr-backed Django app and core badging logic -
feat: added new course field to issue badges #579
Adds the requiredissue_badgesfield toCourseFields -
chore: merge develop into master edly-io/openedx-badges#4
Syncs stabilized changes to master -
feat: added badger app settings to enable badging tutor-contrib-wikilearn#31
Exposes badging configuration for Tutor-based deployments
Notes
- Runtime patching of course fields is not supported; the
issue_badgesfield must exist inCourseFields - Requires a Badgr-compatible server with appropriate issuer permissions