Open edX Proposals Index
Contents
Open edX Proposals Index#
OEP (pronounced “oh-epp”) stands for Open edX (Enhancement) Proposal. An OEP is a document that details a specific technology decision being made by the Open edX community, in the form of a best practice, architecture design, or process adjustment. An OEP should provide the use cases and rationales that surround that choice. OEPs are not the only way for a change to be made to Open edX, however, the goal is to create a collection of OEP documents as a repository or knowledge archive of large and broadly relevant choices made for the platform.
OEPs#
Processes#
OEPs that relate to processes we want to put in place for the Open edX community.
Best Practices#
OEPs that relate to best practices that you should follow when working with the Open edX Platform. These are guidelines and not requirements. Use them unless you have a good reason not to.
Best Practices
- OEP-2: Repository Metadata
- OEP-7: Migrating to Python 3
- OEP-9: User Authorization (Permissions)
- OEP-11: Front End Technology Standards
- OEP-13: Open edX web API conventions
- OEP-16: Bootstrap Adoption
- OEP-17: Feature Toggles
- OEP-18: Python Dependency Management
- OEP-19: Developer Documentation
- OEP-22: Caching in Django
- OEP-34: Lint Amnesty
- OEP-37: Dev Data
- OEP-38: Data Modeling Best Practices
- OEP-42: Authentication
- OEP-47: Semantic Versioning
- OEP-51: Conventional Commits
Architectural Decisions#
OEPs that capture architectural decisions that impact the entire Open edX Platform. These are decisions that are sufficiently cross-cutting that there is no clear code repository where they should reside.
Architectural Decisions
- OEP-3: Asynchronous Task Management
- OEP-4: Application Authorization (Scopes)
- OEP-5: Pre-built Developer Environments
- OEP-6: Context-scoped XBlock Fields
- OEP-12: Pluggable User Interfaces
- OEP-14: Archiving edX GitHub Repositories
- OEP-15: Course-wide Custom JavaScript
- OEP-23: Style Customization
- OEP-26: Real-time Events
- OEP-30: PII Markup and Auditing
- OEP-31: Micro-frontend Internationalization
- OEP-32: Unique Identifier for Users
- OEP-41: Asynchronous Server Event Message Format
- OEP-45: Configuring and Operating Open edX
- OEP-48: Brand Customization
- OEP-49: Django App Patterns
- OEP-50: Hooks extension framework
- OEP-52: Event Bus Architecture
- OEP-58: Translations Management