This WIP code is a proof of concept, showing an XBlock that lets you select some specific blocks from a Blockstore-based content library and then will copy them into a [modulestore-based] course.
Check this branch out; from `make studio-shell` run `pip install -e common/lib/xmodule/`
Create some content in a blockstore-based content library. Note the IDs of a few blocks (e.g. `lb:edX:test:html:1`)
Go into a course in Studio. In its advanced settings, add `library_sourced` to the list of advanced block types.
See TODOs in the code
Note that once we get courses implemented in Blockstore as well I expect we won't use this block at all, so I haven't designed it to be forwards compatible in that sense. I expect that in Blockstore-based courses, the course outline will be a first-class object which can specify things like "Unit 15 should consist of these three blocks linked in from content library X, Unit 16 should have 2-5 XBlocks as returned by the adaptive engine, etc."