Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


This is the most current Blockstore design document, but many details continue to be refined in conversations on the Issues page of the Blockstore repo. Some of these topics still under debate are:

  • How granular is a Bundle in different use cases (i.e. single problem, entire unit, outline of entire course, etc.)?
  • Exactly what files get placed where inside a Bundle?
  • What does the import/export look like for courses and content libraries.?

This is the design document for Blockstore, a system for authoring, discovering, and reusing educational content. Development is being funded by Harvard LabXchange and the Amgen Foundation, with significant in-kind contributions from edX.

Table of Contents



  • Blockstore exposes Bundle-level metadata as a .blockstore directory.
    • This folder a fully virtual folder (nothing actually exists there on S3, and it is optionally materialized on export)
  • Metadata is exported as JSON files.
  • All Links to other Content Bundles will be of the form links/{alias}
    • Link mapping is stored in the .blockstore/info.json directory on export.