Skip to content
All documentation

Course Authoring & Management

Create, edit, and publish dynamic courses with a draft buffer and versioning, the manual companion to Prism's AI generation.

What it is

Dynamic courses are org-authored lessons (sections with optional charts and diagrams, exercises, prerequisites, and a target track) that live alongside the built-in curriculum and surface in learners' paths. Each course keeps a published version and a separate draft buffer, so edits are staged without affecting learners.

Use

  • Create a course from Admin → Courses → New, either describe it to Prism (see Prism) or build it manually. AI-generated courses are queued: they appear on the Courses page as Queued, then become a Draft ready to review and publish once Prism finishes in the background.
  • Edit sections, exercises, prerequisites, and the target track from the course editor.
  • Edit knowledge-check questions inline: add, remove, or rewrite a question's prompt, options, correct answer, and explanation right in the editor.
  • Regenerate any section with Prism: refresh its visual (chart or diagram), rewrite the whole section, or generate inline questions, all from the editor. When regenerating a section or its visual, you can optionally add a short instruction describing how it should improve (for example, "use a bar chart" or "add a concrete example").
  • Save as a draft to stage changes; Publish pushes a new version live.
  • Version history: every publish bumps the version; learners keep their progress and recognition across versions.

Setup

Admins author courses under Admin → Courses. New AI courses start from the studio (brief → queue) and complete in the background; existing courses are managed from their editor. A failed generation can be retried from the Courses list. Publishing is admin-only.

Security

  • Courses are org-scoped and admin-gated; only admins of the org can create, edit, or publish.
  • Draft content is never served to learners until published.
  • Background generation is org-scoped and authenticated: queued jobs are claimed atomically (SKIP LOCKED) and the persisted brief is re-guarded before any model call.
  • Publishing versions never resets learner progress or recognition (progress is keyed by module id, including dyn-<uuid>).
  • Content is sanitized and guard-checked before storage.
  • Prism regeneration is admin-only, and destructive actions ask for confirmation before overwriting a section or its questions.
  • Question edits are validated on save (minimum two options, exactly one correct answer); invalid input is surfaced before the draft is written.