Course and User Subsetting
Who
Dave Ormsbee, Calen Pennington (Deactivated), and willR (Deactivated) discussed various types of course/user subsetting, and how they relate.
Use-cases
Virtual Courses: CCX, LTI (a single LTI component used by different LTI consumers should produce segregated data), self-paced course sessions
Cohorts: users are in a single cohort, cohorts are disjoint, but users can interact (in discussions, course content) with larger course
Pre-assessment gating
Content A/B tests
Tracks (verification and upselling)
Teams (small (~10 ppl), self-selected)
Analysis
I tried to break down the different types of subsetting that these features needed into hopefully orthogonal sets. All of these are talking about the relationship between a larger course, and a smaller subset of that course (or the enrollees in a course, and a subset of those enrollees). Independent means that data isn't shared between the superset and the subset. Nested means that the subset can participate as part of the superset, but also has a subset of data that is independent. Shared means that the superset and subset have no distinct data.
Feature | Choices |
---|---|
Self-selected (whether a user can select to be in this grouping) | Yes/No |
Independent User Scope (should your answer to a problem in the subset also be your answer in the superset) | Yes/No |
Forums | Independent/Nested/Shared |
Field Overrides | Set of fields |
Access Checks (is there content that appears in the subset that doesn't appear in the superset) | Independent/Nested/Shared |
Course Association (for analytics) | Independent/Nested/Shared |
Content change (when the superset content changes, when does the subset content change) | Manual/Automatic |
Given those orthogonal items, we can lay out the use-cases above:
Self-selected | Independent User Scopes | Forums | Field Overrides | Access Checks | Course Association | Content Change | |
---|---|---|---|---|---|---|---|
CCX | Yes | Yes | Independent | due_date, ... | Shared | Independent | Automatic |
LTI Provider | No | Yes | Independent | None | Shared | Independent | Automatic |
Self-paced course sessions | No | Yes | Independent | dates | Shared | Independent | Automatic |
Cohorts | No | No | Nested | None | Nested | Nested | Automatic |
Pre-assessment gating | No | No | Shared | None | Nested | Shared | Automatic |
Content A/B tests | No | No | Shared? | None | Nested | Nested | Automatic |
Tracks | Yes | No | Nested | None | Nested | Nested | Automatic |
Teams | Yes | No | Nested | None | Shared | Nested | Automatic |
Course Re-runs | Yes | Yes | Independent | None | Independent | Independent | Manual |
We also discussed UserPartitionSchemes (as presented /wiki/spaces/PT/pages/11927648) as a good way of implementing nested access checks.