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)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Course, Course | Detail aufrufbar | — |
view/create/update | CourseModule | Module pflegen | APP_SPEAMCORE_VIEW/CREATE/UPDATE_COURSE_MODULE |
Schritt-für-Schritt-Anleitung
- Kurs (
/courses/:id) → Tab Module. - + Modul wählt Modul-Typ (Content/Exam/SCORM) und konkrete Vorlage.
- 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.
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Kurse — Eltern-Modul.
- CourseContents, CourseExams, CourseScorms — Modul-Vorlagen.
- CourseEnrollments — durchlaufen die Module.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/course-modules?filter[courseId] | Liste | view CourseModule |
POST | /api/course-modules | Anlegen | create CourseModule |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.