OEP (pronounced “oh-epp”) stands for Open edX (Enhancement) Proposal. An OEP is a document that details a specific technology or community 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.
View the published list of Open edX Proposals (OEPs) on ReadTheDocs.
This repository holds a bunch of text files, each of which represents an OEP or supplementary documentation. For browsing these OEPs, we recommend you read them in their published form on ReadTheDocs.
Contributions are very welcome. Please read How To Contribute for details.
OEPs are foundational community documents. The whole community is invited to collaborate on these documents, from writing to fixing to updating to reviewing. Persons interested in following OEP progress should join the #open-edx-proposals Slack channel and/or follow the Announcements category in the forums.
Any member of the community is welcome to propose changes or addendums to existing OEPs, or to propose a brand new one! All that is needed is to fork this repo and get writing. We use ReStructured Text (RST) to write all our OEPs, and we discuss all proposed changes and additions on pull requests.
Before you make a pull request with your proposed changes, please try to visually test your changes first.
To test locally in a Python virtual env, you will first need to install GraphViz
On a Mac, this can be done via brew install graphviz
; on Ubuntu, use sudo apt install graphviz
; on Red Hat variants use sudo dnf install graphviz
.
Next, run the following commands
pip install sphinx # it may fail for non-obvious reasons without this
make requirements
make html
If you have some documents that you only reference via :doc:
or :ref:
tags you may get this error.
If there is no table of contents that the files obviously belong in, an easy way to fix this error is to put the
documents in a hidden toctree near where they are referenced:
.. toctree::
:hidden:
path/to/referenced-file.rst
If you're having difficulties writing or testing, reach out to us on the discussion forums. Be sure to categorize your question appropriately - if you're looking for technical help, the Development category is what you want. If you're stuck on an idea and could use some community help in bringing it to life, try the Collaborative Proposals category!
All contributors to and reviewers of documentation in this repo must adhere to the Open edX Code of Conduct. If you witness a breach of the Code of Conduct, please reach out to the maintainer of this repo or to the contacts listed in the Code of Conduct text.
See the open-edx-proposals Backstage page for more information about who the maintainers of this repo are and how to get in touch with them.
Please do not report security issues in public. Please email security@openedx.org.