Courses across multiple learning paths
A course can belong to several learning paths at once. Learners find it under every path it joins, and progress is shared across all of them.
What it is
Each course lives in one or more learning paths: the built-in Strategist, Architect, and Operator tracks, plus any org-defined custom paths. A course has a single primary path for backward compatibility, but can be surfaced under several paths at the same time.
Progress is shared, not duplicated: completing a course once marks it complete everywhere it appears, and it is only counted once toward a learner's badges and credential.
Use
- In the course editor, the Learning paths card lists every path the course belongs to, sorted by name, with an accent color and a remove button on each row.
- Add a path from the same card by picking an available path and choosing Add. A course always keeps at least one path.
- In the Learning Paths admin page, open a path to edit it: the Courses in this path list shows every course, and you can drag any course to reorder them. The new order saves when you drop it.
Setup
No manual setup. The course_paths table is created by the standard migration (npm run db:migrate) and is backfilled automatically so every existing course starts in its current primary track.
Security
- Every membership read and write is scoped to the org, so one organization can never see or change another organization's courses or paths.
- Adding and removing paths is limited to admins, owners, and team leads; reordering a path's courses is limited to admins and owners.
- The last remaining path cannot be removed, and removing a course's primary path reassigns the primary to another member, so a course is never left without a path.