PROJEKTTAGE-PLANER ? NETZWERKPAKET V3

Diese Version benoetigt KEIN Python.
Sie verwendet Windows PowerShell, das auf den Schul-PCs normalerweise bereits vorhanden ist.

START
-----
1. Den gesamten Ordner auf das gemeinsame Netzlaufwerk kopieren.
2. Auf jedem PC dieselbe Datei starten:
   Projekttage-Planer-starten.bat
3. Der Browser oeffnet:
   http://127.0.0.1:8765/

WICHTIG
-------
- Das schwarze Fenster muss waehrend der Nutzung geoeffnet bleiben.
- Alle Benutzer brauchen Schreibrechte im Paketordner.
- Alle PCs greifen auf dieselbe Datei zu:
  daten\projekttage.json
- Automatische Backups:
  daten\backups\
- Schwarzes-Brett-Export:
  export\schwarzes-brett.html

SYNCHRONISIERUNG
----------------
- Andere PCs laden Aenderungen automatisch etwa alle 3 Sekunden.
- Gleichzeitiges Schreiben wird durch eine Sperrdatei abgesichert.
- Bei Versionskonflikten wird kein alter Stand unbemerkt ueber einen neueren geschrieben.

FEHLERSUCHE
-----------
- Diagnose-starten.bat ausfuehren.
- planer-server.log pruefen.
- Port 8765 darf pro PC nur einmal belegt sein.


CONFIG.JSON ? NETZWERKPFAD UND INTERVALL
----------------------------------------
Windows-Pfade in JSON am besten mit / schreiben:

  "export_file": "P:/Exportordner/DSB/Projekttage/schwarzes-brett.html"

Alternativ mit doppelten Backslashes:

  "export_file": "P:\\Exportordner\\DSB\\Projekttage\\schwarzes-brett.html"

Wird nur ein Ordner angegeben, haengt der Planer automatisch
schwarzes-brett.html an.

Exportintervall in Minuten:

  "export_interval_minutes": 10

Beispiele: 1, 5, 10, 15 oder 30.
Nach einer Aenderung an config.json den Planer auf allen PCs neu starten.


DESKTOP-VERKNUEPFUNG
--------------------
Auf jedem PC einmal ausfuehren:

  Desktop-Verknuepfung-erstellen.bat

Danach liegt auf dem Desktop eine Verknuepfung mit Icon:
  Projekttage-Planer

Die Verknuepfung zeigt direkt auf den Starter im gemeinsamen Paketordner.
Wird der Paketordner verschoben oder umbenannt, muss die Verknuepfung
neu erstellt werden.

Zum Entfernen:
  Desktop-Verknuepfung-entfernen.bat


ICON-NACH-VERSCHIEBEN
---------------------
Die Desktop-Verknuepfung kopiert das Icon jetzt lokal nach:

  %LOCALAPPDATA%\Projekttage-Planer\projekttage-planer.ico

Dadurch bleibt das Icon auch sichtbar, wenn der gemeinsame Paketordner
verschoben wird oder das Netzlaufwerk kurzzeitig nicht erreichbar ist.

Nach dem Verschieben des Paketordners einfach erneut ausfuehren:

  Desktop-Verknuepfung-erstellen.bat


EXPORTTAG-FIX V7
----------------
- Export aus Planungsbuero: aktuell dort ausgewaehlter Tag.
- Export aus Schwarzes Brett: dort ausgewaehlter Ausgabetag.
- Ausgabetag im Schwarzen Brett ist jetzt wirklich umschaltbar.
- Auswahl bleibt lokal am jeweiligen PC gespeichert.
- Auto-Export verwendet ebenfalls den Tag der aktuell sichtbaren Ansicht.


TEILABWESENHEITEN UND DIREKTER ERSATZ ? VERSION 8
--------------------------------------------------
- Ein Klick auf ein abwesendes Kuerzel oeffnet die Detailbearbeitung.
- Ganzt?gig oder nur bestimmte Stunden, z. B. 3.?6. Std.
- Optionale Freigabe der Information fuer das Schwarze Brett.
- Teilabwesenheit orange, ganzt?gige Abwesenheit rot.
- In der Konfliktuebersicht:
  * aus Zuordnung entfernen
  * direkt mit verfuegbarem Springer ersetzen
  * Ersatzkuerzel manuell eingeben


INTERNE PLANUNGSHINWEISE ? VERSION 9
-------------------------------------
- Im Planungsbuero gibt es pro Klasse und Tag ein Feld:
  Planungshinweis (intern)
- Die Notiz wird zentral gespeichert und zwischen allen PCs synchronisiert.
- Sie ist nur im Planungsbuero sichtbar.
- Sie erscheint weder im Schwarzen Brett noch in der statischen Export-HTML.
- Beim Aendern, Hinzufuegen oder Loeschen von Projekttagen werden die
  tagesbezogenen Planungshinweise automatisch mitverwaltet.


AKTUELLER DATENSTAND ? VERSION 10
---------------------------------
Die Sicherungsdatei "projekttage-planung (4).json" wurde als zentraler
Ausgangsstand eingepflegt.

Dabei wurden automatisch ergaenzt:
- interne Planungshinweise pro Klasse und Tag
- Teil-/Ganztagsabwesenheiten im neuen Datenformat
- manuelle Export-Ueberschreibungen
- fehlende Einstellungen der aktuellen Programmversion

Eine Kopie der importierten Originaldatei liegt unter:
  daten\importe\projekttage-planung-importiert.json


ALLES NEU PLANEN ? VERSION 11
-----------------------------
Beim Klick auf "Alles neu planen" werden alle bisherigen Projekte,
Zuordnungen, Hinweise, Raeume, Farben, Krankmeldungen und internen Notizen
geloescht.

Anschliessend werden automatisch leere Klassen-Dummies angelegt:

- 5A bis 5G
- 6A bis 6G
- 7Ha, 7Hb
- 7Ra bis 7Rc
- 7Ga bis 7Gc
- 8Ha, 8Hb
- 8Ra bis 8Rc
- 8Ga bis 8Gc
- 9Ra bis 9Rc
- 9Ga bis 9Gc
- 10Ga bis 10Gc

Die Lehrerk?rzel-Datenbank, Projekttage und Einstellungen bleiben erhalten.


KLASSEN-DUMMIES ? VERSION 12
----------------------------
Beim Klick auf "Alles neu planen" werden alle bisherigen Projekte,
Zuordnungen, Hinweise, Raeume, Farben, Krankmeldungen und internen Notizen
geloescht. Anschliessend werden automatisch leere Dummies angelegt:

- 5A bis 5G
- 6A bis 6G
- 7Ha, 7Hb
- 7Ra bis 7Rc
- 7Ga bis 7Gc
- 8Ha, 8Hb
- 8Ra bis 8Rc
- 8Ga bis 8Gc
- 9Ra bis 9Rc
- 9Ga bis 9Gc
- 10Ga bis 10Gc
- E1 bis E4
- Q12-1 bis Q12-5
- Q34-1 bis Q34-5

Lehrerk?rzel-Datenbank, Projekttage und Einstellungen bleiben erhalten.


ABWESENHEITEN UEBER MEHRERE TAGE ? VERSION 13
----------------------------------------------
In der Detailbearbeitung einer Nicht-Verfuegbarkeit koennen jetzt ein
Start- und ein End-Projekttag ausgewaehlt werden.

- Gleicher Start- und Endtag: nur ein Tag
- Unterschiedliche Tage: Eintrag wird auf alle dazwischenliegenden
  Projekttage uebertragen
- Stunden, Zusatzhinweis und Schwarzes-Brett-Freigabe werden fuer den
  gesamten Zeitraum uebernommen
- Entfernen ist wahlweise nur fuer den aktuellen Tag oder fuer den
  gewaehlten Zeitraum moeglich


PLANUNGSHINWEIS INTERN ? VERSION 14
-----------------------------------
Im Planungsbuero befindet sich in der Schnellbearbeitung jetzt wieder die
Spalte "Planungshinweis (intern)".

- tagesbezogen
- zentral synchronisiert
- nur im Planungsbuero sichtbar
- nicht im Schwarzen Brett
- nicht in der Export-HTML


FUSSZEILE ? VERSION 15
----------------------
Im Planer wird nun dauerhaft angezeigt:

(c) Rene Harzenetter - KI-gestuetzt entwickelt.
Bei Fragen, Fehlern oder Anmerkungen bitte bei mir melden.

Die Fusszeile erscheint nicht in der Schwarzes-Brett-Exportdatei.


SPRINGERLOGIK ? VERSION 16
--------------------------
Eine Lehrkraft wird nur dann als Springer angezeigt, wenn sie am
ausgewaehlten Tag:

- keiner Klasse zugeordnet ist und
- weder vollstaendig noch teilweise abwesend eingetragen ist.

Auch alte Krankmeldungen aus frueheren Sicherungsdateien werden
beruecksichtigt.

Die Fusszeile erscheint nur in der App und nicht im Schwarzen Brett
oder in der Export-HTML.


JUSTIERBARE SPALTENBREITEN ? VERSION 17
---------------------------------------
Im Bereich "Schwarzes Brett" gibt es jetzt den Button "Spaltenbreiten".

Einstellbar sind:
- Klasse/Tutgruppe
- Hinweis
- Angebot
- Verantwortliche Lehrkraft
- Unterstuetzende Lehrkraft
- Raum

Die Werte werden zentral gespeichert und sowohl in der Vorschau als auch
in der statischen Export-HTML verwendet.


EINSTELLUNGS-TABS UND KUERZELIMPORT ? VERSION 18
------------------------------------------------
Das Einstellungsmenue ist jetzt in Unter-Tabs gegliedert:

- Allgemein
- Projekttage
- Export
- Kuerzel-Datenbank
- Datensicherung

In der Kuerzel-Datenbank kann eine Kollegiumsliste importiert werden.
Unterstuetzte Formate:

- DOC
- DOCX
- RTF
- HTML / HTM
- CSV
- TXT

Erwartete Spalten:
  Nachname | Vorname | Kuerzel | KL | stv. KL

Uebernommen werden Nachname, Vorname und Kuerzel. Vor der Uebernahme
erscheint eine Vorschau. Moegliche Systemkonten werden zunaechst
abgewaehlt.

WICHTIG FUER ALTE BINAERE DOC-DATEIEN:
Microsoft Word muss auf dem jeweiligen PC installiert sein.
HTML-basierte DOC-Exporte und DOCX-Dateien funktionieren ohne diese
Word-Konvertierung.


COPY-PASTE-KUERZELIMPORT ? VERSION 19
-------------------------------------
Der empfohlene Import erfolgt jetzt per Copy & Paste:

1. Tabelle im Schulportal oder in Word markieren.
2. Kopieren.
3. Unter Einstellungen > Kuerzel-Datenbank in das grosse Textfeld einfuegen.
4. "Eingefuegte Liste auswerten" anklicken.

Ueberschriften wie Schulname, "Kollegium", Datum oder Uhrzeit duerfen
mitkopiert werden. Der Import sucht automatisch die Tabellenzeile mit:

  Nachname | Vorname | Kuerzel

Erst die darunterliegenden Tabellenzeilen werden verarbeitet.


IMPORTPROFILE ? VERSION 20
--------------------------
Unter Einstellungen > Kuerzel-Datenbank stehen jetzt vier Profile bereit:

1. Automatisch / Schulportal / Word-Tabelle
2. Untis GPU004.TXT
3. LuSD Bericht / CSV / unverschluesseltes XML
4. IServ CSV / TSV / LDAP-Export

UNTIS:
Die offizielle Lehrer-DIF-Datei GPU004.TXT wird direkt gelesen.
Verwendet werden Feld 1 (Kuerzel/Name), Feld 2 (Langname) und
Feld 29 (Vorname).

LUSD:
Erkannt werden u. a. Nachname, Vorname und Schulinternes Kuerzel.
Verschluesselte Schnittstellendateien koennen nicht entschluesselt werden.

ISERV:
Erkannt werden u. a. givenName, sn und initials bzw.
Zusaetzliche Information. Falls eine Rollenspalte vorhanden ist,
werden nur Lehrer-/Lehrkraft-Eintraege uebernommen.


ALLE KUERZEL ZURUECKSETZEN ? VERSION 21
---------------------------------------
Unter Einstellungen > Kuerzel-Datenbank gibt es jetzt den Button:

  Alle Kuerzel zuruecksetzen

Nach zwei Sicherheitsabfragen werden geloescht:

- gesamte Kuerzel-Datenbank
- alle Lehrkraft-Zuordnungen in allen Klassen und an allen Tagen
- alle vollstaendigen und teilweisen Abwesenheiten

Erhalten bleiben:

- Klassen und Gruppen
- Angebote
- Raeume
- Farben
- Hinweise
- Projekttage
- Programmeinstellungen

Eine Wiederherstellung ist ueber eine zuvor gespeicherte Sicherungsdatei
moeglich.


WEBFUNKTIONEN UND EINSTEIGERHILFE ? VERSION 23
----------------------------------------------
Die lokale Windows-Version enthaelt jetzt ebenfalls:

- interaktive Schritt-fuer-Schritt-Anleitung
- Testdatenfrage am Ende der Anleitung
- universellen HTML-, IServ-, Heinekingmedia-, CSV- und JSON-Export
- Exportoptionen fuer Format, Schriftgroesse, Dichte, Titel und Aktualisierung
- dieselben Importprofile wie die Webversion
- START-HIER.html fuer Personen ohne technische Vorkenntnisse

WICHTIG:
Diese lokale Version funktioniert nur unter Windows 10 und Windows 11.
Das schwarze Konsolenfenster gehoert zur App und muss waehrend der Nutzung
geoeffnet bleiben.


NOTFALL-UEBERSCHREIBUNG ? VERSION 24
------------------------------------
Der Freitext in "Notfall-Ueberschreibung" ersetzt die gesamte
Ausgabezeile ausser der Klasse. Alle betroffenen Zellen werden gelb
markiert. Das gilt fuer die Vorschau und alle Exportprofile.


SIGNALFARBE IM SCHWARZEN BRETT ? VERSION 25
-------------------------------------------
Die Notfall-Ueberschreibung wird nun auch in der Schwarzen-Brett-
Vorschau und im HTML-Export zuverlaessig gelb angezeigt. Die Klasse
selbst behaelt weiterhin ihre normale Farbe.


SCHWARZES BRETT UND STARTPRUEFUNG ? VERSION 26
----------------------------------------------
- Beim Oeffnen des Schwarzen Bretts wird automatisch der aktuell im
  Planungsbuero ausgewaehlte Tag uebernommen.
- Anschliessend kann der Ausgabetag weiterhin manuell geaendert werden.
- Die lokale App zeigt sichtbar "lokal v26".
- Der Browser wird mit einer Versionskennung geoeffnet.
- Die Startdatei erkennt, wenn auf dem PC noch eine alte Planer-
  Sitzung laeuft, und fordert zum Schliessen des alten schwarzen
  Fensters auf.
- Dadurch wird verhindert, dass versehentlich eine alte lokale
  Programmversion angezeigt wird.


NOTFALL-UEBERSCHREIBUNG BLEIBT ERHALTEN ? VERSION 27
----------------------------------------------------
Die lokale Mehrplatzversion schuetzt Notfall-Ueberschreibungen nun
gegen das versehentliche Zurueckladen eines aelteren Netzwerkstands.

- Der Text wird bereits waehrend der Eingabe lokal vorgemerkt.
- Nach kurzer Pause wird er zentral gespeichert.
- Vor einem manuellen Export wird auf die zentrale Speicherung gewartet.
- Ein wartender Netzwerkstand wird nur uebernommen, wenn keine eigene
  Eingabe mehr offen oder ungespeichert ist.
- Bei einer gleichzeitigen Aenderung auf einem anderen PC wird die
  eigene Eingabe erneut gegen den aktuellen Versionsstand gespeichert.
- Automatische Exporte warten ebenfalls auf offene Speicherungen.


RAUM- UND AUFSICHTSPLANUNG ? VERSION 28
----------------------------------------
Die lokale Mehrplatzversion enthaelt jetzt ebenfalls die Raumplanung,
die Belegungsuebersicht, Ausser-Haus-Orte, die gewichtete
Aufsichtsplanung und die dazugehoerigen Exporte.


AUFSICHTSPLAN-EXPORT ? VERSION 29
--------------------------------
Im Aufsichtsplan-Export erscheinen nur die konkreten Einsaetze mit
Zeit, Aufsicht, Ort, Lehrkraeften und Hinweis.

Belastungsuebersicht, Gewichtung, Funktionen und Ausschlussgruende
bleiben ausschliesslich im Planungsbuero und werden nicht exportiert.


GRUNDFUNKTIONEN REPARIERT ? VERSION 30
--------------------------------------
Die bei der Erweiterung um Raum- und Aufsichtsplanung versehentlich
entfernten Grundfunktionen wurden wiederhergestellt.

Dadurch funktionieren wieder:
- Springer und Konflikte
- Lehrkraftlisten
- Tagesbezeichnungen
- Abwesenheiten
- Notfall-Ueberschreibungen
- Schwarzes Brett
- Raumplanung
- Aufsichtsplanung und deren Exporte


SCHULRAEUME UND AUFSICHTSKATALOG ? VERSION 31
---------------------------------------------
- 84 Schulraeume vorbelegt
- Raumgroessen und Nutzungsbeschraenkungen hinterlegt
- TENPL als externer Ort markiert
- 36 Standardaufsichten im Katalog
- Aufsichten koennen pro Projekttag aus dem Katalog uebernommen werden
- Automatische Verteilung startet erst, wenn von-/bis-Stunden feststehen


SCHUL-ZEITTAFEL UND PAUSENAUFSICHTEN ? VERSION 32
-------------------------------------------------
- Bearbeitbare Zeittafel unter Einstellungen
- Unterrichtsstunden und Pausen als echte Uhrzeiten
- Pausen aus Luecken automatisch erkennbar
- Aufsichten an Zeitblock oder individuelle Uhrzeit koppelbar
- Teilabwesenheiten werden in Uhrzeiten uebersetzt
- Zeitgleiche Aufsichten werden korrekt erkannt


STANDARDZEITEN DER AUFSICHTEN ? VERSION 33
------------------------------------------
- A, N und U: 10:20?10:25 Uhr
- allgemeine Aufsichten ohne Zeitangabe: 1. und 2. Pause
- Zeitangaben im Namen haben Vorrang
- allgemeine Katalogaufsichten werden als zwei getrennte Einsaetze
  fuer die beiden Pausen uebernommen
- manuell angelegte Aufsichten bleiben unveraendert


AUFSICHTSKATALOG UND GETRENNTE EXPORTCONFIGS ? VERSION 34
--------------------------------------------------------
- Aufsichtskatalog sichtbar mit Anzahl aktiver Eintraege
- Uebernahme fuer einen Tag oder alle Projekttage
- Standardraeume und Aufsichtskatalog werden zentral gespeichert
- getrennte Exportkonfiguration fuer Schwarzes Brett, Raumuebersicht
  und Aufsichtsuebersicht


MEHRERE RAEUME PRO KLASSE ? VERSION 35
--------------------------------------
- Mehrfachzuweisung von Raeumen pro Klasse und Projekttag
- automatische Aufteilung alter Mehrfach-Raumeintraege
- Belegungspruefung und Export fuer jeden zugewiesenen Raum
- zentrale Migration der bestehenden Netzwerkdaten


GETRENNTE EXPORTPFADE ? VERSION 36
----------------------------------
In config.json koennen nun drei voneinander unabhaengige Zielpfade
festgelegt werden:

  "export_blackboard_file": "P:/DSB/Schwarzes-Brett/schwarzes-brett.{ext}",
  "export_rooms_file": "P:/DSB/Raeume/raumbelegung-{tag}.{ext}",
  "export_supervision_file": "P:/DSB/Aufsichten/aufsichtsplan-{tag}.{ext}"

Unterstuetzte Platzhalter:
- {tag}          interner Projekttag
- {datum}        gleichbedeutend mit {tag}
- {bezeichnung}  sichtbare Bezeichnung des Projekttages
- {ext}          html, csv oder json
- {profil}       gewaehltes Exportprofil
- {art}          blackboard, rooms oder supervision

Der Wert darf auch nur ein Ordner sein:

  "export_rooms_file": "P:/DSB/Raeume/"

Dann wird der in der App festgelegte Dateiname verwendet.

AELTERE CONFIG-DATEIEN
----------------------
Der bisherige Schluessel "export_file" wird weiterhin gelesen.
Fehlen die neuen Schluessel, werden Raum- und Aufsichtsplan automatisch
im gleichen Ordner wie das Schwarze Brett gespeichert.

TAB-TITEL
---------
Der Browser-Tab zeigt nun korrekt:
  Projekttage-Planer ? lokal v36

Der gelbe Versionshinweis bleibt nur in der sichtbaren Ueberschrift.
