Repository navigation
Releases: NoobKeksTV/BeamLog
Release list
BeamLog 1.0.2 – Testversion pre.56 (development @ 6fdab71)
Testversion (Pre-Release) aus dem Entwicklungsstand (
development@6fdab71) – zum Ausprobieren, nicht für den Contest-Einsatz. Die Update-Prüfung im Programm bietet sie nicht an; Daten vorher sichern.
Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.
Änderungen seit v1.0.1
- Behoben: Datenbankfehler bei gleichzeitigen Anfragen; Hinweis, wenn eine .env nicht gelesen wird
- Alle Anfragen teilten sich eine SQLite-Verbindung ohne Sperre: kamen zwei gleichzeitig (z. B. Contest speichern
und Admin-Prüfung), brach eine mit „sqlite3.InterfaceError: bad parameter or other API misuse“ ab, im Extremfall
wurden falsche Werte gelesen. Zugriffe auf die Verbindung laufen jetzt nacheinander, Transaktionen am Stück - Start: liegt im Programm- bzw. Startordner eine .env, gelesen wird aber eine andere Datei (z. B. --config
/etc/beamlog/beamlog.env aus einer Dienst-Unit von 1.0.0), sagt BeamLog das ausdrücklich - Test mit acht gleichzeitigen Threads (scheitert ohne die Sperre)
- Alle Anfragen teilten sich eine SQLite-Verbindung ohne Sperre: kamen zwei gleichzeitig (z. B. Contest speichern
- Betreuer-Modus: Vorlage schaltet ihn nicht mehr versehentlich aus, klare Hinweise
- In .env.example und der Server-Vorlage stand „#MAINTAINER=0“ – wer nur die Raute entfernte, bekam MAINTAINER=0
und damit keinen Betreuer-Modus (keine DARC-/IARU-Importe). Jetzt steht dort „#MAINTAINER=1“ mit Hinweis - Startzeile „Betreuer: aus (MAINTAINER=0) – zum Einschalten MAINTAINER=1 eintragen und neu starten“, wenn der Wert
gesetzt, aber nicht eingeschaltet ist - Verwaltung → Stationsdatenbank & Import sagt ohne Betreuer-Modus, wie die Ergebnislisten-Importe freigeschaltet werden
- Wiki (Fehlersuche) ergänzt
- In .env.example und der Server-Vorlage stand „#MAINTAINER=0“ – wer nur die Raute entfernte, bekam MAINTAINER=0
- Einstellungsdatei .env wird zuverlässiger gefunden, mit klarer Startmeldung
- Beim Quellcode wird die .env jetzt auch im Programmordner gesucht (nicht nur im aktuellen Ordner) – „python
BeamLog/run.py“ aus einem anderen Ordner liest die .env daneben - Fehlt die Datei, sagt BeamLog beim Start „keine .env gefunden“ und nennt die durchsuchten Ordner
- Windows-Falle: eine vom Editor als .env.txt gespeicherte Datei wird beim Start in .env umbenannt
- Wiki (Installation, Fehlersuche) ergänzt, Test für Programmordner und .env.txt
- Beim Quellcode wird die .env jetzt auch im Programmordner gesucht (nicht nur im aktuellen Ordner) – „python
- Betreuer-Modus: klare Meldung, wenn er im Demo-Modus gesperrt ist
- Beim Start steht in der Konsole „Betreuer: an“ bzw. „Betreuer: AUS – MAINTAINER/DEV wird im Demo-Modus (DEMO=1) ignoriert“
- Verwaltung → Stationsdatenbank & Import zeigt einen Hinweis, wenn MAINTAINER/DEV gesetzt, aber durch DEMO=1 gesperrt ist
(bisher fehlten Quellen-Importe und Ergebnislisten-Archiv dann kommentarlos) - Wiki (Stationsdatenbank) ergänzt, Tests für beide Fälle
- Testversionen als Pre-Release bauen, wahlweise nur für Linux
- Workflow „Portable Builds“ von Hand mit zwei Auswahlfeldern: „Pre-Release“ und „Plattformen: alle / linux“
- Ein Pre-Release bekommt den Tag v-pre. auf genau den gebauten Stand, ist nicht „Latest“ und wird
daher von der Update-Prüfung im Programm nicht angeboten; die Notizen tragen einen Testversions-Hinweis - Release-Notes und Änderungsprotokoll zählen weiterhin nur echte Releases (Pre-Release-Tags werden übersprungen)
- Eingabefelder schneiden Nummern, Locator und DOK nicht mehr ab
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
Locator und DOK passen immer - Reicht die Breite des Formulars nicht (z. B. mittelgroßes Fenster mit Chat daneben), bricht es in mehrere Zeilen um
statt Felder zu stauchen – gemessen an der Formularbreite, nicht an der Fensterbreite - Spaltenaufteilung für Contests mit reinem DOK-Austausch korrigiert (passte nicht zur Zahl der Felder)
- Kurze Felder (RST, Nummern, DOK) zentriert und mit weniger Innenabstand
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
- Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefeldern
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
sobald Rufzeichen, Locator und je nach Contest Nr erh. bzw. DOK erh. da sind, loggt Enter - Enter auf leerer Zeile loggt auch ohne Nr erh.; fehlt noch etwas, sagt ein Hinweis was
- Neue Teile ersetzen den übernommenen Wert im selben Feld (Korrektur), Kommentare werden angehängt; ist die Nummer
schon übernommen, gilt eine einzelne RST-Zahl (57) als RST - Unter den erkannten Teilen steht „Enter loggt“ bzw. „noch fehlt: …“; Änderungen von Hand in den Feldern zählen als übernommen
- ⚙ Einstellungen: Position der Schnelleingabe über oder unter den Eingabefeldern (je Browser)
- Behoben: nach dem Loggen ging der Cursor in der Schnelleingabe verloren
- Hilfe, README und Wiki (Loggen, Tastenkürzel, Erste Schritte) angepasst, Bilder neu
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
- Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
Rufzeichen, Locator, Nr erh., RST erh. und DOK selbst, füllt live die Felder und zeigt darunter, was erkannt wurde;
Enter loggt, Esc leert. Eigene Angaben (RST geg., Nr geg.) werden nie verändert - RST oder Nummer: nur Rapporte mit 5 vorne gelten als RST (51–59, CW 511–599), führende Null = Nummer, eine einzelne
Zahl = Nummer; bei zwei plausiblen Zahlen Hinweis „RST oder Nummer?“, eindeutig mit r44 bzw. #12 - Fehlender Locator und DOK kommen aus der Stationsdatenbank (die Rufzeichen-Abfrage liefert jetzt auch den DOK)
- Neues ⚙ oben rechts (auch Klick auf den eigenen Namen): Nutzername für Chat, Log und Aktionsprotokoll,
Sprache der Oberfläche und Schnelleingabe ein/aus – gilt nur für diesen Browser; die Sprachauswahl im Kopf entfällt - Hilfe (F1), README und Wiki (Loggen, Tastenkürzel, Erste Schritte, Verwaltung) ergänzt, neue Bilder
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
- Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Felder
- Alle drei Tasten gehen denselben Weg: Rufzeichen → Nr erh. (→ DOK erh.) → Locator → Kommentar
- RST geg. und RST erh. (mit 59 vorbelegt) werden übersprungen und lassen sich per Mausklick ändern;
Enter aus einem RST-Feld springt zu Nr erh. bzw. DOK erh. - Enter mit leerem Rufzeichen läuft nicht mehr durch alle Felder; Umschalt+Tab geht den Weg zurück
- Gilt für alle Austausch-Arten (Nummer, DOK, Nummer + DOK)
- Hilfe (F1), README und Wiki (Loggen, Tastenkürzel) angepasst, Hilfe-Screenshot neu
- Ein Befehl für den Server: beamlogctl install, update, start, stop, status, log
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
tägliches Backup? Adresse für QR-Code – Enter übernimmt den Vorschlag, danach Zusammenfassung und „Weiter?“ - Ohne Rückfragen mit Optionen (kombinierbar): --no-service/--service, --no-nginx/--nginx, --no-backup/--backup,
--here/--system, --url, --deps-only, -y; nicht angegebene Teile wie beim letzten Mal - start/stop/restart/status/log steuern mit Dienst den Dienst beamlog (systemctl, Journal), ohne Dienst BeamLog im
Hintergrund; ein BeamLog in einem anderen Ordner (z. B. eine Demo) steuert nie den Dienst - update: git pull, einspielen über install.sh --update und neu starten; aus einem neu entpackten ZIP bzw. Quellordner
wird nach Rückfrage (oder mit --service) nach /opt/beamlog eingespielt; ohne Dienst Neustart als Besitzer des Ordners - beamlogctl liegt jetzt auch im Linux-ZIP; install.sh nennt am Ende die beamlogctl-Befehle
- Behoben: install.sh im Ordner-Modus (--here/ohne Dienst) als root ohne sudo machte .env und data/ zu root-Dateien –
jetzt läuft alles als Besitzer des Ordners - README, deploy/README.md und Wiki (Deploy, Installation, Updates, Fehlersuche, Startseite) auf beamlogctl umgestellt;
letzte CW-Reste (Demo-Sperre, START.txt) entfernt
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
- Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben frei
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
ohne neue Versionsnummer (z. B. git pull im Entwicklungsstand) liefern Browser und Cloudflare nicht mehr das alte
Skript – dort wurden die entfernten Sprachbausteine (F2–F8) weiter abgefangen - F1 öffnet die Hilfe nur noch ohne Strg/Alt/Umschalt; Strg+F1 usw. gehen wieder an den Browser
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
- CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt
- F2–F8 senden bzw. zeigen keine Sprachbausteine mehr; Makroleiste (F9), große Einblendung und Makro-Editor entfallen
- Esc leert nur noch das Formular (kein „CW stoppen“ mehr)
- Server: CW-Warteschlange und die Schnittstellen /api/stations/{id}/cw und /cw/next entfernt
- CAT-Bridge: Option --cw entfällt, die Bridge meldet nur noch die Frequenz
- KST-Chat-Makros (Knöpfe im KST-Tab) bleiben unverändert
- Hilfe, README und Wiki (CAT, Loggen, Tastenkürzel, Installation) angepasst, Hilfe-Screenshot neu
- BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und status
- ./beamlogctl start|stop|restart|status|log startet BeamLog über ./start.sh im Hintergrund (Ausgabe in data/beamlog.log)
- status endet mit Exit-Code 0, wenn BeamLog läuft, sonst 1, und nennt den Grund – beendet die eigene SSH-Shell nicht
- erkennt BeamLog an der Antwort auf /api/info oder am Prozess aus dem eigenen Ordner, auch eine von Hand gestartete Instanz
auf anderem Port; meldet Prozesse anderer Benutzer, statt sie still zu übersehen - Port aus $PORT (z. B. von ServerController), sonst aus .env bzw. beamlog.env, sonst 8000; HOST aus .env wird beachtet
- Start meldet bei einem Fehler die letzten Zeilen aus dem Log, Stopp beendet nur BeamLog aus diesem Ordner
- Wiki (Installation) und Tests ergänzt
- ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegen
- Neue Datei .servercontroller.json (Format servercontroller-app/1): Laufzeit „command“ aus Git, eigene virtuelle Umgebung .venv, Start auf 127.0.0.1 mi...
BeamLog 1.0.2 – Testversion pre.55 (development @ 3f50278)
Testversion (Pre-Release) aus dem Entwicklungsstand (
development@3f50278) – zum Ausprobieren, nicht für den Contest-Einsatz. Die Update-Prüfung im Programm bietet sie nicht an; Daten vorher sichern.
Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.
Änderungen seit v1.0.1
- Betreuer-Modus: Vorlage schaltet ihn nicht mehr versehentlich aus, klare Hinweise
- In .env.example und der Server-Vorlage stand „#MAINTAINER=0“ – wer nur die Raute entfernte, bekam MAINTAINER=0
und damit keinen Betreuer-Modus (keine DARC-/IARU-Importe). Jetzt steht dort „#MAINTAINER=1“ mit Hinweis - Startzeile „Betreuer: aus (MAINTAINER=0) – zum Einschalten MAINTAINER=1 eintragen und neu starten“, wenn der Wert
gesetzt, aber nicht eingeschaltet ist - Verwaltung → Stationsdatenbank & Import sagt ohne Betreuer-Modus, wie die Ergebnislisten-Importe freigeschaltet werden
- Wiki (Fehlersuche) ergänzt
- In .env.example und der Server-Vorlage stand „#MAINTAINER=0“ – wer nur die Raute entfernte, bekam MAINTAINER=0
- Einstellungsdatei .env wird zuverlässiger gefunden, mit klarer Startmeldung
- Beim Quellcode wird die .env jetzt auch im Programmordner gesucht (nicht nur im aktuellen Ordner) – „python
BeamLog/run.py“ aus einem anderen Ordner liest die .env daneben - Fehlt die Datei, sagt BeamLog beim Start „keine .env gefunden“ und nennt die durchsuchten Ordner
- Windows-Falle: eine vom Editor als .env.txt gespeicherte Datei wird beim Start in .env umbenannt
- Wiki (Installation, Fehlersuche) ergänzt, Test für Programmordner und .env.txt
- Beim Quellcode wird die .env jetzt auch im Programmordner gesucht (nicht nur im aktuellen Ordner) – „python
- Betreuer-Modus: klare Meldung, wenn er im Demo-Modus gesperrt ist
- Beim Start steht in der Konsole „Betreuer: an“ bzw. „Betreuer: AUS – MAINTAINER/DEV wird im Demo-Modus (DEMO=1) ignoriert“
- Verwaltung → Stationsdatenbank & Import zeigt einen Hinweis, wenn MAINTAINER/DEV gesetzt, aber durch DEMO=1 gesperrt ist
(bisher fehlten Quellen-Importe und Ergebnislisten-Archiv dann kommentarlos) - Wiki (Stationsdatenbank) ergänzt, Tests für beide Fälle
- Testversionen als Pre-Release bauen, wahlweise nur für Linux
- Workflow „Portable Builds“ von Hand mit zwei Auswahlfeldern: „Pre-Release“ und „Plattformen: alle / linux“
- Ein Pre-Release bekommt den Tag v-pre. auf genau den gebauten Stand, ist nicht „Latest“ und wird
daher von der Update-Prüfung im Programm nicht angeboten; die Notizen tragen einen Testversions-Hinweis - Release-Notes und Änderungsprotokoll zählen weiterhin nur echte Releases (Pre-Release-Tags werden übersprungen)
- Eingabefelder schneiden Nummern, Locator und DOK nicht mehr ab
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
Locator und DOK passen immer - Reicht die Breite des Formulars nicht (z. B. mittelgroßes Fenster mit Chat daneben), bricht es in mehrere Zeilen um
statt Felder zu stauchen – gemessen an der Formularbreite, nicht an der Fensterbreite - Spaltenaufteilung für Contests mit reinem DOK-Austausch korrigiert (passte nicht zur Zahl der Felder)
- Kurze Felder (RST, Nummern, DOK) zentriert und mit weniger Innenabstand
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
- Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefeldern
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
sobald Rufzeichen, Locator und je nach Contest Nr erh. bzw. DOK erh. da sind, loggt Enter - Enter auf leerer Zeile loggt auch ohne Nr erh.; fehlt noch etwas, sagt ein Hinweis was
- Neue Teile ersetzen den übernommenen Wert im selben Feld (Korrektur), Kommentare werden angehängt; ist die Nummer
schon übernommen, gilt eine einzelne RST-Zahl (57) als RST - Unter den erkannten Teilen steht „Enter loggt“ bzw. „noch fehlt: …“; Änderungen von Hand in den Feldern zählen als übernommen
- ⚙ Einstellungen: Position der Schnelleingabe über oder unter den Eingabefeldern (je Browser)
- Behoben: nach dem Loggen ging der Cursor in der Schnelleingabe verloren
- Hilfe, README und Wiki (Loggen, Tastenkürzel, Erste Schritte) angepasst, Bilder neu
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
- Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
Rufzeichen, Locator, Nr erh., RST erh. und DOK selbst, füllt live die Felder und zeigt darunter, was erkannt wurde;
Enter loggt, Esc leert. Eigene Angaben (RST geg., Nr geg.) werden nie verändert - RST oder Nummer: nur Rapporte mit 5 vorne gelten als RST (51–59, CW 511–599), führende Null = Nummer, eine einzelne
Zahl = Nummer; bei zwei plausiblen Zahlen Hinweis „RST oder Nummer?“, eindeutig mit r44 bzw. #12 - Fehlender Locator und DOK kommen aus der Stationsdatenbank (die Rufzeichen-Abfrage liefert jetzt auch den DOK)
- Neues ⚙ oben rechts (auch Klick auf den eigenen Namen): Nutzername für Chat, Log und Aktionsprotokoll,
Sprache der Oberfläche und Schnelleingabe ein/aus – gilt nur für diesen Browser; die Sprachauswahl im Kopf entfällt - Hilfe (F1), README und Wiki (Loggen, Tastenkürzel, Erste Schritte, Verwaltung) ergänzt, neue Bilder
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
- Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Felder
- Alle drei Tasten gehen denselben Weg: Rufzeichen → Nr erh. (→ DOK erh.) → Locator → Kommentar
- RST geg. und RST erh. (mit 59 vorbelegt) werden übersprungen und lassen sich per Mausklick ändern;
Enter aus einem RST-Feld springt zu Nr erh. bzw. DOK erh. - Enter mit leerem Rufzeichen läuft nicht mehr durch alle Felder; Umschalt+Tab geht den Weg zurück
- Gilt für alle Austausch-Arten (Nummer, DOK, Nummer + DOK)
- Hilfe (F1), README und Wiki (Loggen, Tastenkürzel) angepasst, Hilfe-Screenshot neu
- Ein Befehl für den Server: beamlogctl install, update, start, stop, status, log
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
tägliches Backup? Adresse für QR-Code – Enter übernimmt den Vorschlag, danach Zusammenfassung und „Weiter?“ - Ohne Rückfragen mit Optionen (kombinierbar): --no-service/--service, --no-nginx/--nginx, --no-backup/--backup,
--here/--system, --url, --deps-only, -y; nicht angegebene Teile wie beim letzten Mal - start/stop/restart/status/log steuern mit Dienst den Dienst beamlog (systemctl, Journal), ohne Dienst BeamLog im
Hintergrund; ein BeamLog in einem anderen Ordner (z. B. eine Demo) steuert nie den Dienst - update: git pull, einspielen über install.sh --update und neu starten; aus einem neu entpackten ZIP bzw. Quellordner
wird nach Rückfrage (oder mit --service) nach /opt/beamlog eingespielt; ohne Dienst Neustart als Besitzer des Ordners - beamlogctl liegt jetzt auch im Linux-ZIP; install.sh nennt am Ende die beamlogctl-Befehle
- Behoben: install.sh im Ordner-Modus (--here/ohne Dienst) als root ohne sudo machte .env und data/ zu root-Dateien –
jetzt läuft alles als Besitzer des Ordners - README, deploy/README.md und Wiki (Deploy, Installation, Updates, Fehlersuche, Startseite) auf beamlogctl umgestellt;
letzte CW-Reste (Demo-Sperre, START.txt) entfernt
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
- Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben frei
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
ohne neue Versionsnummer (z. B. git pull im Entwicklungsstand) liefern Browser und Cloudflare nicht mehr das alte
Skript – dort wurden die entfernten Sprachbausteine (F2–F8) weiter abgefangen - F1 öffnet die Hilfe nur noch ohne Strg/Alt/Umschalt; Strg+F1 usw. gehen wieder an den Browser
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
- CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt
- F2–F8 senden bzw. zeigen keine Sprachbausteine mehr; Makroleiste (F9), große Einblendung und Makro-Editor entfallen
- Esc leert nur noch das Formular (kein „CW stoppen“ mehr)
- Server: CW-Warteschlange und die Schnittstellen /api/stations/{id}/cw und /cw/next entfernt
- CAT-Bridge: Option --cw entfällt, die Bridge meldet nur noch die Frequenz
- KST-Chat-Makros (Knöpfe im KST-Tab) bleiben unverändert
- Hilfe, README und Wiki (CAT, Loggen, Tastenkürzel, Installation) angepasst, Hilfe-Screenshot neu
- BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und status
- ./beamlogctl start|stop|restart|status|log startet BeamLog über ./start.sh im Hintergrund (Ausgabe in data/beamlog.log)
- status endet mit Exit-Code 0, wenn BeamLog läuft, sonst 1, und nennt den Grund – beendet die eigene SSH-Shell nicht
- erkennt BeamLog an der Antwort auf /api/info oder am Prozess aus dem eigenen Ordner, auch eine von Hand gestartete Instanz
auf anderem Port; meldet Prozesse anderer Benutzer, statt sie still zu übersehen - Port aus $PORT (z. B. von ServerController), sonst aus .env bzw. beamlog.env, sonst 8000; HOST aus .env wird beachtet
- Start meldet bei einem Fehler die letzten Zeilen aus dem Log, Stopp beendet nur BeamLog aus diesem Ordner
- Wiki (Installation) und Tests ergänzt
- ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegen
- Neue Datei .servercontroller.json (Format servercontroller-app/1): Laufzeit „command“ aus Git, eigene virtuelle Umgebung .venv, Start auf 127.0.0.1 mit dem Port aus PORT als systemd-Dienst hinter Nginx mit TLS
- Ordner /opt/apps/ (z. B. /opt/apps/beamlogdemo), eigener Ausführungsbenutzer; data/ und .env bleiben bei Updates erhalten
- Variablen: Domain, Backup-Takt, Demo-Modus und Uhrzeit des täglichen Zurücksetzens; Hinweise zum Umstieg von einer per install.sh eingerichteten Installation
- Gesperrte Station deutlich sichtbar: Freischalten direkt über dem Eingabeformular
- Ist die gewählte Station gesperrt, liegt über dem QSO-Formular ein Hinweis „🔒 ist gesperrt“ mit Passwortfeld und großem Knopf „Station freischalten“ (Enter genügt)
- Oben in der Stationsleiste ein auffälliger orangefarbener Knopf „Gesperrt – freischalten“ statt ...
BeamLog 1.0.2 – Testversion pre.54 (development @ 69da91c)
Testversion (Pre-Release) aus dem Entwicklungsstand (
development@69da91c) – zum Ausprobieren, nicht für den Contest-Einsatz. Die Update-Prüfung im Programm bietet sie nicht an; Daten vorher sichern.
Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.
Änderungen seit v1.0.1
- Testversionen als Pre-Release bauen, wahlweise nur für Linux
- Workflow „Portable Builds“ von Hand mit zwei Auswahlfeldern: „Pre-Release“ und „Plattformen: alle / linux“
- Ein Pre-Release bekommt den Tag v-pre. auf genau den gebauten Stand, ist nicht „Latest“ und wird
daher von der Update-Prüfung im Programm nicht angeboten; die Notizen tragen einen Testversions-Hinweis - Release-Notes und Änderungsprotokoll zählen weiterhin nur echte Releases (Pre-Release-Tags werden übersprungen)
- Eingabefelder schneiden Nummern, Locator und DOK nicht mehr ab
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
Locator und DOK passen immer - Reicht die Breite des Formulars nicht (z. B. mittelgroßes Fenster mit Chat daneben), bricht es in mehrere Zeilen um
statt Felder zu stauchen – gemessen an der Formularbreite, nicht an der Fensterbreite - Spaltenaufteilung für Contests mit reinem DOK-Austausch korrigiert (passte nicht zur Zahl der Felder)
- Kurze Felder (RST, Nummern, DOK) zentriert und mit weniger Innenabstand
- Jede Spalte des QSO-Formulars hat eine Mindestbreite: Nr geg./Nr erh. zeigen auch vierstellige Nummern ganz,
- Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefeldern
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
sobald Rufzeichen, Locator und je nach Contest Nr erh. bzw. DOK erh. da sind, loggt Enter - Enter auf leerer Zeile loggt auch ohne Nr erh.; fehlt noch etwas, sagt ein Hinweis was
- Neue Teile ersetzen den übernommenen Wert im selben Feld (Korrektur), Kommentare werden angehängt; ist die Nummer
schon übernommen, gilt eine einzelne RST-Zahl (57) als RST - Unter den erkannten Teilen steht „Enter loggt“ bzw. „noch fehlt: …“; Änderungen von Hand in den Feldern zählen als übernommen
- ⚙ Einstellungen: Position der Schnelleingabe über oder unter den Eingabefeldern (je Browser)
- Behoben: nach dem Loggen ging der Cursor in der Schnelleingabe verloren
- Hilfe, README und Wiki (Loggen, Tastenkürzel, Erste Schritte) angepasst, Bilder neu
- Enter übernimmt das Getippte ins QSO und leert die Zeile für den nächsten Teil (z. B. erst „DL1ABC“, dann „012 57“);
- Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
Rufzeichen, Locator, Nr erh., RST erh. und DOK selbst, füllt live die Felder und zeigt darunter, was erkannt wurde;
Enter loggt, Esc leert. Eigene Angaben (RST geg., Nr geg.) werden nie verändert - RST oder Nummer: nur Rapporte mit 5 vorne gelten als RST (51–59, CW 511–599), führende Null = Nummer, eine einzelne
Zahl = Nummer; bei zwei plausiblen Zahlen Hinweis „RST oder Nummer?“, eindeutig mit r44 bzw. #12 - Fehlender Locator und DOK kommen aus der Stationsdatenbank (die Rufzeichen-Abfrage liefert jetzt auch den DOK)
- Neues ⚙ oben rechts (auch Klick auf den eigenen Namen): Nutzername für Chat, Log und Aktionsprotokoll,
Sprache der Oberfläche und Schnelleingabe ein/aus – gilt nur für diesen Browser; die Sprachauswahl im Kopf entfällt - Hilfe (F1), README und Wiki (Loggen, Tastenkürzel, Erste Schritte, Verwaltung) ergänzt, neue Bilder
- Schnelleingabe: alles in eine Zeile in beliebiger Reihenfolge, z. B. „DL1ABC JO31AA 012 57 G01“ – BeamLog erkennt
- Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Felder
- Alle drei Tasten gehen denselben Weg: Rufzeichen → Nr erh. (→ DOK erh.) → Locator → Kommentar
- RST geg. und RST erh. (mit 59 vorbelegt) werden übersprungen und lassen sich per Mausklick ändern;
Enter aus einem RST-Feld springt zu Nr erh. bzw. DOK erh. - Enter mit leerem Rufzeichen läuft nicht mehr durch alle Felder; Umschalt+Tab geht den Weg zurück
- Gilt für alle Austausch-Arten (Nummer, DOK, Nummer + DOK)
- Hilfe (F1), README und Wiki (Loggen, Tastenkürzel) angepasst, Hilfe-Screenshot neu
- Ein Befehl für den Server: beamlogctl install, update, start, stop, status, log
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
tägliches Backup? Adresse für QR-Code – Enter übernimmt den Vorschlag, danach Zusammenfassung und „Weiter?“ - Ohne Rückfragen mit Optionen (kombinierbar): --no-service/--service, --no-nginx/--nginx, --no-backup/--backup,
--here/--system, --url, --deps-only, -y; nicht angegebene Teile wie beim letzten Mal - start/stop/restart/status/log steuern mit Dienst den Dienst beamlog (systemctl, Journal), ohne Dienst BeamLog im
Hintergrund; ein BeamLog in einem anderen Ordner (z. B. eine Demo) steuert nie den Dienst - update: git pull, einspielen über install.sh --update und neu starten; aus einem neu entpackten ZIP bzw. Quellordner
wird nach Rückfrage (oder mit --service) nach /opt/beamlog eingespielt; ohne Dienst Neustart als Besitzer des Ordners - beamlogctl liegt jetzt auch im Linux-ZIP; install.sh nennt am Ende die beamlogctl-Befehle
- Behoben: install.sh im Ordner-Modus (--here/ohne Dienst) als root ohne sudo machte .env und data/ zu root-Dateien –
jetzt läuft alles als Besitzer des Ordners - README, deploy/README.md und Wiki (Deploy, Installation, Updates, Fehlersuche, Startseite) auf beamlogctl umgestellt;
letzte CW-Reste (Demo-Sperre, START.txt) entfernt
- sudo ./beamlogctl install fragt nacheinander: systemd-Dienst? nach /opt/beamlog kopieren? nginx auf Port 80?
- Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben frei
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
ohne neue Versionsnummer (z. B. git pull im Entwicklungsstand) liefern Browser und Cloudflare nicht mehr das alte
Skript – dort wurden die entfernten Sprachbausteine (F2–F8) weiter abgefangen - F1 öffnet die Hilfe nur noch ohne Strg/Alt/Umschalt; Strg+F1 usw. gehen wieder an den Browser
- app.js und style.css tragen jetzt einen Fingerabdruck ihres Inhalts statt nur der Versionsnummer: nach einem Update
- CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt
- F2–F8 senden bzw. zeigen keine Sprachbausteine mehr; Makroleiste (F9), große Einblendung und Makro-Editor entfallen
- Esc leert nur noch das Formular (kein „CW stoppen“ mehr)
- Server: CW-Warteschlange und die Schnittstellen /api/stations/{id}/cw und /cw/next entfernt
- CAT-Bridge: Option --cw entfällt, die Bridge meldet nur noch die Frequenz
- KST-Chat-Makros (Knöpfe im KST-Tab) bleiben unverändert
- Hilfe, README und Wiki (CAT, Loggen, Tastenkürzel, Installation) angepasst, Hilfe-Screenshot neu
- BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und status
- ./beamlogctl start|stop|restart|status|log startet BeamLog über ./start.sh im Hintergrund (Ausgabe in data/beamlog.log)
- status endet mit Exit-Code 0, wenn BeamLog läuft, sonst 1, und nennt den Grund – beendet die eigene SSH-Shell nicht
- erkennt BeamLog an der Antwort auf /api/info oder am Prozess aus dem eigenen Ordner, auch eine von Hand gestartete Instanz
auf anderem Port; meldet Prozesse anderer Benutzer, statt sie still zu übersehen - Port aus $PORT (z. B. von ServerController), sonst aus .env bzw. beamlog.env, sonst 8000; HOST aus .env wird beachtet
- Start meldet bei einem Fehler die letzten Zeilen aus dem Log, Stopp beendet nur BeamLog aus diesem Ordner
- Wiki (Installation) und Tests ergänzt
- ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegen
- Neue Datei .servercontroller.json (Format servercontroller-app/1): Laufzeit „command“ aus Git, eigene virtuelle Umgebung .venv, Start auf 127.0.0.1 mit dem Port aus PORT als systemd-Dienst hinter Nginx mit TLS
- Ordner /opt/apps/ (z. B. /opt/apps/beamlogdemo), eigener Ausführungsbenutzer; data/ und .env bleiben bei Updates erhalten
- Variablen: Domain, Backup-Takt, Demo-Modus und Uhrzeit des täglichen Zurücksetzens; Hinweise zum Umstieg von einer per install.sh eingerichteten Installation
- Gesperrte Station deutlich sichtbar: Freischalten direkt über dem Eingabeformular
- Ist die gewählte Station gesperrt, liegt über dem QSO-Formular ein Hinweis „🔒 ist gesperrt“ mit Passwortfeld und großem Knopf „Station freischalten“ (Enter genügt)
- Oben in der Stationsleiste ein auffälliger orangefarbener Knopf „Gesperrt – freischalten“ statt des kleinen „freischalten“, freigeschaltet mit 🔓
- Falsches Passwort: Meldung und kurzes Wackeln des Hinweises; beim Wechsel auf eine gesperrte Station springt der Cursor ins Passwortfeld statt eines Extra-Dialogs
- In der Demo ist das Passwort vorausgefüllt; englische Übersetzung ergänzt
- Test der Rechte-Meldung auch unter Windows korrekt
- Unter Windows nennt BeamLog bei fehlenden Schreibrechten „Ordnerrechte prüfen“ statt eines chown-Befehls – der Test erwartete nur die Linux-Meldung und brach den Windows-Build ab
Commit-Historie
69da91cTestversionen als Pre-Release bauen, wahlweise nur für Linux145e0f7Eingabefelder schneiden Nummern, Locator und DOK nicht mehr abec15cf5Schnelleingabe in Teilen mit Enter und wahlweise unter den Eingabefelderne25c901Schnelleingabe in einer Zeile und ⚙ Einstellungen je Browser (Name, Sprache)8441ae4Schnellere Eingabe: Tab, Enter und Leertaste springen nur über die nötigen Feldercda1896Ein Befehl für den Server: beamlogctl install, update, start, stop, status, logb05f995Neue Programmversion wird sofort geladen; F-Tasten außer F1 bleiben freicffbeb8CW-Sendeanbindung und Sprachbausteine (F2–F8) entfernt7834c22BeamLog ohne Dienst steuern: Skript beamlogctl für start, stop und statusde91814ServerController-Vorlage: BeamLog als Anwendung im Control Panel anlegence83f2dGesperrte Station deutlich sichtbar: Freischalten direkt über dem Eingabeformular9149402Test der Rechte-Meldung auch unter Windows korrekt
Vollständiger Vergleich: v1.0.1...v1.0.2-pre.54
BeamLog 1.0.1
BeamLog 1.0.1
🎬 Video „BeamLog in 1:42 Minuten“ auf YouTube · 🧪 Live-Demo ausprobieren (Passwort demo) · 📖 Wiki
Das Wichtigste in Kürze
- Einstellungsdatei heißt jetzt
.env(Vorlage.env.example). Eine vorhandenebeamlog.envwird beim Start bzw.
voninstall.sh --updateautomatisch umbenannt – es geht nichts verloren. - Server: alles in einem Ordner. Programm, Daten (
data/) und Einstellungen (.env) liegen jetzt zusammen in
/opt/beamlog.sudo bash deploy/install.sh --updateholt eine bestehende Installation automatisch aus
/var/lib/beamlogund/etc/beamlogdorthin (die alten Daten bleiben als Sicherung liegen) – Schluss mit
verstreuten Rechten. - Install-Skript mit Optionen:
--no-nginx,--no-service,--no-backup(kombinierbar und gemerkt),
--deps-only(nur Python & Co. installieren),--here(im aktuellen Ordner bleiben). Ohne Dienst wird nichts
mehr nach/optkopiert; mit Dienst sagt das Skript deutlich, dass und warum es kopiert. - Robuster Start: fehlende Ordner und Vorlagen werden selbst angelegt, fehlende Schreibrechte verständlich erklärt;
python run.pynimmt automatisch die virtuelle Umgebung.venv,start.sh/start.bathalten die Pakete aktuell. - Demo-Modus (
DEMO=1) für öffentliche Vorführ-Instanzen – feste Zugangsdaten, gesperrte Server-Funktionen,
tägliches Zurücksetzen auf einen Beispiel-Contest. - Ergebnislisten-Archiv (Betreuer-Modus): Ergebnislisten und Einzel-Logs von DARC (UKW/KW) und IARU Region 1
über alle Jahre, mehrere Listen parallel und rund dreimal schneller. - Wiki jetzt auch im GitHub-Reiter „Wiki“.
Update: Portable Version über Verwaltung → Updates oder neues ZIP entpacken. Server: neues Linux-ZIP entpacken und
sudo bash deploy/install.sh --update.
Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.
Änderungen seit v1.0.0
- Test der Rechte-Meldung auch unter Windows korrekt
- Unter Windows nennt BeamLog bei fehlenden Schreibrechten „Ordnerrechte prüfen“ statt eines chown-Befehls – der Test erwartete nur die Linux-Meldung und brach den Windows-Build ab
- Release-Text für 1.0.1: das Wichtigste in Kürze
- Einleitung der Release-Notes mit Video, Live-Demo, Wiki und den wichtigsten Neuerungen (.env, alles in einem Ordner, Install-Optionen, robuster Start, Demo-Modus, Ergebnislisten-Archiv)
- Wiki: Bilder werden sicher angezeigt, Video und Live-Demo in der Seitenleiste
- Bilder im Wiki (auch das Video-Vorschaubild und das Logo per HTML) werden mit fester Adresse auf die Wiki-Dateien eingebunden – relative Pfade zeigt das GitHub-Wiki in HTML nicht an
- Seitenleiste mit Links zum YouTube-Video und zur Live-Demo
- Wiki: Bilder werden sicher angezeigt, Video und Live-Demo in der Seitenleiste
- Bilder im Wiki (auch das Video-Vorschaubild und das Logo per HTML) werden mit fester Adresse auf die Wiki-Dateien eingebunden – relative Pfade zeigt das GitHub-Wiki in HTML nicht an
- Seitenleiste mit Links zum YouTube-Video und zur Live-Demo
- Wiki-Startseite: klickbares Video-Vorschaubild, Live-Demo-Kasten, Logo und Badges
- Video „BeamLog in 1:42 Minuten“ als Vorschaubild mit Link auf YouTube statt reiner Textzeile
- Live-Demo als hervorgehobener Kasten mit Link und Zugangsdaten (demo)
- Logo und Badges (Download, Live-Demo, Video, Lizenz) im Kopf
- Wiki-Startseite: klickbares Video-Vorschaubild, Live-Demo-Kasten, Logo und Badges
- Video „BeamLog in 1:42 Minuten“ als Vorschaubild mit Link auf YouTube statt reiner Textzeile
- Live-Demo als hervorgehobener Kasten mit Link und Zugangsdaten (demo)
- Logo und Badges (Download, Live-Demo, Video, Lizenz) im Kopf
- Nächste Version heißt 1.0.1 (noch nicht veröffentlicht)
- Versionsnummer in development auf 1.0.1 gesetzt; die veröffentlichte Version ist 1.0.0
- Hinweise zu alten Pfaden und zur alten Einstellungsdatei nennen jetzt „bis 1.0.0“
- README und Wiki aktualisiert: YouTube-Video, Live-Demo, Zubehör und Wiki im GitHub-Reiter „Wiki“
- README: Video „BeamLog in 1:42 Minuten“ auf YouTube verlinkt, Live-Demo, Abschnitt „Zubehör von LH Printing“, Links aufs GitHub-Wiki
- Wiki (docs/wiki) auf den aktuellen Stand gebracht
- Neuer Workflow „Wiki“ überträgt docs/wiki in den GitHub-Reiter „Wiki“
- README verlinkt das YouTube-Video „BeamLog in 1:42 Minuten“
- Vorschaubild und Bildunterschrift im README führen jetzt auf https://youtu.be/yvYb6FNvjzA, dazu ein YouTube-Badge
- Wiki-Startseite und video/ (README, YouTube.txt) nennen den Link
- Server-Installation in einem Ordner, fehlende Ordner und Dateien werden selbst angelegt
- Auf dem Server liegt jetzt alles unter /opt/beamlog: Programm, data/ (Datenbank, Backups, Sprachen) und .env – ein Ordner, ein Besitzer, keine verstreuten Rechte; der Dienst darf in seinen Ordner schreiben (auch für Updates aus der Oberfläche)
- install.sh --update holt ältere Installationen automatisch dorthin: Einstellungen aus /etc/beamlog (beamlog.env bzw. .env) und die gemerkte Wahl werden verschoben, Daten aus /var/lib/beamlog kopiert (Original bleibt als Sicherung), DB-Pfade in der .env umgestellt, Unit und Backup-Cron neu geschrieben
- Ältere Installationen ohne dieses Update laufen unverändert weiter; zeigt DB= noch auf /var/lib/beamlog, die Daten sind aber umgezogen, nimmt BeamLog den neuen Ordner
- BeamLog legt fehlende Daten-, Backup- und Sprachordner beim Start selbst an; fehlen Schreibrechte, nennt es Nutzer, Ordner und den chown-Befehl statt abzustürzen
- install.sh legt fehlende Vorlagen (.env, Dienst-Unit, nginx-Site, Backup-Skript) als Standardversion an statt abzubrechen; Updates löschen .env, data/ und die gemerkte Wahl im Zielordner nie
- Wiki und deploy-Anleitungen beschreiben den neuen Ort und den automatischen Umzug
- Einstellungsdatei heißt jetzt .env – alte beamlog.env wird automatisch umbenannt
- Neuer Name der Einstellungsdatei: .env neben dem Programm bzw. /etc/beamlog/.env auf dem Server; Vorlage .env.example (Server-Vorlage deploy/portable/server.env)
- Beim Start benennt BeamLog eine vorhandene beamlog.env (oder contestlogger.env) neben dem Programm in .env um; gibt es schon eine .env, bleibt die alte liegen und es kommt ein Hinweis
- install.sh (auch --update und --here) benennt /etc/beamlog/beamlog.env bzw. ./beamlog.env in .env um und schreibt die Dienst-Unit passend neu – Einstellungen bleiben erhalten
- Zeigt eine eigene Unit noch auf …/beamlog.env, nimmt BeamLog automatisch die .env daneben
- README, Wiki und deploy-Anleitungen auf .env umgestellt, Hinweis zum Anlegen unter Windows und zur Umbenennung; Test für die Umbenennung
- Start aus dem Quellcode: run.py findet .venv selbst, Anleitungen nennen start.sh
- „python run.py“ mit dem System-Python brach mit „No module named uvicorn“ ab, weil die Pakete nur in .venv liegen: run.py wechselt jetzt automatisch in .venv neben sich, wenn dem aufrufenden Python Pakete fehlen
- Gibt es noch keine .venv, nennt run.py die fehlenden Pakete und den Weg (./start.sh bzw. start.bat oder pip install -r requirements.txt) statt eines Tracebacks
- start.sh/start.bat installieren die Pakete neu, sobald sich requirements.txt geändert hat (z. B. nach git pull, neu: httpx) – vorher nur beim allerersten Start
- README, Wiki „Installation“ und deploy/README nennen ./start.sh bzw. start.bat statt „pip install … && python run.py“
- install.sh --here/--deps-only nennt ./start.sh als Startbefehl und merkt den Paketstand, damit start.sh nicht erneut installiert
- Install-Skript: ohne Dienst bleibt BeamLog im aktuellen Ordner
- Ohne Dienst (--no-service) wird nichts mehr nach /opt/beamlog kopiert: BeamLog bleibt automatisch im Ordner, aus dem das Skript gestartet wird, und läuft als der aufrufende Nutzer (Daten in ./data, Einstellungen in ./beamlog.env)
- Mit Dienst wird weiter nach /opt/beamlog kopiert – das Skript kündigt das jetzt groß an und nennt am Ende noch einmal Ort, Daten und Einstellungen samt Grund (eigener Systemnutzer, gehärteter Dienst)
- Neu: --deps-only installiert nur Systempakete und die Python-Umgebung ./.venv (wie --here --no-nginx --no-service --no-backup)
- Neu: --here bleibt auch mit Dienst, nginx und Backup im Ordner (Unit läuft als dein Nutzer), --system kehrt zu /opt/beamlog zurück; die Wahl wird im Ordner gemerkt
- Python-Umgebung und Dateien im Ordner gehören dem aufrufenden Nutzer, nicht root; nginx liefert im Ordner-Modus die statischen Dateien über BeamLog aus
- Backup-Skript nimmt den Datenordner als Parameter; README, deploy-Anleitungen und Wiki erklären, wohin installiert wird
- README und Deploy-Anleitungen zeigen die neuen Install-Optionen und den Demo-Modus
- README: Server-Installation im Schnellstart mit install.sh, --update und den Optionen --no-nginx/--no-service/--no-backup, Link auf die Demo-Instanz im Wiki
- deploy/README (Quellcode) und deploy/portable/README (ZIP): Abschnitt „Teile weglassen“ mit Tabelle bzw. Beispielen, Hinweis für vorhandene Reverse-Proxys
- Vorlage beamlog.env der portablen Version und deren Anleitung enthalten jetzt DEMO und DEMO_RESET
- Install-Skript: nginx, Dienst und Backup-Cron einzeln abschaltbar
- Neue Optionen --no-nginx, --no-service und --no-backup, beliebig kombinierbar (z. B. --no-nginx --no-backup)
- --no-nginx: nginx wird weder installiert noch eingerichtet (eigener Reverse-Proxy oder PORT=80 direkt); eine früher angelegte BeamLog-Site wird entfernt, nginx selbst und andere Sites bleiben unberührt; Warnung, wenn bei PORT=80 noch nginx läuft
- --no-service: kein systemd-Dienst, das Skript zeigt den Startbefehl; ein früherer Dienst „beamlog“ wird angehalten und entfernt
- --no...
BeamLog 1.0.0
BeamLog 1.0 – der erste offizielle Release 🎉
(Version 1.0.3 – enthält alle Korrekturen seit dem ersten 1.0-Build)
BeamLog (bisher „ContestLogger“) ist ein lokaler, webbasierter Contest-Logger für UKW-Contests (DARC / IARU Region 1) –
basierend auf DD3KU WinContest. Ein kleiner Server im LAN ist der zentrale Speicher, geloggt wird im Browser
an beliebig vielen Plätzen gleichzeitig. Kostenlos, für Windows, Linux und macOS.
🎬 Video „BeamLog in 1:42 Minuten“: in Kürze auf YouTube · 📖 Wiki
Neuer Name: Das Projekt heißt jetzt BeamLog (GitHub: NoobKeksTV/BeamLog, alte Links leiten weiter), ebenso die
Programmdateien (BeamLog.exe,BeamLog-…zip). Umstieg von 0.9.x: 1.0 einmal von Hand laden und entpacken – liegt der
OrdnerBeamLogneben dem alten OrdnerContestLogger(oder darin), übernimmt BeamLog beim ersten Start automatisch eine Kopie
vondata/undcontestlogger.env(die Datenbank heißt danachbeamlog.db, die Einstellungenbeamlog.env). Ab 1.0 aktualisiert sich BeamLog wieder selbst.
Server (Debian/systemd): neues ZIP entpacken undsudo bash deploy/install.sh --update– Dienst, Nutzer, Pfade
(/opt/beamlog,/var/lib/beamlog,/etc/beamlog/beamlog.env), Port-Einstellung, nginx-Site und Backup werden automatisch voncontestloggerumgestellt.Lizenz: BeamLog ist ab 1.0 freie Software unter der GNU AGPLv3.
Alle Funktionen
Loggen
- Rufzeichen, RST, laufende Nummern und/oder DOK/OV – der Austausch ist je Contest wählbar (Nummer, DOK oder beides), Locator, Kommentar; Zeit immer in UTC
- Vorschläge beim Tippen aus der Stationsdatenbank und allen eigenen Logs (Locator, Name, Entfernung, wie oft und wann zuletzt gearbeitet; bereits gearbeitete markiert), Auswahl mit ↑/↓ und Tab
- Locator, Entfernung und Richtung automatisch, Antennenrichtung als Pfeil auf der Karte; mehrere bekannte Standorte eines Rufzeichens zur Auswahl
- Große Startdatenbank mit über 6.300 Stationen (Locator, DOK) – Vorschläge funktionieren ab dem ersten QSO
- Dupe-Warnung mit Datum, Zeit, Nummern, Locator und Operator der früheren QSOs; die QSO-Liste filtert auf das Rufzeichen
- Plausibilitätsprüfung Rufzeichen ↔ Locator, Bearbeiten und Löschen von QSOs, laufende Nummer zählt automatisch weiter
- Mehrere Stationen (2 m, 70 cm, 23 cm …) parallel, jede mit eigenem Log und eigener Nummer; Operatoren schalten Stationen per Passwort frei
- Hinweiszeile („432.200 CQ · Antenne 118°“) für alle Plätze, Tastenkürzel für alles (F1 zeigt die Übersicht), hell/dunkel, mehrsprachig
Operator-Fenster (zweiter Monitor)
- Zeigt jede Eingabe live und groß: Rufzeichen, Nummern, RST, Locator, Entfernung/Richtung
- Dupe-Warnung, Hinweis vom Logger, Statistik-Zeile, Karte mit Antennenrichtung und die letzten QSOs
Team-Chat, ON4KST-Chat und Direktnachrichten
- Team-Chat je Contest zwischen allen Plätzen, mit Anzeige, wer gerade an welcher Station online ist
- ON4KST-Chat direkt eingebaut, je Station eine eigene Verbindung; Nachrichten an mich hervorgehoben, mit Ton und Zähler
- Nutzerliste mit Locator, Entfernung und Richtung; ein Klick auf eine Station übernimmt Rufzeichen und Locator in den Logger
- Textbausteine (CQ, QRV, TNX, NIL, SKED – frei anpassbar mit Platzhaltern), Direktnachrichten wie in einem Messenger
- Rundruf: noch nicht gearbeitete Stationen im Umkreis gezielt anschreiben
- Chat auf Wunsch in einem eigenen Fenster
Aircraft-Scatter (ADS-B) – wie AirScout
- Flugzeuge auf der Karte, Zone gemeinsamer Sichtbarkeit auf dem Pfad, Korridor um den Pfad
- Bewertung je Flugzeug: im Korridor, kreuzt bald, sichtbar, zu tief; große Flugzeuge hervorgehoben
- Details: Flughöhe, Geschwindigkeit, Kurs, Mindesthöhe und Höhenreserve, Elevation, vorhergesagte Kreuzungszeit und -punkt
- Höhenprofil des Pfads mit Legende (Mindesthöhe, Zone, Flugzeuge in ihrer Höhe), Klick in der Liste springt mit der Karte zum Flugzeug
- Flugzeug-Symbole zeigen in ihre Flugrichtung
- Datenquellen: adsb.fi oder ein eigener Empfänger (dump1090/readsb/tar1090)
Karte
- Richtungspfeil zum Partner, alle QSOs, Großfelder mit Rufzeichen
- Offline-Kartencache mit Vorab-Laden einer Region (für Standorte ohne Internet), eigener Kachelserver möglich
Statistik
- Contest gesamt und je Station: QSOs, Punkte, Großfelder, Länder, Ø km, ODX, Restzeit
- Karte aller Großfelder – Hover zeigt die Stationen, Klick listet alle mit km
- Stundenverlauf, Entfernungs- und Richtungsverteilung, Top-Entfernungen, Länder, Operatoren; Großanzeige für einen Bildschirm im Zelt
Abgabe und Export
- EDI (REG1TEST) mit Pflicht-Log-Prüfung als übersichtliche Vergleichstabelle (Feld · geloggt · erwartet) und optionalem Online-Abgleich (HamQTH/QRZ)
- Klick auf einen Befund öffnet das QSO mit dem Korrekturvorschlag bereits eingetragen (z. B. Locator aus Online- oder Stationsdatenbank), markiert die Änderung – „Änderungen speichern“, weiter geht’s mit der Prüfung
- RST mit führender Null (059) wird still korrigiert
- Alle Bänder eines Contests als EDI-ZIP, dazu Cabrillo, ADIF und CSV
- Wertung je Contest: Punkte je km oder fest je QSO, Multiplikator Großfelder/DOKs
Import und Stationsdatenbank
- Import kompletter WinContest-Ordner (
.mdbohne Zusatzsoftware,.txt,.EXP), EDI, ADIF - Stationsdatenbank (Rufzeichen, Locator, Name, DOK): wächst automatisch mit jedem QSO, der KST-Nutzerliste, Importen und Online-Abfragen; Suche, Bearbeiten, Export und Abgleich mit dem Repo
CAT / CW
- Frequenz vom Funkgerät (Hamlib rigctld, flrig) in Stationsleiste und Operator-Fenster, Textbausteine F2–F8 als CW
Betrieb und Verwaltung
- Verwaltung in vier Bereichen: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen
- Backups auf dem Server (absturzsicher), Aktionsprotokoll aller Änderungen, QR-Code zum schnellen Verbinden weiterer Geräte
- Update-Prüfung mit Selbst-Aktualisierung, „Was ist neu“ nach jedem Update
- Portable Version ohne Python für Windows, Linux und macOS; Dienst-Installation für Debian/Raspberry Pi (systemd) –
Port frei wählbar inbeamlog.env:PORT=80direkt ohne nginx, sonst nginx davor; das Install-Skript stellt alles passend ein - Freie Software unter der GNU AGPLv3, Link zum Quellcode in der Oberfläche
Portable Versionen (kein Python nötig): ZIP entpacken, BeamLog.exe bzw. ./BeamLog starten. Siehe START.txt im Paket.
Änderungen seit v0.9.33
- Startdatenbank lädt in Sekundenbruchteilen (auch unter Windows)
- Die 6.300 Einträge der Startdatenbank und der Repo-Abgleich wurden einzeln mit vollem Plattensync geschrieben –
unter Windows dauerte der erste Start dadurch sehr lange; jetzt in einem Rutsch, danach wieder voll abgesichert
- Die 6.300 Einträge der Startdatenbank und der Repo-Abgleich wurden einzeln mit vollem Plattensync geschrieben –
- Wiki: Höhenprofil der Flugzeuge erklärt
- Was die Achsen, die rote Kurve, der grüne Balken und die Farben bedeuten, und warum die Punkte wandern
- Screenshot mit Legende
- Log-Prüfung: Korrekturvorschlag direkt im QSO, RST 059 kein Fehler mehr
- Klick auf einen Befund öffnet das QSO mit dem Korrekturvorschlag bereits eingetragen (z. B. Locator aus der
Online-Datenbank oder der Stationsdatenbank, DOK aus der Stationsdatenbank); geänderte Felder sind gelb markiert,
der alte Wert steht im Tooltip - Knopf „Änderungen speichern“; nach dem Speichern öffnet sich die Log-Prüfung wieder mit dem aktuellen Stand
- Ohne konkreten Vorschlag wird das betroffene Feld hervorgehoben und angewählt
- Die Prüfliste zeigt den Vorschlag unter „erwartet“ an
- RST mit führender Null (059, 0599) wird still auf 59/599 korrigiert – beim Speichern, in der Prüfung und in allen Exporten
- Flugzeug-Höhenprofil mit Legende (Mindesthöhe, Zone, Farben der Flugzeuge)
- Klick auf einen Befund öffnet das QSO mit dem Korrekturvorschlag bereits eingetragen (z. B. Locator aus der
- Startdatenbank mit 6.326 Stationen
- Mitgelieferte Stationsdatenbank (contestlogger/seed/stationsdatenbank.csv) stark erweitert: 6.326 Rufzeichen mit
Locator, davon 3.883 mit DOK – neue Installationen haben sie beim ersten Start, bestehende holen sie über
Verwaltung → Stationsdatenbank → „Nach neuen suchen (Repo)“ - Nur Rufzeichen, Locator, zuletzt gehört und DOK (keine Namen)
- Mitgelieferte Stationsdatenbank (contestlogger/seed/stationsdatenbank.csv) stark erweitert: 6.326 Rufzeichen mit
- Windows: belegter Port wird beim Start richtig erkannt
- Windows meldet einen belegten Port als „Zugriff verweigert“ – die Startprüfung meldete dann fälschlich fehlende Rechte;
jetzt heißt es dort korrekt „Port belegt“ (Linux/macOS unverändert)
- Windows meldet einen belegten Port als „Zugriff verweigert“ – die Startprüfung meldete dann fälschlich fehlende Rechte;
- Server: Port aus beamlog.env gilt jetzt immer – auch Port 80 ohne nginx
- Nur noch eine Dienst-Unit (beamlog.service); sie darf Port 80 öffnen, beamlog-port80.service entfällt
- install.sh richtet sich nach PORT in /etc/beamlog/beamlog.env: PORT=80 -> BeamLog direkt auf Port 80
(nginx wird abgeschaltet, HOST bei Bedarf auf 0.0.0.0 gesetzt); anderer Port -> nginx leitet Port 80 dorthin weiter - Port/Adresse aus älteren Units (--port 80, --host 0.0.0.0 im Startbefehl, z. B. die alte Port-80-Variante) werden
in die env-Datei übernommen – vorher lief der Dienst nach der Umstellung wieder auf 8000 - install.sh bricht nicht mehr ab: fehlende Einträge, ein nicht laufender Dienst oder nginx werden am Ende mit
Hinweisen gemeldet; tägliches Backup wird bei jedem Lauf eingerichtet - beamlog.env: Kommentare hinter einem Wert („PORT=80 # direkt“) sind erlaubt
- Belegter oder gesperrter Port: verständliche Meldung beim Start statt Absturz
- Wiki/Deploy-Anleitung und Fehlersuche zum Port-Wechsel angepasst
- Server-Installation: bricht nicht mehr ab, wenn nginx nicht läuft
- Statt „reload“ wird nginx jetzt aktiviert und bei Bedarf gestartet (vorher Abbruch mit
„nginx.service is not active, cannot reload“, danach fehlte der tägliche Backup-Job) - Startet nginx nicht (z. B. Port 80 belegt), läuft die Installation zu Ende und ...
- Statt „reload“ wird nginx jetzt aktiviert und bei Bedarf gestartet (vorher Abbruch mit
ContestLogger 0.9.33
Portable Versionen (kein Python nötig): ZIP entpacken, ContestLogger.exe bzw. ./ContestLogger starten. Siehe START.txt im Paket.
Änderungen seit v0.9.32
- Log-Prüfung als Vergleichstabelle: Feld, geloggt, erwartet – mit Filtern statt Textliste
- Jeder QSO-Befund ist eine Zeile Nr · UTC · Rufzeichen · Feld · geloggt · erwartet/Vergleich (✖ Fehler, ⚠ Hinweis);
Klick öffnet das QSO, der ausführliche Text steht im Tooltip - Filterknöpfe: Alle / Fehler / Hinweise und je Feld (Locator, Nr erh., Land, Dupe …) mit Anzahl
- Kopfdaten und allgemeine Befunde (Nummernlücken, EDI-Kopf) kompakt und eingeklappt darunter
- Online-Abgleich (HamQTH/QRZ) erscheint als Locator-Vergleich geloggt ↔ Online-DB; Wiki ergänzt
- Jeder QSO-Befund ist eine Zeile Nr · UTC · Rufzeichen · Feld · geloggt · erwartet/Vergleich (✖ Fehler, ⚠ Hinweis);
- Plausibilitätshinweis berücksichtigt alle bekannten Standorte eines Rufzeichens
- „Stationsdatenbank kennt … mit …“ erscheint nicht mehr, wenn der eingegebene Locator einer der weiteren bekannten
Standorte ist (oder dazu passt); der Hinweis nennt alle bekannten Locator und das Datum nur, wenn es eins gibt
- „Stationsdatenbank kennt … mit …“ erscheint nicht mehr, wenn der eingegebene Locator einer der weiteren bekannten
- Dupe-Hinweis mit den Angaben des früheren QSOs, Liste filtert auf gearbeitete Rufzeichen, HamQTH ohne „kostenlos“
- Doppel-QSO-Banner (Logger und Operator-Fenster) zeigt Datum, Zeit, Nummern, DOK, Locator, km und Operator
der früheren QSOs (neueste zuerst, bis zu drei) - Wird ein bereits gearbeitetes Rufzeichen eingegeben, zeigt die QSO-Liste unten nur dessen QSOs (markiert);
Feld leeren zeigt wieder alle, das Suchfeld hat Vorrang - Anbieter heißt in Auswahl und Log-Prüfung nur noch „HamQTH“
- Doppel-QSO-Banner (Logger und Operator-Fenster) zeigt Datum, Zeit, Nummern, DOK, Locator, km und Operator
- „Was ist neu“ und Release-Notes aufgeräumt: keine Versions-Commits, Details als Unterpunkte
- Reine Versions-/Änderungsprotokoll-Commits ("Version 0.9.x") erscheinen nicht mehr in Release-Notes und „Was ist neu“
- Commit-Details werden als eingerückte Unterpunkte dargestellt statt in eine Zeile zusammengeklebt;
der Betreff steht fett darüber
Commit-Historie
ceb7bdcLog-Prüfung als Vergleichstabelle: Feld, geloggt, erwartet – mit Filtern statt Textliste5ce74eaPlausibilitätshinweis berücksichtigt alle bekannten Standorte eines Rufzeichensa550394Dupe-Hinweis mit den Angaben des früheren QSOs, Liste filtert auf gearbeitete Rufzeichen, HamQTH ohne „kostenlos“abb4816„Was ist neu“ und Release-Notes aufgeräumt: keine Versions-Commits, Details als Unterpunkte
Vollständiger Vergleich: v0.9.32...v0.9.33
ContestLogger 0.9.32
Portable Versionen (kein Python nötig): ZIP entpacken, ContestLogger.exe bzw. ./ContestLogger starten. Siehe START.txt im Paket.
Änderungen seit v0.9.31
- Version 0.9.32
- Änderungsprotokoll für v0.9.32
- Verwaltung: Archiv-Knopf der Contest-Zeile als Symbol, damit alle Aktionen sichtbar sind
- Verwaltung: Contest-Zeile ohne abgeschnittene Knöpfe (EDI-ZIP steht in Export / Abgabe)
- Verwaltung in vier Bereiche aufgeteilt: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen
- Reiterleiste oben in der Verwaltung, nur der gewählte Bereich ist sichtbar (wird gemerkt); der Update-Knopf
im Kopf springt direkt zu „Server & Updates“ - Keine 16 Karten mehr auf einer Seite; Wiki und README-Bild aktualisiert
- Reiterleiste oben in der Verwaltung, nur der gewählte Bereich ist sichtbar (wird gemerkt); der Update-Knopf
- Start nach Löschen des letzten Contests repariert („Start fehlgeschlagen: Not Found“, rote Verbindung)
- Gespeicherte Station wird verworfen, wenn es ihren Contest nicht mehr gibt; QSO-Laden mit 404 setzt die Station zurück
- Die WebSocket-Verbindung wird immer aufgebaut, auch wenn Contests/Station nicht geladen werden konnten
- Verwaltung: Stationen im Contest-Dialog, EDI-Prüfung ohne Stationswechsel, EDI-ZIP mit Prüfübersicht, QSO-Zahlen im Export; Dupe-Banner im Logger; Operator-Liste neueste zuerst
- „Stationen im Contest“-Karte entfernt; die Stationen eines Contests stehen jetzt im Contest-Dialog (✎): Übersicht
mit ID, Band, Locator, Nummer, Passwort, KST; globale Station aufnehmen, einmalige anlegen, bearbeiten, Nummer, entfernen - „EDI (mit Prüfung)“ in der Export-Karte prüft die jeweilige Station, ohne die aktive Station im Logger zu wechseln,
und zeigt das Ergebnis immer als Dialog mit „EDI herunterladen“ (vorher stiller Download bzw. Stationswechsel) - Export-Karte folgt dem oben gewählten Contest sofort und zeigt je Station QSOs, Dupes und Punkte
- „Alle Bänder als EDI-ZIP“ zeigt vorher die Prüfung aller Stationen (✔/✖ mit Fehlern, Klick öffnet die Prüfung);
ZIP mit den bestandenen Logs oder als Admin alle; NICHT_EXPORTIERT.txt nennt jetzt die Fehler je Log - Logger: Doppel-QSO als deutliches rotes Banner über dem Formular (wie im Operator-Fenster)
- Operator-Fenster: QSO-Liste neueste zuerst
- EDI-Bemerkung ohne Sonderzeichen, die in Latin-1 zu „?“ wurden; Wiki aktualisiert
- „Stationen im Contest“-Karte entfernt; die Stationen eines Contests stehen jetzt im Contest-Dialog (✎): Übersicht
- Wiki: Ziele des Einzeldatei-Imports erklärt (Automatisch, nur Call-Buch, bestehende Station)
Commit-Historie
d05cd4bVersion 0.9.32c25cae8Verwaltung: Archiv-Knopf der Contest-Zeile als Symbol, damit alle Aktionen sichtbar sind164ca05Verwaltung: Contest-Zeile ohne abgeschnittene Knöpfe (EDI-ZIP steht in Export / Abgabe)e81418dVerwaltung in vier Bereiche aufgeteilt: Contests & Stationen, Stationsdatenbank & Import, Server & Updates, Einstellungen8df81daStart nach Löschen des letzten Contests repariert („Start fehlgeschlagen: Not Found“, rote Verbindung)32d3e99Verwaltung: Stationen im Contest-Dialog, EDI-Prüfung ohne Stationswechsel, EDI-ZIP mit Prüfübersicht, QSO-Zahlen im Export; Dupe-Banner im Logger; Operator-Liste neueste zuerst41f554cWiki: Ziele des Einzeldatei-Imports erklärt (Automatisch, nur Call-Buch, bestehende Station)
Vollständiger Vergleich: v0.9.31...v0.9.32
ContestLogger 0.9.31
Portable Versionen (kein Python nötig): ZIP entpacken, ContestLogger.exe bzw. ./ContestLogger starten. Siehe START.txt im Paket.
Änderungen seit v0.9.30
- Version 0.9.31
- Änderungsprotokoll für v0.9.31
- Quellcode-Deploy nutzt ebenfalls contestlogger.env statt Optionen in der Unit
- deploy/contestlogger.service startet run.py --config /etc/contestlogger/contestlogger.env (keine Optionen mehr)
- deploy/install.sh legt die Konfiguration an (Vorlage deploy/portable/contestlogger.env), --url setzt PUBLIC_URL,
übernimmt eine alte --public-url aus der Unit; deploy/README.md beschreibt die Datei - Wiki: Deploy (Quellcode-Variante) und Fehlersuche (Dienst ignoriert Port/Adresse) ergänzt
- Build: kein Artefakt-Upload mehr – die ZIPs hängen am Release
Commit-Historie
962d17bVersion 0.9.314d06e24Quellcode-Deploy nutzt ebenfalls contestlogger.env statt Optionen in der Unitd78af88Build: kein Artefakt-Upload mehr – die ZIPs hängen am Release
Vollständiger Vergleich: v0.9.30...v0.9.31
ContestLogger 0.9.30
Portable Versionen (kein Python nötig): ZIP entpacken, ContestLogger.exe bzw. ./ContestLogger starten. Siehe START.txt im Paket.
Änderungen seit v0.9.29
- Build: Artefakt-Upload blockiert den Release nicht mehr (Speicherkontingent), Aufbewahrung 2 Tage
- Version 0.9.30
- Änderungsprotokoll für v0.9.30
- Fehler nach Update behoben: alte Seite aus dem Browser-Cache + neues Skript
- index.html und Operator-Seite werden mit Cache-Control: no-cache ausgeliefert, app.js und style.css mit
Versionsstempel (?v=…) eingebunden – nach einem Update passen Seite und Skript immer zusammen - Alle Ereignis-Bindungen beim Start sind null-sicher (TypeError 'Cannot read properties of null' tritt nicht mehr auf,
auch wenn ein Element fehlt)
- index.html und Operator-Seite werden mit Cache-Control: no-cache ausgeliefert, app.js und style.css mit
Commit-Historie
818d9a0Build: Artefakt-Upload blockiert den Release nicht mehr (Speicherkontingent), Aufbewahrung 2 Tage2adf429Version 0.9.30fef86a1Fehler nach Update behoben: alte Seite aus dem Browser-Cache + neues Skript
Vollständiger Vergleich: v0.9.29...v0.9.30
ContestLogger 0.9.29
Portable Versionen (kein Python nötig): ZIP entpacken, ContestLogger.exe bzw. ./ContestLogger starten. Siehe START.txt im Paket.
Änderungen seit v0.9.28
- Betreuer-Modus auch über DEV=true in contestlogger.env
- DEV=true ist gleichbedeutend mit MAINTAINER=1 (DARC-Hub, Ergebnislisten, Stationslisten-Import nur dann)
- Version 0.9.29
- Änderungsprotokoll für v0.9.29
- Wertung je Contest mit Multiplikator, Cabrillo-Export, strengere Log-Prüfung, Offline-Kachelcache
- Wertung im Contest wählbar: Punkte je QSO (1 je km oder fester Wert) und Multiplikator (keiner, Großfelder, DOKs,
Großfelder + DOKs); Statistikzeile, Scoreboard, Statistik, EDI (CToSc/CQSOP) und Cabrillo nutzen dieselbe Wertung,
bei Änderung werden alle QSOs des Contests neu bewertet - Cabrillo-3.0-Export je Station (Kopf mit Kategorie, Locator, Wertung, Adresse; QSO-Zeilen mit RST, Nummer, Locator, DOK;
Dupes als X-QSO) in der Export-Karte - Log-Prüfung: Wertungsgruppe, Operatorenliste bei Multi, E-Mail-Format, Zahlenfelder (Leistung, Antennenhöhe, NN),
Feldlängen, QSO mit eigenem Rufzeichen, Partner im eigenen Feld - Offline-Kachelcache: Kacheln über den Server laden und unter data/tiles speichern (/tiles/{z}/{x}/{y}.png), Schalter
in der Verwaltung, „Region vorab laden“ (Locator, Radius, Zoom bis 7–10, Begrenzung für den öffentlichen OSM-Server),
Fortschritt, Stopp, Cache leeren; Logger, Statistik und Operator-Fenster nutzen den Cache - Wiki (Loggen, Verwaltung, Import/Export, Log-Prüfung) und README ergänzt; Tests
- Wertung im Contest wählbar: Punkte je QSO (1 je km oder fester Wert) und Multiplikator (keiner, Großfelder, DOKs,
- Karte: Pfeil trifft den Partnerpunkt, lesbares Label, größere Karte mit Flugzeugen; Tagestrenner im Chat; Verwaltung aufgeräumt
- Richtungspfeil als SVG, die Spitze liegt exakt auf dem Partnerpunkt; Stations-Label mit lesbarem Hintergrund neben dem Punkt (Logger und Operator)
- Flugzeuge: Karte wird mit eingeschalteter Flugzeug-Ebene höher (420 px), Einträge in der Liste sind anklickbar und
springen mit der Karte zum Flugzeug (Logger und Operator-Fenster) - Chat, KST und DM: Trennzeile mit Datum vor der ersten Nachricht eines neuen Tages („Heute“, „Gestern“, Wochentag + Datum)
- DM: beim Stations-/Contestwechsel wird das jüngste Gespräch der Station gezeigt statt des Partners der alten Station
(der dort keinen Verlauf hatte); ohne Auswahl ist das jüngste Gespräch offen - Operator-Fenster: alle Kacheln zentriert wie Entfernung/Richtung
- Verwaltung: ON4KST-Karte entfernt (steht bei der Station), Stationsdatenbank direkt unter den Contests, Formular
als saubere Zeile, Repo-URL-Feld entfernt, „Nach neuen suchen (Repo)“ in die Updates-Karte, Repo-Export nur Betreuer - Wiki (Chat/KST, Flugzeug-Scatter, Verwaltung, Updates, Stationsdatenbank) und Screenshots aktualisiert
- Flugzeug-Scatter wie AirScout (Kreuzungszeit, Höhenreserve, Profil), Rufzeichen je Großfeld, Betreuer-Modus für Quellen-Importe
- Flugzeuge: Hover zeigt Mindesthöhe an der Position, Höhenreserve (Flughöhe minus Mindesthöhe), Elevation von beiden
Stationen, Größenklasse (schwer/groß/mittel/leicht), Steigen/Sinken und – bei Kurs auf den Pfad – Kreuzungszeit (UTC),
Pfad-Kilometer, ob in der Zone und Reserve am Kreuzungspunkt; Kreuzungspunkt wird auf dem Pfad markiert - Status wie AirScout (hot / kreuzt bald / sichtbar / außer Reichweite / zu tief) mit Farben, schwere Flugzeuge größer
- Pfadprofil (Seitenansicht): Mindesthöhen-Kurve, Zone, Flugzeuge in ihrer Höhe – zu-/abschaltbar; Operator-Fenster
mit denselben Hover-Details - Statistik-Karte: Großfelder zeigen beim Hovern die Rufzeichen, beim Klicken alle mit Locator und km
- Betreuer-Modus (MAINTAINER=1 in contestlogger.env): nur dann sind Ergebnislisten-Import und DARC-Contest-Hub sichtbar
und erlaubt (API 403 sonst); normale Installationen holen die Liste über „Nach neuen suchen (Repo)“ und schicken
ihren CSV-Export an den Betreuer, der ihn mit „Stationsliste einpflegen“ übernimmt (DOK, Name, zuletzt gesehen) - Stationsdatenbank-Export (CSV) ist damit auch wieder importierbar; Wiki und README ergänzt
- Flugzeuge: Hover zeigt Mindesthöhe an der Position, Höhenreserve (Flughöhe minus Mindesthöhe), Elevation von beiden
- Verwaltung: Karten auf zwei gleich hohe Spalten verteilt, Arbeitsregeln für Git-Autor
- Die beiden sehr langen Sammelkarten (Importe; Stationsdatenbank bis Admin-Passwort) sind jetzt einzelne Karten,
die in zwei Spalten fließen – keine überlange rechte Spalte mehr, Aktionsprotokoll ohne Scrollen erreichbar - Screenshot der Verwaltung (README und Wiki) aktualisiert
- CLAUDE.md: Commits unter dem Account NoobKeksTV, ohne Signierung und ohne Zusatzzeilen
- Die beiden sehr langen Sammelkarten (Importe; Stationsdatenbank bis Admin-Passwort) sind jetzt einzelne Karten,
- Test: Updater-Test auf case-insensitiven Dateisystemen (macOS) reparieren
- Testordner hieß wie die Binärdatei (contestlogger/ContestLogger), was auf macOS kollidierte
- Änderungsprotokoll für v0.9.28
- Austausch je Contest wählbar: laufende Nummer, DOK/OV oder beides (z. B. Köln-Aachen-Contest)
- Contest-Einstellung „Austausch“: RST + Nummer (Standard), RST + DOK/OV oder RST + Nummer + DOK
- Logger blendet die Felder passend ein (DOK erh. statt/neben Nr erh.), Leertaste und Enter springen entsprechend,
DOK wird aus der Stationsdatenbank vorbelegt und mit jedem QSO gelernt; Bearbeiten-Dialog mit DOK - Operator-Fenster zeigt die DOK-Kachel bzw. blendet die Nummernkacheln aus, QSO-Liste mit DOK-Spalte
- Statistikzeile zählt verschiedene DOKs; Log-Prüfung warnt bei fehlendem DOK und fehlendem eigenem DOK
- Export: EDI (PExch = eigener DOK aus den EDI-Angaben, Spalte „Exchange received“, CExcs), ADIF (DARC_DOK,
SRX_STRING, STX_STRING), CSV-Spalte „DOK erh“; Komplettes Log mit DOK-Spalte - Import: EDI, ADIF, DARC-Contest-Hub (DOK-Spalte), Ergebnislisten (DOK in der Zeile), Call-Listen mit DOK-Spalte
- Stationsdatenbank: DOK-Spalte (Anzeige, Bearbeiten, Suche nach DOK), CSV-Export und Repo-Format
Call;Locator;Zuletzt;DOK, Abgleich mit dem Repo übernimmt DOKs; neuester DOK gewinnt - Version 0.9.28; Wiki (Loggen, Verwaltung, Stationsdatenbank, Import/Export) und README ergänzt
- Server-Einstellungen in contestlogger.env, Token-Feld entfernt, Wiki mit Bildern
- Alle Server-Einstellungen (Host, Port, Datenbank, Backup-Takt, öffentliche Adresse, KST-Server, GitHub-Token)
stehen jetzt in einer .env-Datei: contestlogger.env neben dem Programm bzw. /etc/contestlogger/contestlogger.env
auf dem Server; --config und CONTESTLOGGER_ werden ebenfalls unterstützt, Kommandozeile überstimmt alles - Vorlage contestlogger.env.example liegt im Paket; die systemd-Units enthalten keine Optionen mehr,
install.sh legt die Konfiguration an und übernimmt --url bzw. eine alte --public-url aus der Unit - GitHub-Token-Feld aus der Verwaltung entfernt (Repo wird öffentlich); nur noch optional über GITHUB_TOKEN
- Operator-Fenster: Karte füllt jetzt zuverlässig die ganze Fläche (Kacheln nach Layout/Resize nachgezogen)
- README: inoffizieller Nachfolger, KST-Chat und Aircraft-Scatter in der Beschreibung, Bildergalerie repariert,
Hauptbild mit gerenderter OSM-Karte, Footer - Wiki: jede Seite mit Screenshots (Erster Start, QR-Code, Import, Export, Stationsdatenbank, Backups,
Updates, Was ist neu, Aktionsprotokoll, Rufzeichen-Abfrage, ADS-B, Frequenz, KST-Rohdaten)
- Alle Server-Einstellungen (Host, Port, Datenbank, Backup-Takt, öffentliche Adresse, KST-Server, GitHub-Token)
Commit-Historie
e85835aBetreuer-Modus auch über DEV=true in contestlogger.env5ad78efVersion 0.9.29d14e772Wertung je Contest mit Multiplikator, Cabrillo-Export, strengere Log-Prüfung, Offline-Kachelcache71fa5ddKarte: Pfeil trifft den Partnerpunkt, lesbares Label, größere Karte mit Flugzeugen; Tagestrenner im Chat; Verwaltung aufgeräumtcd5b068Flugzeug-Scatter wie AirScout (Kreuzungszeit, Höhenreserve, Profil), Rufzeichen je Großfeld, Betreuer-Modus für Quellen-Importe8abf5eaVerwaltung: Karten auf zwei gleich hohe Spalten verteilt, Arbeitsregeln für Git-Autor4e173f6Test: Updater-Test auf case-insensitiven Dateisystemen (macOS) reparieren1ed5514Änderungsprotokoll für v0.9.2812e83e1Austausch je Contest wählbar: laufende Nummer, DOK/OV oder beides (z. B. Köln-Aachen-Contest)4b95640Server-Einstellungen in contestlogger.env, Token-Feld entfernt, Wiki mit Bildern
Vollständiger Vergleich: v0.9.28...v0.9.29