227 lines
10 KiB
Markdown
227 lines
10 KiB
Markdown
# Bedienungsanleitung – Logbuch Sternwarte Welzheim
|
||
|
||
## Inhaltsverzeichnis
|
||
|
||
1. [Anmelden](#1-anmelden)
|
||
2. [Grundaufbau der App](#2-grundaufbau-der-app)
|
||
3. [Eintrag erfassen (Tab „Eingabe")](#3-eintrag-erfassen-tab-eingabe)
|
||
4. [Einträge einsehen und verwalten (Tab „Liste")](#4-einträge-einsehen-und-verwalten-tab-liste)
|
||
5. [Jahresstatistik (Tab „Statistik")](#5-jahresstatistik-tab-statistik)
|
||
6. [Drucken](#6-drucken)
|
||
7. [Administration (nur Admins)](#7-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](#6-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/grafik` und 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.
|
||
|
||
- 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.
|
||
|
||
- 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.
|
||
|
||
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ür `docker.citysensor.de`.
|
||
- `DOCKER_PASSWORD` — Passwort für `docker.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.
|
||
|
||
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):
|
||
|
||
```bash
|
||
./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.
|