LabXchange 2018-05-17
Updates:
Super-duper early draft of edX Use Cases
Prototype code
Jill experimented with GraphQL initially
was generating tons of database queries in the backend
switched to REST APIs for now
In progress
Agenda:
Tagging - anyone else working on this? Adaptive learning etc.
LabXchange needs to decide soon on free-form vs structured tagging.
Strategy for Encapsulation of external content: XBlock or some other mechanism? (edX + LabXchange common use case)
Continue taxonomy discussion
Leverage xAPI and/or OSIDs?
Notes:
LabX Use case document
will be updated soon with latest definitions
Tagging and taxonomy
Free formed with namespace? or structured tags?
structured tags can be implemented with free-formed namespaced tags
marketplace to discover standardized taxonomies
Should external content always be encapsulated in xBlocks?
External content from:
Doesn't have to be xBlocks
xBlock as a large surface area of APIs, which we don't necessarily want all external components to implement
has runtime, url generation, sandboxing issue, etc.
DART has multiple "content adapters"
xBlock is only one of the adapters
based on iFrames of iFrames of LTI
If we went with DART's API
Open edX supports xBlocks and so would have to update the entire codebase to use a new adapter
Use cases for external content
grade exchange?
fit inline within a sequence?
data synch
Possible Option:
Take a stab at what a new minimal xBlock API would look like
We would then implement an adapter from new API to old API (to support existing system)
From Blockstore's perspective, treats files/resources just as xBlocks
Pathway Hierarchy
A concept within Blockstore?
Implemented as a taxonomy?
Taxonomy of hierarchical relationships and then tag content.
"Sequence"
table of contents (mapping units in a course to a hierarchy)
recommended path to a course (adaptive case)
learner's actual pathway through the course
One option
Let Blockstore be where things are authored
where we store "definitions" of the content
Blockstore stores:
Units
Pathways
Overrides
For Blended Learning
Relative due dates and default values would live in the Blockstore
Creates a taxonomy for their own (CCX) context
Aligns taxonomy items to any unit in the Blockstore
Captures overrides in the Blockstore by mapping Block-IDs to Override-IDs
Key difference from today's modulestore: blocks stored outside of courses
Action Items: