Definition


Zweck des Wartungsmodus ist es, das System in einen Zustand zu versetzen, in dem keine störenden Transaktionen von Benutzern oder der Jobsteuerung durchgeführt werden können, welche z.B. den Nuclet-Import / -Export negativ beeinflussen könnten.

Der Wartungsmodus kann über den Nuclos-Client oder alternativ über die REST-Schnittstelle aktiviert / deaktiviert werden.

Sobald das System in den Wartungsmodus versetzt wird, werden alle Benutzer, außer dem Super-User der den Wartungsmodus startet, gezwungen sich auszuloggen. Außerdem wird die Jobsteuerung pausiert. Es ist des Weiteren nicht möglich Dateiimporte auszuführen.

Während der Wartungsmodus aktiv ist kann sich nur der eine Super-User anmelden, der den Wartungsmodus gestartet hat.

Nach Beenden des Wartungsmodus wird die Jobsteuerung fortgesetzt, Dateiimporte sind wieder möglich und Benutzer können sich wieder anmelden.

Verwendung des Wartungsmodus über den Nuclos Web Client

Der Wartungsmodus kann durch Auswahl der Wartungsmodus-Arbeitsumgebung von einem Super-User gestartet werden.

Zum aktivieren des Wartungsmodus auf den Button "Wartungsmodus aktivieren" auswählen.





Verwendung des Wartungsmodus über die REST-Schnittstelle

Die meisten Schnittstellenaufrufe können nur von einem Super-User durchgeführt werden, weshalb zuvor ein Login mit einem Super-User Account durchgeführt werden muss.

In den folgenden Schnittstellenaufrufen wird beispielhaft das Shell-Kommando curl verwendet.

Login

sessionId=`curl http://localhost:8080/nuclos-war/rest/login -X POST -H "Content-Type: application/json" -d '{"username":"nuclos", "password":"", "locale":"en-EN"}'`
 
# Nuclos 4.3 - 4.5:
sessionId=`curl http://localhost:8080/nuclos-war/rest -X POST -H "Accept:application/json" -H "Content-Type: application/json" -d '{"username":"nuclos", "password":""}' | awk -v FS="\"" '{ print $4  }'`
# Für alle folgenden Aufrufe muss die "sessionId" als Request-Parameter übergeben werden.
 
# ab Nuclos 4.6:
curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X POST -H "Content-Type: application/json" -d '{"username":"'nuclos'", "password":"''"}';
# Anstatt des "sessionId"-Request-Parameters wird das JSESSIONID Cookie über den Cookiestore verwendet.




Logout

curl http://localhost:8080/nuclos-war/rest/logout?sessionid=$sessionId
 
# Nuclos 4.3 - 4.5:
curl http://localhost:8080/nuclos-war/rest?sessionId=$sessionid -X DELETE
 
# ab Nuclos 4.6:
curl --cookie-jar cookies.txt http://localhost:8080/nuclos-war/rest -X DELETE

Wartungsmodus initiieren

# bis 4.28
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/start


# ab 4.29
curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d on
curl --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode?force=true" -d on # es wird nicht darauf gewartet, bis alle Clients abgemeldet sind

Wartungsmodus beenden

# bis 4.28
curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/end

# ab 4.29
curl  --cookie cookies.txt -X PUT "http://localhost:2019/nuclos-war/rest/maintenance/mode" -d off

Status abfragen

curl --cookie cookies.txt http://localhost:8080/nuclos-war/rest/maintenance/mode

Mögliche Rückgabewerte sind:

offDer Wartungsmodus ist nicht aktiv.

initialized

Der Wartungsmodus wird gerade startet.
onDer Wartungsmodus ist aktiv.

Nuclet-Export

Der Local Identifier des Nuclets ist Teil der URL.

 curl --cookie -X POST http://localhost:8080/nuclos-war/rest/maintenance/nucletexport/PE4A > ~/temp/nucletexport.nuclet

Nuclet-Import

 curl --cookie -F "file=@~/temp/nucletimport.nuclet" "http://localhost:8080/nuclos-war/rest/maintenance/nucletimport"