minor
#29480
Login vor geplantem Wartungsmodus
Wenn das System in den Wartungsmodus versetzt wird, kann eine Verzögerung in Minuten eingegeben werden, bevor der Wartungsmodus aktiv wird.
Eingeloggte Nutzer werden mit einem Countdown auf den bevorstehenden Wartungsmodus hingewiesen. Bei Ablauf des Countdowns werden "normale" Nutzer (Nicht root-Nutzer bzw. solche die nicht über ihre Berechtigung den Wartungsmodus steuern dürfen) automatisch ausgeloggt.
Problem: Schon während des Countdowns ist für normale Nutzer kein Login mehr möglich. Da der Wartungsmodus durchaus mit einer Vorlaufzeit von mehreren Stunden geplant wird, ist dieses Vorgehen ungünstig. Ein eingeloggter Nutzer kann auch bis zum Start des Wartungsmodus arbeiten, es sollte daher auch möglich sein sich noch einzuloggen.
Info: Die vorhandene Konfigurationsoption der erlaubten Gruppen für den Wartungsmodus ist hier nicht hilfreich, da solche Nutzer keinerlei Einschränkungen während des Wartungsmodus unterliegen.
Umsetzung
Beim Aktivieren des Wartungsmodus kann nun für jede Aktivierung einzeln entschieden werden, ob sich Nutzer während der Übergangsphase (also nach der Ankündigung, aber vor dem tatsächlichen Beginn) noch anmelden dürfen.
- Im Dialog "Wartungsmodus aktivieren" gibt es dazu die neue Option "Anmeldung während der Übergangsphase erlauben". Sie ist standardmäßig nicht gesetzt, das bisherige Verhalten bleibt also der Standard.
- Dieselbe Option steht in der React-Administrationsansicht zur Verfügung.
- Nutzer, die sich während der Übergangsphase anmelden, werden wie alle anderen abgemeldet, sobald der Wartungsmodus tatsächlich beginnt. Im aktiven Wartungsmodus dürfen sich unverändert nur Administratoren, Mitglieder der konfigurierten Gruppen und Nutzer anmelden, die den Wartungsmodus beenden dürfen.
- Für Erweiterungen steht die neue Methode MaintenanceWindowManager.enterMaintenanceWindow(long milliseconds, boolean allowLogin) zur Verfügung. Die bisherige Signatur enterMaintenanceWindow(long) bleibt bestehen und sperrt die Anmeldung wie bisher ab der Ankündigung.
Es ist keine Anpassung bestehender Anwendungen erforderlich.