refactor: Upgrade to openedx-core 0.43.0 (for OEP-68)#38402
refactor: Upgrade to openedx-core 0.43.0 (for OEP-68)#38402kdmccormick wants to merge 10 commits intomasterfrom
Conversation
5b949fa to
5dae386
Compare
| admin = UserFactory.create(username="Admin", email="admin@example.com", is_staff=True) # noqa: F841 | ||
|
|
||
| lib = self._create_library(slug="téstlꜟط", title="A Tést Lꜟطrary", description="Tésting XBlocks") | ||
| lib = self._create_library(slug="testlib", title="A Tést Lꜟطrary", description="Tésting XBlocks") |
There was a problem hiding this comment.
@ormsbee @bradenmacdonald , our new code_field validation makes these non-ascii library and block slugs illegal. Is that fine?
I recall adding these non-ascii test slugs myself, way back in the Blockstore->LearningCore switchover. I don't know exactly what I was thinking--maybe I was just thinking that we'd made no statements about what could and couldn't be in a LearningCore slug, so we may as well test non-ascii slugs in order to see if they ever break.
There was a problem hiding this comment.
@ormsbee @bradenmacdonald , our new code_field validation makes these non-ascii library and block slugs illegal. Is that fine?
Isn't it already illegal because it's put into an opaque key, and those don't support Unicode?
FWIW, in general I would prefer to have the ability to have non-ascii in the URLs, especially given our international reach. But that's something we can add in later in a backwards compatible way if we get support through all the plumbing.
Renames the openedx_django_lib.fields import in EntityLinkBase from the removed key_field helper to ref_field. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…0.43.0 Updates callers of get_learning_package_by_key (renamed to get_learning_package_by_ref), create_learning_package, and update_learning_package to use the new package_ref kwarg, and switches .key attribute reads to .package_ref. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
… 0.43.0 Switches callers of get_publishable_entity_by_key (now _by_ref) to the new name, and renames .key attribute reads on PublishableEntity, Component, and Container (via PublishableEntityMixin) to .entity_ref. Query filters using key__in/entity__key become entity_ref__in/ entity__entity_ref. The set_library_item_collections param entity_key is renamed to entity_ref for consistency. Collection.key reads are intentionally left for the collection_code rename in a later commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…re 0.43.0 Updates callers of get_component_by_key/component_exists_by_key (now _by_code) and switches the local_key kwarg on create_component, create_component_and_version, and related queries to component_code. Also renames component.local_key reads to component.component_code and adjusts a modulestore_migrator container query that filtered on publishable_entity__key (now entity_ref). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…edx-core 0.43.0 Switches get_container_by_key to get_container_by_code and renames the container creation kwarg from key to container_code for both create_container_and_version and its platform wrapper. Updates ComponentVersionMedia accesses: the model field .key becomes .path, and create_component_version_media's key kwarg becomes path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-core 0.43.0
Renames all Collection APIs that took key/collection_key to use
collection_code: create_collection, update_collection, delete_collection,
restore_collection, add_to_collection, etc. Switches Collection.key
attribute reads to .collection_code across tests, signal handlers,
search indexers, and modulestore_migrator. Filters like
target_collection__key become target_collection__collection_code.
Also updates the library restore serializer to track the renamed
lp_restored_data fields: archive_org_key -> archive_org_code,
archive_slug -> archive_package_code, key -> package_ref,
archive_lp_key -> archive_package_ref. The archive_org_code and
archive_package_code fields now allow None, since openedx-core no
longer raises ValueError when the archive_package_ref cannot be
parsed as {prefix}:{org_code}:{package_code}.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
fix: build locator with container_code fix: pylint and mypy fix: queries for search index fix: some missed cvm.key -> cvm.path fix: undo breaking library changes fix: openedx-core no longer raises integrityerror on conflict fix: misses in modulestore_migrator fix: search tests
f25cc96 to
9ec34fd
Compare
Description
This PR incorporates a major set of renamings from openedx-core: openedx-core 0.43.0
Part of: openedx/openedx-core#322
Related to: OEP-68
Status
AI Usage
Claude Plan: https://gist.github.com/kdmccormick/7316d5fe490763cf12e9687e6fb24db8
I basically gave Claude the release notes (linked above) and had it write the plan from that.
I additionally gave it the instructions to avoid any breaking changes to REST APIs or the libraries search index. That'll be handled later in #38406
It seems to have overall done a good job, although it missed several renames, which you can see in the commit
fix: various fixes to Claude's output...