Öffentliche Seite & Integrationen¶
Öffentliche Statusseite¶
- Kopfzeile mit Logo, dem Anwendungstitel (
applicationTitle, sonstsiteName) und den Buttons für Zeitzone, Theme, Abonnement und Push. - Gesamtbanner mit dem aktuellen Status, einer relativen Angabe der letzten Aktualisierung und dem absoluten Zeitstempel. Der Zeitstempel steht nur auf der Startseite im Banner, nicht in der Kopfzeile.
- Kennzahlen unter dem Banner: aktive Incidents und Ausfälle (gezählt werden Komponenten), aktive Wartungen und Tage seit dem letzten Incident oder Ausfall.
- Service-Gruppen mit einer Karte je Gruppe. Jede Komponente zeigt einen 90-Tage-Balken, ein Segment je UTC-Kalendertag, gefärbt nach dem schwersten Status dieses Tages.
- Aktive Incidents und Ausfälle, sortiert nach Schweregrad.
- Geplante und laufende Wartungen.
- Historie (
/history) mit den Ausfällen, gelösten Incidents und abgeschlossenen Wartungen der letzten sechs Monate, 20 Einträge je Seite mit Paginierung. - Service-Detail (
/service/[id]) mit Verfügbarkeitstabelle, monatlichen und quartalsweisen SLA-Balken, dem zugeordneten SLA-Zeitplan (sonst 24/7) sowie den Incidents, Wartungen und Ausfällen des Services. - Automatische Aktualisierung: Ist
status_refresh_minutesgrößer als 0, lädt sich die Startseite in diesem Intervall neu. Der Standard ist 0, also aus.
Angemeldete Teammitglieder sehen auf der Statusseite zusätzlich die internen Services (Modus active_internal).
Darstellung auf dem Smartphone¶
- Unter dem Breakpoint
smzeigt der 90-Tage-Balken nur die letzten 30 Tage. In der Übersicht nennt die Beschriftung dann 30 Tage, und der Prozentwert ist ausgeblendet. Auf der Service-Detailseite bleiben Beschriftung und Prozentwert unverändert. Absmwird der volle Zeitraum angezeigt. - Tippen, Klicken oder Tastaturfokus auf ein Segment zeigt darunter eine Detailzeile mit Datum und Status. Tippen außerhalb, Escape oder Fokusverlust schließt sie. Beim Überfahren mit der Maus erscheint weiterhin ein Tooltip.
- Monats- und Quartalsbalken werden unter
smdurch eine Liste mit Wert und Ziel je Zeitraum ersetzt. - Die Verfügbarkeitstabelle wird unter
mdals Karte je Zeitraum dargestellt. - Das Logo ist unter
smkleiner. Der Push-Button steckt untermdin einem Menü hinter einer Glocke.
Besucher-Zeitzone¶
Besucher können alle Zeiten des öffentlichen Portals zwischen der Zeitzone des Betreibers und ihrer Browser-Zeitzone umschalten (lib/viewer-timezone.ts, components/viewer-timezone.tsx).
- Der Globus-Button steht in der Kopfzeile vor dem Theme-Umschalter. Er erscheint nur, wenn der aktuelle UTC-Versatz der Browser-Zone von der App-Zone abweicht.
- Die Wahl wird im Browser gespeichert (localStorage, Schlüssel
tz-mode) und gilt sofort auch in anderen geöffneten Tabs. - Der Server rendert immer in der App-Zone. Die gespeicherte Wahl greift erst nach dem Laden der Seite, dadurch gibt es keine Hydration-Fehler.
- Nicht umgeschaltet werden die Tage des Uptime-Balkens (UTC-Tage) und die Zeiten auf „My data“. Im Admin gilt immer die App-Zone.
Themes¶
- Hell ist der Standard. Dunkel lässt sich über den Umschalter in der Kopfzeile wählen. Die Wahl wird im Browser gespeichert.
- Beim ersten Besuch folgt das Theme
prefers-color-scheme. Ein kleines Inline-Skript setzt es vor dem ersten Paint, daher gibt es kein Aufblitzen. - Der Umschalter hat ein festes Label („Dark mode“ bzw. „Dunkelmodus“) und zeigt den Zustand über
aria-pressed. - Die Statusfarben sind in beiden Themes gleich. Das Status-Badge behält seine eigene dunkle Darstellung.
Sprachen¶
Die öffentliche Oberfläche ist auf Englisch und Deutsch verfügbar (next-intl, messages/en.json und messages/de.json). Die Sprache ist eine Site-weite Einstellung (settings.language, Standard en), keine Auswahl pro Besucher. Es gibt kein Sprach-Routing in der URL. Eingestellt wird sie im Admin in der Karte Local Settings. <html lang> folgt der Einstellung.
Übersetzt sind alle öffentlichen Seiten: Statusseite, Service-Detail, Historie, Badge-Seite, Impressum, Datenschutz, die Seiten zum Bestätigen und Abmelden, „My data“, die 404-Seite, die SLA- und Uptime-Komponenten sowie die Fehlermeldungen der öffentlichen Formulare.
Weiterhin nur auf Englisch sind:
- die Links im Seitenfuß und „Powered by SLAtus“
- die relative Zeitangabe „Updated … ago“ im Banner
- Fehlermeldungen des Push-Buttons
- Statuslabel und „Related incident“ in den Ausfallkarten der Service-Detailseite
- die Texte im Badge-Bild, der RSS-Feed und die Mails zu Abmeldung und Datenauskunft
- die API-Dokumentation unter
/api-docsund die Admin-Oberfläche. Beide sind als englischer Teilbaum (lang="en") ausgezeichnet.
Datums-, Zeit- und Zahlenformate¶
Einstellbar im Admin unter Settings → Locale:
- Zeitzone (
timezone) für Anzeige und für die Eingabe von Wartungszeiten. Sommerzeitwechsel werden korrekt behandelt. Besucher können zusätzlich auf ihre Browser-Zone umschalten (siehe oben). - Anzeige der Zeitzone neben Zeitstempeln: voller Name, Kurzform als Offset oder ausgeblendet.
- Kurzes und langes Datumsformat (Vorlagen).
- Dezimaltrennzeichen (
.oder,) und Nachkommastellen (1 bis 4) für alle Verfügbarkeits- und SLA-Werte, sowohl in der Anzeige als auch in Eingabefeldern.
Incident-Feed und Badge¶
| Endpunkt | Zweck |
|---|---|
/feed.xml |
RSS-Feed der Incidents für Feedreader und Chat-Tools |
/badge.svg |
Dynamisches SVG-Statusbadge. Parameter: style=flat und label=…. Als Bild in einer README oder einem Wiki einbinden. |
/badge |
Einbettbare Seite, die das Badge anzeigt |
Rechtstexte¶
/impressumzeigt die Unternehmensangaben aus den Einstellungen (Name, Adresse, Kontakt, Impressumstext). Sind keine Angaben hinterlegt, erscheint ein Hinweis, dass kein Impressum konfiguriert ist./dataprotectionpolicyzeigt den Datenschutztext, der in den Einstellungen als HTML hinterlegt ist. Das HTML wird vor der Ausgabe bereinigt. Nurh1,h2,h3,bundibleiben erhalten, alle Attribute werden entfernt.
Gelöste Incidents anzeigen¶
show_resolved_minutes hält einen gelösten Incident für die angegebene Anzahl Minuten nach seiner Auflösung sichtbar, grün markiert. Der Standard ist 0, der Incident verschwindet dann sofort. Er zählt nicht zu den aktiven Incidents und Ausfällen in den Kennzahlen.
Öffentliche APIs¶
Für maschinellen Zugriff siehe Öffentliche API: /api/status (JSON), /feed.xml (RSS), /badge.svg (SVG) und /openapi.json mit der interaktiven Dokumentation unter /api-docs.