openedx / openedx/openedx-platform
Extract non-Core apps into Hooks-based platform plugins
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
- ora_staff_grader
- program_enrollment
- survey
- zendesk_proxy
- lang_pref
- password_policy
- geoinfo
- ace_common
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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