Untis API Integration
This commit is contained in:
@@ -1220,6 +1220,28 @@ echte DATE-Ganztags-/Mehrtagstermine.
|
||||
- Tests decken Parservarianten, strikten Teilimport-Schutz, Snapshot-Idempotenz/-Bereinigung,
|
||||
verschlüsselte Einstellungen, Bereichsabfragen und die parallele Dashboard-Anzeige ab.
|
||||
|
||||
**Nachtrag zu 4.3, WebUntis-API-Integration (August 2026):** Zusätzlich zu den unverändert
|
||||
weiterlaufenden iCal-Quellen kann ein persönlicher WebUntis-Zugang im selben Einstellungsreiter
|
||||
hinterlegt werden. Schule, Host, Benutzername und Passwort liegen auf dem Desktop AES-256-GCM-
|
||||
verschlüsselt; der API-Server persistiert sie nicht, sondern hält je LehrerApp-Benutzer einen
|
||||
eigenen Client im Arbeitsspeicher. Dessen WebUntis-Sitzung bleibt nach einem Abruf zehn Minuten
|
||||
offen und wird bei weiterer Nutzung wiederverwendet.
|
||||
|
||||
- Der Bearbeiten-Tab des Stundenplans lädt eine wählbare Lehrer-/Kalenderwoche, ordnet die
|
||||
WebUntis-Zeitraster auf lokale Stundennummern ab und zeigt vor dem Speichern jede Zuordnung.
|
||||
Vorhandene Gruppen werden vorgeschlagen; eine neue Lerngruppe kann direkt aus einer Untis-Zeile
|
||||
angelegt werden. Vertretungen bleiben bewusst beim etablierten iCal-Diff.
|
||||
- Die Kursansicht kann eine WebUntis-Klasse statt einer CSV-Datei auswählen. Der abgerufene
|
||||
Schülerreport läuft anschließend durch exakt dieselbe Dubletten-, Ergänzungs- und
|
||||
Mitgliedschaftsvorschau wie der manuelle Stammdatenimport; `externKey` bleibt als stabile
|
||||
WebUntis-Kennung erhalten. Eine echte Unterrichts-/Schülergruppen-Mitgliederliste ist mit dem
|
||||
hier verwendeten kennwortbasierten JSON-RPC-Zugang nicht verlässlich verfügbar und bleibt ein
|
||||
späterer Ausbau über die freigabepflichtige offizielle Platform-/OneRoster-API.
|
||||
- Der Fehlzeitenabgleich lädt die in WebUntis bekannten Fehlzeiten der Kursmitglieder und stellt
|
||||
Untis- und lokalen Status gegenüber. Nur explizit markierte Einträge, für deren Datum bereits
|
||||
eine lokale `ParticipationSession` dieses Kurses existiert, können als offen, entschuldigt oder
|
||||
unentschuldigt übernommen werden; fremde/ganztägige Abwesenheiten erzeugen keine lokale Stunde.
|
||||
|
||||
### 4.4 Wochen-/Tagesansicht
|
||||
- [x] **4.4.1** Kalenderansicht über alle Gruppen: Woche und Tag — siehe Nachtrag zu 4.3
|
||||
("Heute"-Tab: Tagesliste unten angedockt, gruppenübergreifendes Wochenraster darüber, inkl.
|
||||
|
||||
Reference in New Issue
Block a user