feanil/development settings - #37444
Draft
feanil wants to merge 3 commits into
Draft
Conversation
12 tasks
feanil
force-pushed
the
feanil/development_settings
branch
2 times, most recently
from
October 9, 2025 13:41
58c62d8 to
1afe2e2
Compare
feanil
force-pushed
the
feanil/development_settings
branch
2 times, most recently
from
October 31, 2025 18:08
1705ed8 to
d0db94c
Compare
feanil
force-pushed
the
feanil/development_settings
branch
from
December 22, 2025 15:19
d0db94c to
94dacd3
Compare
feanil
force-pushed
the
feanil/development_settings
branch
2 times, most recently
from
April 12, 2026 21:41
7ec8b88 to
473efe7
Compare
feanil
force-pushed
the
feanil/development_settings
branch
2 times, most recently
from
May 28, 2026 14:15
1fe0074 to
4d4d7c1
Compare
feanil
force-pushed
the
feanil/development_settings
branch
2 times, most recently
from
August 6, 2026 16:33
bf615ad to
1abf23b
Compare
This was referenced Aug 6, 2026
Open
Open
Open
build: Default the dev MFE config API URL to local.openedx.io
openedx/frontend-app-admin-console#203
Open
Open
Open
Open
Base it directly off of common and try to keep it as small as possible. Regarding plugin loading: Ideally the name of this setting would be "DEVELOPMENT" and not tied to the devstack but since that's an interface change, we use the devstack settings which should be what is setup for development. Regarding the webpack loader settings: WEBPACK_LOADER's STATS_FILE is derived from STATIC_ROOT in openedx/envs/common.py. In the new development.py settings the base STATIC_ROOT default is ENV_ROOT/staticfiles (LMS) and ENV_ROOT/staticfiles/studio (CMS), which point *outside* the repo. That is not where the webpack build writes its stats manifest: with STATIC_ROOT_LMS / STATIC_ROOT_CMS unset, webpack.common.config.js falls back to ./test_root/staticfiles (and .../studio for CMS). As a result render_bundle raised "Error reading .../staticfiles/webpack-stats.json" on every page that renders a webpack bundle. Point STATIC_ROOT at the in-repo test_root location so the derived STATS_FILE lands where webpack actually writes it. This makes the Python default agree with webpack's JS default with no STATIC_ROOT_LMS / STATIC_ROOT_CMS wiring, and mirrors what the test settings already do (openedx/envs/test.py). This is only about locating the stats manifest -- collectstatic is not part of the development flow. With DEBUG=True the staticfiles finders serve assets directly from their source dirs (e.g. the bundles in common/static/bundles), so nothing writes into STATIC_ROOT during normal development.
Document the new bare-metal development workflow that runs the LMS and CMS with the dedicated `development.py` settings module (building directly on `common.py`) and the `local.openedx.io` domains, rather than the legacy `devstack.py` settings on `localhost`. The how-to covers the `--settings=development` runserver commands (local.openedx.io:8000 for LMS, studio.local.openedx.io:8001 for CMS), migrations, the webpack asset build (and why collectstatic is not needed), CMS SSO setup, running the MFEs against the LMS MFE Config API, and the notable differences from devstack (eager Celery, MFE config served by the LMS, pre-declared CORS/CSRF/login-redirect origins). It is linked from the README as an experimental item under "For Development"; it is intentionally not yet the recommended default while the base README and workflow are still being updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The two settings were previously hard-coded in the lms and openedx common.py making it hard to make reasonable defaults using the ENV_ROOT setting.
feanil
force-pushed
the
feanil/development_settings
branch
from
August 7, 2026 20:13
1abf23b to
d16729a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds experimental
development.pysettings for the LMS and CMS that build directly oncommon.py, as a first step toward replacing thedevstack.py/production.py-based local development flow with something cleaner and better documented. Useslocal.openedx.iosubdomains instead oflocalhostso cookie / CORS / CSRF behavior resembles a real deployment.Experimental — not the default.
devstack.pyandproduction.pyare unchanged, so existing developers and operators are unaffected. Setup steps:docs/how-tos/using_development_settings.rst.Related PRs (need to merge)
Companion PRs pointing each default MFE's
devscript atlocal.openedx.ioso they work with these settings: