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.
defaultServerLocale = [ de_DE | en_US | en_GB ]
Die Standardsprache des Servers.
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.
defaultServerTimeZone = Europe/Berlin
Die Standard-Zeitzone des Servers für die Darstellung von Datum und Zeit (siehe Date-Felder).
search.view = [ normal | extended ]
Die normale Ansicht ist ein einfaches Eingabefeld für den Suchtext. Die erweiterte Ansicht setzt konfigurierte Facettensuchen bei einem oder mehreren Elementtypen voraus. Dann bietet sich dem Anwender eine einfache Möglichkeit, in einzelnen Feldern zu suchen.
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.
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.
search.phonetic.maxCodeLength = 8
Die maximale Code-Länge ist eine positive ganze Zahl, die die maximale Länge des phonetischen Codes vorgibt. Je länger der phonetische Code sein darf desto genauer sind die angezeigten Treffer. Bei einer Code-Länge von 4 ist der Code sowohl für Cricket wie auch für Cricketgame KRKT. Beide Begriffe werden von der Suche als identisch angesehen. Bei einer Code-Länge von 8 ist der Code für Cricket KRKT, für Cricketgame aber KRKTKM. Die beiden Beriffe sind also für die Suche verschieden.
search.weight.content = 2.0
Die Gewichtung von Suchtreffern im Formularinhalt.
search.weight.name = 3.0
Die Gewichtung von Suchtreffern im Formularnamen.
search.weight.breadcrumb = 0.1
Die Gewichtung von Suchtreffern im Pfad des Formulars.
search.weight.typename = 0.05
Die Gewichtung von Suchtreffern im Namen des Formulartyps.
search.weight.metadata = 0.2
Die Gewichtung von Suchtreffern in den Metadaten von Dateien.
search.extensionDenyList = dxf
Eine Liste von Datei-Formaten, die nicht in den Suchindex aufgenommen werden. Mehrere Einträge müssen durch Komma separiert angegeben werden.
search.tika.args =
Die Arguments, mit denen der Tika-Server gestartet wird (siehe Tika-Wiki).
search.tika.jvmargs = -Xmx2g
Die JVM-Arguments, mit denen der Tika-Server gestartet wird.
search.tika.url = http://localhost
Die Url, hinter der ein Tika-Server erwartet wird. Wird kein Tika-Server gefunden, wird ein neuer Tika-Server gestartet.
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.
search.tika.downloadUrl = https://rewoo.de/downloads/tika/
URL, um eine Installationsdatei des Tika-Servers herunterzuladen.
search.tika.startupDelayMS = 1000
Der Zeitraum in Millisekunden, die nach dem Start des Tika-Servers gewartet wird, bis ein erster Verbindungsversuch unternommen wird.
search.tika.timeoutMS = 60000
Die Zeit in Millisekunden, die eine Anfrage an den Tika-Server maximal dauern darf, bevor sie abgebrochen wird.
mail.mute = [ true | false ]
Schalter, um den E-Mail-Versand global zu aktivieren bzw. zu deaktivieren.
mail.sender = REWOO Scope <info@rewoo.com>
Name und E-Mail-Adresse des Absenders.
mail.redirect.enabled = [ true | false ]
Alle an Anwender verschickte Mails werden umgeleitet an die Adressen in mail.redirect.to
mail.redirect.to =
Eine Komma-separierte Liste an Adressen, an die die E-Mails umgeleitet werden, wenn mail.redirect.enabled aktiviert ist.
mail.host = localhost
Adresse des Rechners, der die E-Mails verschickt (SMTP)
mail.port = 587
Port auf diesem Rechner, über den der SMTP-Dienst erreichbar ist.
mail.username =
Benutzername, falls eine Authentifizierung für den Versand notwendig ist.
mail.password =
Passwort, falls eine Authentifizierung für den Versand notwendig ist.
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.
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
mail.author = REWOO Scope
Name, der unter dem E-Mail-Text im Gruß steht.
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.
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.
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.
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.
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.
converter.extensionDenyList = exe,dll
Komma-separierte Liste mit Dateiendungen, die vom Datei-Konverter ignoriert werden sollen.
converter.testFiles.path =
Absoluter Pfad zum Verzeichnis, in dem Dateien liegen, die beim Test der Konverter über das Admin-Panel herangezogen werden.
converter.imagemagick.imageMagickHome = /usr/bin/
Absoluter Pfad zum Verzeichnis, in dem das Programm convert von ImageMagick liegt.
converter.imagemagick.timeout = 360000
Zeit in Millisekunden, die eine Konvertierung mit ImageMagick maximal dauern darf, bevor sie abgebrochen wird.
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).
converter.imagemagick.targetFormat = [ png | jpg | gif | bmp ]
Format, in das alle Bilder für die Anzeige in der Anwendung umgewandelt werden.
converter.imagemagick.thumbnailSize = 160
Maximale Breite und Höhe eines Thumbnails.
converter.openoffice.openOfficeHome = /opt/LibreOffice5.x/
Absoluter Pfad zum Programm-Verzeichnis von LibreOffice oder Apache OpenOffice.
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.
converter.openoffice.timeout = 600000
Zeit in Millisekunden, die eine Konvertierung mit LibreOffice maximal dauern darf, bevor sie abgebrochen wird.
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.
converter.openoffice.numberOfRestartAttempts = 2
Maximale Anzahl an Versuchen, den LibreOffice neu zu starten.
converter.openoffice.taskQueueTimeout = 30000
Maximale Zeit in Millisekunden, die ein Konvertierungsjob in der Warteschlange verbringen darf, bevor er abgebrochen wird.
converter.acme.bin = /home/rewoo/rewoo/scripts/proxy-acme.sh
Absoluter Pfad zum Skript, mit dem der ACME CAD Konverter gestartet wird.
converter.acme.fallbackCTB = monochrome.ctb
Default CTB Datei für die Konvertierung von DXF-Dateien.
converter.acme.timeoutMS = 360000
Zeit in Millisekunden, die eine Konvertierung mit dem ACME CAD Konverter maximal dauern darf, bevor sie abgebrochen wird.
etlconfig.global.protectedmode = [ true | false ]
Schalter, ob Formularfelder automatisch dem Formular hinzugefügt werden (false) oder nicht (true), wenn sie nicht existieren
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.
quartz.startDelay = 30000
Zeit zwischen dem Start von Scope und dem ersten Ausführen der Jobs in Millisekunden
quartz.queueSizePerJob = 10
Größe der Warteschlange pro Quartz-Job
jobs.AnonymizerJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.AnonymizerJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ClearTimedOutSessionsJob.cron = 0 3 * * * ? *
Cron-Trigger, Standard ist drei Minuten nach jeder vollen Stunde
jobs.ClearTimedOutSessionsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ConverterJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
jobs.ConverterJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ConverterJob.periodInDays = 2
Erstellt eine Vorschau für Dateien, die in den letzten 2 Tagen hinzugefügt wurden. Ist die Anzahl an Tagen 0, werden alle Dateien im System überprüft.
jobs.CreateChecksumsJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
jobs.CreateChecksumsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.CreateSnapshotJob.cron =
Cron-Trigger, ist nicht gesetzt, da Snapshots in der Regel von Hand erstellt werden
jobs.CreateSnapshotJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.DeleteElementValuesJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.DeleteElementValuesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ExecuteDelayedFormulaActionsJob.cron = * */5 * * * ?
Cron-Trigger, Standard ist alle 5 Minuten
jobs.ExecuteDelayedFormulaActionsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ExecuteETLJob.cron = */30 * * * * ?
Cron-Trigger, Standard ist alle 30 Sekunden
jobs.ExecuteETLJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar 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.
jobs.FindInvalidFormulasJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.FindInvalidFormulasJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RebuildAclJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RebuildAclJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RebuildSearchIndexJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RebuildSearchIndexJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RecordManagementJob.cron = 0 0 2 3 * ? *
Cron-Trigger, Standard ist jeden dritten des Monats um 2 Uhr nachts
jobs.RecordManagementJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RecreateDependenciesJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RecreateDependenciesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RecreatePrevNextJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RecreatePrevNextJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ReevaluateDatasheetsJob.cron =
Cron-Trigger, wird nicht benötigt, da gewöhnlich nur von Hand gestartet
jobs.ReevaluateDatasheetsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.ReInitializeTableViewCacheJob.cron =
Cron-Trigger, wird nicht benötigt, da gewöhnlich nur von Hand gestartet
jobs.ReInitializeTableViewCacheJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RepairByScriptJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RepairByScriptJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RepairDefaultFormulasJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.RepairDefaultFormulasJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.RestoreSnapshotJob.cron =
Cron-Trigger, ist nicht gesetzt, da Snapshots in der Regel von Hand eingespielt werden
jobs.RestoreSnapshotJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.SearchForMalwareJob.cron =
Cron-Trigger, ist nicht gesetzt, da die Scans von Hand gestartet werden
jobs.SearchForMalwareJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.UpdateIndexJob.cron = */10 * * * * ?
Cron-Trigger, Standard ist alle 10 Sekunden.
jobs.UpdateIndexJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.UpdateDayClockChangeDependenciesJob.cron = 0 0 1 * * ? *
Cron-Trigger, Standard ist jede Nacht um 1 Uhr Serverzeit
jobs.UpdateClockChangeDependenciesJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.UpdateIntradayClockChangeDependenciesJob.cron =
Cron-Trigger
jobs.UpdateIntradayClockChangeDependenciesJob.enabled = [ true | falsefalse ]
Schalter, ob dieser Job ausführbar ist.
jobs.ValidateChecksumsJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.ValidateChecksumsJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.XmlExportJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.XmlExportJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
jobs.XmlImportJob.cron =
Cron-Trigger, wird nicht benötigt, da nur von Hand gestartet
jobs.XmlImportJob.enabled = [ true | false ]
Schalter, ob dieser Job ausführbar ist.
REWOO-Schema einbinden
Für OpenLDAP hat die REWOO Software GmbH 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:
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.
Für Active Directory empfehlen wir, eine neue Gruppe 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.
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.
ldap.attribute.displayName = displayName
Attribut, welches den String enthält, der an Stelle des Login-Namens angezeigt werden soll
ldap.attribute.email = <mail>
Attribut, welches die eMail-Adresse des Benutzers enthält
ldap.attribute.username = uid
Attribut, welches den Login-Namen enthält; identisch mit dem Namen, den der Benutzer zur Anmeldung angibt
ldap.enabled = [ true | false ]
schaltet Authentifizierung über ein LDAP ein oder aus; wenn LDAP verwendet werden soll, diesen Wert auf true setzen
ldap.isAD = [ true | false ]
schaltet zwischen ActiveDirectory oder LDAP um; bei OpenLDAP bleibt der Schalter auf false
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.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
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
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
ldap.search.password = ****
setzt das Passwort für den Search-User; das wird nur benötigt, wenn das LDAP nicht anonym durchsucht werden darf
ldap.search.referral = [ follow | ignore | throw ]
Konfiguration der Weiterleitungen auf andere LDAP Server
ldap.search.scope = [ baseObject | oneLevel | wholeSubtree ]
Konfiguration des Suchumfangs
ldap.server.url = ldap://localhost
Hostname des Servers, auf dem der LDAP-Service läuft, z. B. ldap://ldap.example.comldap.server.useTLS = [ true | false ]
Schaltet TLS ein oder aus.
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.
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.
ldap.attribute.displayName = <displayName>
dieser Wert wird verwendet, um den vollen Namen des Benutzers an Stelle des Anmeldenamens anzuzeigen
ldap.attribute.email = <mail>
Über dieses Attribut wird die eMail-Adresse des Benutzers gesetzt bzw. ausgelesen
ldap.attribute.username = uid
Setzen Sie diesen Wert bei einem ActiveDirectory bitte auf sAMAccountName
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.
ldap.enabled = [false | true]
schaltet Authentifizierung über ein AD ein oder aus; wenn AD verwendet werden soll, diesen Wert auf true setzen
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
ldap.only = [true | false]
bewirkt, dass sich Benutzer der Rollen Standard und Concurrent nur über das AD anmelden können
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
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
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
ldap.search.password = ****
Passwort des Benutzers, der zum Durchsuchen des AD verwendet werden soll
ldap.search.referral = [follow | ignore | throw]
Konfiguration der Weiterleitungen auf andere LDAP Server
ldap.search.scope = [baseObject | oneLevel | wholeSubtree]
Konfiguration des Suchumfangs
ldap.server.url = ldap://localhost
Hostname des Servers, auf dem das Active Directory läuft, z. B. ldap://directory.ka.rewoo.comldap.server.useTLS = [ true | false ]
Schaltet TLS ein oder aus.
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.
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.
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.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.
saml2.debug = [ true | false ]
Ein Schalter, um Fehler ins Log zu schreiben.
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.
saml2.sp.entityid = urn:scope.rewoo.com
Id des Service Providers (muss eine URI sein)
saml2.sp.assertion_consumer_service.url = /auth/signInSaml2
relative URL, an welche der IdP die Antwort schickt
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
saml2.sp.single_logout_service.url = /auth/signOut
Relative URL, die nach dem Logout vom IdP aufgerufen werden soll.
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
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:
saml2.sp.x509cert = -----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
Zertifikat des Service Providers
saml2.sp.x509certNew = -----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
Zukünftiges Zertifikat des Service Providers, zu verwenden während des Schlüsselwechsels
saml2.sp.privatekey = -----BEGIN PRIVATE KEY-----...-----END PRIVATE KEY-----
Private Key des Service Providers
saml2.idp.entityid =
Id des Identity Providers
saml2.idp.single_sign_on_service.url =
URL, an die die Authentifizierungsanfrage geschickt wird
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.
saml2.idp.single_logout_service.url =
URL des IdP, an die Logout-Anfragen geschickt werden sollen.
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.
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.
saml2.idp.x509cert = -----BEGIN CERTIFICATE-----...-----END CERTIFICATE-----
Zertifikat des Identity Providers
saml2.idp.certfingerprint =
saml2.idp.certfingerprint_algorithm = [ sha1 | sha256 | sha384 | sha512 ]
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.
saml2.security.authnrequest_signed = [ true | false ]
Schalter, ob die Authentifizierungsanfrage vom SP signiert wird.
saml2.security.logoutrequest_signed = [ true | false ]
Schalter, ob die Abmeldeanfrage vom SP signiert wird.
saml2.security.logoutresponse_signed = [ true | false ]
Schalter, ob die Abmeldeantwort vom SP signiert wird.
saml2.security.want_messages_signed = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Daten signiert sind.
saml2.security.want_assertions_signed = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Assertions signiert sind.
saml2.security.want_assertions_encrypted = [ true | false ]
Schalter, ob der SP erwartet, dass die vom IdP empfangenen Assertions verschlüsselt sind.
saml2.security.sign_metadata =
Schalter, ob die Metadaten des SP signiert sein sollen
saml2.security.requested_authncontext = urn:oasis:names:tc:SAML:2.0:ac:classes:Password
Mehrere Werte können mit Komma getrennt angegeben werden.
saml2.security.requested_authncontextcomparison = exact
saml2.security.want_xml_validation = [ true | false ]
Schalter, ob der SP alles empfangene XML validieren soll.
saml2.security.signature_algorithm = http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
Mögliche Werte:
saml2.security.digest_algorithm = http://www.w3.org/2001/04/xmlenc#sha256
Mögliche Werte:
saml2.security.reject_deprecated_alg = [ true | false ]
Schalter, ob alte Algorithmen (sha1) zurückgewiesen werden sollen.
saml2.parsing.trim_name_ids = [ true | false ]
Schalter, ob beim Parsen die Namens-IDs entgegen der SAML-Spezifikation getrimmt werden sollen.
saml2.parsing.trim_attribute_values = [ true | false ]
Schalter, ob beim Parsen die Attributwerte entgegen der SAML-Spezifikation getrimmt werden sollen.
saml2.organization.name = REWOO Software GmbH
saml2.organization.displayname = REWOO Scope
saml2.organization.url = https://rewoo.de
saml2.organization.lang = en_US
saml2.contacts.technical.given_name = REWOO Administrator
saml2.contacts.technical.email_address = administration@rewoo.com
saml2.contacts.support.given_name = REWOO Support
saml2.contacts.support.email_address = support@rewoo.com
mobile.global.css =
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für den gesamten HTML-Client festlegen. 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.
mobile.global.javascript =
Mit diesem Parameter lässt sich zusätzliches JavaScript für den gesamten HTML-Client festlegen.
mobile.global.meta =
Mit diesem Parameter lassen sich zusätzliche Meta-Tags für den gesamten HTML-Client festlegen.
mobile.calendar.css =
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für die Kalender festlegen.
mobile.calendar.javascript =
Mit diesem Parameter lässt sich zusätzliches JavaScript für die Kalender festlegen.
mobile.kanban.css =
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für die Kanban-Tafeln festlegen.
mobile.kanban.javascript =
Mit diesem Parameter lässt sich zusätzliches JavaScript für die Kanban-Tafeln festlegen.
mobile.tableview.css =
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für die Tabellenansichten festlegen.
mobile.tableview.javascript =
Mit diesem Parameter lässt sich zusätzliches JavaScript für die Tabellenansichten festlegen.
mobile.taskview.css =
Mit diesem Parameter lassen sich zusätzliche CSS-Definitionen für die Aufgaben-Ansichten festlegen.
mobile.taskview.javascript =
Mit diesem Parameter lässt sich zusätzliches JavaScript für die Aufgaben-Ansichten festlegen.
visualization.clusterByType = 15
Wenn die Anzahl der Objekte, Prozesse oder Aspekte desselben Typs größer ist als der angegebene Wert, werden die Elemente gruppiert.
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.
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.
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.
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.
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.
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.
datasheet.onTabSwitch = [ discard | save ]
Mit diesem Schalter wird die Strategie gewählt, was passiert, wenn Werte auf dem Formular geändert wurden und der Anwender den Tab wechselt.
datasheet.validate.onLoad.enabled = [ true | false ]
Ist dieser Schalter auf true gesetzt, werden die Werte nach dem Laden des Datenblatts überprüft, z.B. ob Pflichtfelder ausgefüllt sind.
datasheet.validate.requiredWarning.enabled = [ true | false ]
Ist dieser Schalter auf true gesetzt, wird bei nicht ausgefüllten Pflichtfeldern ein Fehlertext gezeigt, ansonsten werden diese Felder nur rot umrandet.
datasheet.fileLinks.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.
datasheet.richtext.buttons = Undo,Redo,Bold,Italic,Underline,NumberedList,BulletedList,Outdent,Indent,JustifyLeft,JustifyCenter,JustifyRight,JustifyBlock,FontSize,TextColor
Liste mit Schaltflächen von WYSIWYG-Editoren in der Anwendung. Einstellungen an RichText-Feldern übersteuern diese Liste. Mögliche Schaltflächen sind: Cut, Copy, Paste, Undo, Redo, Bold, Italic, Underline, Strike, Subscript, Superscript, NumberedList, BulletedList, Outdent, Indent, JustifyLeft, JustifyCenter, JustifyRight, JustifyBlock, Font, FontSize, TextColor, BGColor, Format, Source, About
datasheet.richtext.resizable = [ false | true ]
Legt fest, ob WYSIWYG-Editoren in der Größe verändert werden können. Einstellungen an RichText-Feldern übersteuern diesen Schalter.
datasheet.signature.forceInvalidationOnValueChange = [ false | true ]
Ist der Schalter auf false und werden durch Wertänderungen Unterschriften ungültig, erscheint ein Dialog, ob der Anwender fortfahren möchte.
datasheet.table.buttonPosition = [ 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).
datasheet.breadcrumb.enabled = [ false | true ]
Legt fest, ob über dem Datenblatt eine Breadcrumb angezeigt wird. Da alle Datenblätter in eine Baumstruktur eingehängt sind, zeigt die Breadcrumb alle Elternelemente.
datasheet.footer.enabled = [ false | true ]
Legt fest, ob unterhalb des Datenblatts Informationen wie der Versionszeitstempel, der Autor der letzten Änderung und der Status angezeigt werden.
datasheet.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.
datasheet.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.
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.
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.
mobile.tableview.filter.storable = [ false | true ]
Über diesen Schalter kann das Speichern von Filtern für Tabellenansichten ermöglicht werden.
mobile.tableview.filter.maxInitialColumns = 5
Ist die Tabellenansicht ungefiltert, werden im Filterdialog für die n Spalten vom linken Tabellenrand Filtereingaben angezeigt.
mobile.tableview.imagesize = 60
Maximale Breite und Höhe der Thumbnails in Pixel, wenn in der Tabellenansicht ein Image-Feld als Spalte verwendet wird.
tableview.groups.expand = [ none | first | all ]
Bestimmt, welche Gruppen nach dem Laden der Liste der Tabellenansichten geöffnet sind.
tableview.chart.defaultColor = #0069c0
Diese Farbe ist die Standardfarbe für Balken in einem Chart über einer Tabellenansicht.
tableview.chart.defaultColors = #2196F3,#ff9800,#4caf50,#f44336,#9c27b0,#795548,#6ec6ff,#ffc947,#80e27e,#ff7961,#d05ce3,#a98274,#0069c0,#c66900,#087f23,#ba000d,#6a0080,#4b2c20
Diese Liste an Farben wird für Balken in einem Chart über einer Tabellenansicht verwendet, wenn diese Balken segmentiert werden. Die Werte werden sortiert und die Farben in der angegebenen Reihenfolge entsprechend zugeordnet. Sollten zu wenig Farben definiert sein, wird nach dem Ende der Liste wieder vorne in der Liste angefangen.
tableview.chart.emptyColor = #707070
Diese Farbe wird für Balken ohne Wert in einem Chart über einer Tabellenansicht verwendet.
tableview.chart.redColor = #cc2828
Dieses Rot wird für Ampeln und Bedingungen in einem Chart über einer Tabellenansicht verwendet.
tableview.chart.yellowColor = #ffc400
Dieses Gelb wird für Ampeln und Bedingungen in einem Chart über einer Tabellenansicht verwendet.
tableview.chart.greenColor = #53ba50
Dieses Grün wird für Ampeln und Bedingungen in einem Chart über einer Tabellenansicht verwendet.
tableview.bulkChange.date = [ input | offset ]
Bei input wird ein festes Datum für alle ausgewählten Zeilen gesetzt, bei offset werden alle Datumswerte um die angegebene Zeitspanne verschoben. Um Massenänderungen in einer Tabellenansicht zu aktivieren, muss das Zugriffsrecht der entsprechenden Spalte auf Massenänderung gesetzt werden und die Option 'Zeilen selektierbar' aktiviert werden.
calendar.defaultColor = #ff7961
Diese Farbe ist die Standardfarbe für Termine in einem Kalender.
calendar.colors = #6ec6ff,#ffc947,#80e27e,#ff7961,#d05ce3,#a98274,#2196F3,#ff9800,#4caf50,#f44336,#9c27b0,#795548
Diese Liste an Farben wird für die Kategorien in Kalendern verwendet. Die Kategorien werden alphabetisch sortiert und die Farben in der angegebenen Reihenfolge entsprechend zugeordnet. Sollten zu wenig Farben angegeben sein, wird nach dem Ende der Liste wieder vorne in der Liste angefangen.
calendar.emptyColor = #cccccc
Diese Farbe wird für Termine ohne Kategorie verwendet.
mobile.navigator.style = [ finder | legacy ]
Die Einstellung finder
aktiviert eine Darstellung der Hierarchie in Listen wie sie auch im Finder von macOS verwendet wird. Mit legacy erhält man den alten Navigator, der nur die aktuelle Ebene und den Pfad anzeigt.
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.
mobile.navigator.visibleStates = IN_PLANNING,ACTIVE,ON_HOLD,CLOSED
Liste der Status, die im HTML-Navigator für normale Anwender sichtbar sein sollen.
mobile.lightbox.forcePDFJS = [ false | true ]
Legt fest, ob die Verwendung von pdf.js erzwungen wird oder ob der Browser-eigene PDF-Renderer verwendet wird, sofern dieser vorhanden ist.
mobile.noRights.redirect = [ home | navigator | search | tables ]
Dieser Schalter bestimmt, zu welcher Ansicht der Anwender weitergeleitet wird, wenn er ein Datenblatt aufruft, aber keine Berechtigung dazu hat.
datasheet.connectionButton.noRights = [ ask | redirect ]
Dieser Schalter bestimmt was passiert, wenn der Anwender sich selbst mit einem ConnectionButton die Rechte am aktuellen Datenblatt entzieht. Entweder erscheint ein Dialog, der die Situation erklärt und die Weiterleitungen als Button anbietet, oder der Anwender wird direkt weitergeleitet.
account.list.lengthMenu = [10,25,50,100]
Diese Liste wird dem Anwender als Dropdown angeboten.
account.list.pageLength = 10
Diese Länge der Account-Liste wird beim ersten Öffnen verwendet. Der Anwender kann die Anzeige über das Längenmenü verändern.
loginTimeout = 1800
Zeit in Sekunden bis der Anwender wegen Inaktivität abgemeldet wird.
feature.bookmarks.enabled = [ true | false ]
Schalter, ob das Erstellen von Bookmarks zur Verfügung steht.
feature.calendar.enabled = [ true | false ]
Schalter, ob das Verwenden von Kalendern zur Verfügung steht.
feature.imageEditor.enabled = [ false | true ]
Legt fest, ob Bilddateien direkt in der HTML-Oberfläche von Scope bearbeitet werden können.
feature.kanban.enabled = [ true | false ]
Schalter, ob das Verwenden von Kanban zur Verfügung steht.
feature.meetings.enabled = [ true | false ]
Schalter, ob das Erstellen von Meetings zur Verfügung steht.
feature.messages.enabled = [ true | false ]
Schalter, ob der Versand von Scope-Nachrichten zur Verfügung steht. Wenn der Versand von Nachrichten ausgeschaltet ist, werden die entsprechenden Programmteile wie Inbox und Konfiguration ausgeblendet.
feature.multitenancy.enabled = [ true | false ]
Schalter, ob die Aufteilung in mehrere Mandanten in der Account-Verwaltung zur Verfügung steht.
feature.saml2.enabled = [ true | false ]
Schalter, ob Saml2 als Authentifizierungsverfahren zur Verfügung steht.
feature.taskView.enabled = [ true | false ]
Schalter, ob das Verwenden von Projektansichten zur Verfügung steht.
message.mute = [ true | false ]
Schalter, um den Versand von Scope-Nachrichten global zu aktivieren bzw. zu deaktivieren.
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.
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.
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.
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.
file.hash.algorithm = [ MD2 | MD5 | SHA1 | SHA224 | SHA256 | SHA384 | SHA512 | SHA3_224 | SHA3_256 | SHA3_384 | SHA3_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 SHA256. Um die SHA3-Algorithmen zu verwenden, muss mindestens Java 9 verwendet werden.
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.
auth.login.type = [ username | email ]
Dieser Schalter gibt an, ob Anwender sich mit dem Namen oder mit ihrer E-Mail-Adresse anmelden.
auth.directAdmin.enabled = [ false | true ]
Dieser Schalter gibt an, ob Accounts vom Typ Power oder Admin direkten Zugriff auf die administrativen Funktionen Designer, Accountverwaltung und Admin-Panel haben, oder ob dieser Zugriff für die aktuelle Sitzung erst aktiviert werden muss. Ist der direkte Zugriff ausgeschaltet, sieht die Anwendung aus wie für normale Anwender.
auth.ignoreRequestLocale = [ false | true ]
Dieser Schalter gibt an, ob die vom Client übermittelte Spracheinstellung beim Login-Bildschirm beachtet werden soll oder nicht. Wird sie ignoriert, gilt die Einstellung in defaultUserLocale.
auth.constLoginTimeInMs = 300
Die Zeit zur Überprüfung des Passworts wird künstlich auf diese Dauer ausgedehnt, um Angriffe zu erschweren.
auth.password.generate.length = 16
Die Länge von Passwörtern, die automatisch generiert werden: in den Einstellungen, beim Anlegen neuer Accounts, wenn der Anwender ein neues Passwort beantragt oder der Administrator die Passwörter der Accounts zurücksetzt (immer vorausgesetzt, dass sich die Accounts nicht über AD, LDAP oder SAML authentifizieren).
auth.password.minLength = 8
Die minimale Länge von Passwörtern, die der Anwender setzen kann.
auth.sessionCookie.secure = [ false | true ]
Wenn der Anwender sich erfolgreich angemeldet hat, wird ein Session-Cookie gesetzt. Mit diesem Schalter wird festgelegt, ob das Cookie ausschließlich bei verschlüsselten https-Verbindungen übertragen werden soll (true) oder immer (false). Dieser Schalter sollte auf true stehen, um man-in-the-middle Angriffe zu verhindern.
auth.sessionCookie.httpOnly = [ false | true ]
Wenn der Anwender sich erfolgreich angemeldet hat, wird ein Session-Cookie gesetzt. Mit diesem Schalter wird festgelegt, ob das Cookie über Javascript ausgelesen werden kann (false) oder nicht (true). Dieser Schalter sollte auf true stehen, um Cross-Site Scripting (XSS) Angriffe zu verhindern.
auth.sessionCookie.sameSite = [ STRICT | LAX | NONE ]
Wenn der Anwender sich erfolgreich angemeldet hat, wird ein Session-Cookie gesetzt. Mit diesem Schalter wird festgelegt, ob das Cookie ausschließlich zum Server übertragen werden soll, der das Cookie erzeugt hat (STRICT), ob das Cookie auch beim navigieren von Links übertragen werden soll (LAX), oder ob es keine Restriktionen bei Cross-Site-Requests gibt (NONE). Dieser Schalter sollte auf STRICT stehen, um maximale Sicherheit der Anwender-Sitzungen zu gewährleisten.
auth.sessionCookie.name = JSESSIONID
auth.mfa.enabled = [ true | false ]
Mit diesem Schalter kann die Zwei-Faktor-Authentifizierung für alle Anwender deaktiviert werden.
auth.mfa.secret.length = 54
Bei der Zwei-Faktor-Authentifizierung teilen der Server und eine App auf einem mobilen Gerät des Anwenders ein Geheimnis. Mit der aktuellen Zeit und diesem Geheimnis können beide Seiten das aktuell gültige Einmal-Passwort errechnen.
auth.mfa.code.digits = 6
Die Anzahl der Ziffern des Einmal-Passworts.
auth.mfa.code.period = 60
Die Zeit in Sekunden, die das Einmal-Passwort gültig ist.
auth.mfa.code.hash = [ SHA1 | SHA256 | SHA512 ]
Bei der Zwei-Faktor-Authentifizierung teilen der Server und eine App auf einem mobilen Gerät des Anwenders ein Geheimnis. Mit der aktuellen Zeit und diesem Geheimnis können beide Seiten das aktuell gültige Einmal-Passwort errechnen.
auth.redirect = [ basic | saml ]
Wenn der Anwender keine gültige Session besitzt, wird er entweder auf die Anmeldemaske oder auf die SAML-Anmeldung umgeleitet.
account.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.
account.login.onlyObjectNodes = [ true | false ]
Dieser Schalter gibt an, ob Login-Knoten nur unterhalb von Objekten vorkommen dürfen oder überall.
account.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.
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.
clamav.bin = /usr/bin/clamscan
Absoluter Pfad auf den Malware-Scanner ClamAV.
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.
datasheet.legacy_prev_next.enabled = [ true | false ]
Seit Version 10.7.2 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. 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 Software GmbH bereit gestellt werden.
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.
app.displayName = REWOO Scope
Der hier konfigurierte Name wird überall benutzt, um die Software zu benennen.
app.publicUrl = https://www.rewoo.de/rewoo
URL, über die die Anwendung über das Internet zu erreichen ist. Diese Url wird z.B. für WebDAV-Links in der Anwendung oder für Links in E-Mails verwendet.
app.logo.path =
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.
app.logo.maxWidth = 250
Ist das Bild breiter als die hier angegebene Breite, wird das Bild unter Beibehaltung des Seitenverhältnisses verkleinert. Ist das Bild schmaler, wird es nicht vergrößert. Die Standardeinstellung beträgt 250 Pixel.
app.logo.maxHeight = 250
Ist das Bild höher als die hier angegebene Höhe, wird das Bild unter Beibehaltung des Seitenverhältnisses verkleinert. Ist das Bild weniger hoch, wird es nicht vergrößert. Die Standardeinstellung beträgt 250 Pixel.
app.logo.navmenu.enabled = [ false | true ]
Aktiviert die Anzeige des Logos am unteren Ende des Seitenmenüs.
app.disclaimer.enabled = [ false | true ]
Aktiviert die Anzeige eines Dialogs mit Informationen für den Anwender direkt nach der Anmeldung. Der Anwender kann die zukünftige Anzeige unterdrücken. Wird der Text geändert, werden diese Markierungen für alle Anwender entfernt und der Dialog erscheint erneut.
app.disclaimer.title = Disclaimer
Titel des Dialogs mit Anwenderinformationen.
app.disclaimer.text =
Text des Dialogs mit Anwenderinformationen.
app.login.background = [ dark | light | custom ]
Die Hintergrundfarbe des Anmeldebildschirms kann zwischen dunkel und hell umgeschaltet werden. Die Schriftfarbe wird entsprechend angepasst. Wird der Wert auf custom gestellt, können mit den beiden Schaltern app.login.color und app.login.backgroundColor die Farben selbst gewählt werden.
app.login.color = #1A365B
Die Schriftfarbe des Anmeldebildschirms, sofern app.login.background auf custom steht.
app.login.backgroundColor = #fcfcfc
Die Hintergrundfarbe des Anmeldebildschirms, sofern app.login.background auf custom steht.
webhooks.enabled = [ false | true ]
Aktiviert die Möglichkeit, mittels Webhooks andere Dienste an Scope zu koppeln.
prefetch.elements.minChangedElementsPerTle = 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.
prefetch.userRights.maxConnectionsPerNode = 50
Bei Änderungen am Berechtigungsgraphen werden normalerweise alle Rechte bezogen auf einen Knoten auf einmal aus der Datenbank gelesen. In ungünstigen Fällen werden damit viele Daten unnötig ausgelesen. Wenn z.B. nur für einen Anwender eine neue Beziehung hinzugefügt wird, sind die Rechte auf allen anderen Beziehungen irrelevant. Deshalb kann es für manche Modellierungen sinnvoll sein, diesen Wert zu reduzieren, weil die meisten Rechte nur individuell vergeben werden und nicht über Rollen-Knoten.
prefetch.values.minEntriesPerForm = 1
Bei Berechnungen über die Formelsprache werden normalerweise alle Werte von referenzierten Formularen aus der Datenbank gelesen. Bei sehr großen Formularen kann dies zu sehr teuren Leseoperationen führen. Dieser Schalter legt fest, ab wie vielen referenzierten Feldern das ganze Datenblatt gelesen wird. Ist dieser Schalter auf 1, werden immer alle Werte gelesen.
prefetch.dependencies.minEntriesPerForm = 10000
Bei Berechnungen über die Formelsprache werden normalerweise nur die Abhängigkeiten zu den referenzierten Feldern aus der Datenbank gelesen. Wenn die Formulare sehr viele Felder enthalten und diese über Formeln stark mit einander verknüpft sind, kann es sinnvoller sein, alle Abhängigkeiten des Formulars auf einmal auszulesen.
tableview.cachevalues.enabled.ids = 14[,15,16,...]
Tabellenansichten können unter Umständen sehr viele Datenblätter (und damit auch Werte) umfassen. Um den Zugriff auf besonders große (und langsame) Ansichten zu beschleunigen, können mit diesem Konfigurationsparameter die REWOO Scope internen IDs der Tabellenansichten hinterlegt werden, für welche dauerhaft alle Werte im Speicher vorgehalten werden sollen. Nach dem Hinzufügen der IDs werden die entsprechenden Werte automatisch ausgelesen und im Speicher abgelegt. Dabei kümmert sich das System auch vollautomatisch darum, beim Hinzufügen neuer Elemente, dem Ändern bestehender Werten oder bei Anpassungen der Definitionen der Tabellenansichten den Cache zu synchronisieren. Die IDs der Tabellenansichten ermittelt man am Einfachsten, in dem man die jeweilige Ansicht im HTML-Client öffnet und sie dort aus der URL im Browser ausliest. So hat eine fiktive Tabellenansicht mit dem Link https://eintestsystem/test/mobile/tableViews/14
die ID 14, weil die URL mit der Zahl 14 endet.maintenance.service.enabled = [ true | false ]
Über diesen Schalter kann die generelle Verwendung des Scope Maintenance-Servers verhindert bzw. erlaubt werden.
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.
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.
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.
.pgpass
-Datei hinterlegt werden. Nähere Informationen zur Verwendung von .pgpass finden Sie in der offiziellen PostgreSQL-Dokumentation.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.
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.
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.
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.