openedx / openedx/openedx-platform
[y release] Legacy Libraries DEPR: Preserve legacy library defaults
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
UPDATE: Based on Dave's comment below, we don't think that much work is needed here.
New AC:
- Confirm that default settings (e.g. display_name) work for children of legacy library_content references even when the source library is removed from the system
- Ensure
get_block_original_usageworks when legacy libraries are removed
Old:
We want course references to legacy library content to work, forever. The content will not be able to be updated as of Willow, and it will not be able to be migrated as of Xylon, but it should continue working from a student's perspective in all future releases.
LegacyLibraryContentBlock children currently load their "defaults" from legacy libraries at runtime. That means that if we delete legacy libraries, things like library-set titles will disappear from the blocks.
So, before removing legacy libraries storage support from modulestore, we should figure out a simple, thin way to ensure that courses can continue reading these "defaults", even if the defaults can never change going forward.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with LegacyLibraryContentBlock and the get_block_original_usage path, then trace how children obtain defaults from legacy library_content references. Confirm that defaults such as display_name still work after the source library is removed, and that get_block_original_usage also succeeds with removed legacy libraries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100