Course and User Subsetting

Who

Dave OrmsbeeCalen 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.

FeatureChoices
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
ForumsIndependent/Nested/Shared
Field OverridesSet 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-selectedIndependent User ScopesForumsField OverridesAccess ChecksCourse AssociationContent Change
CCXYesYesIndependentdue_date, ...SharedIndependentAutomatic
LTI ProviderNoYesIndependentNoneSharedIndependentAutomatic
Self-paced course sessionsNoYesIndependentdatesSharedIndependentAutomatic
CohortsNoNoNestedNoneNestedNested

Automatic

Pre-assessment gatingNoNoSharedNoneNestedShared

Automatic

Content A/B testsNoNoShared?NoneNestedNestedAutomatic
TracksYesNoNestedNoneNestedNestedAutomatic
TeamsYesNoNestedNoneSharedNestedAutomatic
Course Re-runsYesYesIndependentNoneIndependentIndependentManual

 

We also discussed UserPartitionSchemes (as presented /wiki/spaces/PT/pages/11927648) as a good way of implementing nested access checks.

 

Raw Whiteboard Notes