# 4. Course Status Management

User Type: **Super Administrator**
Source: *Mi Digital Academy - Education CRM Features Document*

---

## 4. Course Status Management

### 4.1 Draft, Publish, and Archive Courses
**What it does:** Controls a course's lifecycle status: draft (being built, not available), published (live and available), and archived (retired, no longer offered). The Super Administrator moves a course through these statuses, with the readiness checks that gate each transition, so only complete, ready courses go live and retired courses are cleanly taken down.

**Sub-features:**
- Course statuses: draft, published, archived
- Draft: the course is being built; not visible or available to learners
- Publish: the course goes live; visible and available for enrollment
- Archive: the course is retired; no longer offered for new enrollment
- Readiness check before publish: content complete, structure sound, profile set
- Status transition: draft → published → archived (and draft/published → archived)
- Reversibility: an archived course can be re-published; a published course can be re-drafted
- Audit logging of status transitions

**Super Administrator User Journey:**
1. A course is built as a draft: its content, structure, and profile are assembled while it is not visible to learners.
2. When the course is ready, Super Admin runs the publish action; the platform runs the readiness check (content complete, structure sound, profile set).
3. The readiness check passes; the course is published. It is now visible in the catalog and available for enrollment.
4. For a course that fails the readiness check (a topic with no content), the publish is blocked with the specific gaps listed; Super Admin closes them and re-publishes.
5. For a course that is retired (a skill the platform is no longer offering), Super Admin archives it. It is removed from the catalog and no longer offered for new enrollment.
6. Existing learners of an archived course keep their access and progress; the archive affects new enrollment, not existing learners.
7. For a course that needs a major revision, Super Admin moves it back to draft (re-draft): it is taken out of the catalog while revised, then re-published.
8. Each status transition is audit-logged with the course, the from/to status, and the timestamp.

**Rules & Edge Cases:**
- A draft course is not visible or available; it is the working state.
- Publish is gated by the readiness check; a course with gaps is not published cleanly.
- Archive retires the course for new enrollment but preserves existing learners' access and progress.
- Transitions are reversible where sensible: archived → published (re-offer), published → draft (major revision).
- A status transition is a single, recorded event; there is no ambiguous intermediate state.
- Status transitions are audit-logged with the course, from/to status, and timestamp.

### 4.2 Control Course Visibility and Availability
**What it does:** Separates a course's visibility (where and to whom it is shown) from its availability (who can enroll), so the Super Administrator can control the course's reach precisely: visible in the catalog but restricted to certain audiences, or available by assignment only (not publicly listed). This gives fine-grained control over how a course is surfaced and who can take it.

**Sub-features:**
- Visibility control: where the course is shown (public catalog, restricted, hidden)
- Availability control: who can enroll (public, by assignment, by audience)
- Audience restriction: the course available to specific groups/segments
- Assignment-only availability: the course not publicly listed, available only when assigned
- Board/grade scoping: an academic course visible in its board/grade context
- Preview: the course's presentation checked before it is surfaced
- Audit logging of visibility/availability changes

**Super Administrator User Journey:**
1. For a course, Super Admin sets its visibility: public (shown in the catalog), restricted (shown to specific audiences), or hidden (not listed).
2. Sets its availability: public (anyone can enroll), by assignment (only assigned learners), or by audience (specific segments).
3. For an internal training course, sets it hidden and assignment-only: it is not in the public catalog and is available only to the learners it is assigned to.
4. For a board-specific academic course, scopes its visibility to its board/grade context: it appears for that board's learners, not in other boards' catalogs.
5. Previews the course's presentation (how it appears where it is surfaced) before confirming the visibility setting.
6. For a course that moves from a pilot (restricted) to general offering (public), Super Admin widens the visibility and availability; the change is recorded.
7. Reviews the visibility/availability matrix across the courses: each course's reach is as intended, with no course accidentally public or accidentally hidden.
8. The visibility/availability changes are audit-logged with the course, the settings, and the timestamp.

**Rules & Edge Cases:**
- Visibility (where shown) and availability (who can enroll) are separate controls; a course can be visible but restricted, or available by assignment only.
- An assignment-only course is not publicly listed; it is available only when assigned to a learner/group.
- Audience restriction limits enrollment to the defined groups/segments; others cannot enroll.
- Board/grade scoping applies to academic courses: they surface in their board context, not across boards.
- A visibility/availability change is recorded; a course's reach is always auditable.
- Changes are audit-logged with the course, settings, and timestamp.
