Zum Hauptinhalt springen

Kurs — Module (Sub-Route)

Zweck

Sub-Route /courses/:id/modules strukturiert einen Kurs in Module — eine Mischung aus CourseContent-, CourseExam- und CourseScorm-Modulen, die im Lernpfad in Reihenfolge durchlaufen werden. Pro Modul werden Position, Pflicht-Flag und ggf. Pruefungs-Schwelle gepflegt.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_Course, CourseDetail aufrufbar
view/create/updateCourseModuleModule pflegenAPP_SPEAMCORE_VIEW/CREATE/UPDATE_COURSE_MODULE

Schritt-für-Schritt-Anleitung

  1. Kurs (/courses/:id) → Tab Module.
  2. + Modul wählt Modul-Typ (Content/Exam/SCORM) und konkrete Vorlage.
  3. Reihenfolge per Drag-and-Drop.

Anlege-Pattern

+ Modul hinzufügen legt ein CourseModule an. Module sind die strukturellen Bausteine des Kurses (z. B. „Kapitel 1: Grundlagen", „Kapitel 2: Praxis"). Pro Modul:

  • title (Pflicht), description, position (Reihenfolge).
  • Mehrere CourseContent-Slides koennen einem Modul zugeordnet werden — siehe Kurs-Inhalte.
  • Optional: requiredForCertificate (Boolean) — Pflicht-Modul für Abschluss-Zertifikat.
**Prüfungen** (`CourseExam`) werden über [Kurs-Pruefungen](/course-exams) gepflegt und einem Modul zugeordnet. Das Modul gilt als bestanden, wenn alle zugeordneten Prüfungen mit ausreichender Punktzahl absolviert wurden.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/course-modules?filter[courseId]Listeview CourseModule
POST/api/course-modulesAnlegencreate CourseModule

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.