Kurs-Prüfungen (CourseExams)
Zweck
CourseExam ist eine Pruefungsvorlage mit zugehörigen Fragen und Antworten. Pro Prüfung wird über die Sub-Route /course-exams/:id/questions der Fragen-Pool gepflegt; pro Frage werden die möglichen Antworten in /course-exams/:id/questions/:questionId/answers angelegt — eine oder mehrere davon als korrekt markiert.
Eine Prüfung wird in einem Kurs als Modul eingebaut. Beim Anlegen einer Anmeldung durchlaeuft der Lernende die Prüfung und das System wertet die Antworten aus.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_CourseExam, CourseExam | Liste/Detail aufrufbar | — |
create/update/delete | CourseExam | Pflegen | APP_SPEAMCORE_CREATE/UPDATE/DELETE_COURSE_EXAM |
view/create/update/delete | CourseExamQuestion | Fragen-Sub-Liste | APP_SPEAMCORE_VIEW/CREATE/UPDATE/DELETE_COURSE_EXAM_QUESTION |
view/create/update/delete | CourseExamQuestionAnswer | Antworten-Sub-Liste | APP_SPEAMCORE_VIEW/CREATE/UPDATE/DELETE_COURSE_EXAM_QUESTION_ANSWER |
Schritt-für-Schritt-Anleitung
- Kurs-Prüfungen (
/course-exams) → + Neu. nameunddescriptionpflegen.- Sub-Route Fragen → Frage anlegen mit Text und Frage-Typ (Single-Choice, Multiple-Choice, ...).
- Pro Frage Sub-Sub-Route Antworten → Antworten erfassen, mind. eine als korrekt markieren.
- Prüfung in einen Kurs als Modul einbauen.

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 der Prüfung. | — |
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Kurse — referenzieren Prüfungen als Modul.
- Kurs-Anmeldungen — Prüfung wird im Lernpfad durchgeführt.
- Kurs-Zertifikate — Prüfung kann Voraussetzung für Zertifikat sein.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/course-exams | Liste | view CourseExam |
POST | /api/course-exams | Anlegen | create CourseExam |
GET | /api/course-exams/:id | Detail | view CourseExam |
PATCH | /api/course-exams/:id | Ändern | update CourseExam |
DELETE | /api/course-exams/:id | Soft-Delete | delete CourseExam |
GET | /api/course-exam-questions?filter[courseExamId] | Fragen-Sub-Liste | view CourseExamQuestion |
GET | /api/course-exam-question-answers?filter[courseExamQuestionId] | Antworten-Sub-Liste | view CourseExamQuestionAnswer |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.