Skip to content

Conversation

@ormsbee
Copy link
Contributor

@ormsbee ormsbee commented Jun 21, 2025

NOT READY FOR REVIEW!

This is terrible hack code and a bunch of half-completed thoughts that I need to clean up. It won't work on your machines because I'm currently falling back to existing manual entries for the misc detached blocks in a course (like the about page), and those only live in those locations on my machine. The structure doc still needs to be re-generated manually via management commands, and it doesn't emit course publish signals properly. Getting Studio preview working isn't even on my todo list yet.

But it will take an imported course and create the appropriate structural data for it, and put an entry in when you run the update_lc_course command. And editing/publishing a component in the library will be reflected in the course on the LMS (though again, you have to manually rerun the command to rebuild the structure doc).

TODO remaining for minimal prototype:

  • Replace the stub data for the misc. detached blocks with real data from the course.
  • Listen for signals and auto-generate the structure doc when you publish something in library that belongs to a course.
  • Make the modulestore switching behavior automatically switch based on whether a course is in LearningCoreLearningContext, and throw it behind a request cache.
  • Properly emit the course published signal so that all the other async tasks that build off of modulestore run properly.
  • New entities that are added to a container in a course should be associated with the course.

@ormsbee ormsbee changed the title Lc/modulestore write Prototype Writing to SplitModuleStore-shim layer from Learning Core Libraries Jun 21, 2025
@ormsbee ormsbee marked this pull request as ready for review June 23, 2025 21:54
@ormsbee ormsbee merged commit 8dc5ef0 into openedx:lc-course-prototype Jun 23, 2025
20 of 48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants