Problems

A Problem is a first-class practice item with auto-grading support. Unlike facets, problems are standalone — they aren't attached to a node. A problem can be embedded in a page, or accessed directly at /problems/[slug], independent of any particular node or course.

Problem types

Every problem has a type, and the type determines how it's graded and what fields it needs:

  • Multiple choice — the reader selects one correct lettered choice; auto-graded
  • Numerical fill in blank — one or more numeric answers, each with an optional tolerance; auto-graded
  • True / False — auto-graded
  • Free response — an open-ended answer; self-check only, since it can't be auto-graded

Choose the type based on how you want the answer checked, not just the phrasing of the question — a question that reads like "explain why..." but has one specific numeric answer you want checked automatically should usually be numerical fill-in-blank with the explanation as context, not free response.

Difficulty and taxonomy

Problems carry a difficulty rating and are tagged with subject/category/subcategory/topics, the same taxonomy used for nodes — this is what powers problem search and filtering, and what lets a curriculum reference problems by topic.

Versioning

Problems follow the same versioned-content model as facets: an editable working copy, a system-managed record, and immutable revision snapshots. A page that embeds a problem can pin to a specific revision the same way it can for nodes and facets — see Pages.

PreviousNext