feat: translate STUDIO_BASE_URL to cmsBaseUrl in frontend site config#38577
Open
arbrandes wants to merge 1 commit intoopenedx:masterfrom
Open
feat: translate STUDIO_BASE_URL to cmsBaseUrl in frontend site config#38577arbrandes wants to merge 1 commit intoopenedx:masterfrom
arbrandes wants to merge 1 commit intoopenedx:masterfrom
Conversation
79a05d2 to
47d132a
Compare
brian-smith-tcril
approved these changes
May 7, 2026
Contributor
brian-smith-tcril
left a comment
There was a problem hiding this comment.
Logic looks good. Couple little comments about test readability but I don't think those should block merging this.
Comment on lines
+460
to
+467
| # Site-level key translated to top level | ||
| # Site-level keys translated to top level | ||
| self.assertEqual(data["lmsBaseUrl"], "https://courses.example.com") # noqa: PT009 | ||
| self.assertEqual(data["cmsBaseUrl"], "https://studio.example.com") # noqa: PT009 | ||
| # Unmapped MFE_CONFIG keys appear in commonAppConfig (not at the top level) | ||
| self.assertNotIn("CREDENTIALS_BASE_URL", data) # noqa: PT009 | ||
| common = data["commonAppConfig"] | ||
| self.assertEqual(common["CREDENTIALS_BASE_URL"], "https://credentials.example.com") # noqa: PT009 | ||
| self.assertEqual(common["STUDIO_BASE_URL"], "https://studio.example.com") # noqa: PT009 | ||
| self.assertNotIn("STUDIO_BASE_URL", common) # noqa: PT009 |
Contributor
There was a problem hiding this comment.
This block is a little confusing. I understand the change in this PR is verifying that we don't have STUDIO_BASE_URL in commonAppConfig because it's instead in siteConfig, but putting it in the
# Unmapped MFE_CONFIG keys appear in commonAppConfig (not at the top level)
section doesn't provide that context.
I think splitting this block up a little into
Suggested change
| # Site-level key translated to top level | |
| # Site-level keys translated to top level | |
| self.assertEqual(data["lmsBaseUrl"], "https://courses.example.com") # noqa: PT009 | |
| self.assertEqual(data["cmsBaseUrl"], "https://studio.example.com") # noqa: PT009 | |
| # Unmapped MFE_CONFIG keys appear in commonAppConfig (not at the top level) | |
| self.assertNotIn("CREDENTIALS_BASE_URL", data) # noqa: PT009 | |
| common = data["commonAppConfig"] | |
| self.assertEqual(common["CREDENTIALS_BASE_URL"], "https://credentials.example.com") # noqa: PT009 | |
| self.assertEqual(common["STUDIO_BASE_URL"], "https://studio.example.com") # noqa: PT009 | |
| self.assertNotIn("STUDIO_BASE_URL", common) # noqa: PT009 | |
| common = data["commonAppConfig"] | |
| # Site-level keys are translated to top level | |
| self.assertEqual(data["lmsBaseUrl"], "https://courses.example.com") # noqa: PT009 | |
| self.assertEqual(data["cmsBaseUrl"], "https://studio.example.com") # noqa: PT009 | |
| # Site-level keys translated to top level don't appear in commonAppConfig | |
| self.assertNotIn("LMS_BASE_URL", common) # noqa: PT009 | |
| self.assertNotIn("STUDIO_BASE_URL", common) # noqa: PT009 | |
| # Unmapped MFE_CONFIG keys appear in commonAppConfig (not at the top level) | |
| self.assertNotIn("CREDENTIALS_BASE_URL", data) # noqa: PT009 | |
| self.assertEqual(common["CREDENTIALS_BASE_URL"], "https://credentials.example.com") # noqa: PT009 |
| common = data["commonAppConfig"] | ||
| self.assertEqual(common["CREDENTIALS_BASE_URL"], "https://credentials.example.com") # noqa: PT009 | ||
| self.assertEqual(common["STUDIO_BASE_URL"], "https://studio.example.com") # noqa: PT009 | ||
| self.assertNotIn("STUDIO_BASE_URL", common) # noqa: PT009 |
Contributor
There was a problem hiding this comment.
Similar comment to my previous one, feels odd to be using assertNotIn on common in the "Unmapped keys are preserved in commonAppConfig" block
Maps the legacy STUDIO_BASE_URL key to the optional frontend-base cmsBaseUrl field so it surfaces at the top level of FrontendSiteConfigView instead of falling through to commonAppConfig. Co-Authored-By: Claude <noreply@anthropic.com>
47d132a to
fbeccc3
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.
Description
Maps the legacy
STUDIO_BASE_URLkey to the optionalcmsBaseUrlfield inSITE_CONFIG_TRANSLATION_MAP, matching frontend-base'sOptionalSiteConfiginterface. With this change,FrontendSiteConfigViewsurfaces the Studio base URL at the top level of the response rather than nesting it insidecommonAppConfig.The two
test_views.pycases that previously assertedSTUDIO_BASE_URLlived incommonAppConfignow assert it appears at the top level ascmsBaseUrl.LLM usage notice
Built with assistance from Claude.