Resume last program workspace and limit cross-program aggregation to selective scoped views
DEC-0096 - Resume last program workspace and limit cross-program aggregation to selective scoped views
Phần tiêu đề “DEC-0096 - Resume last program workspace and limit cross-program aggregation to selective scoped views”Context
Phần tiêu đề “Context”The previous shell model promoted a cross-program Global Today Hub as the default entry for some logged-in learners. The team later clarified that this model optimizes for a minority edge case: most learners focus on one program during a study period, even when they own or occasionally access more than one program.
A default overview page therefore creates disproportionate complexity:
- too many branching cases for active/completed/not-started combinations,
- a pseudo-workspace that competes with real program execution,
- extra cognitive load before learners can resume actual study.
Decision
Phần tiêu đề “Decision”Logged-in DOL English now uses a program-first resume shell:
- There is no standalone post-login global overview page in the active shell.
- Default entry after login is resolved in this order:
- valid
returnTo-> exact protected target, - else
last meaningful program workspace, - else if restore target is no longer valid -> same program root,
- else if exactly one valid active program exists -> that program root,
- else -> onboarding / program choice / discovery.
- valid
Last meaningful program workspace means a learner-facing program context that is safe and worth resuming. It must not blindly restore routes such as:
- auth,
- account,
- checkout,
- transient error/success pages,
- expired or invalid deep routes.
Cross-program aggregation policy:
- Cross-program aggregation is no longer a shell mode.
- It is allowed only inside explicitly eligible views where combined data materially helps the learner.
- Confirmed initial use case:
schedule / calendarstyle views. - Eligible aggregate views must:
- default to the current program scope first,
- expose
All Programsonly as an explicit scope toggle when needed, - never pretend that
All Programsis a peer program context.
Program context policy:
- Program switcher continues to list real programs only.
- Logged-in deep execution remains one real program at a time.
- Canonical object ownership remains unchanged: every deep object still needs
program,object_type,source, andcanonical_section.
Decision Value
Phần tiêu đề “Decision Value”- Aligns the shell with majority learner behavior instead of optimizing the default path for a rare multi-program case.
- Reduces the number of shell states and edge cases the system must support.
- Shortens time-to-resume because the learner lands directly in a relevant program context.
- Preserves necessary multi-program utility through scoped aggregate views without bringing back a pseudo-workspace.
Rationale
Phần tiêu đề “Rationale”The product should optimize for the behavior that happens most often:
- resume the real program the learner is already focused on,
- keep the shell simple,
- introduce cross-program aggregation only when the view truly benefits from merged data.
This gives DOL English a cleaner long-term navigation model:
Program Workspaceis the default shell reality,Deep Objectlives under canonical owners,Cross-program aggregationsurvives only as an explicit exception where it adds real value.