Toggles and Settings Documentation
This page is slowly being moved to github issues.
See Complete transition from Confluence to GitHub issues · Issue #296 · openedx/edx-toggles for completing the transition and archiving this page.
Potential Tasks
See https://docs.google.com/spreadsheets/d/1PUq0DkNJLp0SuY1Jt38n_USy1IExlACI2yZt0ZmhD8g/edit#gid=0 for initial prioritization.
Linting
(HIGH) DEPR improvement ideas:
(HIGH) Ensure proper toggle annotations are used. · Issue #286 · openedx/edx-toggles.
(MEDIUM) Ensure optional annotations are not set to None · Issue #291 · openedx/edx-toggles
Add deprecation ticket to a separate annotation for convenient filtering out during future reviews
Check
toggle_implementation
annotation matches actual implementation class used when possible.No linting exists to ensure settings are annotated.
Needs brainstorming if we think this would be important.
No linting exists to ensure ConfigModels with booleans are annotated.
Improvements to published docs and reporting
(HIGH) Add toggle_implementation to the sphinx documentation · Issue #287 · openedx/edx-toggles
(HIGH) Document toggle and setting annotations for dependencies · Issue #288 · openedx/edx-toggles
(HIGH) Fully implement toggle state report outside of edx-platform · Issue #289 · openedx/edx-toggles
Include more annotated settings in RTD documentation.
Context:
For settings toggles we currently only capture annotations if they are in
lms/envs/common.py
orcms/envs/common.py
We have settings annotations where the default and annotation live outside of those two files within edx-platform. See an example annotation.
We will have annotations where the default live in an external library (edx-when, or other edx owned libraries)
See some discussion and disagreements in Slack in #external-openedx-toggles-and-settings.
Potential Tickets
Discovery: How can we capture settings toggles not documented in
lms/envs/common.py
orcms/envs/common.py
but are still in the edx-platform repoAC:
Either a POC that captures settings in other places or an ADR to guide us on where these docs should live.
Discovery: How do we collect annotations from libraries installed in edx-platform?
Allow for formatting in annotations, rather than having everything be plain-text.
Consider allowing arbitrary formatted rST.
Remove pylint disable pragmas from annotation output.
All, or just
line-too-long
?
Reporting on suspicious toggle state data
Examples:
Bad data like waffle names with leading or trailing spaces in the database.
Potentially orphaned data (data with no annotation and no toggle definition)
Toggle State Report may be simplest location, using a new column
Toggle Enhancements
Replace or improve
ExperimentWaffleFlag
History
The following toggles and settings tooling potential tasks around toggles and settings tooling, was generated while working on [BD-21] Toggles/Settings Documentation, Toggles and Settings Doc-a-thon 2021, and earlier work from the Arch-BOM team.