Skip to content

Web-Editor (PROMI) ​

Der Web-Editor zeigt alle Jobs (INI-Dateien) eines Servers wie die Übersicht, prüft sie auf Probleme und erlaubt das Bearbeiten, Testen und Anlegen von Jobs im Browser. Er ist für Administratoren gedacht, die direkt am Server angemeldet sind, und ist vom Netzwerk aus nicht erreichbar.

Starten ​

powershell
> python prozessing.pyz --web-editor 8765
Web editor for D:\tbbm\prozessing: http://127.0.0.1:8765/?token=0f3c…
OptionBeispielBeschreibung
--web-editor PORT *8765 oder 0Startet den Web-Editor auf 127.0.0.1:PORT (0: ein freier Port) und öffnet ihn im Browser
--prozessing-dir DIRD:/tbbm/prozessingPROZESSING-Ordner mit ini/ und logs/ (Standard D:/tbbm/prozessing); relative Pfade der INI-Dateien gelten wie beim Scheduler
--logfilelogs/{file}_{date}.logProtokoll nach logs/web_editor_{date}.log: wer wann welche Datei gespeichert, umbenannt, gelöscht oder committet hat

Beenden mit Strg+C.

Sicherheit ​

  • Der Web-Editor lauscht nur auf 127.0.0.1, nie auf einer Netzwerkschnittstelle.
  • Beim Start wird ein zufälliges Token erzeugt und in der URL ausgegeben; nur wer diese URL öffnet, erhält ein Cookie für die Sitzung. Andere Benutzer desselben Servers (z. B. per RDP) kommen ohne das Token nicht hinein.
  • Ein Neustart macht das alte Token ungültig.
  • Anfragen mit fremdem Host oder fremdem Origin werden abgewiesen.

Startseite ​

  • Übersichten: je Sektion [OVERVIEW…] der ini/overview.ini eine Übersicht wie README.html, aber nur aus der Konfiguration (ohne Dateizählung, Logs, Läufe und Aufgaben, daher schnell). Jede Karte zeigt die Probleme der INI-Datei als Ampel, den Git-Status und einen Link zum Bearbeiten.
  • INI-Dateien: alle Dateien in ini/ mit Ampel, Sektionen, Anzahl Probleme und Git-Status (geändert, neu).
  • Hinweise: Dateien in keiner Übersicht (INI_files), Muster ohne Treffer, gelöschte, nicht committete Dateien.

Geprüft werden u. a.: Syntaxfehler, fehlende Pflichtangaben, Schlüssel, die keine bekannte Option sind (Tippfehler?), unverschlüsselte Passwörter, ungültige [timer], fehlende Ordner, Fehler beim Einlesen der Konfiguration (z. B. ungültige reguläre Ausdrücke).

Bearbeiten ​

Jede Sektion der INI-Datei ist ein aufklappbarer Eintrag. Für [CONV], ftp_in/sftp_in, ftp_out/sftp_out, [ftp]/[sftp], web_in, delete, zip, EXPORTER und [timer] gibt es ein Formular:

  • Die wichtigsten Angaben stehen oben, alle weiteren unter Weitere Optionen. Bereits gesetzte Optionen stehen immer oben.
  • Sonstige Schlüssel: Optionen, die das Formular nicht kennt (z. B. konverterspezifische), als Tabelle; mit + Schlüssel lassen sich weitere hinzufügen. Sie gehen beim Speichern nie verloren.
  • Hilfssektionen wie [STATIONS], [REXCHANGE] oder [UNITS] werden als Schlüssel/Wert-Tabelle bearbeitet.
  • Sektionen lassen sich hinzufügen, entfernen und mit den Pfeilen verschieben (die Reihenfolge ist die Ausführungsreihenfolge).
  • Ordner und Dateien werden über den Ordner-Knopf ausgewählt; die Auswahl zeigt die Ordner des Servers, auch Netzwerkfreigaben (//server/freigabe/…). Unter jedem Pfad steht, ob er vorhanden ist.
  • Prüfen zeigt die Probleme der ungespeicherten Eingaben, Speichern schreibt die Datei.
  • Der Reiter Text erlaubt das Bearbeiten der INI-Datei als Text.

Gespeichert wird immer eine einheitlich formatierte INI-Datei:

  • Kommentare (#, ;) entfallen. Zur Dokumentation dient die Option WIKI (oben in jedem Formular). Vor dem Speichern einer Datei mit Kommentaren erscheint ein Hinweis.
  • Optionsnamen werden kleingeschrieben (format_src = mis); PROZESSING liest sie ohnehin ohne Unterscheidung von Groß- und Kleinschreibung.
  • Mehrzeilige Werte (z. B. mehrere Ordner) stehen ab der zweiten Zeile eingerückt in eigenen Zeilen; Leerzeilen in Werten werden entfernt (eine Leerzeile wäre sonst der Arbeitsordner, bei delete fatal).
  • Hat jemand die Datei inzwischen geändert, wird nicht gespeichert; die Eingaben bleiben erhalten.

Passwörter ​

Passwörter (pass, fw_pass, smtp_pass, DB_PASSWORD, WISKI_TSM_PASSWORD) werden beim Speichern automatisch verschlüsselt (wie mit --encrypt). Der Browser bekommt sie nie zu sehen: ein leeres Feld bedeutet „unverändert“, eine Eingabe ersetzt das Passwort.

Testläufe ​

Testläufe verwenden die ungespeicherten Eingaben und ändern nichts.

KnopfSektionErgebnis
Konverter prüfen[CONV]Die neuesten (bis zu 5) passenden Dateien im Quellordner werden konvertiert, die Ausgabe nur in einen temporären Ordner geschrieben. Angezeigt wird die Tabelle wie in der Provi-Statistik (Quelldatei, Importnummer, Werteanzahl, Daten von/bis, Letztwert, Einheit), der Anfang der ZRXP-Ausgabe sowie Fehler und Warnungen.
Konverter erkennen[CONV]Probiert alle Konverter an einer Datei des Quellordners und listet die, die sie lesen können; ein Klick setzt FORMAT_SRC.
Verbindung testenftp_in, ftp_out, [ftp]Verbindet sich, listet die entfernten Ordner und markiert die Dateien, die abgeholt würden (Muster, Alter, Größe). Nichts wird übertragen, gelöscht oder umbenannt.
Abruf testenweb_inRuft die erste URL ab und zeigt Status, Inhaltstyp, Größe und den Anfang der Antwort.
Dateien anzeigendelete, zipListet die Dateien, die jetzt gelöscht bzw. archiviert würden, mit Anzahl und Gesamtgröße.

Konverter, die E-Mails versenden, in Datenbanken schreiben oder externe Programme starten (z. B. alarm2mail, zrxp_import, wiskibatch), sowie Konverter mit eigenem Ablauf (z. B. general_move, gzip) können nicht geprüft werden.

Ordnerstruktur 2026 ​

Der Knopf Ordnerstruktur 2026 in [CONV] stellt einen Konverter auf die Standard-Ordnerstruktur mit ROOT um, oder verlegt ihn in einen anderen Basisordner, z. B. von D:/Daten-LWD/gprssommer nach //wiski.example.com/daten/LWD/gprssommer.

  1. Vorschau: je Ordner der bisherige und der neue Pfad, ob er existiert, Anzahl und Größe der Dateien sowie die geplante Aktion. Verweise anderer INI-Dateien auf die Ordner (z. B. to einer Datenabholung) werden aufgelistet und können mit umgeschrieben werden. KiDSM-Jobs, die aus WISKI-Import lesen, müssen in KiDSM von Hand geändert werden; sie werden genannt. Ordner, die auch andere Konverter verwenden, bleiben als Option erhalten.
  2. Ausführen: neue Ordner anlegen und auf Schreibrechte prüfen, INI-Dateien speichern (optional mit Git-Commit), dann die Dateien verschieben und zum Schluss noch einmal alles, was inzwischen in den alten Ordnern angekommen ist. Vorhandene Zieldateien werden nie überschrieben, die alten Ordner bleiben bestehen. Das Archiv wird nur auf Wunsch verschoben (kann groß sein).

Bei Netzwerkfreigaben läuft der Job mit dem Konto des Schedulers bzw. der Aufgabe; dessen Rechte auf der Freigabe sind entscheidend, und Laufwerksbuchstaben (Z:) sind dort nicht sichtbar. Daher UNC-Pfade verwenden.

Zeitplan ​

Die Karte Zeitplan jeder Datei zeigt den [timer] mit den nächsten Läufen (siehe Scheduler); im Formular gibt es Vorlagen für OnCalendar und eine Vorschau der nächsten Läufe. Unter Windows zeigt Aufgabenplanung anzeigen die Aufgaben, die die Datei ausführen, und erlaubt Anlegen, Aktivieren/Deaktivieren, Starten und Löschen. Hinweise erscheinen, wenn ein Job doppelt (per [timer] und Aufgabe) oder nie läuft, oder wenn keine Scheduler-Aufgabe die Datei erfasst.

Git ​

Liegt der PROZESSING-Ordner in einem Git-Repository, zeigt der Web-Editor den Status jeder Datei. Der Reiter Git-Commit zeigt die Änderungen gegenüber dem letzten Commit und committet nur diese Datei (andere Änderungen bleiben unberührt; es wird nicht gepusht). Der Reiter Verlauf listet die letzten Commits; ein Klick lädt diese Version in den Editor, gespeichert wird erst mit Speichern. Sicherungskopien werden keine angelegt, die Historie liegt in Git.

Umbenennen und Löschen ​

Unten auf der Seite einer Datei: Umbenennen bzw. Löschen (zur Bestätigung den Dateinamen eingeben), optional mit Git-Commit und unter Windows samt den zugehörigen Aufgaben der Aufgabenplanung. Die Muster INI_files der Übersichten werden nicht automatisch angepasst.

Neue INI-Datei ​

Neue INI-Datei in der Navigationsleiste legt eine Datei aus einer Vorlage an, z. B. „Datenabholung FTP/SFTP + Formatkonvertierung“ oder „Datenexport + Datenversendung“. Formatkonvertierungen verwenden ROOT = Basisordner/Jobname; der Basisordner ist aus den bereits verwendeten wählbar, auch eine Netzwerkfreigabe. Optional werden die Ordner gleich angelegt. Jede Vorlage enthält einen [timer] mit OnCalendar = *:0/15.

Hinweise ​

  • Die Oberfläche lädt Bootstrap, Bootstrap Icons und Mermaid von jsdelivr; ohne Internetzugang fehlt die Gestaltung.
  • Der Web-Editor benötigt keinen Datenbankzugriff.