Open edX Dev Summit, 2018-06-01

Current pains

Learning content is tied within a course
Access to learning content requires enrollment in the course
Content library - stored within a course under the covers

Blockstore benefits

New place to store learning content
Flexible
Content reuse
Content duplication eliminated?

Blockstore

Conceptually, a single content library for all blocks in the system
Course structure separately stored
Possibly could use LTI - but requires enrollment, uses iFrame, and at the Block-level granularity

Migration strategy

Re-implement Content Library

Open Questions

  1. Versioning

Major & Minor
Forced update or Manual update

2. Student Data

Use "learning context"
Can repeat multiple times for mastery learning

3. Cross-instance sharing (non-requirement)

Across multiple open edX instances
A non-requirement for LabXChange

4. Javascript sandboxing

Scope
iFrame HTML blocks with JS

3. Tagging & Taxonomy

Any open source Library that is available? Django-tagging
OSIDs / DLKit
Namespacing
Access

4. De-duplication (non-requirement)

On Course export/import

5. Overrides and context-scoped fields

Should we allow people to override content?
Immutable and copy
Course-wide rules, Program-wide rules

6. Unit or xBlock as unit of sharing

Granularity of versioning

7. Verticals/Seqs/etc stored as xBlocks?
8. Roles & Permissions

Want central place to define roles & permissions

System-wide: Centralized roles
Micro-services: Service-level roles with Service-level permissions

Static assets

Associated with each xBlock
Instead of all within a single Files & Assets page

Library / Repository, sounds similar to pypi and npm

OLX would need to be stricter with better versioning