Skip to content

feat: translate STUDIO_BASE_URL to cmsBaseUrl in frontend site config#38577

Open
arbrandes wants to merge 1 commit intoopenedx:masterfrom
arbrandes:arbrandes/translate-cms-base-url
Open

feat: translate STUDIO_BASE_URL to cmsBaseUrl in frontend site config#38577
arbrandes wants to merge 1 commit intoopenedx:masterfrom
arbrandes:arbrandes/translate-cms-base-url

Conversation

@arbrandes
Copy link
Copy Markdown
Contributor

Description

Maps the legacy STUDIO_BASE_URL key to the optional cmsBaseUrl field in SITE_CONFIG_TRANSLATION_MAP, matching frontend-base's OptionalSiteConfig interface. With this change, FrontendSiteConfigView surfaces the Studio base URL at the top level of the response rather than nesting it inside commonAppConfig.

The two test_views.py cases that previously asserted STUDIO_BASE_URL lived in commonAppConfig now assert it appears at the top level as cmsBaseUrl.

LLM usage notice

Built with assistance from Claude.

@arbrandes arbrandes force-pushed the arbrandes/translate-cms-base-url branch 2 times, most recently from 79a05d2 to 47d132a Compare May 7, 2026 09:44
Copy link
Copy Markdown
Contributor

@brian-smith-tcril brian-smith-tcril left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown
Contributor

@brian-smith-tcril brian-smith-tcril May 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@arbrandes arbrandes force-pushed the arbrandes/translate-cms-base-url branch from 47d132a to fbeccc3 Compare May 7, 2026 13:58
@arbrandes arbrandes enabled auto-merge (rebase) May 7, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants