openedx / openedx/openedx-platform

Extract non-Core apps into Hooks-based platform plugins

Open
#36,184 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

This ticket is about refactoring non-core applications in the Open edX platform by converting them into hooks-based plugins. All details available in the oep. Instead of keeping all functionality tightly coupled within the core platform, certain apps/modules should be extracted into standalone plugins that integrate with the system using Open edX’s plugin framework. Following are some suitable candidates.

Goals

  • Improve modularity by moving non-essential apps out of the core codebase.
  • Utilize hooks-based plugins for seamless extension and integration.
  • Reduce technical debt by isolating features that don’t belong in the core platform.

Technical Approach

  • Implement appropriate entry points to ensure smooth interaction between the core platform and the extracted plugins.

Potenial apps

  1. ora_staff_grader
  2. program_enrollment
  3. survey
  4. zendesk_proxy
  5. lang_pref
  6. password_policy
  7. geoinfo
  8. ace_common

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 reading OEP-0050 and comparing the listed candidate applications, including openedx/core/djangoapps/zendesk_proxy, lang_pref, password_policy, geoinfo, and ace_common. Identify one app and its required entry points; done means the selected non-core app is standalone and integrates through the hooks-based plugin framework.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.