Skip to content

[DEPR]: marketing_enabled field in course settings API and CoursePromotionCard in frontend-app-authoring #38727

@feanil

Description

@feanil

RFC Start Date

N/A -- Already Accepted

Target Plan Accepted Date

N/A -- Already Accepted

Target Transition Unblocked Date

Immediately -- Transition Already Unblocked. The PageBannerSlot README (added in openedx/frontend-app-authoring#3088) documents how to configure CoursePromotionCard to restore the legacy enrollment card UI. Operators can make that change in the Xylon release.

Earliest Breaking Changes Unblocked Date

After Xylon release cut. Breaking changes will land in the "Y" release.

Rationale

The marketing_enabled field in GET /api/contentstore/v1/course_settings/{course_id} was previously driven by the ENABLE_MKTG_SITE feature flag, which was removed in #38720 (a DEPR subtask of the broader cleanup of legacy static marketing templates). The field now always returns true and carries no information.

In parallel, frontend-app-authoring was updated in openedx/frontend-app-authoring#3088 to always render the promotional banner path, and the legacy enrollment card was extracted as CoursePromotionCard — exported and documented in the PageBannerSlot README so operators can restore it via plugin configuration. That export is the transition path; it will be removed in the "Y" release.

Description

What is being removed:

  1. marketing_enabled from the course settings API — The field marketing_enabled will be removed from the GET /api/contentstore/v1/course_settings/{course_id} response. It has been hardcoded to true since feat: drop ENABLE_MKTG_SITE flag and MKTG_URL_LINK_MAP setting #38720 and is no longer meaningful.

  2. CoursePromotionCard export and PageBannerSlot restoration docs from frontend-app-authoring — The CoursePromotionCard component and its export were added as a migration aid in feat: remove marketingEnabled flag from Schedule & Details frontend-app-authoring#3088. These will be deleted in the "Y" release.

Transition path for operators:

Operators who relied on ENABLE_MKTG_SITE=False and want to preserve the enrollment card UI should follow the instructions in the PageBannerSlot README (added in openedx/frontend-app-authoring#3088) to configure CoursePromotionCard via their env.config.jsx. This must be done before the "Y" release lands.

Task List

  • openedx-platform: Remove marketing_enabled from get_course_settings() return dict, CourseSettingsSerializer, view docstring, and tests (cms/djangoapps/contentstore/)
  • frontend-app-authoring: Delete CoursePromotionCard.jsx and CoursePromotionCard.test.jsx
  • frontend-app-authoring: Remove export { CoursePromotionCard } from basic-section/index.jsx; remove lmsLinkForAboutPage and courseDisplayName props (no longer needed)
  • frontend-app-authoring: Remove lmsLinkForAboutPage, courseDisplayName, platformName from PageBannerSlot props and pluginProps
  • frontend-app-authoring: Remove the "Restoring the course enrollment card" section from PageBannerSlot/Readme.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    deprProposal for deprecation & removal per OEP-21

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Draft

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions