LabXchange 2018-05-17
Updates:
- New Use Cases doc for blended learning uses of Blockstore
- 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
- Jill experimented with GraphQL initially
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
- Free formed with namespace? or structured tags?
- 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.
- xBlock as a large surface area of APIs, which we don't necessarily want all external components to implement
- 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
- Let Blockstore be where things are authored
Action Items:
- Look at DART's API
- Flesh out use cases for external content
- Flesh out use cases for tags and taxonomies
- Braden MacDonald Dave Ormsbee (Deactivated) Nimisha Asthagiri (Deactivated) take a stab at diagrams showing boundaries and separation of concerns between Blockstore and higher-order concepts. Consider Pathway Hierarchies, Adaptive Sequences and Blended learning use cases.