Module abschaltbar machen
Merkkarten, Praxisaufgaben, Checklisten, Berichtsheft, Lernzielkontrollen und Feedbackgespraech lassen sich unter Verwaltung -> Module fuer die ganze Lern-Bar ab- und einschalten. Wochenplan, Handouts, Glossar, Auswertung und Verwaltung bleiben immer an. Gesperrt wird an drei Stellen, nicht im Layout (Next rendert Layouts beim Seitenwechsel darunter nicht neu): Seiten mit erfordereModul, Routen fuer PDF, Anhaenge und Lernstand mit modulAn, alle 37 Serveraktionen der Module mit pruefeModul. Die Anmeldepruefung kommt jeweils zuerst, damit ein Unangemeldeter nicht am 404 abliest, was abgeschaltet ist. Ein abgeschaltetes Modul traegt nirgends bei: Wochenplan, Fortschritt, Was-wartet, Mein Stand, Ergebnisverlauf, Rahmenplanabdeckung, Vorschlaege fuers Berichtsheft, Karten im Handout, Kurzbefehle im Manifest. Die Lernstand-Schnittstelle antwortet mit 410, das Geraet verwirft daraufhin seine Offline-Warteschlange. Abschalten loescht nichts. Gespeichert in modul_einstellung (Migration 0010); fehlt die Zeile, ist das Modul an, eine bestehende Datenbank verhaelt sich also wie vorher. 12 Tests fuer die Regeln, Abschnitt A8 im Abnahmelauf, Anleitung Kapitel 9 mit Bildschirmfoto, README, E43. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
54ce7d87ae
commit
44e6c8bb79
@@ -493,3 +493,41 @@ oder eine erfolgreiche Anmeldung setzt den Zähler zurück.
|
||||
- **Gezählt wird vor der Prüfung.** Jeder Versuch gilt sofort als Fehlversuch
|
||||
und wird bei Erfolg zurückgenommen. Zwischen Sperrprüfung und Zählen liegt
|
||||
so kein `await`; sonst kämen gleichzeitige Anfragen alle an der Sperre vorbei.
|
||||
|
||||
## E43 · Module schaltbar für die ganze Lern-Bar, gesperrt an drei Stellen, nie gelöscht
|
||||
|
||||
Merkkarten, Praxisaufgaben, Checklisten, Berichtsheft, Lernzielkontrollen und
|
||||
Feedbackgespräch lassen sich unter **Verwaltung → Module** abschalten. Wochenplan,
|
||||
Handouts, Glossar, Auswertung und Verwaltung bleiben immer an – an ihnen hängt
|
||||
alles andere, und die Auswertung passt sich ohnehin an.
|
||||
|
||||
- **Für die ganze Lern-Bar, nicht je Azubi.** Ein Betrieb startet mit einer
|
||||
Fachrichtung und entscheidet einmal, womit er arbeitet. Schalter je Azubi
|
||||
hätten jede Ausbilderansicht je Person unterschiedlich gemacht. Ließe sich
|
||||
später ergänzen, ohne das Bestehende umzubauen: Der Stand ist schon heute ein
|
||||
Objekt, das an einer Stelle entsteht (`repos/module`).
|
||||
- **In der Datenbank, nicht in einer Konfigurationsdatei.** Ein Ausbilder soll
|
||||
ohne Zugang zum Server umschalten können, und die Änderung soll sofort
|
||||
wirken, ohne Neustart. Gespeichert wird nur, was je umgeschaltet wurde; fehlt
|
||||
die Zeile, ist das Modul an. Eine bestehende Datenbank verhält sich nach der
|
||||
Migration also genau wie vorher.
|
||||
- **Gesperrt an drei Stellen, nicht im Layout.** Seiten rufen `erfordereModul`
|
||||
auf (Antwort „nicht gefunden", wie bei fehlender Berechtigung, E21), Routen
|
||||
für PDF, Anhänge und Lernstand fragen `modulAn`, Serveraktionen rufen
|
||||
`pruefeModul`. Ein Layout je Modul wäre kürzer gewesen, greift aber nicht
|
||||
zuverlässig: Next.js rendert ein Layout beim Wechsel zwischen den Seiten
|
||||
darunter nicht neu.
|
||||
- **Abschalten löscht nichts.** Beim Berichtsheft ist das zwingend – es ist ein
|
||||
Nachweis. Für alle anderen Module gilt dasselbe, damit niemand beim
|
||||
Ausprobieren Daten verliert.
|
||||
- **Abgeschaltet heißt: trägt nirgends bei.** Kein Eintrag im Wochenplan, kein
|
||||
Anteil am Wochenfortschritt, kein Nachweis in der Rahmenplanabdeckung, kein
|
||||
Vorschlag fürs Berichtsheft, kein Kurzbefehl im App-Symbol. Sonst stünden
|
||||
Inhalte für immer als offen da, die niemand mehr bearbeiten kann.
|
||||
- **Offline gesammelte Bewertungen werden verworfen**, wenn die Merkkarten aus
|
||||
sind. Die Lernstand-Schnittstelle antwortet mit 410 statt 404, und das Gerät
|
||||
leert daraufhin seine Warteschlange, statt sie bei jeder Verbindung erneut zu
|
||||
schicken.
|
||||
- **Die Prüfung der Anmeldung kommt zuerst**, die des Moduls danach. Sonst sähe
|
||||
ein nicht angemeldeter Besucher an „nicht gefunden" statt der Anmeldeseite,
|
||||
welche Module abgeschaltet sind.
|
||||
|
||||
Reference in New Issue
Block a user