Konfiguration von Scope

Die Konfiguration erlaubt das Setzen und Ändern unterschiedlicher Konfigurationsparameter für den Server bzw. die Scope-Welt. Sie findet sich für Admin-User direkt im Admin-Panel.

Sprache

Standard-Sprache (Server)
defaultServerLocale = [ de_DE | en_US | en_GB ]
Die Standardsprache des Servers.
Standard-Sprache (Client)
defaultUserLocale = [ de_DE | en_US | en_GB ]
Setzt die Standardsprache der Web-Oberfläche. Die Einstellung wirkt sich nur auf neue Anwender aus. Jeder Nutzer hat im Client jederzeit die Möglichkeit, die verwendete Sprache selbst einzustellen.
Suchfilter
search.filter = [ fuzzy | phonetic ]

fuzzy verwendet die Levenshtein-Distanz, die mit search.fuzziness eingestellt wird.
phonetic verwendet den Double Metaphone-Algorithmus, um ähnlich klingende, evtl. falsch geschriebene Treffer in die Ergebnisliste aufzunehmen (z.B. Standard und Standart).

Wenn der Suchfilter umgestellt wird, muss der komplette Suchindex neu aufgebaut werden.

Unschärfe
search.fuzziness = [ 0 | 1 | 2 ]
Die Levenshtein-Distanz ist eine positive ganze Zahl, die den Abstand zwischen zwei Buchstabenfolgen misst. Mit diesem Parameter stellt man die Unschärfe der Suche ein. 0 ist gleichbedeutend mit exakter Suche. 1 erlaubt einfache Wortvertauschungen. Je größer der Wert, desto unschärfer ist die Suche.
Dateiformate ausschließen
search.extensionBlacklist = dxf
Eine Liste von Datei-Formaten, die nicht in den Suchindex aufgenommen werden. Mehrere Einträge müssen durch Komma separiert angegeben werden.
Port des Tika-Servers
search.tika.port = 8200
Der Port, hinter dem ein Tika-Server erwartet wird. Wird kein Tika-Server gefunden, wird ein neuer Tika-Server gestartet, der auf diesem Port lauscht.
JVM-Arguments des Tika-Servers
search.tika.jvmargs = -Xmx2g
Die JVM-Arguments, mit denen der Tika-Server gestartet wird.
Wartezeit nach dem Start des Tika-Servers
search.tika.startupDelayMS = 1000
Der Zeitraum in Millisekunden, die nach dem Start des Tika-Servers gewartet wird, bis ein erster Verbindungsversuch unternommen wird.
Maximale Zeit für eine Anfrage an den Tika-Server
search.tika.timeoutMS = 60000
Die Zeit in Millisekunden, die eine Anfrage an den Tika-Server maximal dauern darf, bevor sie abgebrochen wird.

E-Mail-Versand

Generelle E-Mail-Einstellungen

Aktivierung
mail.mute = [ true | false ]
Schalter, um den E-Mail-Versand global zu aktivieren bzw. zu deaktivieren.
Host
mail.host = localhost
Adresse des Rechners, der die E-Mails verschickt (SMTP)
Port
mail.port = 587
Port auf diesem Rechner, über den der SMTP-Dienst erreichbar ist.
Benutzername
mail.username = 
Benutzername, falls eine Authentifizierung für den Versand notwendig ist.
Benutzername
mail.password = 
Passwort, falls eine Authentifizierung für den Versand notwendig ist.
Parameter
mail.props = mail.smtp.auth:true,mail.smtp.socketFactory.port:587,mail.smtp.socketFactory.class:javax.net.DefaultSocketFactory,mail.smtp.socketFactory.fallback:false
Einstellungen für den E-Mail-Versand.

E-Mail-Versand mit STARTTLS

Wenn der E-Mail-Versand mit STARTTLS abgesichert werden soll, sind folgende Einstellungen vorzunehmen:
mail.port = 465
mail.props = mail.smtp.auth:true,mail.smtp.socketFactory.port:465,mail.smtp.socketFactory.class:javax.net.ssl.SSLSocketFactory,mail.smtp.socketFactory.fallback:false,mail.smtp.starttls.enable:true

E-Mail-Versand von Alerts und Messages

Mit diesen Optionen werden die automatischen E-Mails konfiguriert, die bei der Erzeugung von Alerts und Messages versendet werden.
Author
mail.author = REWOO Scope
Name, der unter dem E-Mail-Text im Gruß steht.
E-Mail-Adresse
mail.from = REWOO Scope <info@rewoo.com>
Name und E-Mail-Adresse des Absenders.
Externe URL
mail.publicUrl = https://www.rewoo.de/rewoo
URL für den Deeplink, der in die E-Mail geschrieben wird.

E-Mail-Versand der Systemaktion EMAIL

Mit diesen Optionen werden die automatischen E-Mails konfiguriert, die durch die Systemaktion EMAIL versendet werden.
Maximale Größe des Anhangs
mail.maxAttachmentSizeInMB = 50
Wird bei der Definition der EMAIL-Systemaktion ein Filelinks-Feld angegeben, werden die dort hinterlegten Dateien als Attachment an die E-Mail angehängt. Dieser Parameter begrenzt dabei die Maximalgröße in Megabyte, welche die Attachments einer E-Mail nicht überschreiten dürfen. Wird die Größe überschritten, so wird die E-Mail nicht versendet und die auslösende Aktion abgebrochen.

E-Mail-Versand von Fehlerberichten

First-Level-Support
mail.firstLevelSupport = support@rewoo.com
Wenn es zu einem Fehlverhalten der Software kommt, kann der Anwender einen Bericht erstellen und als E-Mail an diese Adresse verschicken lassen.
Log-Level
mail.logging.level = [ FATAL | ERROR | WARN | INFO | DEBUG | TRACE ]
Log-Level, ab dem eine Fehlermeldung per Mail an die unter mail.firstLevelSupport spezifizierte Adresse geschickt wird. Ein niedriger Wert als ERROR sollte vermieden werden, da bei jedem Eintrag im Log eine separate E-Mail versendet wird.

Telefon-Anbindung

Standard-Protokoll für Desktop
phone.desktop.protocol = [ tel | callto | sip | skype | phone ]
Das Standardprotokoll für Telefonnummern in Desktop-Browsern. Dieses Protokoll kann von jedem Anwender individuell oder durch explizites Setzen vor die Telefonnummer überschrieben werden.
Standard-Protokoll für Mobile
phone.mobile.protocol = [ tel | callto | sip | skype | phone ]
Das Standardprotokoll für Telefonnummern in Browsern von mobilen Geräten. Dieses Protokoll kann von jedem Anwender individuell oder durch explizites Setzen vor die Telefonnummer überschrieben werden.

Datei-Konverter

Allgemeine Konverter-Einstellungen

Pfad für Test-Dateien
converter.testFiles.path = 
Absoluter Pfad zum Verzeichnis, in dem Dateien liegen, die beim Test der Konverter über das Admin-Panel herangezogen werden.

Konfiguration des ImageMagick-Konverters

Dieser Konverter ist für die Darstellung aller Bildformate notwendig: jpg, jpeg, png, gif, tiff, bmp, eps, svg, ai, psd, wmf (vollständige Liste unterstützter Formate).
Pfad
converter.imagemagick.imageMagickHome = /usr/bin/
Absoluter Pfad zum Verzeichnis, in dem das Programm convert von ImageMagick liegt.
Timeout
converter.imagemagick.timeout = 360000
Zeit in Millisekunden, die eine Konvertierung mit ImageMagick maximal dauern darf, bevor sie abgebrochen wird.
Überprüfung des MimeTypes
converter.imagemagick.checkMimeType = true
Dieser Schalter aktiviert die Prüfung des MimeTypes gegen die hinterlegte White-List, um eine Sicherheitslücke in ImageMagick abzusichern (siehe ImageTragick).

Konfiguration des Office-Konverters

Dieser Konverter ist für die Darstellung aller Office-Formate und Textformate notwendig: doc, docx, xls, xlsx, ppt, pptx, vsd, vxd, vsdx, pub, odt, ods, odp, txt, rtf, csv (vollständige Liste unterstützter Formate).
Pfad
converter.openoffice.openOfficeHome = /opt/LibreOffice5.x/
Absoluter Pfad zum Programm-Verzeichnis von LibreOffice oder Apache OpenOffice.
Port
converter.openoffice.ports = 8100
Port, den der LibreOffice Server-Dienst verwenden soll. Hier kann auch eine Liste von Port-Nummern in einer kommaseparierten Liste angegeben werden, um mehrere LibreOffice-Server gleichzeitig zu starten.
Timeout für Konvertierung
converter.openoffice.timeout = 600000
Zeit in Millisekunden, die eine Konvertierung mit LibreOffice maximal dauern darf, bevor sie abgebrochen wird.
Maximale Anzahl an Konvertierungen
converter.openoffice.killAfter = 200
Maximale Anzahl an Konvertierungen, bis der LibreOffice-Server neu gestartet wird. Dies ist bei manchen Versionen von LibreOffice notwendig, da mit jeder Konvertierung mehr Arbeitsspeicher reserviert wird.
Startversuche
converter.openoffice.numberOfRestartAttempts = 2
Maximale Anzahl an Versuchen, den LibreOffice neu zu starten.
Timeout in Warteschlage
converter.openoffice.taskQueueTimeout = 30000
Maximale Zeit in Millisekunden, die ein Konvertierungsjob in der Warteschlange verbringen darf, bevor er abgebrochen wird.

Konfiguration des pdf2swf-Konverters

Dieser Konverter ist für die Darstellung von PDF notwendig und zusätzlich zum LibreOffice-Konverter auch für die Darstellung aller Office-Formate, Textformate und PDF notwendig.
Pfad
converter.pdf2swf.pdf2swfHome = /usr/bin/
Absoluter Pfad zum Verzeichnis, in dem das Programm pdf2swf liegt.
Timeout
converter.pdf2swf.timeout = 360000
Zeit in Millisekunden, die eine Konvertierung mit pdf2swf maximal dauern darf, bevor sie abgebrochen wird.
Parameter
converter.pdf2swf.standardoptions = -z -t -G -f -T 9 -Q 300 -s poly2bitmap -s zoom=150 -s storeallcharacters
Optionen für pdf2swf. Details sind in der Dokumentation von pdf2swf zu finden.
Zweiter Versuch
converter.pdf2swf.retryIfFailed = [ true | false ]
Schalter, ob bei einem Fehler ein zweiter Konvertierungsversuch mit vereinfachten Optionen gestartet werden soll.
Parameter für zweiten Versuch
converter.pdf2swf.simpleoptions = -T 9 -Q 300 -s storeallcharacters
Vereinfachte Optionen für einen weiteren Konvertierungsversuch falls der erste Versuch mit den Standardoptionen fehlgeschlagen ist. Wird nur beachtet, wenn converter.pdf2swf.retryIfFailed auf true gesetzt ist.

Konfiguration des E-Mail-Konverters

Dieser Konverter ist für die Darstellung von E-Mails notwendig: eml, msg.
HTML-Snippets
converter.email.snippetsPath = /WEB-INF/mailPreview/snippets.xml
Pfad auf eine Datei im XML-Format, die HTML-Snippets enthält, welche für die Konvertierung der E-Mails verwendet werden.
CSS-Datei
converter.email.stylePath = /WEB-INF/mailPreview/style.css
Pfad auf eine CSS-Datei, die für die Konvertierung der E-Mails verwendet wird.
Zeichentabelle
converter.email.xhtml-lat1ENT = /WEB-INF/mailPreview/xhtml-lat1.ent
Zeichentabelle, die bei der Konvertierung von E-Mails verwendet wird.
Definitionsdatei
converter.email.xhtml1-strictDTD = /WEB-INF/mailPreview/xhtml1-strict.dtd
Definitionsdatei, die bei der Konvertierung von E-Mails verwendet wird.

Gemeinsame Konfiguration der Audio- und Video-Konverter

Diese Konfigurationsparameter werden sowohl für die Audio- wie auch die Video-Konvertierung verwendet.
ffmpeg-Pfad
converter.ffmpeg.path = /usr/bin/ffmpeg
Absoluter Pfad des Programms ffmpeg.
ffmpeg-Timeout
converter.ffmpeg.timeout = 1200000
Zeit in Millisekunden, die eine Konvertierung mit ffmpeg maximal dauern darf, bevor sie abgebrochen wird.
ffprobe-Pfad
converter.ffprobe.path = /usr/bin/ffprobe
Absoluter Pfad des Programms ffprobe.
ffprobe-Parameter
converter.ffprobe.params =
Optionen für ffprobe. Details sind in der Dokumentation von ffprobe zu finden

Konfiguration des Video-Konverters

Dieser Konverter ist für die Darstellung von Video-Dateien notwendig: avi, flv, mov, mp4 (vollständige Liste unterstützter Formate).
Format
converter.video.targetFormat = [ f4v | mp4 | flv ]
Das Zielformat, in das alle Video-Dateien konvertiert werden.
ffmpeg-Parameter
converter.video.ffmpeg.params = -b:v 600k -r 24 -ar 44100 -b:a 128k -strict -2
Optionen für die Video-Konvertierung mit ffmpeg. Details sind in der Dokumentation von ffmpeg zu finden
Einstellung für targetFormat = f4v
qtfaststart-Pfad
converter.video.qtfaststart.path = /usr/bin/qt-faststart
Absoluter Pfad des Programms qt-faststart.
qtfaststart-Timeout
converter.video.qtfaststart.timeout = 360000
Zeit in Millisekunden, die die Ausführung von qt-faststart maximal dauern darf, bevor sie abgebrochen wird.
Einstellung für targetFormat = flv
yamdi-Pfad
converter.video.yamdi.path = /usr/bin/yamdi
Absoluter Pfad des Programms yamdi.
yamdi-Timeout
converter.video.yamdi.timeout = 360000
Zeit in Millisekunden, die die Ausführung von yamdi maximal dauern darf, bevor sie abgebrochen wird.

Konfiguration des Audio-Konverters

Dieser Konverter ist für das Abspielen von Audio-Dateien notwendig: mp3, wav, ogg, m4a (vollständige Liste unterstützter Formate).
Format
converter.audio.targetFormat = m4a
Das Zielformat, in das alle Video-Dateien konvertiert werden.
ffmpeg-Parameter
converter.audio.ffmpeg.params = -ar 44100 -b:a 128k -movflags +faststart -strict -2
Optionen für die Audio-Konvertierung mit ffmpeg. Details sind in der Dokumentation von ffmpeg zu finden

Konfiguration des Acme CAD Konverters

Dieser Konverter ist für die Darstellung von CAD-Dateien notwendig: dxf, dwg.
Pfad
converter.acme.bin = /home/rewoo/rewoo/scripts/proxy-acme.sh
Absoluter Pfad zum Skript, mit dem der ACME CAD Konverter gestartet wird.
Farbtafel
converter.acme.fallbackCTB = monochrome.ctb
Default CTB Datei für die Konvertierung von DXF-Dateien.
Timeout
converter.acme.timeoutMS = 360000
Zeit in Millisekunden, die eine Konvertierung mit dem ACME CAD Konverter maximal dauern darf, bevor sie abgebrochen wird.

ETL

Anlegen neuer Felder
etlconfig.global.protectedmode = [ true | false ] 
Schalter, ob Formularfelder automatisch dem Formular hinzugefügt werden (false) oder nicht (true), wenn sie nicht existieren
Wartezeit
etlconfig.global.fileChangeWait = 2000

Zeit in Millisekunden, die der ETL-Prozess die Datei auf Veränderung beobachtet, bevor er sie einliest

Für jedes Vorsystem muss noch ein Satz von job-spezifischen Parametern angelegt werden.

Scheduler

Langlaufende oder wiederkehrende Aufgaben stehen als Jobs zur Verfügung. Viele dieser Jobs werden nur von Hand über das Admin-Panel gestartet und benötigen keinen Zeitplan. Die zeitgesteuerten Jobs werden entsprechend der Cron-Syntax konfiguriert (siehe die Dokumentation des Quartz-Schedulers)

Allgemeine Einstellungen

Wartezeit nach Systemstart
quartz.startDelay = 30000
Zeit zwischen dem Start von Scope und dem ersten Ausführen der Jobs in Millisekunden
Größe der Warteschlange
quartz.queueSizePerJob = 10
Größe der Warteschlange pro Quartz-Job

Anonymisierung des Datenbestands

Job zum Anonymisieren des Datenbestands, d.h. Element-Namen und Formularwerte werden nach einem vorgegebenen Plan verfälscht.
Cron-Parameter
jobs.AnonymizerJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.AnonymizerJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Löscht alle abgelaufenen Session

Job zum Löschen aller abgelaufenen Sessions.
Cron-Parameter
jobs.ClearTimedOutSessions.cron = 0 3 * * * ? * 
Cron-Trigger, Standard ist drei Minuten nach jeder vollen Stunde
Aktivierung
jobs.ClearTimedOutSessions.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Konvertieren der Dateien

Job zum Konvertieren aller Dateien, für die noch kein Standardformat (png, pdf, swf) vorliegt
Cron-Parameter
jobs.ConverterJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
Aktivierung
jobs.ConverterJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Berechnung von Checksummen

Job zum Berechnen von Checksummen für alle Dateien, für die noch keine Checksumme vorliegt. Anhand dieser Checksumme kann überprüft werden, ob die Datei seit dem Speichern unverändert vorliegt, oder ob sie korrumpiert oder manipuliert wurde.
Cron-Parameter
jobs.CreateChecksumsJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
Aktivierung
jobs.CreateChecksumsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Erstellen von Snapshots

Job zum Erzeugen eines Snapshots der Scope-Installation. Dieser Snapshot enthält alle notwendigen Daten, um diese Scope-Instanz wiederherzustellen (Datenbank, abgelegte Dateien, ETL-Konfiguration, Lizenz, Account-Daten).
Cron-Parameter
jobs.CreateSnapshotJob.cron = 
Cron-Trigger, ist nicht gesetzt, da Snapshots in der Regel von Hand erstellt werden
Aktivierung
jobs.CreateSnapshotJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Löschen von Formularwerten

Job zum Löschen von Formularwerten. Eigentlich ist es in REWOO Scope nicht vorgesehen, dass Werte gelöscht werden. Da aber der Gesetzgeber für personenbezogene Daten vorschreibt, dass diese aus Gründen des Datenschutzes auf Anfrage endgültig gelöscht werden müssen, gibt es diesen Job. Dabei ist es nur möglich die Werte von Elementen zu löschen, die entweder archiviert oder verworfen wurden.
Cron-Parameter
jobs.DeleteElementValuesJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.DeleteElementValuesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Einlesen von Daten (ETL)

Job zum Einlesen von Daten mittels eines ETL-Prozesses.
Cron-Parameter
jobs.ExecuteETLJob.cron = */30 * * * * ?
Cron-Trigger, Standard ist alle 30 Sekunden
Aktivierung
jobs.ExecuteETLJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Installationsspezifische, externe Jobs

Sollen eigene Scripte oder Programme in regelmäßigen Abständen von REWOO Scope ausgeführt werden, können dafür eigene Cron-Jobs angelegt werden. In den folgenden Konfigurations-Parametern ist appname generisch und kann in den Namen des Programmes abgeändert werden. Dadurch können mehrere externe Jobs erstellt werden.
jobs.ExternalLauncherJob.appname.cron
Cron-Ausdruck, der festlegt, in welchen Intervallen die Anwendung ausgeführt werden soll.
jobs.ExternalLauncherJob.appname.enabled = [ true | false ]
Bestimmt, ob die Anwendung überhaupt ausgeführt wird.
jobs.ExternalLauncherJob.appname.path
Legt fest, unter welchem Pfad die auszuführende Anwendung liegt. Hierbei obliegt es dem Admin sicherzustellen, dass die Anwendung auch wirklich aufgerufen werden kann.
jobs.ExternalLauncherJob.appname.timeout
Die maximale Zeit in Millisekunden, die gewartet wird, bevor der gestartete Prozess abgeschossen wird. Das soll verhindern, dass eine externe Anwendung einen Cron-Thread dauerhaft blockiert.

Auflisten aller ungültigen Formeln

Job um alle Formeln aufzulisten, deren Syntax falsch ist, die Referenzen auf nicht existierende Elemente enthalten, die Selbst-Referenzen enthalten und die Referenzierungen von realen Elementen auf Vorlagen enthalten. Da die Konsistenz der Formeln direkt beim Speichern geprüft wird, sollte diese Menge stets leer sein.
Cron-Parameter
jobs.FindInvalidFormulasJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.FindInvalidFormulasJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Neuberechnen der Rechte

Job zum Neuberechnen der Rechte. Dieser Job wird nur bei Problemen mit den Zugriffsrechten als Reparaturfunktion benötigt.
Cron-Parameter
jobs.RebuildAclJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RebuildAclJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Neuaufbau des Suchindex

Job zum Neuaufbau des Suchindex. Diese Operation ist sehr rechenintensiv und sollte nicht regelmäßig ausgeführt werden.
Cron-Parameter
jobs.RebuildSearchIndexJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RebuildSearchIndexJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Neuaufbau der Formelabhängigkeiten

Job zum Neuaufbau der Formelabhängigkeiten. Bei Referenzierungen anderer Datenfelder werden Referenzzeiger aufgebaut, damit bei Werteänderungen die abhängigen Formeln ebenfalls neu ausgewertet werden. Dieser Job wird nur bei Problemen mit der Aktualisierung von Formelwerten als Reparaturfunktion benötigt.
Cron-Parameter
jobs.RecreateDependenciesJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RecreateDependenciesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Reparatur der PREV-/NEXT Strukturen

Job zum Neuberechnen der PREV-/NEXT-Strukturen. Alle Formeln, die in PrevLinks-/NextLinks-Feldern zu finden sind sowie alle davon abhängigen Formeln (d.h. insbesondere auch alle Formeln, welche die Schlüsselwörter PREV bzw. NEXT verwenden) werden neu ausgewertet. Es wird dabei nur dann eine neue Version des Formulars erzeugt, wenn sich bei der Auswertung ein anderer Wert ergibt. Dieser Job wird nur benötigt, wenn zuvor manuell vom alten Berechnungsalgorithmus für PrevLinks- und NextLinks-Felder auf den neuen Algorithmus umgeschaltet wurde. Zu beachten ist, dass aufgrund der geänderten Auswertungslogik in den meisten Fällen zusätzlich zur Neuberechnung der PREV-/NEXT-Strukturen auch die bisherigen Formeln innerhalb der PrevLinks- und NextLinks-Felder angepasst werden müssen.
Cron-Parameter
jobs.RecreatePrevNextJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RecreatePrevNextJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Neuauswertung aller Formeln

Job zum Neuauswerten aller Formeln. Alle Formeln werden nochmal ausgewertet, aber es wird nur eine neue Version des Formulars erzeugt, wenn sich bei der Auswertung ein anderer Wert ergibt. Dieser Job wird nur bei Problemen mit der Aktualisierung von Formelwerten als Reparaturfunktion benötigt.
Cron-Parameter
jobs.ReevaluateDatasheetsJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.ReevaluateDatasheetsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Reparaturskript ausführen

Job für die Reparatur des Datenbestands. Diese Möglichkeit ist nur in den seltensten Fällen erforderlich. Weil mit dem Skript Schaden bis zum Totalverlust der Daten möglich ist, sind hier nur von der REWOO AG zertifizierte Skripte zugelassen.
Cron-Parameter
jobs.RepairByScriptJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RepairByScriptJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Reparatur von Formeln im Defaultwert

Job für die Reparatur von Formeln, die im Defaultwert des Feldes stehen. Alle Feldreferenzen werden von Feld-Ids in Feld-Namen und wieder zurück in Feld-Ids umgewandelt. Dadurch werden eventuelle Fehler in diesen Referenzen behoben. Dieser Job wird nur bei Problemen mit Feldreferenzen in Defaultformeln als Reparaturfunktion benötigt.
Cron-Parameter
jobs.RepairDefaultFormulasJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.RepairDefaultFormulasJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Einspielen von Snapshots

Job zum Einspielen eines Snapshots.
Cron-Parameter
jobs.RestoreSnapshotJob.cron = 
Cron-Trigger, ist nicht gesetzt, da Snapshots in der Regel von Hand eingespielt werden
Aktivierung
jobs.RestoreSnapshotJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Scannen nach Schadprogrammen

Job zum Starten eines externen Malware-Scanners, der die gespeicherten Dateien nach bekannten Schadprogrammen durchsucht.
Cron-Parameter
jobs.SearchForMalwareJob.cron = 
Cron-Trigger, ist nicht gesetzt, da die Scans von Hand gestartet werden
Aktivierung
jobs.SearchForMalwareJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Indexierung neuer Werte

Job zum Indexieren neuer Werte und Dateien. Diese sind erst nach erfolgreichem Durchlauf des Jobs indexiert und damit über die Suche auffindbar.
Cron-Parameter
jobs.UpdateIndexJob.cron = */10 * * * * ?
Cron-Trigger, Standard ist alle 10 Sekunden.
Aktivierung
jobs.UpdateIndexJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Aktualisierung von Formeln mit Zeitabhängigkeit (TODAY)

Job zur Neuauswertung von Formeln mit Zeitabhängigkeit (siehe Beschreibung von TODAY)
Cron-Parameter
jobs.UpdateTODAYDependenciesJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
Aktivierung
jobs.UpdateTODAYDependenciesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Überprüfung der Dateien

Job zum Überprüfen, dass alle Dateien unverändert vorliegen.
Cron-Parameter
jobs.ValidateChecksumsJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.ValidateChecksumsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Exportieren der Daten als XML

Job zum Exportieren aller Typen, Layouts, Elemente, Formularwerten, Tabellenansichten und Gantts als XML-Datei, die zusammen mit den Dateien in ein zml-Archiv gepackt wird. Siehe auch den Job "Importieren von XML-Daten".
Cron-Parameter
jobs.XmlExportJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.XmlExportJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

Importieren von XML-Daten

Job zum Importieren von Typen, Layouts, Elementen, Datenblattwerten, Portofolios und Gantts aus einer XML-Datei, und von Dateien aus einem zml-Archiv. Siehe auch den Job "Exportieren der Dateien als XML".
Cron-Parameter
jobs.XmlImportJob.cron = 
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
Aktivierung
jobs.XmlImportJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.

LDAP und AD

Vorgehen

Seit Version v4.0 ist es möglich, ein LDAP Directory Service in REWOO Scope einzubinden. Um Benutzer, die in einem LDAP verwaltet werden, in REWOO Scope einzubinden, geht man wie folgt vor:
  1. LDAP anpassen
  2. REWOO Scope konfigurieren
  3. Benutzer aus LDAP auswählen und Login-Point zuweisen

Konfiguration von OpenLDAP

REWOO-Schema einbinden
Für OpenLDAP hat REWOO Technologies ein eigenes Schema entwickelt, welches auf Objektklassen von sehr häufig eingesetzten Standard-Schemas aufsetzt. Das heißt, es erweitert die Objekt-Klassen und/oder Schemas:

  • cosine
  • inetOrgPerson
  • person
  • posixAccount
Das Schema führt keine neuen Attribute ein. Stattdessen werden einige Attribute, die wir für REWOO Scope benötigen, von MAY auf MUST geändert.

slapd.conf
Um das zusätzliche Schema einzubinden, muss die Konfiguration des OpenLDAP-Servers angepasst werden. Die Datei rewoo.schema muss in das Verzeichnis für die schema-Dateien kopiert werden und anschließend in der slapd.conf eingefügt werden. Fügen Sie der Liste der include-Zeilen diese hinzu: include /etc/ldap/schema/rewoo.schema.
Das könnte dann in etwa wie folgt aussehen:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/rewoo.schema
Starten Sie anschließend den slapd neu und untersuchen Sie das Logfile auf mögliche Fehler.
slapd.d 

In aktuelleren OpenLDAP-Versionen wurde das Konzept der slapd.conf-Datei zugunsten einer LDIF-Struktur in /etc/ldap/slapd.d aufgegeben. Dadurch wird der slapd nicht mehr per einzelner Konfigurationsdatei eingestellt, sondern über LDIF-Dateien. Der Vorteil ist, dass Änderungen an der Konfiguration on the fly ohne Neustart des slapd durchgeführt werden können.
Wenn Sie einen OpenLDAP-Server mit LDIF-Konfiguration betreiben, verwenden Sie bitte die Datei rewoo.ldif, passen Sie an Ihre Umgebung an (dies betrifft insbesondere die Reihenfolge an der das Schema eingebunden werden soll, muss vermutlich angepasst werden) und laden Sie sie dann, z. B. mit ldapadd, in den slapd.

User einrichten
Sobald der slapd wieder zur Verfügung steht, können Sie Nutzer, die REWOO Scope benutzen können sollen editieren. Fügen Sie den betroffenen Benutzern als neues Attribut die Objekt-Klasse rewooUser hinzu. Achten Sie darauf, dass vor dem Speichern der Änderung die Attribute uid, userPassword und displayName gesetzt sind. Ansonsten wird das Speichern fehlschlagen.

Konfiguration des Active Directory Service

Für Active Directory empfehlen wir eine alternative Möglichkeit, Benutzer für REWOO Scope verfügbar zu machen. Gruppe und Benutzer einrichten

Richten Sie als AD-Administrator eine neue Benutzergruppe, z. B. RewooUser, ein. Fügen Sie alle Benutzer, die REWOO Scope benutzen sollen, als Mitglieder der Gruppe RewooUser hinzu.

REWOO Scope für einen Directory Service konfigurieren

Um REWOO Scope für die Verwendung mit einem Directory Service zu konfigurieren, loggen Sie sich als Administrator ein. Wechseln Sie auf die Konfigurations-Seite. Die meisten Parameter, die Sie für das Einrichten eines LDAP-basierten Verzeichnisdienstes benötigen, sind bereits mit Dummy-Einträgen vorbereitet. Da sich die Einrichtung bei Verwendung von OpenLDAP und Active Directory Service etwas unterscheidet, werden beide Dienste im Folgenden getrennt voneinander behandelt.

Setzen Sie über den Edit-Link alle Werte so, wie es in Ihrer Umgebung benötigt wird. Die Werte sind gültig bzw. aktiv, sobald Sie sie gesetzt haben. Setzen Sie daher den Wert für ldap.enabled erst ganz zum Schluss auf true.

REWOO Scope für OpenLDAP konfigurieren

Um ein OpenLDAP als Directory Service zu verwenden, suchen Sie bitte die Konfigurations-Parameter, die mit ldap. beginnen. Im Folgenden werden die für OpenLDAP wichtigen Parameter und deren Bedeutung aufgelistet.
Anzeigename
ldap.attribute.displayName = displayName
Attribut, welches den String enthält, der an Stelle des Login-Namens angezeigt werden soll
E-Mail
ldap.attribute.email = <mail>
Attribut, welches die eMail-Adresse des Benutzers enthält
Login-Name
ldap.attribute.username = uid
Attribut, welches den Login-Namen enthält; identisch mit dem Namen, den der Benutzer zur Anmeldung angibt
LDAP-Aktivierung
ldap.enabled = [ true | false ]
schaltet Authentifizierung über ein LDAP ein oder aus; wenn LDAP verwendet werden soll, diesen Wert auf true setzen
Active Directory
ldap.isAD = [ true | false ]
schaltet zwischen ActiveDirectory oder LDAP um; bei OpenLDAP bleibt der Schalter auf false
Ausschließlich LDAP-Authentifizierung
ldap.only = [ true | false ]
dieser Parameter schaltet um zwischen reiner LDAP-Authentifizierung und gemischter Authentifizierung. Bei reiner LDAP-Authentifizierung wird nur das LDAP zur Authentifizierung verwendet. Die REWOO-Datenbank wird dann zur Authentifizierung nicht herangezogen. Gilt ausschließlich für Benutzer mit den Rollen Standard und Concurrent.
LDAP-Zweig
ldap.search.base = ou=people,dc=rewoo,dc=lan
der Zweig im LDAP, unter dem nach möglichen Benutzern gesucht werden soll; setzen Sie diesen Wert auf den Zweig, in dem sich in Ihrem LDAP die Benutzer befinden - fragen Sie bei Ihrem LDAP-Administrator nach, z. B. ou=people,dc=firma,dc=com
Suchfilter
ldap.search.filter = (&(objectClass=inetOrgPerson)(objectClass=RewooUser))
setzt den Filter, um die Ergebnismenge zu begrenzen; fragen Sie Ihren LDAP-Administrator, zu welchen Objektklassen die REWOO-User gehören; die Syntax entspricht der in RFC 4515 definierten
Benutzer für die Suche
ldap.search.user = (leer)
Distinguish Name (DN) des Benutzers, der das LDAP durchsuchen darf, z. B. cn=search.user,dc=firma,dc=com; das wird nur benötigt, wenn ein LDAP nicht anonym durchsucht werden darf
Passwort
ldap.search.password = ****
setzt das Passwort für den Search-User; das wird nur benötigt, wenn das LDAP nicht anonym durchsucht werden darf
Weiterleitung
ldap.search.referral = [ follow | ignore | throw ]
Konfiguration der Weiterleitungen auf andere LDAP Server
Suchumfang
ldap.search.scope = [ baseObject | oneLevel | wholeSubtree ]
Konfiguration des Suchumfangs
URL
ldap.server.url = ldap://localhost
Hostname des Servers, auf dem der LDAP-Service läuft, z. B. ldap://ldap.example.com
Mehrere Server können durch Leerzeichen getrennt angegeben werden.
Die Angabe eines Ports ist optional und wird mit einem Doppelpunkt hinter den Servernamen gesetzt, z. B. ldap://ldap.example.com:389
Um eine sichere Verbindung zu verwenden, kann auf das Protokoll ldaps:// gewechselt werden.
TLS
ldap.server.useTLS = [ true | false ]
Schaltet TLS ein oder aus.
Paging
ldap.paging.enabled = [ true | false ]
Schaltet das Paging von Such-Ergebnissen ein oder aus. Dadurch wird es möglich, eine größere Menge an Suchergebnisse zu erhalten, als es die Maximalgröße einer einzelnen Page erlaubt. Bitte beachten Sie, dass hierfür Ihr LDAP-Server den RFC 2696 unterstützen muss.
Seitengröße
ldap.paging.size = 500
Gibt die Anzahl der Entries vor, die eine Page maximal enthalten kann. Dieser Schalter hat nur dann eine Auswirkung, wenn ldap.paging.enabled gesetzt wurde. Bitte beachten Sie, dass das Limit nicht höher gesetzt werden darf, als es die Einstellungen des LDAP-Servers generell zulassen.

REWOO Scope für Active Directory konfigurieren

Um ein Active Directory zur Authentifizierung der Nutzer zu verwenden, müssen im Grunde die gleichen Einstellungen gemacht werden, wie bei einem OpenLDAP. Der Unterschied besteht darin, dass ein Active Directory nicht anonym durchsucht werden darf und daher immer eine erfolgreiche Anmeldung vorausgehen muss.
Daneben erfolgt die Anmeldung am Dienst nicht über den Distinguished Name des Benutzer-Objektes, sondern so, wie man sich unter Windows anmelden würde mit domain username. Daher gibt es einige zusätzliche Schalter und Einstellungen, die für eine Anmeldung über ein Active Directory gesetzt werden müssen.
Anzeigename
ldap.attribute.displayName = <displayName>
dieser Wert wird verwendet, um den vollen Namen des Benutzers an Stelle des Anmeldenamens anzuzeigen
E-Mail
ldap.attribute.email = <mail>
Über dieses Attribut wird die eMail-Adresse des Benutzers gesetzt bzw. ausgelesen
Login-Name
ldap.attribute.username = uid
Setzen Sie diesen Wert bei einem ActiveDirectory bitte auf sAMAccountName
Windows-Domäne
ldap.domain = test,rewoo
Setzen Sie hier den Namen der (Windows)-Domäne, in der sich die Benutzer befinden. Mehrere Domänen werden durch Kommata getrennt.
AD-Aktivierung
ldap.enabled = [false | true]
schaltet Authentifizierung über ein AD ein oder aus; wenn AD verwendet werden soll, diesen Wert auf true setzen
Active Directory
ldap.isAD = [false | true]
setzen Sie diesen Wert auf true; aktiviert in der Anmeldemaske ein Dropdown-Menu in dem der Nutzer die Domäne auswählen kann/muss, an der er sich anmelden will
Ausschließlich LDAP-Authentifizierung
ldap.only = [true | false]
bewirkt, dass sich Benutzer der Rollen Standard und Concurrent nur über das AD anmelden können
AD-Zweig
ldap.search.base = cn=Users,dc=<prefix>,dc=<firma>,dc=<domain>
setzen Sie hier den Zweig unter dem die Benutzer gespeichert sind. Passen Sie <prefix>, <firma> und <domain> an Ihre Umgebung an, z. B. cn=Users,dc=dev,dc=rewoo,dc=com
Suchfilter
ldap.search.filter = (&(objectClass=organizationalPerson)(objectClass=user)
(memberOf=cn=rewooUser,cn=Users,dc=<prefix>,dc=<firma>,dc=<domain>))
passen Sie <prefix>, <firma> und <domain> an Ihre Umgebung an, z. B.: (&(objectClass=organizationalPerson)(objectClass=user) (memberOf=cn=rewooUser,cn=Users,dc=dev,dc=rewoo,dc=com)); wenn sie eine andere Gruppe für Rewoo-Benutzer erstellt haben, als oben vorgeschlagen, dann verwenden Sie bitte diese Gruppe an Stelle von rewooUser
Benutzer für die Suche
ldap.search.user = 
setzen Sie hier den Benutzer ein, der das AD durchsuchen darf; wenn sich Benutzer aus verschiedenen Domänen einloggen können sollen, dann sollte der Search-User alle Domänen durchsuchen können dürfen, z. B. dev/search
Passwort
ldap.search.password = ****
Passwort des Benutzers, der zum Durchsuchen des AD verwendet werden soll
Weiterleitung
ldap.search.referral = [follow | ignore | throw]
Konfiguration der Weiterleitungen auf andere LDAP Server
Suchumfang
ldap.search.scope = [baseObject | oneLevel | wholeSubtree]
Konfiguration des Suchumfangs
URL
ldap.server.url = ldap://localhost
Hostname des Servers, auf dem das Active Directory läuft, z. B. ldap://directory.ka.rewoo.com
mehrere Server können durch Leerzeichen getrennt angegeben werden
eine optionale Angabe des Ports ist möglich, z. B. ldap://ldap.example.com:389
um eine sichere Verbindung zu verwenden, kann auf das Protokoll ldaps:// gewechselt werden
TLS
ldap.server.useTLS = [ true | false ]
Schaltet TLS ein oder aus.
Paging
ldap.paging.enabled = [ true | false ]
Schaltet das Paging von Such-Ergebnissen ein oder aus. Dadurch wird es möglich, eine größere Menge an Suchergebnisse zu erhalten, als es die Maximalgröße einer einzelnen Page erlaubt.
Seitengröße
ldap.paging.size = 500
Gibt die Anzahl der Entries vor, die eine Page maximal enthalten kann. Dieser Schalter hat nur dann eine Auswirkung, wenn ldap.paging.enabled gesetzt wurde. Bitte beachten Sie, dass das Limit nicht höher gesetzt werden darf, als es die Einstellungen des AD-Servers generell zulassen.

Setzen Sie über den Edit-Link alle Werte entsprechend Ihrer Umgebung. Alle Werte sind aktiv, sobald Sie Speichern/Save im editieren-Dialog gedrückt haben. Setzen Sie daher den Wert für ldap.enabled erst als letztes auf true.

Sicherheit

Es gibt zwei Möglichkeiten, die Kommunikation zwischen REWOO Scope und dem LDAP-Service abzusichern.

Entweder wird das Protokoll ldaps:// bei der Angabe der Server-Url verwendet, damit für die Verbindung SSL verwendet wird.

Oder der Schalter ldap.server.userTLS wird aktiviert, damit TLS zum Einsatz kommt.

SAML2-Konfiguration

Strikte Prüfung
saml2.strict = [ true | false ]
Ist dieser Schalter an, werden nicht signierte oder unverschlüsselte Nachrichten zurückgewiesen, wenn in den Einstellungen signierte oder verschlüsselte Nachrichten aktiviert sind. In Produktivsystemen sollte dieser Schalter immer an sein.
Debug
saml2.debug = [ true | false ]
Ein Schalter, um Fehler ins Log zu schreiben.
Username
saml2.attribute.username = http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
Der Name des Attributs, das den Username enthält. Setzt man diesen Parameter auf "NameID" wird statt eines normalen Attributs das speziell hierfür vorgesehen Attribut "NameID" ausgelesen, welches ein Kindelement des "Subject"-Tags in der SAML-Antwort darstellt.

Service Provider

ID
saml2.sp.entityid = urn:scope.rewoo.com
Id des Service Providers (muss eine URI sein)
Service URL
saml2.sp.assertion_consumer_service.url = /auth/signInSaml2
relative URL, an welche der IdP die Antwort schickt
Service Binding
saml2.sp.assertion_consumer_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST
SAML Protokollanbindung für die Antwort des IdP. Momentan unterstützen wir nur HTTP-POST
Logout-Antwort-URL
saml2.sp.single_logout_service.url = /auth/signOut
Relative URL, die nach dem Logout vom IdP aufgerufen werden soll.
Logout Binding
saml2.sp.single_logout_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
SAML Protokollanbindung für die Logout-Nachricht des IdP. Momentan unterstützen wir nur HTTP-Redirect
Namensformat
saml2.sp.nameidformat = urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
Format des Namens, mit dem der Anwender identifiziert wird. Mögliche Formate:
  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
  • urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
  • urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
  • urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
  • urn:oasis:names:tc:SAML:2.0:nameid-format:entity
  • urn:oasis:names:tc:SAML:2.0:nameid-format:transient
  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
  • urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted
x509 Zertifikat
saml2.sp.x509cert = -----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
Zertifikat des Service Providers
Private Key im Format PKCS#8
saml2.sp.privatekey = -----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----
Private Key des Service Providers

Identity Provider

ID
saml2.idp.entityid = 
Id des Identity Providers
SSO URL
saml2.idp.single_sign_on_service.url = 
URL, an die die Authentifizierungsanfrage geschickt wird
SSO Binding
saml2.idp.single_sign_on_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
SAML Protokollanbindung, das für die Anfrage benutzt wird. Momentan unterstützen wir nur HTTP-Redirect.
Logout-Anfrage-URL
saml2.idp.single_logout_service.url = 
URL des IdP, an die Logout-Anfragen geschickt werden sollen.
Logout-Antwort-URL
saml2.idp.single_logout_service.response.url = 
Optionale URL für die Logout-Antwort des SP an den IdP. Wenn diese URL nicht angegeben ist, wird saml2.idp.single_logout_service.url verwendet.
Logout Binding
saml2.idp.single_logout_service.binding = urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect
SAML Protokollanbindung, das für das Logout benutzt wird. Momentan unterstützen wir nur HTTP-Redirect.
x509 Zertifikat
saml2.idp.x509cert = -----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
Zertifikat des Identity Providers
Fingerprint des Zertifikats
saml2.idp.certfingerprint = 
Fingerprint-Algorithmus
saml2.idp.certfingerprint_algorithm = [ sha1 | sha256 | sha384 | sha512 ]

Sicherheit

Verschlüsselter Name
saml2.security.nameid_encrypted = [ true | false ]
Schalter, ob der Name vom SP verschlüsselt verschickt wird.
saml2.security.want_nameid_encrypted = [ true | false ]
Schalter, ob der Name vom IdP verschlüsselt verschickt wird.
Signierte Authentifizierungsanfrage
saml2.security.authnrequest_signed = [ true | false ]
Schalter, ob die Authentifizierungsanfrage vom SP signiert wird.
Signierte Abmeldeanfrage
saml2.security.logoutrequest_signed = [ true | false ]
Schalter, ob die Abmeldeanfrage vom SP signiert wird.
Signierte Abmeldeantwort
saml2.security.logoutresponse_signed = [ true | false ]
Schalter, ob die Abmeldeantwort vom SP signiert wird.
Signierte Daten vom IdP
saml2.security.want_messages_signed = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Daten signiert sind.
Signierte Assertions vom IdP
saml2.security.want_assertions_signed = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Assertions signiert sind.
Verschlüsselte Assertions
saml2.security.want_assertions_encrypted = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Assertions verschlüsselt sind.
Signierte Metadaten
saml2.security.sign_metadata = 
Schalter, ob die Metadaten des SP signiert sein sollen
Authentifizierungs-Kontext
saml2.security.requested_authncontext = urn:oasis:names:tc:SAML:2.0:ac:classes:Password
Mehrere Werte können mit Komma getrennt angegeben werden.
  • urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
  • urn:oasis:names:tc:SAML:2.0:ac:classes:Password
  • urn:oasis:names:tc:SAML:2.0:ac:classes:X509
  • urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
  • urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos
Authentifizierungs-Vergleich
saml2.security.requested_authncontextcomparison = exact
  • exact
  • minimum
  • maximum
  • better
XML-Validierung
saml2.security.want_xml_validation = [ true | false ]
Schalter, ob der SP alles empfangene XML validieren soll.
Signatur-Algorithmus
saml2.security.signature_algorithm = http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
Mögliche Werte:
  • http://www.w3.org/2000/09/xmldsig#rsa-sha1
  • http://www.w3.org/2000/09/xmldsig#dsa-sha1
  • http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
  • http://www.w3.org/2001/04/xmldsig-more#rsa-sha384
  • http://www.w3.org/2001/04/xmldsig-more#rsa-sha512

Organisation

Name
saml2.organization.name = REWOO Technologies AG
Anzeigename
saml2.organization.displayname = REWOO Scope
URL
saml2.organization.url = https://rewoo.de
Sprache
saml2.organization.lang = en_US

Kontakt

Technischer Ansprechpartner
saml2.contacts.technical.given_name = REWOO Administrator
E-Mail Technischer Support
saml2.contacts.technical.email_address = administration@rewoo.com
Anwendungsbetreuung
saml2.contacts.support.given_name = REWOO Support
E-Mail Anwendungsbetreuung
saml2.contacts.support.email_address = support@rewoo.com

Client-Konfiguration

Element-Gruppierung in der Navigation
visualization.clusterByType = 15
Wenn die Anzahl der Objekte, Prozesse oder Aspekte desselben Typs größer ist als der angegebene Wert, werden die Elemente gruppiert.
Objekt-Gruppierung
visualization.cluster.objects = 15
Wenn die Anzahl der Objekte desselben Typs größer ist als der angegebene Wert, werden die Elemente gruppiert. Diese Einstellungen überschreiben für den jeweiligen Fall den in visualization.clusterByType angegebenen Wert.
Objekt-Aspekt-Gruppierung
visualization.cluster.objectAspects = 15
Wenn die Anzahl der Aspekte desselben Typs unterhalb von Objekten größer ist als der angegebene Wert, werden die Elemente gruppiert. Diese Einstellungen überschreiben für den jeweiligen Fall den in visualization.clusterByType angegebenen Wert.
Prozess-Gruppierung
visualization.cluster.processes = 15
Wenn die Anzahl der Prozesse desselben Typs größer ist als der angegebene Wert, werden die Elemente gruppiert. Diese Einstellungen überschreiben für den jeweiligen Fall den in visualization.clusterByType angegebenen Wert.
Prozess-Aspekt-Gruppierung
visualization.cluster.processAspects = 15
Wenn die Anzahl der Aspekte desselben Typs unterhalb von Prozessen größer ist als der angegebene Wert, werden die Elemente gruppiert. Diese Einstellungen überschreiben für den jeweiligen Fall den in visualization.clusterByType angegebenen Wert.
Anzeigen des Bearbeiternamens
user.versionAuthor.visible = [ true | false ]
Mit diesem Parameter kann eingestellt werden, ob der Name der Autoren/Bearbeiter in der Versionshistorie unterhalb des Datenblatts bzw. im Werteverlauf-Widget angezeigt wird oder verborgen bleibt.

HTML-Client-Konfiguration

Globale CSS-Definition für den HTML-Client
mobile.global.css = 
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für den HTML-Client festlegen, die global gelten. Dieser Code wird nach den Standard-CSS-Dateien (Bootstrap-Framework und Scope spezifische Anpassungen) aber vor datenblattspezifischem CSS geladen. Damit ist es möglich, den HTML-Client an den Stil des eigenen Corporate Designs anzupassen.
Globales JavaScript für den HTML-Client
mobile.global.javascript = 
Mit diesem Parameter lässt sich zusätzliches JavaScript für den HTML-Client festlegen, das global gilt.
Menüanzeige im HTML-Client
mobile.menu.alwaysSandwich = [ true | false ]
Wird diese Option auf true gesetzt, ist das Menü im HTML-Client standardmäßig eingeklappt und nur per Sandwich-Button aufklappbar. Ist der Schalter auf false gesetzt, wird der Sandwich-Button erst bei der Unterschreitung einer gewissen Screengröße eingeblendet; ansonsten ist das Menü dauerhaft sichtbar.
Position der Controls für Tabellen-Felder im HTML-Client
mobile.entries.tableControlsLayout = [ left | right ]
Standardmäßig wird der Plus- und Minus-Button auf der rechten Seite jeder Tabellen-Zeile eingeblendet. Wird der Wert auf left gesetzt, werden beide Buttons auf der linken Seite spiegelverkehrt gerendert (d.h. zuerst der Plus-, dann der Minus-Button).
Verhalten beim Klick auf Filelink-Einträge
mobile.filelink.downloadOnClick = [ false | true ]
Standardmäßig wird beim Anklicken des Namens einer in REWOO Scope hinterlegten Datei die Vorschau geöffnet (sofern diese für das Dateiformat verfügbar ist). Um die Datei herunterladen zu können, wird außerdem links vom Dateinamen ein Download-Symbol eingeblendet. Wird der Parameter hingegen auf true gesetzt, so wird die Datei beim Anklicken des Dateinamens heruntergeladen. Um die Vorschau zu öffnen steht dann eine Schaltfläche in Form eines Augen-Symbols links vom Dateinamen zur Verfügung.
Schnellspeichern-Dialog im HTML-Client anzeigen
mobile.quickOperationsPopup.enabled = [ false | true ]
Hat der Benutzer Änderungen auf dem aktuellen Datenblatt vorgenommen und ein wenig nach unten gescrolled, wird rechts unten ein kleines Pop-Up angezeigt, mit dessen Hilfe die Änderungen gespeichert oder verworfen werden können. Das Einblenden des Dialogs kann verhindert werden, in dem dieser Parameter auf false gesetzt wird.
Y-Offset für den Schnellspeichern-Dialog im HTML-Client
mobile.quickOperationsPopup.yOffset = 250
Dieser Parameter definiert, wie viele Pixel der Anwender nach unten scrollen muss, bis der Schnellspeichern-Dialog erscheint. Mit 0 ist der Dialog immer sichtbar.
Mail-Button bei Tabellenansichten einblenden
mobile.tableview.mailbutton = [ false | true ]
Enthält eine Tabellenansicht mit auswählbaren Zeilen eine Spalte vom Typ Email, so wird nach dem Setzen dieser Option automatisch ein "Mail-Senden"-Button beim Öffnen der Tabellenansicht eingeblendet. Wählt der Benutzer nun eine oder mehrere Zeilen aus und klickt auf den Button, öffnet sich eine neue Mail im Standard-Email-Client des Benutzers mit den ausgewählten Adressen als Empfänger. Achtung: gibt es mehr als eine Email-Spalte in der Tabellenansicht, wird die am weitesten links stehende Spalte der Definition ausgewählt.
Menge der Einträge auf einer Seite der Tabellenansicht
mobile.tableview.pagingsize = 50
Anzahl der Einträge, die auf einer Seite einer Tabellenansicht dargestellt werden. Übersteigt die Anzahl der Zeilen einer Tabellenansicht den hier eingetragenen Wert, so wird eine weitere Seite erstellt, die der Benutzer über die Navigationsleiste der Tabellenansicht erreichen kann.
Position der Buttons innerhalb des Dateivorschau-Dialogs
mobile.lightbox.buttonsLayout = [ footer | title ]
Legt fest, ob die Buttons im Dateivorschau-Dialog in der Fußzeile (Wert "footer") oder in der Kopfzeile (Wert "title") platziert werden sollen. Wird hier "title" eingetragen, wird der Dialog-Schließen-Button automatisch entfernt, da hierfür bereits das X in der rechten, oberen Ecke vorhanden ist.
Verhalten beim Anklicken eines Links in der HTML-Navigation
mobile.navigator.elementLinkOpensDatasheet = [ false | true ]
Legt fest, ob beim Anklicken eines Elements im Navigator der HTML-Ansicht das entsprechende Datenblatt geöffnet werden soll (Wert "true") oder ob in diesem Fall die Kindelemente angezeigt werden sollen (Wert "false"). Dabei ist zu beachten, dass trotz gesetzter Option nur dann tatsächlich das Datenblatt angezeigt wird, wenn dieses anzuzeigende Formularfelder aufweist. Ist das Datenblatt vollständig leer, wird kein weißes Datenblatt angezeigt, sondern stattdessen automatisch zur Übersicht der Kindelemente weitergeblättert.

Flex-Client-Konfiguration

Druckmethode
flex.printMethod = [ auto | bitmap | vector ]
Hier kann eingestellt werden, ob beim Drucken aus der Vorschau die Datei als Vektorgrafik oder als Bitmapgrafik zum Drucker geschickt werden soll. Bei auto werden alle Office-Dateien als Vektorgrafik verarbeitet und alle anderen Dateien als Bitmapgrafik.
Videochat aus-/einschalten
flex.videochat.enabled = [ true | false ]
Den Videochat für die Benutzer aus- oder einschalten. Wird der Videochat ausgeschaltet, verschwindet der Eintrag, um einen neuen Anruf zu initiieren, aus dem Benutzermenü.
Editieren von MS Office-Dateien
file.webdav.MSOffice2010Protocol.enabled = [ true | false ]
Microsoft Office-Dateien können mit einem Klick direkt in Office geöffnet und bearbeitet werden, sofern auf dem Rechner MS Office 2010 oder neuer installiert ist.
Editieren von Dateien im Desktop-Client
flex.ANEForWebDAV.enabled = [ true | false ]
Der Desktop-Client kann Dateien zum Bearbeiten auf zwei Arten öffnen. Falls Probleme auftauchen, kann mit diesem Schalter auf die Alternative per Batch-Datei umgeschaltet werden.
Sichtbarkeit des Rings
flex.ring.visible = [ true | false ]
Solange der Anwender die Ansicht nicht selbst umstellt, bestimmt dieser Schalter, ob der Ring sichtbar ist oder nicht.
Anzeige von leeren Knoten
flex.aspects.splitIfInvisibleRoot = [ true | false ]
Können Anwender nur Teile einer Struktur sehen (e.g. Beziehung nur zu Element auf Unterebene, aber nicht auf Aspektknoten selbst), dann werden die Zwischenebenen ohne Sichtbarkeit nicht angezeigt. Beispiel: Aspektstruktur ist A->B, aber der Anwender hat nur eine Beziehung zu B, dann wird für ihn die A-Ebenen (=leerer Knoten) übersprungen und direkt die B-Ebene angezeigt.
Standard-Filter für Element-Status
flex.visibleStates = [ TEMPLATES | IN_PLANNING | ACTIVE | ON_HOLD | CLOSED ]
Eine Komma-separierte Liste von Element-Status, die der Anwender nach dem Anmelden sehen kann. Jeder Anwender kann diese Liste individuell überschreiben, indem er über den Status-Filter die gewünschten Status auswählt und auf "Filtern" klickt.
Syntaxhighlighting für CSS und Javascript
flex.designer.syntaxhighlighting.enabled = [ true | false ]
Mit diesem Schalter kann das Syntaxhighlighting im Designer für den HTML-Client deaktiviert werden.

System-Konfiguration

Timeout
loginTimeout = 1800
Zeit in Sekunden bis der Anwender wegen Inaktivität abgemeldet wird.
Nachrichten unterdrücken
message.mute = [ true | false ]
Schalter, um den Versand von Scope-Nachrichten global zu aktivieren bzw. zu deaktivieren.
Nachrichten über Statusänderungen unterdrücken
message.stateChange.mute = [ true | false ]
Schalter, um den Versand von Benachrichtigungen über Statusänderungen global zu aktivieren bzw. zu deaktivieren. Diese Nachrichten haben einen merklichen Einfluss auf die Laufzeit. Es ist besser, mittels Condition-Felder, einer Statusbedingung und der Systemaktion MESSAGE Nachrichten über Statusänderungen dort zu erzeugen, wo sie von Interesse sind.
Ablageverzeichnis
file.storagedir = /home/rewoo/rewoo-admin/storage/rewoo
Absoluter Pfad auf das Ablageverzeichnis von REWOO Scope für die Dateien, den Suchindex, die ETL-Skripte und -Dateien und die Vorschau-Dateien und PDFs.
Maximale Dateigröße
file.maxSizeInMB = 100
Legt die maximale Größe in Megabytes fest, die eine einzelne Datei in Datei-Feldern (FileLinks, Image, SpreadsheetFile) haben kann. Beim Versuch größere Dateien hochzuladen, wird dem Anwender eine Fehlermeldung angezeigt und die jeweilige Datei nicht hochgeladen. Das Limit bezieht sich nicht auf FileLinks-Felder als ganzes, sondern nur auf einzelne Dateien.
Maximale Dateigröße für Drag'n'Drop
file.maxDragNDropSizeInMB = 10
Legt die Maximalgröße in Megabytes für Drag'n'Drop-Aktionen in der Web-Oberfläche fest. Der Wert bezieht sich auf die Gesamtgröße der Dateien. Achtung, Limitierungen des verwendeten Browsers gelten weiterhin.
Hash-Algorithmus für Datei-Prüfsummen
file.hash.algorithm = [ MD2 | MD5 | SHA1 | SHA-256 | SHA-384 | SHA-512 ]
Zu jeder in Scope gespeicherten Datei wird eine Prüfsumme berechnet, um die Integrität der Datei zu einem späteren Zeitpunkt überprüfen zu können. Hierfür stehen mehrere Hash-Algorithmen zur Verfügung. Wir empfehlen mindestens SHA-256.
Algorithmus für den Seriendruck
output.mailmerge.method = [ auto | new ]
Der neue Algorithmus unterstützt das Drucken von Table und Image und ist für den Druck von großen Mengen schneller, aber er unterstützt keine Platzhalter in Kopf- und Fußzeilen. In der Einstellung "auto" wird der neue Algorithmus nur genommen, wenn Platzhalter für Table oder Image in der Vorlage enthalten sind.
Anlegen von Accounts
user.creation.authorizedRoles = ADMIN,POWER
Die hier angegebenen Rollen dürfen basierend auf einem User-Template neue Accounts anlegen. Mögliche Rollen sind ADMIN, POWER, CONCURRENT und STANDARD.
Login-Knoten
user.login.onlyObjectNodes = [ true | false ]
Dieser Schalter gibt an, ob Login-Knoten nur unterhalb von Objekten vorkommen dürfen oder überall.
Kopplung von Account und Knotenstatus
user.stateFollowsLoginState.enabled = [ true | false ]
Wenn der Login-Knoten den Status ändert, folgt der damit verbundene Account. Wird der Knoten aktiv bzw. inaktiv, wird auch der Account aktiviert bzw. deaktiviert. Wird der Knoten geschlossen, archiviert oder verworfen, wird der Account terminiert und kann nicht mehr benutzt werden.
Größe der Task-Liste pro User
user.taskList.size = 500
Alle langlaufenden Aktionen durch CopyButtons oder ActionButtons werden als asynchroner Task gestartet. Dieser Parameter steuert die Größe der Liste, die auch abgearbeitete Tasks enthält.
Virenscanner
clamav.bin = /usr/bin/clamscan
Absoluter Pfad auf den Malware-Scanner ClamAV.
Bidirektionales Prev/Next
datasheet.bidirectional_prev_next.enabled = [ true | false ]
Schalter für die automatische Verlinkung von PrevLinks- und NextLinks-Feldern, sodass das Hinzufügen oder Löschen von Links auf der einen Seite zur automatischen Anpassung auf der Gegenseite führt. Die Option darf aus systeminternen Gründen nur mit der bisherigen, statischen Berechnung der Vorgänger- und Nachfolgerknoten gesetzt sein. Der unter Berechnungsalgorithmus zur Bestimmung von Vorgänger- und Nachfolgerknoten beschriebene Konfigurationsparameter muss also bei der Verwendung auf false gesetzt sein.
Berechnungsalgorithmus zur Bestimmung von Vorgänger- und Nachfolgerknoten
datasheet.legacy_prev_next.enabled = [ true | false ]
Ab dieser Version stehen zwei unterschiedliche Varianten zur Verfügung, um die PrevLinks- und NextLinks-Felder zu befüllen. Bei der bisherigen Variante ( = true) müssen PrevLinks- und NextLinks-Felder mit explizit benannten Zielknoten befüllt werden. Es ist damit z. B. nicht möglich, auf ein anderes ElementLinks-Feld zu verweisen, welches seinerseits dann die eigentlichen Zielknoten definiert. Der neue Berechnungsalgorithmus ( = false) kann mit derartigen, berechneten Zielen umgehen. Allerdings darf er nur verwendet werden, wenn die unter Bidirektionales Prev/Next beschriebene Option ausgeschaltet wurde.
Anmerkung: Bei bestehenden Installationen, die bereits PrevLinks- oder NextLinks-Felder verwenden, wird aus Kompatibilitätsgründen der alte Algorithmus weiterverwendet. Soll auf den neuen Mechanismus umgeschaltet werden, so reicht es nicht aus, dieses Flag auf false zu setzen. Stattdessen müssen die internen Strukturen der PrevLinks- und NextLinks-Verknüpfungen neu bestimmt werden. Dies geschieht über die eigens hierfür zur Verfügung gestellte Reparaturfunktion.
URL für vormodellierte Lösungen
import.solutions.url = https://trial.rewoo.net/solutions/solutions.xml
Internetadresse für die Liste an vormodellierten Lösungen. Die Vorbelegung zeigt auf die Liste an Lösungen, die von der REWOO Technologies AG bereit gestellt werden.
Pfad des Debug-Skripts
logs.debugScript = /home/rewoo/rewoo/scripts/debug.sh
Absoluter Pfad auf das Skript, mit dem über das Admin-Panel ein Debug-Paket erstellt werden kann.
Name der Software
app.displayName = REWOO Scope
Der hier konfigurierte Name wird überall benutzt, um die Software zu benennen.
app.logo = 
Absoluter Pfad auf eine Bild-Datei im PNG-Format mit maximal 240x240 Pixel, die als Logo verwendet werden soll. Wenn keine Datei angegeben ist, wird das Scope-Logo verwendet.
Hintergrundfarbe des Anmeldebildschirms
app.login.background = [ dark | light ]
Die Hintergrundfarbe des Anmeldebildschirms kann zwischen dunkel und hell umgeschaltet werden. Die Schriftfarbe wird entsprechend angepasst.
Webhooks
webhooks.enabled = [ false | true ]
Aktiviert die Möglichkeit, mittels Webhooks andere Dienste an Scope zu koppeln.
Grenze für Einschalten des Rechte-Prefetches
cachedElementVisibility.prefetchAll.lowerLimitChangedElementsPerTle = 30
REWOO Scope muss bei Änderungen an Elementen (z.B. einem Status-Wechsel) häufig die Rechte auslesen, welche die einzelnen Benutzer an diesen Elementen besitzen. In manchen Fällen (z.B. dem Schließen einer größeren Element-Hierarchie) kann es laufzeittechnisch günstiger sein, alle Rechte auf ein Mal auszulesen, anstatt diese nach und nach zu bestimmen. Dieser Konfigurationsparameter gibt an, ab welcher Menge von Elementänderungen unter einem Toplevel-Element alle Rechte auf ein Mal ausgelesen werden sollen. Da dies unter Umständen eine sehr teure Operation sein kann, sollte die Grenze nicht zu niedrig angesetzt werden. Das System sorgt übrigens, unabhängig vom hier eingestellten Wert dafür, dass alle Rechte ausgelesen werden, falls sich die Elementänderung auf ein Top-Level-Element selbst bezieht. Setzt man den Wert auf 0, werden grundsätzlich immer alle Rechte ausgelesen. Dies entspricht dem Verhalten vor der Version 13.

Benutzerdefinierte Security-Realms

Standard-Realms

REWOO Scope bringt in seinem Standard-Installationsumfang bereits zwei sogenannte Security Realms mit. Ein Realm kann dabei als Verbindung zwischen REWOO Scope und einem Datenspeicher aufgefasst werden, der die eigentlichen Anmeldeinformationen (auch "Credential" genannt, z. B. das Passwort eines Benutzers) enthält. Als Grundvoraussetzung für die Anmeldung eines jeden Benutzers gilt dabei, dass der Login des Benutzers im Rahmen der Benutzerverwaltung innerhalb von REWOO Scope angelegt werden muss. Die Credential darf sich hingegen in einem beliebigen anderen Datenspeicher befinden, solange REWOO Scope über das dazu passende Security Realm verfügt. Ohne jeden weiteren Installationsaufwand steht dabei (neben dem SystemDb-Realm, welches die Authentifizierung gegenüber der interne REWOO Scope Datenbank vornimmt) bereits der LDAP-Realm bereit. Dieser kann eine Verbindung zu einem LDAP- oder AD-Server herstellen und das vom Benutzer eingegebene Passwort dort gegenprüfen lassen.

Anbinden weiterer Realms

Um weitere Realms anbinden zu können, müssen diese von REWOO Technologies oder einer dritten Partei nach den Vorgaben unserer Programmierschnittstelle (SHA-256: 9afad4f7a64b6b866319feeec920b1cdb72293ff4fa3bdca43f1030b3f306a6f) entwickelt und in Form einer Java-Jar-Datei zur Verfügung gestellt werden. Diese Datei muss dann vom Administrator in das Verzeichnis rewoo-admin/storage/<SERVERNAME>/configs/realms verschoben und über die Konfigurations-Oberfläche nach den Vorgaben des Herstellers konfiguriert werden. Anschließend kann der benutzerdefinierte Realm dann über den entsprechenden Haken auf der Konfigurationsseite aktiviert werden. Auf der Übersichtsseite sollten Sie dann das korrekt konfigurierte Realm als "Aktiviert" angezeigt bekommen. Der folgende Screenshot zeigt die Übersichtsseite mit einem aktivierten Beispiel-Realm.

Übersichtsseite der Realms

Hinweis: Das Hinzufügen von benutzerdefinierten Realms aus nicht-sicheren Quellen kann ein ernsthaftes Sicherheitsrisiko darstellen, da damit unter Umständen Unbefugten der Zugriff auf die REWOO Scope Installation ermöglicht wird.

Aktualisieren eines Realms

Gibt es eine neue Version eines benutzerdefinierten Realms, sollte über die Admin-Oberfläche immer zuerst der vorhandene Realm gelöscht und anschließend der neue Realm durch Hineinkopieren in den entsprechenden Ordner wieder frisch installiert werden. Dadurch ist sichergestellt, dass auch bei neuen oder entfernten Konfigurationsparametern der Realm korrekt verwendet werden kann.

Scope Maintenance-Server

Bevor die nachfolgend beschriebenen Einstellungen Wirkung zeigen können, muss der Scope Maintenance-Server zunächst installiert und konfiguriert werden. Dies wird unter Scope Maintenance-Server installieren erläutert. Nachdem der Maintenance-Server erfolgreich gestartet wurde, müssen die nachfolgend beschriebenen Parameter gesetzt werden, um eine Kommunikation zwischen REWOO Scope und dem Scope Maintenance-Server zu gewährleisten.
Aktivierung
maintenance.service.enabled = [ true | false ]
Über diesen Schalter kann die generelle Verwendung des Scope Maintenance-Servers verhindert bzw. erlaubt werden.
PostgreSQL-Pfad
maintenance.service.postgres.path=/usr/bin/
Absoluter Pfad zur lokalen Postgres-Installation auf dem REWOO Scope Server. Der Pfad muss für den Scope Maintenance-Server zugreifbar sein.
PostgreSQL-Port
maintenance.service.postgres.port = 5432
Port der lokalen Postgres-Installation auf dem REWOO Scope Server. Der Port muss für den Scope Maintenance-Server zugreifbar sein.
PostgreSQL-Passwort
maintenance.service.postgres.password =
Passwort zur rewoo-Datenbank auf dem REWOO Scope Server. Hier muss das Passwort für den rewoo-Datenbankbenutzer eingetragen werden. Alternativ kann das Feld auch leer gelassen werden, falls im Dateisystem eine ".pgpass"-Datei existiert und korrekt konfiguriert wurde.
Externe URL
maintenance.service.external.url = http://localhost:8081/scope-maintenance-server
Die URL über die der Scope Maintenance-Server von den Clients aus erreichbar ist. Normalerweise befindet sich der Maintenance-Server von außen betrachtet auf demselben Rechner wie REWOO Scope. Eine eventuelle Weiterleitung an eine andere, interne Adresse wird dann durch den Apache Webserver und eine entsprechende ProxyPass-Regel erreicht. localhost muss hier also durch die Adresse des REWOO Scope Servers ersetzt werden.
Interne URL
maintenance.service.internal.url = http://localhost:8081/scope-maintenance-server
Die URL über die der Scope Maintenance-Server vom REWOO Scope Server aus erreichbar ist. Standardmäßig läuft der Maintenance-Server auf demselben physikalischen Rechner wie REWOO Scope, "localhost" sollte damit die korrekte Server-Adresse sein.
JMX-Port
maintenance.service.jmx.port = 5050

Der Scope Maintenance-Server greift auf einige Funktionen des REWOO Scope Servers über das JMX-Protokoll zu. Standardmäßig wird hierfür der Port 5050 verwendet, der bereits voreingestellt ist.

JMX-Kontext-Name
maintenance.service.jmx.instance.key = [ context | name ]
Das Schlüsselwort für den Namen der Webapplikation ist seit Jetty 9 context, für Jetty 7 und 8 muss dieser Parameter auf name gesetzt werden.