STRATO Log Batch
================

Dieses Paket ist ein lokales Werkzeug fuer erfahrene Windows-Anwender.
Fuer normale Nutzung gibt es zusaetzlich StratoLogsSetup.exe. Das Setup
installiert nach %LOCALAPPDATA%\Programs\AmrumSoftware\StratoLogs und legt
echte Startmenue-Verknuepfungen mit Icon unter AmrumSoftware\StratoLogs an.

Wichtig:
Benutzername und Passwort werden beim ersten Login in einem lokalen Fenster
abgefragt und mit Windows-DPAPI fuer den aktuellen Windows-Benutzer
verschluesselt gespeichert. Die Datei strato_login_credentials.dpapi.json
ist nicht Teil dieses ZIP-Pakets.
Der Batch startet fuer geplante Laeufe zuerst ein frisches lokales Tagesprofil
unter browser-profile-batch-runs, damit alte Chrome-Profil-Locks den Lauf nicht
blockieren.
Nach jedem Aufgabenlauf schreibt der Batch strato_morgenlauf_pruefung.txt und
strato_morgenlauf_pruefung.json. Darin steht, ob der Lauf als Aufgabenlauf
erkannt wurde, ob er im Morgenfenster lag, ob ein frisches Profil genutzt wurde,
ob der Browser maximiert wurde und ob Logfiles/Downloadformular erreicht wurden.

Die in der Dokumentation genannten STRATO-Pakete sind nur Beispiele.
Das Werkzeug kann beliebig viele Pakete aus der STRATO-Paketliste verarbeiten.
Jedes Paket wird geoeffnet und auf eine Statistik-Funktion geprueft.
Wenn dort keine Statistik enthalten ist, wird das protokolliert und der Batch
geht zurueck zur Paketliste und bearbeitet das naechste Paket.
Wenn die erwartete Logdatei im lokalen Paketordner schon vorhanden ist,
wird sie nicht noch einmal gespeichert.

Startpunkte:
- dist\StratoLogsSetup.exe: installiert das Werkzeug und die Startmenueeintraege
- strato_log_batch_dokumentation.html: lokale Anleitung im Browser
- dist\StratoLogBatch.exe: manueller sichtbarer Lauf
- dist\StratoLogBatch.exe --diagnose: Prueflauf der STRATO-Erkennung ohne Download
- diagnose_starten.cmd: Prueflauf der STRATO-Erkennung per Doppelklick starten
- strato_batch_task.ps1: stiller Lauf fuer die Aufgabenplanung
- install_strato_daily_task.ps1: legt die taegliche Aufgabe um 06:31 Uhr an
- release_manifest.json: Build-Datum, Git-Commit, EXE-Groessen und Hashdaten
- strato_morgenlauf_pruefung.txt: lokale Pruefung des letzten Aufgabenlaufs

Die Aufgabenplanung meldet sich nur mit einem Fenster, wenn der Lauf nicht
gestartet werden konnte oder ein Paket einen Fehlerstatus liefert. Das Fenster
nennt strato_batch_run.log, strato_morgenlauf_pruefung.txt und
strato_erkennung_pruefung.txt als wichtigste Dateien fuer die Fehlersuche. Der
Button "Text kopieren" legt den kompletten Fehlertext in die Zwischenablage.
Bei Fehlern wird zusaetzlich ein lokaler HTML-Fehlerbericht unter
strato_fehlerberichte\<Zeitstempel>\index.html erzeugt und im Browser geoeffnet.
Darin liegen bis zu 600 Browser-Tab-Screenshots und, wenn ffmpeg verfuegbar
ist, ein Fehlerfilm mit 10 Bildern pro Sekunde. Bei erfolgreichen Laeufen wird
die Aufnahme automatisch wieder geloescht.

Verpasster Start:
Die installierte Windows-Aufgabe wird mit "StartWhenAvailable" angelegt, wenn
die Windows-ScheduledTasks-Cmdlets verfuegbar sind. Dann holt Windows einen
verpassten Start nach, sobald der Benutzer wieder angemeldet ist. Falls Windows
auf den schtasks.exe-Fallback ausweichen muss, sollte ein verpasster Start in
der Aufgabenplanung manuell geprueft oder der Batch sichtbar gestartet werden.

Login-Hinweis:
Wenn noch keine lokal verschluesselten Zugangsdaten vorhanden sind oder STRATO
die vorhandenen Daten ablehnt, fragt der Batch Benutzername/Kundennummer und
Passwort in einem Fenster ab. Danach fuellt der Batch die STRATO-Loginmaske
selbst aus. Die Daten werden nicht in Skripten, Logs, Reports oder im ZIP
gespeichert.

STRATO-Erkennung pruefen
========================

Wenn ein fremder Anwender pruefen moechte, ob STRATO die Buttons und Links
noch so anbietet, wie das Werkzeug sie erwartet, soll er keinen Code aendern.
Stattdessen:

1. In diesem Ordner diagnose_starten.cmd doppelklicken.
2. Falls das Zugangsdatenfenster erscheint, Benutzername/Kundennummer und
   Passwort eingeben.

Alternativ in einer Eingabeaufforderung oder PowerShell diesen Befehl starten:

   dist\StratoLogBatch.exe --diagnose

3. Der Prueflauf laedt keine Logdateien herunter. Er oeffnet die Paketliste,
   prueft jedes Paket, sucht Statistik, Logfiles und das Downloadformular.
4. Danach diese Datei ansehen:

   strato_erkennung_pruefung.txt

5. Wenn dort ERROR steht, diese Textdatei an den Betreuer des Werkzeugs
   weitergeben. In der Datei stehen die sichtbaren Klicktexte der STRATO-Seite.
   Damit kann die Erkennung gezielt angepasst werden, ohne dass der Anwender
   selbst im Python-Skript suchen muss.
