Why Modulestore?
- Technically, a low-level library with little to no dependencies on the rest of the platform.
- Does not change very often - and especially not that often by the new TNL team.
- It's one of the common dependencies between LMS and CMS. So extracting the MS would pave the path toward splitting them as well.
- MS tests take about 8mns on Jenkins - that amount of test time would be shaved off of edx-platform builds.
Hackathon Experiments
As part of edX Hackathon XV, I experimented extracting out the modulestore code and its dependencies out into separate repos. I ended up creating the following 2 repos:
...
Since the work was done as part of a hackathon and within 2 hours, mostly for experimentation, accurate documentation wasn't kept.
Guidelines for Future Attempt
When this work is re-attempted, we should make sure to keep a clean git history, by doing the following:
...