Skip to content

[Refactor] Slash-n-Burn Built In XBlocks #37819

Description

@farhan

This is the successor of the XBlock extraction epic, in which all Built-In XBlock code was copied to xblocks-contrib:
#34827

In this epic we will remove the Built-In XBlock code from edx-platform/xmodule.

Note: The xblocks-contribxblocks-core package restructure is postponed. Steps have been simplified accordingly — no rename or PyPI migration needed as a prerequisite.

Pre-conditions

  • The extracted XBlock is rolled out and widely adopted by the community.

Per-Block Steps (separate PR per block)

Each block should be removed individually (not in one big PR) so smoke tests can be run per block.

  1. Review PRs merged into the Built-In XBlock code in edx-platform after the extraction work was done — port any bug fixes or improvements to xblocks-contrib if not already there.
  2. Remove the toggle — delete the relevant Waffle/Django settings flag from openedx/envs/common.py and all usages.
  3. Remove the shim — delete the _BuiltInBlahBlock class and the from xblocks_contrib.blah import BlahBlock as _ExtractedBlahBlock import statement.
  4. Remove the entrypoint — delete the conflicting Built-In XBlock entrypoint from pyproject.toml.
  5. Remove remaining assets — clean up any leftover files:
    • Python classes and related modules
    • JavaScript files
    • HTML templates
    • CSS/Sass files
  6. Run smoke tests on the extracted block to verify nothing is broken.

Sub-tasks

One sub-task per block (see linked child issues).

Metadata

Metadata

Labels

epicLarge unit of work, consisting of multiple taskswillowReleased in Willow

Type

No type
No fields configured for issues without a type.

Projects

Status
Draft
Status
🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions