Schulungen (Courses)
Zweck
Schulungen (Course) bilden das LMS-Modul ab — Mitarbeiter und ggf. externe Kursteilnehmer absolvieren strukturierte Lerninhalte mit Modulen, Anmeldungen (CourseEnrollment), Lizenzen und ggf. Zertifikaten. SCORM-Support für interaktive Kursinhalte ist optional aktivierbar.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Keycloak-Rolle |
|---|---|---|
view | FE_Course, Course | — |
create/update/delete | Course | APP_SPEAMCORE_CREATE/UPDATE/DELETE_COURSE |
Tab-Subjects:
| Tab | Sub-Pfad | Subject |
|---|---|---|
| Module | /courses/:id/modules | CourseModule:view |
| Dokumente | /courses/:id/documents | Document:view, DocumentParent:view |
| Vorschau | /courses/:id/preview | Course:view |
| Anmeldungen | /courses/:id/enrollments | CourseEnrollment:view |
| Lizenzen | /courses/:id/licenses | CourseScorm:view |
Schritt-für-Schritt-Anleitung
- Schulungen (
/courses) → + Neu. - Name und Beschreibung pflegen.
- Optional ein Produkt zuordnen (LMS-Produkt für Lizenzierung).
- SCORM aktivieren, falls SCORM-1.2- oder 2004-Kurspaket verwendet wird.
- Im Tab Module die Lerninhalte strukturieren.
- Im Tab Anmeldungen Mitarbeiter zuweisen.

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)
UI-Elemente
Switch: „SCORM aktiviert"
Aktiviert die SCORM-Launch-Funktionalitaet für den Kurs.
Tab: „Vorschau"
Rendert den Kursinhalt im Anwender-Modus — für Qualitaetssicherung vor der Veroeffentlichung.
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Beschreibung | Wirkung beim Ausfuellen | Voraussetzung |
|---|---|---|---|---|---|
name | ja | String | Kurs-Bezeichnung. | Erscheint in Auswahl-Listen, Anmeldungs-UI und Reports. | — |
description | nein | TEXT | Kurs-Beschreibung für Teilnehmer-Übersicht. | Wird auf der Kurs-Card und in der Vorschau angezeigt. | — |
productId | nein | UUID (Searchable Select) | Verknuepftes LMS-Produkt. | Aktiviert Lizenzierungs-Logik (CourseScorm/Lizenzen-Tab). | view:Product |
scormEnabled | nein | Boolean (Switch) | SCORM-Support aktivieren. | Wenn true: Tab Lizenzen wird nutzbar; SCORM-Pakete koennen hochgeladen werden. | — |
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- CourseModule (1:N) — strukturierte Lerninhalte.
- CourseEnrollment (1:N) — Mitarbeiter-Anmeldungen.
- Mitarbeiter — Tab Schulungen am Mitarbeiter-Stamm.
- CourseCertificate — bei erfolgreichem Abschluss.
- Product (
productId) — für Lizenzierung.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|---|
| SCORM-Tab nicht sichtbar | scormEnabled = false oder CourseScorm:view fehlt. |
| Anmeldungs-Liste leer | Mitarbeiter über Tab Anmeldungen oder über Mitarbeiter-Detailseite zuweisen. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/courses | Liste | view Course |
GET | /api/courses/:id | Detail | view Course |
POST | /api/courses | Anlegen | create Course |
PUT | /api/courses/:id | Ändern | update Course |
DELETE | /api/courses/:id | Soft-Delete | delete Course |
GET | /api/courses/:id/modules | Modul-Liste | view CourseModule |
GET | /api/courses/:id/enrollments | Anmeldungen | view CourseEnrollment |
GET | /api/courses/:id/licenses | SCORM-Lizenzen | view CourseScorm |
Versionshinweise
- 2026-04-29: Initiale Veroeffentlichung mit FE-Tiefen-Standard.