From cd4ce51560e7faaf9e58cacb05a325bce147771b Mon Sep 17 00:00:00 2001 From: Kyle McCormick Date: Fri, 23 Jan 2026 21:07:58 -0500 Subject: [PATCH 1/3] temp: install xblock 6.0.0 from github --- 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 96a3d75845ce..5227bcfd0080 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -1241,7 +1241,7 @@ wheel==0.45.1 # via django-pipeline wrapt==2.0.1 # via -r requirements/edx/kernel.in -xblock[django]==5.3.0 +git+https://github.com/kdmccormick/XBlock.git@kdmccormick/scope-id-types#egg=xblock[django]==6.0.0 # via # -r requirements/edx/kernel.in # acid-xblock diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 2f9dbe37e3d6..66b32154c66b 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -2264,7 +2264,7 @@ wrapt==2.0.1 # via # -r requirements/edx/doc.txt # -r requirements/edx/testing.txt -xblock[django]==5.3.0 +git+https://github.com/kdmccormick/XBlock.git@kdmccormick/scope-id-types#egg=xblock[django]==6.0.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 0414d0c49421..3cdfa0edc211 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -1582,7 +1582,7 @@ wheel==0.45.1 # django-pipeline wrapt==2.0.1 # via -r requirements/edx/base.txt -xblock[django]==5.3.0 +git+https://github.com/kdmccormick/XBlock.git@kdmccormick/scope-id-types#egg=xblock[django]==6.0.0 # via # -r requirements/edx/base.txt # acid-xblock diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index b66725171b7f..cddc5b54c524 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1672,7 +1672,7 @@ wheel==0.45.1 # django-pipeline wrapt==2.0.1 # via -r requirements/edx/base.txt -xblock[django]==5.3.0 +git+https://github.com/kdmccormick/XBlock.git@kdmccormick/scope-id-types#egg=xblock[django]==6.0.0 # via # -r requirements/edx/base.txt # acid-xblock From e250df97b2eecb11b61316f8be78824f68bdf171 Mon Sep 17 00:00:00 2001 From: Kyle McCormick Date: Tue, 27 Jan 2026 22:42:24 -0500 Subject: [PATCH 2/3] refactor: Remove unneeded usage of MemoryIdManager in new Runtime --- openedx/core/djangoapps/xblock/runtime/runtime.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openedx/core/djangoapps/xblock/runtime/runtime.py b/openedx/core/djangoapps/xblock/runtime/runtime.py index 2ae4a431bfbe..eca83784fe37 100644 --- a/openedx/core/djangoapps/xblock/runtime/runtime.py +++ b/openedx/core/djangoapps/xblock/runtime/runtime.py @@ -20,7 +20,7 @@ from xblock.exceptions import NoSuchServiceError from xblock.field_data import DictFieldData, FieldData, SplitFieldData from xblock.fields import Scope, ScopeIds -from xblock.runtime import IdReader, KvsFieldData, MemoryIdManager, Runtime +from xblock.runtime import IdReader, KvsFieldData, Runtime from xmodule.errortracker import make_error_tracker from xmodule.contentstore.django import contentstore @@ -127,7 +127,7 @@ def __init__( ), default_class=None, select=None, - id_generator=MemoryIdManager(), # We don't really use id_generator until we need to support asides + id_generator=None, # We won't need an id_generator until we need to support asides ) assert student_data_mode in (StudentDataMode.Ephemeral, StudentDataMode.Persisted) self.authored_data_mode = authored_data_mode From bda57efb2ed26e8f8d6eb35c9007298f00b3a98b Mon Sep 17 00:00:00 2001 From: Kyle McCormick Date: Wed, 28 Jan 2026 07:43:12 -0500 Subject: [PATCH 3/3] test: use a real UsageKey in StructuredTagsAsideTestCase --- cms/lib/xblock/tagging/test.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cms/lib/xblock/tagging/test.py b/cms/lib/xblock/tagging/test.py index 173523452d54..8dfd6f41b383 100644 --- a/cms/lib/xblock/tagging/test.py +++ b/cms/lib/xblock/tagging/test.py @@ -10,7 +10,7 @@ import ddt from django.test.client import RequestFactory from lxml import etree -from opaque_keys.edx.asides import AsideUsageKeyV1, AsideUsageKeyV2 +from opaque_keys.edx.asides import AsideUsageKeyV1, AsideUsageKeyV2, UsageKey from pytz import UTC from xblock.fields import ScopeIds from xblock.runtime import DictKeyValueStore, KvsFieldData @@ -118,10 +118,12 @@ def test_aside_contains_tags(self): """ Checks that available_tags list is not empty """ - sids = ScopeIds(user_id="bob", - block_type="bobs-type", - def_id="definition-id", - usage_id="usage-id") + sids = ScopeIds( + user_id="bob", + block_type="bobs-type", + def_id="definition-id", + usage_id=UsageKey.from_string("block-v1:myOrg+myCourse+myRun+type@bobs-type+block@usage-id"), + ) key_store = DictKeyValueStore() field_data = KvsFieldData(key_store) runtime = TestRuntime(services={'field-data': field_data})