Course settings
Course settings live in three places, one job each — Course settings in the outline rail (or click the course name at the top of the outline, or ⌘K → "Course settings: …") opens the first, and tabs at the top switch between them:
- Course page — what learners read: title, short description, the About page, the course card, search preview, the recommended next course, plus duplicate / save as template, and delete at the very bottom. A live preview at the top shows the course card and the course-page header exactly as the fields below will render them.
- Access — who can open the course and where it shows: visibility, featured, selected accounts, coming soon / open to new learners, the waitlist, catalogs.
- Completion — certificates.
Each page has one Save that applies everything on it, immediately — on a published course, learners see it right away. (Lesson text and titles are different: they wait for publishing.)
Two people can't silently overwrite each other: if anything on the page changed in another tab since yours loaded — details, About, access, lifecycle, catalogs, certificates, or the course was published there — Save applies nothing, shows the current values, keeps the fields you edited (still unsaved), and asks you to check them before saving again. A Save is all-or-nothing: the description and the access change you made together land together or not at all. While a save is running you can keep typing — whatever you change meanwhile stays unsaved until the next Save, never reverted. Unsaved fields also hold you on the page: a click elsewhere in the workspace asks you to Save or Discard changes first (the About text is different — it autosaves as a draft and only Save applies it).
Details
- Title — rename anytime. The course URL never changes, so links you've shared keep working.
- Short description (up to 500 characters) — the plain-text line shown on the course card and under the course title.
- About this course — a full markdown page (the same editor as
lessons) shown on the course page: what learners will build, who
it's for, prerequisites. Three headings get special treatment — if
you write
## What you'll be able to do(or## What you'll learn),## Who this is for, and## Before you start(or## Prerequisites), the course page renders them as designed sections: the outcomes become a highlighted checklist card, and the audience and prerequisites become side-by-side callout cards. Everything else you write appears as normal prose under "About this course" — the headings are a convention, not a requirement. You don't have to remember them: new courses start with the section template already in place (edit the prompt lines, press Save), an emptied About offers an Insert section template button to stamp it back, and the chips under the editor light up live as each designed section is recognized while you type. While you type, the text is kept safe automatically, but nothing becomes visible to learners until you press Save; edits left unsaved show a notice the next time you open the page.
Course card
What your academy home shows for the course:
- Card image — paste an https image URL (your CDN, your repo's raw URL — roughly 16:9 crops best). Leave it empty and the course gets a generated cover in your brand color, made from the course itself: the first lines of its first lab (setup or starter code, labelled with the lab's language), or, for a course without a lab, its lesson titles in order. The same cover appears on the course page, so a row of cards lines up whether or not every course has an image.
- Level (Beginner / Intermediate / Advanced) and duration ("~2 h") — shown on the card and the course page next to the lesson count; leave either empty to not show it. You don't have to guess the duration: once three or more learners have finished the course, the field shows the median time real finishers took, computed from their actual lesson-by-lesson activity — one click ("Use this") adopts it. It's a suggestion, not an override: what you type wins, on the course page and the course card alike.
- Tags — type a tag and press Enter; it becomes a chip you can remove with its ×. While typing, tags your other courses already use are suggested — pick from the list to keep spellings consistent. Lowercased, up to 8. Once two or more courses share a tag, the academy home grows filter chips for it.
- Recommended next course — learners who finish see "Continue with …". A suggestion, never a gate: hard prerequisites block learners; a pointer doesn't. The field opens with a short suggested list (courses sharing this one's tags first), and typing searches every course by title or tag — built for academies with many courses. Rows are flagged when a pick wouldn't reach learners yet (draft, hidden, closed to new learners), and the suggestion is automatically withheld while its target course is hidden.
- Search & social preview (collapsed) — link previews and search already use your title, description, and card image; override them only when search should say something different.
- Link previews come free: sharing a course URL on Slack or LinkedIn uses the card image and short description automatically. Without a card image, the preview is a generated banner in your academy's colors: the course title and its facts (lessons, labs, duration).
Access
Who sees the course:
- Visibility — three states:
- Listed — shown on the academy home, in catalogs, and in search.
- Unlisted — still published, but reachable only by direct link. For partner betas, early access, and retiring a course without breaking links.
- Hidden — fully withdrawn: listed nowhere, and the direct link returns a 404 for everyone but staff. For pulling a published course out of circulation without unpublishing it — learner progress and issued certificates stay intact, and switching back restores everything, including any account restriction you had configured.
- Featured on the academy home — the home's hero spot, one course per academy; featuring a course un-features the previous one. (Admin → Home has the same control as a searchable picker, and course order lives there too — the ↑↓ arrows next to each course.)
- Everyone, or only selected accounts — restrict a course to specific customer accounts (private onboarding, paid training). Learners outside those accounts get a 404; someone opening the link signed-out is asked to sign in with their work email, and account detection does the rest. For the accounts that may see it, the course appears on their home like any other.
- Coming soon (draft courses) — tease a course on the academy home before it opens: its page shows your About pitch and a waitlist signup. The emails are yours (list + CSV in settings, still there after you publish — that's when you'll want them) — Mastria never emails your learners for you. Publishing turns the tease off.
- Open to new learners (published courses) — turn it off to retire a course: anyone who already started keeps full access, everyone else sees a friendly closed page pointing at the recommended next course. Links keep working; nothing 404s.
- A draft course stays invisible to learners regardless of these settings (a Coming-soon tease is the one deliberate exception).
Completion
Flip on completion certificates and learners who finish every published lesson get a shareable, publicly verifiable certificate page — details in Certificates. Optionally name the credential; empty uses the course title. For courses with labs, a second toggle — Also require passing every lab check — upgrades the Certificate of completion to an Assessed certificate: reading isn't enough, every lab check has to pass cleanly, and the credential says so by name.
Duplicate course, Save as template…, and Delete course live here too; the outline rail keeps only what you reach for while writing. Save as template… asks for the template's name first (a unique suggestion is filled in) and says what the copy carries; see Course templates for the whole story. On a template, this page is titled Template settings and holds the Course page fields only — they are the defaults every course created from the template starts with, never anything learners see.
For repo-synced courses the content fields — title, description,
course card — come from course.yaml and show read-only, while
Access and Completion stay editable right here: who may see a
course and whether it certifies are operational calls, not content.