11 KiB
Bedienungsanleitung – Logbuch Sternwarte Welzheim
Inhaltsverzeichnis
- Anmelden
- Grundaufbau der App
- Eintrag erfassen (Tab „Eingabe")
- Einträge einsehen und verwalten (Tab „Liste")
- Jahresstatistik (Tab „Statistik")
- Administration (nur Admins)
1. Anmelden
Die App ist passwortgeschützt. Beim ersten Aufruf erscheint die Anmeldeseite.
- Kürzel: das persönliche BEO-Kürzel (z. B.
RXF) - Passwort: individuell gesetztes Passwort
Wurde das Passwort noch nicht geändert (Anzeige „Standard"), muss nach dem ersten Login sofort ein neues Passwort vergeben werden. Das Standard-Passwort lautet welzheim.
2. Grundaufbau der App
Kuppel-Auswahl
Oben befinden sich vier Reiter für die vier Kuppeln:
| Reiter | Bedeutung |
|---|---|
| West | West-Kuppel |
| Ost | Ost-Kuppel |
| Süd | Süd-Kuppel |
| Pluto | Pluto-Kuppel |
Alle Einträge, Listen und Statistiken beziehen sich immer auf die gerade gewählte Kuppel.
Funktions-Tabs
Unterhalb der Kuppelauswahl gibt es drei Tabs:
| Tab | Funktion |
|---|---|
| Eingabe | Neuen Eintrag anlegen oder bestehenden bearbeiten |
| Liste | Alle Einträge monatsweise ansehen, bearbeiten oder löschen |
| Statistik | Jahresübersicht Besucher und Führungen |
3. Eintrag erfassen (Tab „Eingabe")
Pflichtfelder
Art der Führung – Auswahl aus dem Dropdown:
| Kürzel | Bedeutung |
|---|---|
| regulär | Reguläre öffentliche Führung |
| sonder | Sonderführung (für Gruppen, Schulen etc.) |
| sonnen | Sonnenführung |
| privat | Privatführung |
| BEOS | BEO-Sitzung (keine Besucher/Objekte) |
| TD | Treff/Diskussion (keine Besucher/Objekte) |
| Beobachtung | Reine Beobachtung ohne Führung |
| ToT | Teleskop ohne Termin |
| Sonstiges | Sonstige Veranstaltung |
Datum – Datum der Veranstaltung (Standardwert: heute).
Startzeit / Endzeit – Uhrzeit von Beginn und Ende. Die Startzeit ist beim Laden leer und erhält automatisch den Fokus; die Endzeit wird auf die aktuelle Uhrzeit aufgerundet auf die nächste 5-Minuten-Marke vorausgefüllt. Wird nur die Stundenzahl eingegeben (z. B. 8 oder 23) und das Feld verlassen, werden die Minuten automatisch auf 00 gesetzt.
Besucher – Anzahl der Besucher (nicht bei BEOS und TD).
Optionale Felder
Name / Gruppe – erscheint nur bei Sonderführung; Name der Gruppe oder Person.
BEOs – beteiligte Beobachter. Der eigene Name ist automatisch vorausgewählt. Weitere BEOs können über das Suchfeld hinzugefügt werden; ein Klick auf × entfernt sie wieder.
Beobachtete Objekte – nicht sichtbar bei BEOS und TD; bei Sonnenführungen fest auf „Sonne" gesetzt. Für alle anderen Arten:
- Bekannte Objekte durch Eintippen suchen und aus dem Dropdown auswählen.
- Das Dropdown bleibt nach der Auswahl offen, sodass mehrere Objekte ohne erneutes Öffnen hintereinander ausgewählt werden können. Durch Klick außerhalb schließt es sich.
- Noch unbekannte Objekte einfach eintippen – am Ende der Dropdown-Liste erscheint dann + „[Name]" hinzufügen. Ein Klick (oder Enter bei leerem Suchergebnis) legt das Objekt neu an.
- Ausgewählte Objekte erscheinen als grüne Chips; × entfernt sie.
Bemerkungen – freier Text, max. 500 Zeichen.
Wetterdaten – Temperatur (°C), Luftfeuchtigkeit (%) und Luftdruck (hPa) werden automatisch vom lokalen Wetterdienst vorausgefüllt und können manuell korrigiert werden. Negative Temperaturen (z. B. -5) können direkt eingegeben werden.
Eintrag speichern
Schaltfläche Eintrag speichern unten im Formular. Eine grüne Meldung bestätigt die Speicherung; das Formular wird zurückgesetzt.
Auf Desktop-Geräten erscheinen unterhalb des Formulars die letzten 5 Einträge der aktuellen Kuppel als kompakte Vorschau.
Eintrag bearbeiten
Im Tab „Liste" das Stift-Symbol (✎) anklicken. Die App springt zum Tab „Eingabe" und zeigt einen gelben Hinweis „Eintrag bearbeiten (ID …)". Nach der Änderung Änderungen speichern klicken oder mit Abbrechen verwerfen.
4. Einträge einsehen und verwalten (Tab „Liste")
Werkzeugleiste
Die Werkzeugleiste oben in der Liste enthält in einer Zeile:
- Monatsnavigation – Pfeiltasten ← → wechseln den Monat; Monatseingabe im Feld direkt möglich; Aktueller Monat springt zurück auf den laufenden Monat. Zukünftige Monate können nicht gewählt werden. Während einer aktiven Suche wird die Monatsnavigation ausgeblendet (der Platz bleibt frei, damit sich nichts verschiebt).
- Suchfeld – Freitextsuche über alle Einträge des Logbuchs (Bemerkungen, Objekte und BEOs). Die Ergebnisse erscheinen monatübergreifend in absteigender Datumsreihenfolge. Das × im Suchfeld löscht die Eingabe und kehrt zur Monatsansicht zurück.
- 🖨 Drucken – siehe Abschnitt Drucken.
Tabelleninhalt
Die Tabelle zeigt pro Eintrag: Datum, Uhrzeit (Beginn–Ende), Art der Führung, Besucher, beteiligte BEOs, beobachtete Objekte, Bemerkungen und Wetterdaten. Der Ersteller des Eintrags ist in der BEO-Spalte fettgedruckt und steht an erster Stelle. Wetterdaten werden nur angezeigt, wenn mindestens ein Wert ungleich null ist.
Eintrag bearbeiten
Stift-Symbol ✎ rechts in der Zeile.
Eintrag löschen
× rechts in der Zeile – es erscheint ein Bestätigungsdialog. Das Löschen ist unwiderruflich.
Seitennavigation
Bei mehr als 10 Einträgen erscheinen Vor/Zurück-Schaltflächen am unteren Rand.
5. Jahresstatistik (Tab „Statistik")
Zeigt eine Monatstabelle mit Anzahl der Führungen und Besuchern, aufgeschlüsselt nach Art der Führung.
- Jahr oben links änderbar (Eingabefeld).
- Darunter vier Kennzahlen-Kacheln:
- Kumulierte Besucher des Jahres für die gewählte Kuppel
- Führungstage des Jahres für die gewählte Kuppel
- Kumulierte Besucher für die gesamte Sternwarte (alle Kuppeln)
- Führungstage für die gesamte Sternwarte
6. Drucken
Im Tab Liste: Schaltfläche 🖨 Drucken oben rechts in der Liste.
- Es werden alle Einträge des aktuell gewählten Monats geladen (nicht nur die angezeigte Seite).
- Die Reihenfolge ist beim Ausdruck chronologisch (ältester Eintrag zuerst).
- Navigations- und Aktionselemente werden ausgeblendet; oben erscheint ein Kopfzeile mit Kuppelname und Druckdatum.
- Seitenformat: A4 Hochformat, Rand 1,5 cm.
Im Tab Statistik: ebenfalls eine 🖨 Drucken-Schaltfläche für die Jahresstatistik.
7. Administration (nur Admins)
Erreichbar über die Schaltfläche Admin oben rechts (nur für Benutzer mit Admin-Rolle sichtbar).
Die Admin-Seite hat zwei Tabs:
Benutzerverwaltung
Die Tabelle zeigt alle BEOs mit Kürzel, Name, Vorname, Rolle und Passwortstatus.
Passwort zurücksetzen: Schaltfläche „Zurücksetzen" neben dem jeweiligen Benutzer. Das Passwort wird auf NULL gesetzt; beim nächsten Login muss der Benutzer das Standard-Passwort welzheim verwenden und wird anschließend aufgefordert, ein neues Passwort zu vergeben.
Objektverwaltung
Zeigt alle bekannten Objekte mit ID, Name und Datum der letzten Verwendung.
- Neues Objekt anlegen: Feld unten ausfüllen und Hinzufügen klicken.
- Objekt umbenennen: Stift-Symbol ✎ in der Zeile anklicken, Namen ändern und mit Speichern bestätigen oder mit Abbrechen verwerfen.
- Objekt löschen: × in der Zeile – es erscheint ein Bestätigungsdialog. Das Löschen ist unwiderruflich und entfernt das Objekt aus allen bestehenden Logbucheinträgen.
Neue Features (Statistik Grafik Proxy)
Dieses Release ergänzt eine serverseitige Proxy-Lösung für das interne Statistik-Portal, damit geschützte Diagramme sicher eingeblendet werden können, ohne Zugangsdaten im Browser zu speichern.
-
Was neu ist:
- Server-seitiger Proxy unter
/api/statistik/grafikund Catch-all/api/statistik/grafik/*. - Holt die Statistik-Seite mit Basic-Auth (serverseitig) und liefert sie an den Browser weiter.
- Schreibt die HTML-Antwort so um, dass relative Assets (CSS/JS/Images) über die Proxy-URL geladen werden (es wird ein
<base href="/api/statistik/grafik/">eingefügt). - Leitet auch AJAX-POSTs (z. B.
php/statistic.php) weiter – Methoden und Bodies werden beibehalten. - Entfernt framing-blockierende Header (z. B.
X-Frame-Options, CSP-Meta-Tags) in der proxied HTML-Antwort.
- Server-seitiger Proxy unter
-
Wichtige Environment-Variablen (nur serverseitig):
STATISTIK_GRAFIK_URL— Basis-URL des internen Statistik-Portals (z. B.https://sternwarte-welzheim.de/intern/statistik).STATISTIK_GRAFIK_USER— Benutzername für Basic-Auth.STATISTIK_GRAFIK_PASS— Passwort für Basic-Auth.
-
UI-Änderung:
- Der
Grafik-Button in der Statistik-Ansicht öffnet die Statistik jetzt in einem neuen Fenster (window.open('/api/statistik/grafik', '_blank')). Die vorherige iframe-Integration wurde entfernt, weil manche Browser (insbesondere Firefox und Safari) Probleme mit eingebetteten, geschützten Seiten machen.
- Der
-
Sicherheit & Hinweise:
- Setze die
STATISTIK_...Variablen in deiner Server-Umgebung (Docker secrets, CI/CD env vars, oder im Host-Umfeld). Niemals Zugangsdaten ins Repository committen. - Die Proxy-Route ist so konfiguriert, dass Assets und AJAX-Aufrufe über den gleichen Proxy laufen, damit die Seite vollständig funktioniert.
- Setze die
Wenn du möchtest, pushe ich die Änderungen an ANLEITUNG.md in origin/main für dich.
CI/CD Hinweise
Das Repository enthält einen GitHub Actions Workflow unter .github/workflows/deploy.yml, der bei Push auf main ein Multi-Arch Docker-Image baut und zu docker.citysensor.de pusht.
Erforderliche CI-Secrets (setzen in deinem CI/Repository-Provider):
DOCKER_USERNAME— Benutzername fürdocker.citysensor.de.DOCKER_PASSWORD— Passwort fürdocker.citysensor.de.
Wie du die Secrets hinterlegst:
- GitHub: Repository → Settings → Secrets and variables → Actions →
New repository secret. - Gitea: Repository → Settings → Secrets (oder CI/CD variables) — je nach Installation.
Gitea-spezifische Anleitung:
- Melde dich in eurem Gitea an und öffne das gewünschte Repository.
- Gehe zu
Settings→Secrets(bei älteren Versionen:Settings→CI/CDoderSettings→Deploy Keys/Variables). - Klicke auf
Add New SecretoderNew Variableund lege folgende Secrets an:
DOCKER_USERNAME— dein Registry-BenutzernameDOCKER_PASSWORD— dein Registry-Passwort
- Speichere die Secrets. Der Workflow liest diese Variablen während des Builds.
Hinweis: Manche Gitea-Instanzen erlauben keine Actions-Workflows. Falls eure Installation Actions nicht unterstützt, nutze einen externen CI-Server (z. B. GitHub Actions, GitLab CI, Drone) oder richte ein serverseitiges Deploy-Skript via SSH/Ansible auf dem Zielhost ein.
Hinweis: Trage niemals Zugangsdaten im Quellcode oder in öffentlichen Dateien ein. Verwende Repository-Secrets oder sichere CI-Variablen.
Optionales manuelles Deploy (falls Docker lokal verfügbar):
./deploy.sh 1.7.8
Wenn du möchtest, kann ich noch einen kurzen Abschnitt zur Einrichtung der Secrets in eurem Gitea-Server hinzufügen — sag Bescheid.