Skip to content

Releases: juwagn/curriculr-terminplan

v4.34.0 — Kategorien: Planner ist alleinige Quelle

Choose a tag to compare

@juwagn juwagn released this 16 Jul 06:17

Kategorien: Planner ist alleinige Quelle

  • [FIX] Kategorien-Sync: Planner ist jetzt alleinige Quelle — Kategorien ohne Planner-Gegenstück werden beim Push entfernt statt dauerhaft mitgeführt (WP-Stichwörter bei getroffenen Kategorien bleiben erhalten)

v4.33.0 — Gruppen-Filter, Kategorien-Sync & Auto-Provision

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Gruppen-Filter, Kategorien-Sync & Auto-Provision

  • [NEU] Gruppen-Filter im Terminplan: Kolleg:innen können auf der öffentlichen Seite und in den Kiosk-Ansichten nach Planner-Gruppen (z. B. Eltern, Kollegium) filtern
  • [NEU] Kategorien-Sync: Labels und Farben aus dem Planner überschreiben beim Senden automatisch die Plugin-Kategorien — Stichwörter fürs IServ-Matching bleiben erhalten
  • [NEU] Neue Schuljahre aus dem Planner werden automatisch mit allen Gruppen-Kalendern angelegt (max 7)
  • [UX] Schuljahr-Karte warnt, wenn Planner-Gruppen ohne eigenen Kalender sind
  • [FIX] Gruppen-Filter deckt jetzt auch lange Termine (Hinweise-Spalte), die Jahresansicht und das mobile Auf-/Zuklappen ab

v4.32.0 — Autor-Anzeige auf der Schuljahr-Karte

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Autor-Anzeige auf der Schuljahr-Karte

  • [UX] Schuljahr-Karte zeigt jetzt zusätzlich, wer zuletzt gespeichert hat (Autor + Version) — bisher nur Zeitstempel ohne Person

v4.29.0 — Security-Härtung & Design-Transfer

Choose a tag to compare

@juwagn juwagn released this 07 Jul 20:23

Sicherheit

  • DSGVO: Google-Fonts-Import entfernt — Inter wird jetzt self-hosted aus assets/fonts/ geladen (keine IP-Übertragung an Google mehr)
  • App-Token-Verify prüft jetzt iss/aud-Claims; Guard antwortet 401 statt 403
  • REST-PUT & manueller Doc-Upload: Tiefenvalidierung je Event — kaputte Events können den öffentlichen ICS-Feed nicht mehr mit 500 lahmlegen (defensives build_event)
  • Speichern ist atomar: gleichzeitiges Speichern zweier Nutzer erzeugt zuverlässig einen 409-Konflikt statt stillem Überschreiben
  • Kiosk-/Entwurf-Seiten senden Referrer-Policy: no-referrer (Token in URL)
  • Backup-Cron löscht Dateien älter als 30 Tage (DSGVO-Speicherbegrenzung); index.html-Schutz neben .htaccess

Design

  • Design-Transfer aus dem Curricu:lr Planner: Die Terminplan-Ansicht folgt jetzt den zentralen Design-Tokens — Marine-Farbtöne, Inter-Schrift, Planner-Radien — inklusive Dark Mode
  • Fehler- und Hinweisboxen nutzen einheitliche, Theme-fähige CSS-Klassen statt fest verdrahteter Inline-Farben

Intern

  • Feedback-Log löscht Einträge älter als 90 Tage automatisch
  • Schuljahr-Liste ohne N+1-Datenbankabfragen

Installation: ZIP im WP-Admin hochladen (Plugins → Installieren → Plugin hochladen).

v4.28.1 — Kiosk-CSP-Fix (Security)

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Kiosk-CSP-Fix (Security)

  • [SECURITY] Entwurf-Kiosk-Template: CSP frame-ancestors + X-Frame-Options SAMEORIGIN tatsächlich ergänzt — der 4.27.2-Eintrag dafür war nie committed worden, Server-/Host-Default blockierte weiterhin das IServ-iframe-Embedding

v4.28.0 — Manueller Planungsdokument-Upload

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Manueller Planungsdokument-Upload

  • [NEU] Schuljahr-Karte: manueller Planungsdokument-Upload (JSON) als Alternative zu IServ-SSO — inkl. "Sichern ↓"-Download des aktuellen Stands vor dem Überschreiben

v4.27.1 — Schuljahre-Tab: Status umschaltbar

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Schuljahre-Tab: Status umschaltbar

  • [FIX] Schuljahre-Tab (v2): Kalender-Status (Entwurf/Beschlossen) war seit 4.24.0 nur Text-Anzeige — Umschalten fehlte, Entwurf-Kiosk dadurch für neue/synchronisierte Schuljahre unerreichbar

v4.27.0 — Kategorien-Import aus dem Planner

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:09

Kategorien-Import aus dem Planner

  • [NEU] Kategorien-Tab: Kategorien aus einem Planner-Schuljahr übernehmen (Label/Farbe je Kategorie werden übernommen, WP-seitige Stichwörter für das IServ-Keyword-Matching bleiben unverändert)

v4.26.0 — Schuljahre-Redesign & Status-Anzeige

Choose a tag to compare

@juwagn juwagn released this 01 Jul 15:52

Was ist neu

Admin-Oberfläche aufgeräumt: 4 → 3 Tabs

Kiosk-Tab in System integriert — Entwurf-Vorschau und IServ-Einbettung erscheinen jetzt als erster Abschnitt im System-Tab. Alte ?tab=_kiosk-Lesezeichen leiten automatisch auf ?tab=_system weiter.

„Schuljahr-Profile" → „Schuljahre"

Klarere Benennung — Tab und Überschrift zeigen jetzt „Schuljahre".

Technische Details versteckt

  • Schuljahr-ID nicht mehr sichtbar in der Karte — hinter „Erweitert" ausklappbar
  • Neues Schuljahr anlegen: nur noch Label-Feld sichtbar, Schlüssel optional hinter „Erweitert" (wird sonst automatisch aus dem Label abgeleitet)

Veröffentlichungs-Status direkt in der Schuljahr-Karte

Neue Status-Anzeige zeigt Entwurf / Intern / Öffentlich plus Zeitpunkt der letzten Übertragung vom Planner — auf einen Blick, ohne den Planner öffnen zu müssen.

UX-Verbesserung

„Als aktiv setzen" → „Als aktives Schuljahr setzen" mit Erklärungstext, welche Auswirkung das hat (Anzeige auf der Schulwebsite).

Deployment

  1. ZIP in WP Admin → Plugins → Plugin aktualisieren hochladen
  2. Tab „Schuljahre" prüfen (vorher „Schuljahr-Profile")
  3. Status-Badge in Schuljahr-Karte erscheint automatisch, sobald ein Terminplan aus dem Planner gesendet wurde

Abwärtskompatibilität

Bestehende IServ-Feed-Abos, Schuljahr-Daten und laufende Terminpläne bleiben unverändert gültig. Keine DB-Schema-Änderung, keine REST-API-Änderung.

Passende SPA-Version: v1.11.0

v4.25.0 — Schuljahr löschen

Choose a tag to compare

@juwagn juwagn released this 16 Jul 05:08

Schuljahr löschen

  • [NEU] Schuljahr löschen: nicht-aktive Schuljahre inkl. DB-Daten und ICS-Cache entfernbar
  • [UX] Danger-Zone als
    -Element — zweistufige Bestätigung ohne nativen confirm()-Dialog