LabXchange 2018-04-26
Agenda & Notes
- Curate a list of high-level requirements questions that we have to-date that we can forward to Product/UX.
- Content Reuse
- Units and Sequences as well?
- Can authors add/remove units within a Sequence?
- Which configuration/settings changes?
- References/links
- What happens when you create your own overrides/copies?
- Original content changes
- Permissioning/licensing overrides?
- What happens when you create your own overrides/copies?
- Immutability
- What version/portion of a block/unit to be immutable?
- Propagating updates from upstream
- manual or automatic
- types of changes: content, ACLs, etc.
- Content Composability
- Hierarchical composition of sequences?
- (Should it be in the blockstore or somewhere else?)
- Workflow: for creating course, course-run, composition
- Are different teams working on different parts (e.g. problem banks, course)?
- Versioning
- Granularity - unit-level, collection-level?
- Authors explicitly specify major versus minor changes
- Access control
- Ownership
- Permissions
- Licensing
- Flexibility of types of licenses?
- Prevent changes to licenses that shouldn't be allowed - like less restrictive or deleting it?
- Development
- Flexibility of replacing with own implementation of sequences/collections/etc?
- Migration requirements
- Migrating/Copying edx.org courses into Blockstore
- licensing
- tagging for reuse
- Migrating/Copying edx.org courses into Blockstore
- Content Reuse
- BlockStore design collaboration
- Can we break-up the BlockStore design into smaller pieces so we can have focused breakout discussions on each topic?
- Is Confluence working for us? Best practices on making it work? Will it be better once we break-up into separate docs? Or do we need to move to another tool?
- Shall we step away and try to reason about this top-down as well?
- For example, go through an exercise of defining the developer interfaces/APIs for BlockStore.
- Generic APIs
- LabX use cases
- Go through an exercise of determining the usage of it via composed "Courses", reusable "Sequences", and tagged content.
- As we do this, can we think differently about how the design can be simpler?
- For example, go through an exercise of defining the developer interfaces/APIs for BlockStore.
- Shall we schedule another near-term meeting (maybe 1.5 hours) to do #3 above?
Action Items
- Braden MacDonald, @Ian
- Use Case doc for review: https://docs.google.com/document/d/1MqZIsMBIKReapMNmEI35AT7G1Zlc8T2zvQn8qr_KfUs/edit
- Process for Product requirements input: TBD to expand the use case doc to include draft of edx use cases + stories, then Product to review that doc, and work toward signing off on desired high level use cases + stories. Publish doc publicly alongside Blockstore work to include community input / use cases.
- Design document review process: start with high-level use cases, map to architectural components/systems, determine models for each system and do a deep dive, then review the big picture to ensure use cases are met.
- Carly Stevens Schedule meeting for next Wed (5/2) for #3 above (top-down design)
- LATER Gap analysis of Modulestore and Blockstore functionality
(e.g., no longer have static structure to traverse, xBlocks no longer at each level, lower-level node having access to course settings)