Skip to content

[Refactor] Slash-n-Burn Word Cloud BuiltIn XBlock #534

Description

@irfanuddinahmad

See parent epic: openedx/openedx-platform#37819


Rollout Position

Step 2 of 8 — Small footprint (~837 LOC). Has a custom webpack config (xmodule/assets/word_cloud/webpack.config.js) that needs to be cleaned up alongside the main webpack.builtinblocks.config.js entries.


Block Details

Toggle USE_EXTRACTED_WORD_CLOUD_BLOCK in openedx/envs/common.py
Shim class _BuiltInWordCloudBlock in xmodule/word_cloud_block.py
Entrypoint word_cloud = "xmodule.word_cloud_block:WordCloudBlock" in pyproject.toml

Checklist

Pre-condition

  • Review PRs merged into the built-in Word Cloud XBlock code in edx-platform after the extraction work was done — port any bug fixes or improvements to xblocks-contrib if not already there.

Review surfaced a real gap: xmodule/tests/test_word_cloud.py / lms/djangoapps/courseware/tests/test_word_cloud.py exercised Studio-editor-save and OLX-import/export scenarios against the extracted block that had no equivalent coverage in xblocks-contrib. Porting is in progress in openedx/xblocks-core#273 (open, not yet merged). Leaving this unchecked until that PR lands.

Steps (single PR)

  • Remove the toggle — delete USE_EXTRACTED_WORD_CLOUD_BLOCK from openedx/envs/common.py and all usages.
  • Remove the shim — delete _BuiltInWordCloudBlock class and the from xblocks_contrib.word_cloud import WordCloudBlock as _ExtractedWordCloudBlock import from xmodule/word_cloud_block.py.
  • Remove the entrypoint — delete word_cloud = "xmodule.word_cloud_block:WordCloudBlock" from pyproject.toml.
  • Remove remaining assets:
    • xmodule/word_cloud_block.py (Python class)
    • xmodule/assets/word_cloud/ (entire directory, including custom webpack.config.js and D3 vendor libs)
    • lms/templates/word_cloud.html (template)
    • xmodule/static/css-builtin-blocks/WordCloudBlockDisplay.css (CSS)
    • Webpack entries WordCloudBlockDisplay / WordCloudBlockEditor in webpack.builtinblocks.config.js
  • Run smoke tests on the extracted Word Cloud block to verify nothing is broken.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status
🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions