...
We use “blocks” in the API a lot, but some things should be generically applicable to components (e.g. file upload, tagging), some are applicable to any publishable thing (e.g. “publish”), and some are specific to XBlocks.
XBlock Compilation Step?
We currently parse block.xml
for our field data parsing, but in the past we’ve talked about having a compilation step so that we could do things like:
pre-render math into MathML on the server side
store Python source files next to the
block.xml
and compile them in.store HTML data in an HTML file, rather than in CDATA
The goal would be to give better authoring flexibility while making sure that any content data that an XBlock needs is entirely contained within one row of a model that is 1:1 with ComponentVersion
. This might only work well once we have courses switched over to use Learning Core.
Extensibility
We should work as much of our own code into Slots and other extension points–at least as much as is practical.
I think Sumac is our “sure, kick the tires, but don’t actually extend this” release, and we should target Teak for our first actually usable extension points for enhancing the content libraries experience.
...
Architecturally, we’re still in a place where I think we can support this without too much difficulty. How worthwhile is it to explore this in the Teak timeline?
Example minimal implementation: key generated on a per-library basis, stored in the course data.
Course content Migration Strategy
Are we going to try to convert courses in-place using the existing UI, or do something similar to legacy libraries, where we’re importing potentially multiple courses into the same library?
Starting position per Jenna Makowskiis that the existing Studio UI for creating a single course in a top-down fashion will continue to exist, even if it’s possible to construct courses in Libraries: “… I think we will always need/have two pathways for authoring - creating a top-down course, and creating bottom-up content/stand-alone sequences”
See Migrating Courses to Learning Core for more details.