XModules
XBlock/XModule History
- XModules were created to encapsulate course content.
- XModules are the LMS view of the course content.
- They contain student state.
- XModuleDescriptors are the Studio version of the course content.
- No student state.
- The runtime's get_block() returns one or the other type.
- XModule and XModuleDescriptor have the same fields but different permissions.
- XModules are the predecessor of the XBlock architecture.
- "Pure" XBlocks don't inherit from XModule or XModuleDescriptor.
- However, XModule and XModuleDescriptor both inherit from XBlock.
- The runtimes have "shims"/hacks to make all the calls work with all three types.
- See the `CombinedSystem` class here: