* Update documentation for ClassroomIO: change Fumadocs to Blume, revise MDX format conventions, and clarify sidebar navigation requirements. * docs: update README and scripts for improved preview and error handling * docs: update Discord link in configuration and documentation * docs: add token-auth route and update documentation formatting * Fix formatting in auto-comment-issues.yml * Fix JSON syntax by adding a comma * fix(docs): declare Blume's Astro build deps so Cloudflare build resolves them blume build generates an Astro project under apps/docs/.blume/ that imports astro, @astrojs/mdx, @tailwindcss/vite, tailwindcss, @tailwindcss/typography, @shikijs/twoslash and @scalar/astro. Under pnpm's isolated node_modules these are nested inside blume and not resolvable from the docs app, so a clean --frozen-lockfile build (Cloudflare) fails at 'Cannot find module astro/config'. Declare them directly in @cio/docs, pinned to blume's resolved versions. * refactor(docs): update API reference paths and documentation for clarity * fix: change platofrm url to docs home page * Refactor documentation for self-hosting ClassroomIO - Removed the Supabase Cloud setup guide as it is no longer needed. - Updated the Enterprise SSO documentation to include a reference link for SSO & licensing. - Added new documentation for Content Security Policy (CSP) configuration. - Created a new section for configuring SMTP for email notifications. - Introduced a comprehensive configuration index for self-hosted ClassroomIO, detailing environment variables and their usage. - Added documentation for optional integrations including Google OAuth, OpenAI, and Unsplash. - Documented the generation and usage of required secrets for ClassroomIO. - Created a section for SSO & licensing, detailing the requirements for Enterprise features. - Added object storage configuration documentation, covering both bundled MinIO and external S3-compatible services. - Documented versioning and upgrade processes for ClassroomIO. - Updated the Coolify and Docker self-hosting guides to streamline configuration references and upgrade instructions. - Enhanced the Railway self-hosting guide with links to relevant configuration sections. - Updated token authentication documentation to reference SSO & licensing. * Add comprehensive guides for ClassroomIO features and functionalities - Introduced a new guide for the Student Dashboard, detailing navigation and features available to students. - Added a guide on using Tags for organizing and filtering courses within ClassroomIO. - Created a guide on how to take attendance in courses, including marking attendance and related functionalities. - Developed a Terminology guide to clarify key terms used throughout ClassroomIO. - Implemented a Token Auth guide for signing users into ClassroomIO from external applications using JWT. - Added instructions for using math in the editor with LaTeX support. - Created a guide for customizing the welcome email sent to students upon enrollment in courses. - Added a guide explaining what ClassroomIO is and its key features. - Updated the home documentation to provide a clearer overview of ClassroomIO and its resources. - Enhanced self-hosted configuration documentation with a new guide for deploying ClassroomIO on Dokploy. - Updated links in the self-hosted configuration documentation for better navigation. - Added new images to support the Dokploy deployment guide. - Updated asset packaging script to handle redirects for the new guide structure. - Fixed footer link to point to the correct Getting Started guide. * chore: uprage version * feat(docs): add DigitalOcean deployment guide and flatten guides structure - Add a guide for deploying ClassroomIO on DigitalOcean using Docker Compose and Caddy for automatic HTTPS. - List DigitalOcean as a deployment option in the self-hosting index. - Move guides out of content/docs/guides into content/docs (student-dashboard, tags, terminology, token-auth, what-is-classroomio, audience, cohorts, community, course, enterprise-sso, mcp, organization, quickstart/*). - Rename home.mdx to index.mdx. - Update package-assets script to emit redirects for the old guides paths. --------- Co-authored-by: Rotimi Best <[email protected]>
101 lines
4.4 KiB
Plaintext
101 lines
4.4 KiB
Plaintext
---
|
|
title: Control Course Progression
|
|
description: Require students to move through a course in order, with lessons and exercises that only complete when your rules are met.
|
|
---
|
|
|
|
By default students can open any unlocked item in any order. With **sequential** progression they must finish each item
|
|
before the next one unlocks, and you decide what "finished" means for every lesson and exercise. This is the backbone of
|
|
a structured training flow: watch the video, pass the quiz, earn the certificate.
|
|
|
|
## Choose a progression mode
|
|
|
|
In the course's **Settings** tab, find the **Student progression** section and pick one:
|
|
|
|
| Mode | Behavior |
|
|
| --- | --- |
|
|
| **Free** | Students open any unlocked item in any order and mark lessons complete themselves. |
|
|
| **Sequential** | The next item stays locked until the current (or previous) item is complete. |
|
|
|
|

|
|
|
|
:::info
|
|
If a course is just a video and a quiz, turn off **Content grouping** in the same settings so the content list is a
|
|
flat list instead of grouped sections.
|
|
:::
|
|
|
|
## Set how a lesson completes
|
|
|
|
Open a lesson, go to its **Settings** tab, and choose a **Completion rule**:
|
|
|
|
| Rule | Completes when |
|
|
| --- | --- |
|
|
| **Manual** | The student clicks to mark the lesson complete. |
|
|
| **Video watch** | The student watches the selected videos. Set the **Watch threshold (%)** (for example 95%). |
|
|
| **None** | The lesson never blocks progression. |
|
|
|
|

|
|
|
|
:::warning
|
|
**Video watch** only enforces uploaded videos. While the rule is active the player blocks skipping ahead and pauses when
|
|
the student switches tabs, so the watch percentage reflects real viewing. The lesson completes once the threshold is reached.
|
|
:::
|
|
|
|
## Set how an exercise completes
|
|
|
|
Open an exercise, go to its **Settings** tab, and choose a **Completion rule**:
|
|
|
|
- **Submitted**: the exercise completes as soon as the student submits any answer.
|
|
- **Passed**: the exercise completes only when the student's score meets the **Pass threshold (%)** you set.
|
|
|
|
Use **Passed** when an exercise must be cleared before the course can continue or a certificate can be issued.
|
|
|
|
## Gate the certificate
|
|
|
|
In the course's **Certificates** settings, turn on certificate download and set **Minimum completion (%)** (for example
|
|
100%). The certificate unlocks only after the student completes that share of the course, which, under sequential
|
|
progression, means they have watched the videos and finished the exercises in order.
|
|
|
|
See [How to Create Certificates](/guides/certificates) for templates, signatures, and the certificate ID.
|
|
|
|
## What students see
|
|
|
|
<Steps>
|
|
|
|
<Step>
|
|
### Locked items
|
|
|
|
Under **Sequential** progression, the next item stays locked until the student completes the one before it. For example, a
|
|
quiz that follows a lesson stays locked until that lesson is complete. In the course content list a locked item is greyed
|
|
out with a lock icon and cannot be opened; it unlocks automatically once the previous required item is done. If a student
|
|
opens a not-yet-available item directly, they see a **Complete previous content first** notice.
|
|
|
|

|
|
</Step>
|
|
|
|
<Step>
|
|
### A video they cannot skip
|
|
|
|
On a **Video watch** lesson, the progress percentage climbs as they watch. Trying to jump ahead shows a "you cannot skip
|
|
ahead" notice, and the video pauses if they leave the tab.
|
|
|
|

|
|
</Step>
|
|
|
|
<Step>
|
|
### Completion and the certificate
|
|
|
|
Reaching the watch threshold marks the lesson complete and unlocks the next item. After they finish the final
|
|
requirement, the course is complete and they can view and download their certificate.
|
|
|
|

|
|
</Step>
|
|
|
|
</Steps>
|
|
|
|
## Related guides
|
|
|
|
- [Course Types](/guides/course-types): Self-paced, Live class, Compliance, and Public
|
|
- [How to Create an Exercise](/guides/create-exercise): build the quiz that gates progression
|
|
- [How to Create Certificates](/guides/certificates): what students earn at the end
|
|
- [Run a Live Class](/guides/live-class): schedule live sessions alongside on-demand content
|