Zum Hauptinhalt springen

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

- Berechtigung `view:CourseContent` und `create:CourseContent`. - Für Slide-Pflege: `view:CourseContentSlide`/`create:CourseContentSlide`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_CourseContent, CourseContentListe/Detail aufrufbar
create/update/deleteCourseContentPflegenAPP_SPEAMCORE_CREATE/UPDATE/DELETE_COURSE_CONTENT
view/create/update/deleteCourseContentSlideSlide-Sub-Liste pflegenAPP_SPEAMCORE_VIEW/CREATE/UPDATE/DELETE_COURSE_CONTENT_SLIDE

Schritt-für-Schritt-Anleitung

  1. Kursinhalte (/course-contents) → + Neu.
  2. name (z. B. „Brandschutz Grundlagen") und description pflegen.
  3. Sub-Route /course-contents/:id/slides → Slides anlegen mit Text, Bild, Audio, Video-Inhalten.
  4. Im Kurs den CourseContent als Modul referenzieren — Anwender durchlaufen die Slides im Lernpfad.

Kursinhalte-Liste mit Spalten Name und Beschreibung — Beispiele „DGUV Vorschrift 3", „Gefährdungsbeurteilung nach ArbSchG", „PSA-Pflicht im Elektrobetrieb" und Button „+ Kursinhalt hinzufügen" (Test-Daten).

Toolbar (Detail-Seite)

Schlanke Toolbar oben rechts:

IconAktion (aria-label)CASLWirkung
ZurückgehenZurück zur Liste.
🏠Zur Startseite gehenSpringt auf das Dashboard / /.
⏮/◀/▶/⏭PaginationNavigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung.

Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:

  • KAL. (Mini-Kalender)
  • ZEIT (Persoenliche Wochen-Arbeitszeit)
  • ARBEIT (Eigene bevorstehende Aufträge)

Felder und Eingaben

FeldnamePflichtDatentypWirkung beim AusfuellenVoraussetzung
nameneinStringAnzeigename in Liste und Modul-Auswahl.
descriptionneinTEXTErlaeuterung des Inhalts.

Slide-Felder sind je nach slideType unterschiedlich (Text, Image, Audio, Video, Quiz).

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/course-contentsListeview CourseContent
POST/api/course-contentsAnlegencreate CourseContent
GET/api/course-contents/:idDetailview CourseContent
PATCH/api/course-contents/:idÄndernupdate CourseContent
DELETE/api/course-contents/:idSoft-Deletedelete CourseContent
GET/api/course-content-slides?filter[courseContentId]Slide-Sub-Listeview CourseContentSlide

Versionshinweise

  • 2026-04-30: Initiale Veroeffentlichung.