Kursinhalte (CourseContents)
Zweck
CourseContent modelliert einen wiederverwendbaren Foliensatz, der in Kurs-Modulen verwendet werden kann. Pro CourseContent wird über die Sub-Route /course-contents/:id/slides eine Reihe von Slides (CourseContentSlide) gepflegt, die im Lernpfad sequentiell durchlaufen werden.
Wird typischerweise als Modul innerhalb eines Kurses referenziert.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_CourseContent, CourseContent | Liste/Detail aufrufbar | — |
create/update/delete | CourseContent | Pflegen | APP_SPEAMCORE_CREATE/UPDATE/DELETE_COURSE_CONTENT |
view/create/update/delete | CourseContentSlide | Slide-Sub-Liste pflegen | APP_SPEAMCORE_VIEW/CREATE/UPDATE/DELETE_COURSE_CONTENT_SLIDE |
Schritt-für-Schritt-Anleitung
- Kursinhalte (
/course-contents) → + Neu. name(z. B. „Brandschutz Grundlagen") unddescriptionpflegen.- Sub-Route
/course-contents/:id/slides→ Slides anlegen mit Text, Bild, Audio, Video-Inhalten. - Im Kurs den CourseContent als Modul referenzieren — Anwender durchlaufen die Slides im Lernpfad.

Toolbar (Detail-Seite)
Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|---|---|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|
name | nein | String | Anzeigename in Liste und Modul-Auswahl. | — |
description | nein | TEXT | Erlaeuterung des Inhalts. | — |
Slide-Felder sind je nach slideType unterschiedlich (Text, Image, Audio, Video, Quiz).
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Kurse — verwenden CourseContent als Modul in
/courses/:id/modules. - Kurs-Anmeldungen — Lernpfad durchlaeuft die Slides eines CourseContent.
- Pruefungen, SCORM-Pakete — alternative Modul-Typen im Kurs.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/course-contents | Liste | view CourseContent |
POST | /api/course-contents | Anlegen | create CourseContent |
GET | /api/course-contents/:id | Detail | view CourseContent |
PATCH | /api/course-contents/:id | Ändern | update CourseContent |
DELETE | /api/course-contents/:id | Soft-Delete | delete CourseContent |
GET | /api/course-content-slides?filter[courseContentId] | Slide-Sub-Liste | view CourseContentSlide |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.