Update auf DLE 2.1

Die DLE 2.1 Aktualisierung bietet eine modernere Entwicklungsumgebung, Unterstützung für höhere Sicherheitsstandards, verbesserte Kommandos, Datenbankerweiterungen, Geschwindigkeitsoptimierungen sowie aktualisierte Javabibliotheken (JAR-Dateien).

Wichtige Hinweise:

  • Die DLE 2.1 Aktualisierung kann nicht rückgängig gemacht werden.

  • Diese Anleitung bezieht sich auf eine beispielhaft installierte DLE unter C:\DLE (Windows) oder /opt/dle/ (Linux). Passen Sie gegebenenfalls die Pfade an.

 

 

1. Vorbereitung

1.1 Voraussetzungen

  1. Installierte DLE

    1. DLE 2.0.5 oder höher

  2. Datenbank

    1. Microsoft SQL Server 2008 R2 oder früher wird nicht vollständig unterstützt. Grund: VARCHAR-Spalten können nicht ohne DROP-Anweisung vergrößert werden.

  3. Dateien

    1. Datei update_DLE_V2.0_V2.1.zip (Download VF Developers Portal)
    2. Datei update_DLE_v2.1.0...zip (Download VF Developers Portal)
    3. Datei JDK 8

1.2 Installiertes JDK ermitteln

Windows

  1. C:\DLE\java\bin\java -version

Linux

  1. /opt/DLE/java/bin/java -version (alternativ im bin-Verzeichnis mit ./java -version)

 

1.3 Passwörter vergeben

Wenn der Security Service vor dem Update nicht in der Session-Config aktiviert ist, müssen Sie nach dem Aktivieren, die Passwörter für Ihre administrativen Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass Probleme auftreten nach dem Update beim Einloggen.

1.4 (optional) DLE-Daten sichern

Wir empfehlen eine Datensicherung vor der Aktualisierung. Diese sollte die DLE-Datenbank sowie die DLE-Anwendungsdateien beinhalten.

1.5 (optional) Alte Brickrevisionen löschen

Siehe dle.vision-flow.at/technische-details/technik/dle-java-api/reorganisation-von-bricks/

1.6 DLE-Server stoppen

Deaktivieren Sie Dienste, welche DLE-Server überwachen und automatisch starten.

Windows mit Windowsdienst "dleservice"

  1. DLE-Server herunterfahren
  2. Windowsdienst (üblicherweise "DLE_PROD") beenden

Windows & Linux

  1. DLE Serveradministration
  2. "Shutdown Server"
  3. "Shutdown"

1.7 Andere Benutzer abmelden

Abhängig vom Betriebssystem sollten Sie andere Benutzerkonten auf dem betroffenen DLE-Server-Computer abmelden, um gesperrte Ressourcen zu verhindern.

Windows: Taskmanager > Benutzer > andere "Abmelden"

 

1.8 Prüfung des JDBC Driver unter Oracle

Kontrollieren Sie unter Oracle in der Sessionconfig.xml folgende Property:

<Property name="JDBCDriver" value="oracle.jdbc.driver.OracleDriver" />

Fügen Sie es in der SessionConfig hinzu, falls dieser Eintrag nicht vorhanden ist.

 

 

2. Aktualisierung JDK 8

2.1 JDK aktualisieren

DLE 2.1 erfordert JDK 8. Aktualisieren Sie Ihr DLE JDK im Verzeichnis DLE\java. Verwenden Sie mindestens JDK 1.8.0_191, da es bei älteren JDK-Versionen Kompatibilitätsprobleme mit SSL-TLS-Verschüsselung sowie Rootzertifikatanbietern gibt. Wir empfehlen die allerneueste JDK-Patchversion, da diese die beste Sicherheit und Leistung bietet.

2.1.1 Corretto JDK 8 (empfohlen)

Download: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html

Extrahieren unter Linux:

Shell tar -zxvf amazon-corretto...tar.gz

Shell tar -xvf amazon-corretto...tar

2.1.2 Oracle JDK 8

Download: https://www.oracle.com/java/technologies/downloads/

2.1.3 OpenJDK 8

Download: https://openjdk.java.net/

2.2 JDBC-Datenbanktreiber aktualisieren

Abhängig von Ihrer Datenbankversion müssen Sie gegebenenfalls die JDBC-Datenbanktreiber aktualisieren, falls diese nicht zwischen Java 6 (DLE 2.0) und Java 8 (DLE 2.1) kompatibel sind. Dies betrifft u.a.:

 

DatenbankJDK 6 TreiberJDK 8 TreiberAnmerkung
Microsoft SQL Serversqljdbc.jarsqljdbc42.jar
MySQLmysql-connector-java-5.1.48.jarmysql-connector-java-5.1.48.jar
Oracleojdbc6.jarojdbc8-19.8.0.0.jar

 

 

3. Aktualisierung DLE 2.1 Stammkomponenten

Diese Aktualisierung ersetzt die DLE 2.0 Stammkomponenten durch jene der DLE 2.1. Dieser Vorgang muss nur einmalig ausgeführt werden.

3.1 Bereitstellen

Kopieren Sie die Datei update_DLE_V2.0_V2.1.zip nach DLE\install\updates.

3.2 Installieren

Führen Sie folgende Kommandos in der Kommandozeile (Shell) aus.

Windows

  1. Ausführen > cmd > Rechtsklick > Als Administrator ausführen
  2. cd C:\DLE\scripts
  3. ..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -server

Linux

  1. cd /opt/DLE/scripts
  2. ../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -server

 

 

4. Aktualisierung DLE 2.1 Datenbank

Sie können die DLE-Datenbank sofort aktualisieren (empfohlen) oder eine SQL-DDL-Datei generieren und diese manuell mit einer DBMS-Software ausführen.

4.1 Datenbankspezifische Anpassungen

4.1.1 Microsoft SQL Server 2008 R2 oder älter

Abhängig von der DLE-Standarddatenbank, die im defaultConnector hinterlegt ist, müssen Sie ggfls. bestimmte Verbindungsparameter setzen.

4.1.1.1 DLESessionConfig.xml

<Service name="defaultConnectorMSSql">

    <Property name="DatabaseRelease" value="2008" />

</Service>

4.1.1.2 Default-Constraints entfernen

Führen Sie folgenden SQL-DDL-Skript aus, um die Default-Constraints zu entfernen. Dieser Vorgang ist erforderlich, damit die VARCHAR-Spaltenlängen vergrößert werden können.

select 'ALTER TABLE ' + TAB.NAME + ' DROP CONSTRAINT ' + OBJ.NAME + ';' as DDL
from dbo.sysobjects OBJ
inner join sys.tables TAB on OBJ.PARENT_OBJ = TAB.OBJECT_ID
where OBJ.XTYPE = 'D'
order by 1

4.2a Variante 1: Datenbank sofort aktualisieren (empfohlen)

Die DLE aktualisiert die Datenbank sofort von Version 2.0 auf 2.1. Führen Sie folgende Kommandos in der Kommandozeile (Shell) aus.

Log-o intergrierte DLE

Bei einer Log-O integrierten DLE muss man vor der Aktualisierung in der Datei DLE/client/SessionConfig.xml den im DefaultConnector den "User" dbuser mit sped ersetzen. Nach der Datenbankaktualisierung müssen Sie den Wert sped wieder auf dbuser zurücksetzen.

Windows

  1. Ausführen > cmd > Rechtsklick > Als Administrator ausführen
  2. cd C:\DLE\scripts
  3. ..\java\bin\java -Ddle.configfile="..\client\DLESessionConfig.xml" -jar ..\dlestart.jar -script defaultConnector -db ..\install\DLEUpgradeDatabase_V2.0_V2.1.xml

Linux

  1. cd /opt/DLE/scripts
  2. ../java/bin/java -Ddle.configfile="../client/DLESessionConfig.xml" -jar ../dlestart.jar -script defaultConnector -db ../install/DLEUpgradeDatabase_V2.0_V2.1.xml

4.2b Variante 2: SQL-DDL-Datei generieren

Diese Methode ändert die Datenbank nicht, sondern generiert eine *.sql-Datei im DLE-Tempverzeichnis. Führen Sie folgende Kommandos in der Kommandozeile (Shell) aus.

Windows

  1. Ausführen > cmd > Rechtsklick > Als Administrator ausführen
  2. cd C:\DLE\scripts
  3. ..\java\bin\java -Ddle.configfile="..\client\DLESessionConfig.xml" -jar ..\dlestart.jar -script defaultConnector -save ..\temp\dle-update.sql ..\install\DLEUpgradeDatabase_V2.0_V2.1.xml

Linux

  1. cd /opt/DLE/scripts
  2. ../java/bin/java -Ddle.configfile="../client/DLESessionConfig.xml" -jar ../dlestart.jar -script defaultConnector -save ../temp/dle-update.sql ../install/DLEUpgradeDatabase_V2.0_V2.1.xml

4.3 Datenbank-Hotfixes

Unter bestimmte DLE-Versionen und Datenbankversionen müssen SQL-Hotfix-Skripte ausgeführt werden:

4.3.1 DLE 2.1.0.008 - 2.1.0.012 und Oracle 8 - 21:

Führen Sie das Skript aus:

update DLEFUN set RIGHTFIELD = ' ', ORGTYPE = ' ', MODIFIEDDATE = sysdate, MODIFIEDUSER = 'admin' where RIGHTFIELD is null or ORGTYPE is null;

 

 

5. Aktualisierung DLE 2.1 Anwendung

Eine Aktualisierung auf die aktuelle DLE 2.1 Version erfolgt mittels bereitgestelltem DLE-Update-ZIP.

Bereitstellen

Kopieren Sie die neueste Datei update_DLE_v2.1.X.XXX_YYYYMMDD.zip nach DLE\install\updates.

Installieren

Installieren Sie die DLE 2.1 Aktualisierung.

Windows

  1. Ausführen > cmd > Rechtsklick > Als Administrator ausführen
  2. cd DLE\scripts
  3. ..\java\bin\java -Ddle.start.debug=true -jar ..\dlestart.jar -update

Linux

  1. cd DLE/scripts
  2. ../java/bin/java -Ddle.start.debug=true -jar ../dlestart.jar -update

 

 

6. Optionale Maßnahmen

Die folgenden Maßnahmen haben keinen unmittelbaren Bezug zum Aktualisierungsvorgang der DLE 2.1. Wir empfehlen dennoch, die folgenden Maßnahmen zu prüfen.

6.1 Maximal zugesicherter Arbeitsspeicher

Wir empfehlen, in DLE/startupParams.xml den maximal zugesicherten Arbeitsspeicher auf mindestens 2 GB zu erhöhen.

<param value="Xmx2G" />

6.2 FileDirectories erweitern auf DLE-Installationspfad

DLE 2.1 bietet neue Funktionen und Assistenten, welche Schreibzugriff auf das DLE-Installationsverzeichnis erfordern. Wir empfehlen, den Schreibzugriff auf das DLE-Installationsverzeichnis zu erweitern. Der erste Parameter sollte "~/temp" sein. "~" entspricht dem DLE-Instllationsverzeichnis.

<Property name="FileDirectories" value="~/temp;~/;~"/>

6.3 MaxWorker erhöhen

Wir empfehlen, die maximalen Anzahl der DLE-internen Worker in DLE/server/Serverconfig.xml auf die Anzahl der zeitgleich angemeldeten Anwender plus die Anzahl der Queues - typischerweise drei - plus einer Reserve von fünf, zu setzen. Dieser Wert ist abhängig von der Belastung.

Empfohlener Wert, wenn Sie bis zu 20 Mitarbeiter im Intranet haben:

<Property name="MaxWorkers" value="30" />

Empfohlener Wert, wenn Sie öffentlich verfügbare Webapps betreiben:

<Property name="MaxWorkers" value="100" />

6.4 Security Service aktivieren

Wir empfehlen, den DLE Security Service zu aktivieren. Dieser erfordert die Authentifizierung von DLE-Benutzern mit Kennwort. Sie sollten administrativen Benutzerkonten die Benutzergruppe "DLE Admin" zuweisen.

        <Service name="SecurityService" class="at.visionflow.dle.engine.security.DLESecurityService">
            <Properties>
                <Property name="ByConflictForbidden" value="True" />
                <Property name="NotDefinedRightsAllowed" value="False" />
                <Property name="WithoutSecurity" value="False" />
                <Property name="PublishDLEEnvironment" value="True" />
            </Properties>
        </Service>

Vor dem Update müssen Sie die Passwörter für Ihre administrative Benutzerkonten einmalig neu setzen. Dadurch vermeiden Sie, dass es Probleme auftreten nach dem Update beim Einloggen.

6.5 Logger Service deaktivieren

Wir empfehlen, den DLE Logger Service - nicht zu verwechseln mit dem DLE System Logger Service - zu deaktivieren. Sie können das betreffend XML-Element auskommentieren oder entfernen.

         <Service name="LoggerService" class="at.visionflow.dle.engine.logging.DLELog4jLoggerService">
            <Properties>
                <Property name="level" value="warn" />
            </Properties>
        </Service>

6.6 "Testsystem"-Flag in Session-Config

In der Session-Config kann das Property <Property name="TestSystem" value="true" /> gesetzt werden, welches man die Systeme (z.b. Test- und Produktivsystem) unterscheiden kann.

6.7 ZIP-Komprimierungsverhältnis (Sicherheitsrichtlinie)

Ein Mindestkomprimierungsverhältnis schützt in der DLE ZIP- und Excel-Dateien vor potenziellen Sicherheitslücken wie ZIP-Bomben.

Dafür wird im startupParams.xml <param value="Ddle.zip.minInflateRatio=0.005" /> eingetragen.

7. Abschluss

Die DLE-Softwareaktualisierung ist abgeschlossen. Starten Sie den DLE-Server wieder im regulären Betrieb.

7.1 DLE-Autostartdienst reaktivieren

Windows mit Windowsdienst "dleservice":

  1. Windowsdienste öffnen
  2. Dienst "DLE_PROD" (o.ä.) starten

Windows ohne Windowsdienst "dleservice":

  1. C:\DLE\scripts\startserver.bat

Linux mit "systemctl":

  1. cd /opt/dle/scripts
  2. systemctl start dle

Linux via "nohup":

  1. cd /opt/dle/scripts
  2. nohup ./startserver.sh &

7.2 Metadatenvalidierung

Führen Sie in der DLE Online IDE den Menüpunkt Werkzeuge > Metadatenvalidierung aus. Wählen Sie das Paket DLE und kontrollieren Sie, ob die Datenbankaktualisierung fehlerfrei war.

7.3 Browsercache

In manchen Fällen gibt es Browsercache-Probleme nach einer DLE Softwareaktualisierung. Drücken Sie in diesem Fall STRG+SHIFT+R (Chrome, Firefox, Edge) oder STRG+F5 (Internet Explorer), um den Browsercache erzwungen zu aktualisieren.

7.4 Bricks neu Kompilieren

Führen Sie in der DLE Online IDE den Menüpunkt Werkzeuge > Toolbricks >  DLETools_DLE2_1_Update_BrickCompilierung aus.

7.5 Pakete aktualisieren

Bestimmte DLE-Pakete sind zwischen DLE 2.0 und 2.1 inkompatibel. Diese müssen erneut installiert werden.

PaketKompatibel?Empfohlene Aktion
CBRneinPaket deinstallieren (löschen Sie das Verzeichnis DLE\packages\CBR)
DLECHARTja
DLEGENja
DPEja
DTMSja
DVIEWneinPaket erneut installieren
DWAja
EDIja
FLEETBOARD3ja
MONITORINGja
OFFICE_INTEGRATIONja
TRULIOOja
VFXFORMja
VFXOESja
VFXPDFja
VFXWPSjaAb der Version 1.8.5 müssen Sie jene Bricks, welches das Kommando "VFXWPS Portal" beinhalten, neu kompilieren
WEBja
WEBMOBILEja

 

7.6 Kommando "Tabellengitter Spalte"

Nach dem Update auf 2.1 muss der Datentyp "Datum" explizit im Kommando "Tabellengitter Spalte" gesetzt werden, um Fehler zu vermeiden.

Probleme & Lösungen

Fehler "java.lang.NoClassDefFoundError: Could not initialize class org.apache.xmlbeans.metadata.system.sXMLCONFIG.TypeSystemHolder"

Mögliche Ursache:

Bestimmte JAR-Dateien in DLE/lib/ konnten nicht aktualisiert werden oder haben eine andere Version als erwartet.

Lösung:

Stellen Sie sicher, dass JAR-Dateien in DLE/lib/ in der korrekten Version vorhanden sind.

  • xml-apis-1.4.01.jar
  • xmlbeans-3.1.0.jar
  • xmlrpc-1.2-b1.jar
  • xmltask-v1.15.1.jar

Fehler "DLE Call Error 90 : java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils"

Mögliche Ursache:

Falls der Fehler in einem DVIEW-Kontext auftritt: Aktualisieren Sie DVIEW auf die neueste Paketversion. Falls die neueste Version von DVIEW bereits installiert ist, installieren Sie diese Version erneut.

Fehler "java.lang.NoSuchMethodError: at.visionflow.dle.engine.dialog.DLEDialogServiceIfc.getCalculatedDialogDocument() org/jdom/Document;"

Mögliche Ursachen:

  1. Bricks, die das Kommando "Web Formular" verwenden.

Lösung 1:

  1. Löschen Sie alle Dateien im Verzeichnis DLE/temp/gen.

Lösung 2:

  1. Öffnen Sie die DLE IDE
  2. Öffnen Sie den im Stacktrace angegebenen Brick
  3. Speichern Sie den Brick erneut. Bei der Kompilierung wird die neueste Codebasis übernommen.

Lösung 3:

  1. Öffnen Sie die DLE IDE.
  2. Menü Werkzeuge > Toolbricks > Brick "DLETools_DLE2_1_Update_BrickCompilierung".

    1. Dieser Brick ermittelt die neu zu kompilierenden Bricks und führt am Ende, falls Sie die Dialoge mit OK bestätigen, die Kompilierung betroffener Bricks aus.

Fehler "java.lang.UnsatisfiedLinkError: management.dll: The specified procedure could not be found"

Ursache:

Dieses Problem tritt mitunter bei JDK 8 und Windows Server 2008 R2 auf.

Lösung:

Verwenden Sie Corretto 8 anstatt JDK 8.

Update auf DLE 2.1.3

Ab der Version 2.1.3 werden beim Update der DLE auch Datenbankänderungen (ALTER/CREATE Table-Statements) direkt von der Update-Routine ausgeführt. Dies bedeutet, dass der Datenbankbenutzer des default-Connectors der DLE die dafür notwendigen Rechte auf der Datenbank benötigt.
Es kann auch nur für die Dauer der Ausführung des Updates der Benutzer verändert werden.

Sollte die Rechtevergabe nicht möglich sein, dann können die SQL-Statements vom Vision-Flow Support erfragt werden, und müssen manuell vor dem Einspielen des Updates ausgeführt werden.