From 248fa5aad40c16b3be5084b5c8bd3ef45acb0e38 Mon Sep 17 00:00:00 2001 From: "M. Tayyab Tahir Qureshi" Date: Wed, 10 Dec 2025 10:35:06 +0500 Subject: [PATCH 1/5] chore: change xblocks-contrib installation to pointer-tag branch - enable extracted xblocks --- .github/workflows/unit-tests.yml | 1 + openedx/envs/common.py | 6 +++--- requirements/edx/base.txt | 2 +- requirements/edx/development.txt | 2 +- requirements/edx/doc.txt | 2 +- requirements/edx/testing.txt | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 7fba6b6b4cf1..78af44c738e2 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -20,6 +20,7 @@ jobs: name: ${{ matrix.shard_name }}(py=${{ matrix.python-version }},dj=${{ matrix.django-version }},mongo=${{ matrix.mongo-version }}) runs-on: ${{ matrix.os-version }} strategy: + fail-fast: false matrix: python-version: - "3.11" diff --git a/openedx/envs/common.py b/openedx/envs/common.py index c00a89cf4f69..9de6d535d952 100644 --- a/openedx/envs/common.py +++ b/openedx/envs/common.py @@ -1678,7 +1678,7 @@ def _make_locale_paths(settings): # .. toggle_warning: Not production-ready until https://github.com/openedx/edx-platform/issues/34840 is done. # .. toggle_creation_date: 2024-11-10 # .. toggle_target_removal_date: 2025-06-01 -USE_EXTRACTED_WORD_CLOUD_BLOCK = False +USE_EXTRACTED_WORD_CLOUD_BLOCK = True # .. toggle_name: USE_EXTRACTED_ANNOTATABLE_BLOCK # .. toggle_default: False @@ -1688,7 +1688,7 @@ def _make_locale_paths(settings): # .. toggle_warning: Not production-ready until https://github.com/openedx/edx-platform/issues/34841 is done. # .. toggle_creation_date: 2024-11-10 # .. toggle_target_removal_date: 2025-06-01 -USE_EXTRACTED_ANNOTATABLE_BLOCK = False +USE_EXTRACTED_ANNOTATABLE_BLOCK = True # .. toggle_name: USE_EXTRACTED_POLL_QUESTION_BLOCK # .. toggle_default: False @@ -1698,7 +1698,7 @@ def _make_locale_paths(settings): # .. toggle_warning: Not production-ready until https://github.com/openedx/edx-platform/issues/34839 is done. # .. toggle_creation_date: 2024-11-10 # .. toggle_target_removal_date: 2025-06-01 -USE_EXTRACTED_POLL_QUESTION_BLOCK = False +USE_EXTRACTED_POLL_QUESTION_BLOCK = True # .. toggle_name: USE_EXTRACTED_LTI_BLOCK # .. toggle_default: False diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index f516c1b647d3..df7492530eb0 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -1288,7 +1288,7 @@ xblock-utils==4.0.0 # via # edx-sga # xblock-poll -xblocks-contrib==0.7.1 +git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag # via -r requirements/edx/bundled.in xmlsec==1.3.14 # via diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 086fd64690a9..4fe43c6f1909 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -2305,7 +2305,7 @@ xblock-utils==4.0.0 # -r requirements/edx/testing.txt # edx-sga # xblock-poll -xblocks-contrib==0.7.1 +git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index 79c0fd08c0bf..0c8ec26fb326 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -1624,7 +1624,7 @@ xblock-utils==4.0.0 # -r requirements/edx/base.txt # edx-sga # xblock-poll -xblocks-contrib==0.7.1 +git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag # via -r requirements/edx/base.txt xmlsec==1.3.14 # via diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 2b3f60018375..4ff4653c2d90 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1710,7 +1710,7 @@ xblock-utils==4.0.0 # -r requirements/edx/base.txt # edx-sga # xblock-poll -xblocks-contrib==0.7.1 +git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag # via -r requirements/edx/base.txt xmlsec==1.3.14 # via From d9039be6a7b0ecaff4b6458750d43e25d3735800 Mon Sep 17 00:00:00 2001 From: "M. Tayyab Tahir Qureshi" Date: Wed, 10 Dec 2025 12:46:54 +0500 Subject: [PATCH 2/5] fix: fix --- xmodule/tests/test_word_cloud.py | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/xmodule/tests/test_word_cloud.py b/xmodule/tests/test_word_cloud.py index bc3f18a83c54..bf8faf4826e0 100644 --- a/xmodule/tests/test_word_cloud.py +++ b/xmodule/tests/test_word_cloud.py @@ -1,6 +1,5 @@ """Test for Word Cloud Block functional logic.""" import json -import os from unittest.mock import Mock from django.conf import settings @@ -68,33 +67,13 @@ def test_xml_import_export_cycle(self): assert block.num_inputs == 3 assert block.num_top_words == 100 - if settings.USE_EXTRACTED_WORD_CLOUD_BLOCK: - # For extracted XBlocks, we need to manually export the XML definition to a file to properly test the - # import/export cycle. This is because extracted XBlocks use XBlock core's `add_xml_to_node` method, - # which does not export the XML to a file like `XmlMixin.add_xml_to_node` does. - filepath = 'word_cloud/block_id.xml' - runtime.export_fs.makedirs(os.path.dirname(filepath), recreate=True) - with runtime.export_fs.open(filepath, 'wb') as fileObj: - runtime.export_to_xml(block, fileObj) - else: - node = etree.Element("unknown_root") - # This will export the olx to a separate file. - block.add_xml_to_node(node) + node = etree.Element("unknown_root") + # This will export the olx to a separate file. + block.add_xml_to_node(node) with runtime.export_fs.open('word_cloud/block_id.xml') as f: exported_xml = f.read() - if settings.USE_EXTRACTED_WORD_CLOUD_BLOCK: - # For extracted XBlocks, we need to remove the `xblock-family` attribute from the exported XML to ensure - # consistency with the original XML. - # This is because extracted XBlocks use the core XBlock's `add_xml_to_node` method, which includes this - # attribute, whereas `XmlMixin.add_xml_to_node` does not. - exported_xml_tree = etree.fromstring(exported_xml.encode('utf-8')) - etree.cleanup_namespaces(exported_xml_tree) - if 'xblock-family' in exported_xml_tree.attrib: - del exported_xml_tree.attrib['xblock-family'] - exported_xml = etree.tostring(exported_xml_tree, encoding='unicode', pretty_print=True) - assert exported_xml == original_xml def test_bad_ajax_request(self): From 9d3149e6ca30c5831cc54cf074fe7236e219a6fd Mon Sep 17 00:00:00 2001 From: farhan Date: Thu, 11 Dec 2025 16:53:38 +0500 Subject: [PATCH 3/5] chore: update xblocks-contrib reference --- requirements/edx/base.txt | 2 +- requirements/edx/development.txt | 2 +- requirements/edx/doc.txt | 2 +- requirements/edx/testing.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 1e59eb6b1d79..7228fd4d7bd4 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -1279,7 +1279,7 @@ xblock-utils==4.0.0 # via # edx-sga # xblock-poll -git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag +xblocks-contrib==0.9.0 # via -r requirements/edx/bundled.in xmlsec==1.3.14 # via diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index f41a98af53cb..a43e80fee026 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -2312,7 +2312,7 @@ xblock-utils==4.0.0 # -r requirements/edx/testing.txt # edx-sga # xblock-poll -git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag +xblocks-contrib==0.9.0 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index c7f08bd6f76c..1db9e47517ec 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -1617,7 +1617,7 @@ xblock-utils==4.0.0 # -r requirements/edx/base.txt # edx-sga # xblock-poll -git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag +xblocks-contrib==0.9.0 # via -r requirements/edx/base.txt xmlsec==1.3.14 # via diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index 0960ecb151bf..f4c9bff0246e 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1710,7 +1710,7 @@ xblock-utils==4.0.0 # -r requirements/edx/base.txt # edx-sga # xblock-poll -git+https://github.com/openedx/xblocks-contrib.git@ttqureshi/pointer-tag +xblocks-contrib==0.9.0 # via -r requirements/edx/base.txt xmlsec==1.3.14 # via From 9206fb25cdde1bdd85fa9013841d74a97cb9b2bb Mon Sep 17 00:00:00 2001 From: farhan Date: Thu, 11 Dec 2025 17:27:19 +0500 Subject: [PATCH 4/5] chore: remove fail false --- .github/workflows/unit-tests.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 78af44c738e2..7fba6b6b4cf1 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -20,7 +20,6 @@ jobs: name: ${{ matrix.shard_name }}(py=${{ matrix.python-version }},dj=${{ matrix.django-version }},mongo=${{ matrix.mongo-version }}) runs-on: ${{ matrix.os-version }} strategy: - fail-fast: false matrix: python-version: - "3.11" From 66eb11920b89b0899a9e10e08b35a441cae0793e Mon Sep 17 00:00:00 2001 From: "M. Tayyab Tahir Qureshi" Date: Tue, 16 Dec 2025 12:16:54 +0500 Subject: [PATCH 5/5] chore: chore - remove the xblocks-contrib version pinning - disable the Extracted WordCloud Block flag --- openedx/envs/common.py | 2 +- requirements/constraints.txt | 4 ---- requirements/edx/development.txt | 1 - 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/openedx/envs/common.py b/openedx/envs/common.py index 5fa6e22ebe8a..2e74bd9c1db5 100644 --- a/openedx/envs/common.py +++ b/openedx/envs/common.py @@ -1666,7 +1666,7 @@ def _make_locale_paths(settings): # .. toggle_warning: Not production-ready until https://github.com/openedx/edx-platform/issues/34840 is done. # .. toggle_creation_date: 2024-11-10 # .. toggle_target_removal_date: 2025-06-01 -USE_EXTRACTED_WORD_CLOUD_BLOCK = True +USE_EXTRACTED_WORD_CLOUD_BLOCK = False # .. toggle_name: USE_EXTRACTED_ANNOTATABLE_BLOCK # .. toggle_default: False diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 98680924d6cf..ec8eb782aa17 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -136,7 +136,3 @@ django-debug-toolbar<6.0.0 # Issue: https://github.com/openedx/edx-platform/issues/37435 cryptography<46.0.0 pact-python<3.0.0 - -# This pin will be removed once the following PR is merged -# https://github.com/openedx/xblocks-contrib/pull/120 -xblocks-contrib<0.9.0 diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 511ada93076d..fb483f41eee4 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -2310,7 +2310,6 @@ xblock-utils==4.0.0 # xblock-poll xblocks-contrib==0.9.0 # via - # -c requirements/constraints.txt # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt xmlsec==1.3.14