Update auf DLE 2.0

Mit dem Update auf die DLE Version 2.0 erfolgen eine Reihe von Datenbankerweiterungen.

Dadurch ist der Update von einer DLE 1.6 auf eine DLE 2.0 mit etwas zusätzlichem Aufwand verbunden.

Zusätzlich enthält die DLE 2.0 eine optionale Weboberfläche (Web IDE) für die Verwaltung von Bricks, inklusive eines Web-basierten Brickeditors. Dafür müssen einige Bricks importiert werden.

Außerdem führt die DLE mit der Version 2.0 eine Übersetzbarkeit der eigenen Datenbankinhalte (z.B. Stati, Ordner, Paketnamen) ein. Dazu müssen die bestehenden Daten einmalig über einen Hilfsbrick angepasst werden.

Der Update von Version 1.6 auf Version 2.0 erfolgt daher in mindestens 4 Schritten:

  1. Update der DLE (erst auf mindestens 1.6.42, dann auf 2.0)
  2. Update der Datenbank
  3. Einspielen der Web IDE und Standard-Bricks
  4. Update der Übersetzungstabellen mit einem Hilfsbrick
  5. Update der DLE 2.0 auf aktuelle Version
  6. Test der IDE

Ein einmal erfolgter Update auf die version 2.0 kann nicht rückgängig gemacht werden.

Es sollte also sicherheitshalber vor dem Update eine Sicherheitskopie der DLE Installation und der DLE Datenbank erfolgen.

1. Update der DLE

Wichtig: Es ist mindestens eine DLE version 1.6.42 erforderlich.

Sollte eine Version kleiner 1.6.42 vorliegen, so ist zuerst ein Update auf mindestens 1.6.42 oder eine neuere 1.6.* Version nötig. Der update hier erfolgt ganz normal.

Zwischenaktualisierung auf die neueste DLE 1.6 Version:

Windows: java\bin\java.exe -jar dlestart.jar -update update_engine_1.6.42.zip

Linux: ./java/bin/java -jar dlestart.jar -update update_engine_1.6.42.zip

 

DLE 2.0.* Updates lassen sich nicht in eine DLE 1.6.* Installation einspielen.

 

Es ist ein spezielles Update-ZIP erforderlich, es befindet sich im Downloadbereich und heisst update_engine_1.6_2.0.zip.

Zuerst sollten alle Instanzen der DLE (Administration, Server etc.) beendet werden.

Dann das Update-ZIP ausführen, hier wird davon ausgegangen, dass es sich im DLE Hauptverzeichnis befindet:

Windows: java\bin\java.exe -jar dlestart.jar -update update_engine_1.6_2.0.zip

Linux: ./java/bin/java -jar dlestart.jar -update update_engine_1.6_2.0.zip

 

Wichtig für den Update ist es, auch das Java zu verwenden, das auch sonst mit der DLE verwendet wird.

Sind sie sich nicht sicher, finden sie im scripts/startadmin.bat oder scripts/startadmin.sh den richtigen Java-Aufruf.

Kontrollieren sie nun das Installationsprotokoll in install/install.log.

Ist der Update erfolgreich durchgelaufen, kann nun die Datenbank angepasst werden.

2. Update der Datenbank

Dieser Schritt erordert Erfahrungen im Datenbankmanagement. Sind sie unsicher, setzen sie sich bitte mit uns in Verbindung, wir helfen gerne weiter. Zum Update der Datenbank wird ein datenbankneutrales DLE Datenbankscript verwendet. Es findet sich unter install/DLEUpgradeDatabase_V1.6_V2.0.xml und kann mit dem DLE Startkommando gestartet werden.

Berechtigungen prüfen

Stellen Sie gegebenenfalls sicher, dass Ihr Datenbankbenutzer ausreichend Berechtigungen hat.

Oracle:

grant create any table to dle;

grant create any view to dle;

grant create any sequence to dle;

Updateskript generieren

Diese Variante erstellt nur ein SQL Skript mit namen update.sql, ohne die Datenbank zu verändern:

Windows:

java\bin\java.exe -jar dlestart.jar -script defaultConnector -save update.sql install/DLEUpgradeDatabase_V1.6_V2.0.xml

Linux:

./java/bin/java -jar dlestart.jar -script defaultConnector -save update.sql install/DLEUpgradeDatabase_V1.6_V2.0.xml

Das SQL Skript kann dann mit einem anderen Datenbanktool von Hand entweder am Stück, oder nach und nach eingespielt werden.

Updateskript sofort ausführen

Diese Variante führt die Änderungen direkt auf der Datenbank aus:

Windows:

java\bin\java.exe -jar dlestart.jar -script defaultConnector -config client/DLESessionConfig.xml -db install/DLEUpgradeDatabase_V1.6_V2.0.xml

Linux:

./java/bin/java -jar dlestart.jar -script defaultConnector -config client/DLESessionConfig.xml -db install/DLEUpgradeDatabase_V1.6_V2.0.xml

 

Wir empfehlen die erste Variante. Erstellen sie mittels dem Kommando ein SQL Script und führen sie dieses in einem SQL Tool ihrer Wahl gegen die Datenbank aus. Hier haben sie dann eine genaue Kontrolle, über die erfolgten Datenbankänderungen. Das Script geht zudem davon aus, das eine aktuelle DLE 1.6 Datenbankstruktur vorliegt. Gibt es hier Abweichungen zu ihrer Installation, kann es zu Fehlern kommen.

Eine Zusammenfassung der Änderungen findet sich am Anfang des Skripts:

    Changes from DLE 1.6 (database version 1.2) to 2.0:
    - New localization functionality for data, which allows to sort, search and join localized data
    - For this: New table DLELANGUAGE, extended DLELABEL with new columns and extended localizable tables with L_ columns.
    - New DLELABELV view on DLELABEL
    - New replicated columns PACK in DLEFOLDERGROUP, DLEFOLDER
    - New replicated columns PACK and FOLDER in DLEFOPARAM and DLEKEYDEF
    - New column KEYDEF in DLEKEYDEF (new unique internal name, filled with KEYDEF.NAME in update)
    - New column RES_MIMETYPE in DLEPACKRES
    - DLEUSER.SEX is now optional (nullable)
    - New table DLEUSERPROPS (for new user properties functionality)
    - New view DLEPACKRESVIEW (selects all but the data blob, for better performance)
    - New view DLEBRICKHISTVIEW (for DLE 2.0 web IDE brick history view)
    - Package 'BASE' is deleted (if not used outside of the DLE package), moved existing sub-functions to package 'DLE'
    - DLEVERSION parameter in table DLEPARAM set to 2.0 (will be checked during DLE startup)
    - New columns in DLEATTR: HISTORY, ENDOFTIME and VALID_TO_DFLT

3. Einspielen der Web IDE und Standard-Bricks

DLEGEN in ListOfPackages aufnehmen

Prüfen Sie in der client\DLESessionConfig.xml den Wert für <Parameter name="ListOfPackages">. Falls der Wert nicht leer ist, fügen Sie "DLEGEN" hinzu.

Bricks importieren

Mit der Version 2.0 kommen einige DLE Standardbricks, sowie eine neue, optionale und webbasierte DLE Administration (Web IDE).

Diese Bricks müssen separat geladen werden. Das erfolgt über zwei Dateien. Zum einen die DLE Paketdaten und zum anderen die Brick. Die Dateien befinden sich in der DLE im Verzeichnis packages/DLE/install.

Windows:

java\bin\java.exe -jar dlestart.jar -pImport -o true -f packages/DLE/install/PackageData.xml

java\bin\java.exe -jar dlestart.jar -import -o true -f packages/DLE/install/PackageBricks.xml

Linux:

./java/bin/java -jar dlestart.jar -pImport -o true -f packages/DLE/install/PackageData.xml

./java/bin/java -jar dlestart.jar -import -o true -f packages/DLE/install/PackageBricks.xml

4. Update der Übersetzungstabellen mit einem Hilfsbrick

Die DLE hat mit der Version 2.0 die Möglichkeit eine Reihe von internen Stammdaten auch in mehreren Sprachen zu führen. Dazu müssen einmalig beim Update die vorhandenen Daten angepasst werden. Dabei werden die Übersetzungstabellen mit Vorgabewerten befüllt.

Der Brick, der dies macht, befindet sich im Paket DLE im Ordner "DLE_Tools" mit dem Bricknamen "DLETools_SyncDLELABEL" .

Dieser Brick kann über die Kommandozeile ausgeführt werden:

Windows: java\bin\java.exe -jar dlestart.jar -callBrick FOLDER=DLE:DLE_Tools BATCH_MODE=Y BASE:BrickName=DLETools_SyncDLELABEL

Linux: ./java/bin/java -jar dlestart.jar -callBrick FOLDER=DLE:DLE_Tools BATCH_MODE=Y BASE:BrickName=DLETools_SyncDLELABEL

Das setzen BATCH_MODE=Y verhindert das anzeigen eines Hinweisdialogs, falls der Brick nicht in einer grafischen Umgebung gestartet wird.

Als Ergebnis sollte der Brickaufruf (über Kommandozeile) das Ergebnis liefern:

DLE-Result:
  Returncode=1
  ResultMessage=All Language relevant tables updated with default localization entries
DLE-Result-Variables:
  BASE:InitialCallFolder=DLE:DLE_Tools
  BASE:BatchMode=Y
  BASE:BrickName=DLETools_SyncDLELABEL
DLE-Result-DataObjects:

5. Update der DLE 2.0 auf aktuelle Version

Das Update-ZIP von der Version 1.6 auf 2.0 enthält nicht unbedingt die aktuellste DLE 2.0 Version.

Sollte eine neuere DLE 2.0 existieren, kann diese nun ganz normal per update-ZIP installiert werden.

Die aktuelle DLE Version findet sich an den bekannten Stellen, neuerdings wird sie auch beim Start eines DLE Kommandos über die Kommandozeile ausgegeben.

Über

java\bin\java -jar dlestart.jar

Wird ganz am Anfang der Konsolenausgabe die aktuelle Version angezeigt.

6. Test der IDE

Um zu sehen, ob die neue WEB IDE korrekt installiert wurde, muss diese aktiviert werden.

Fügen sie folgenden Eintrag in die server/ServerConfig.xml hinzu, im oberen <Properties> bereich:

<Property name="WebserverIDEPort" value="7090" />

Falls sie in der Server Property "WebPacksToStart" etwas eingetragen haben, stellen sie außerdem sicher, dass dort die Pakete DLE und WEB mit aufgenommen werden. Existiert die Property nicht, oder ist leer, muss hier nichts geändert werden.

Starten sie nun den DLE Server neu.

Über die URL http://localhost:7090/dle erreichen sie dann die DLE Web IDE.

Die Anmeldung erfolgt genau wie in der Desktop Administration:

Sollten sie die DLE Security eingeschaltet haben, können sie sich dort mit ihren Benutzerdaten anmelden.

Ohne Security geben sie bitte nur ihr Benutzerkürzel an. Das Passwort kann dann leer bleiben.

7. Optionale Aktionen

Diese Aktionen sind kein regulärer Bestandteil der Aktualisierung und dürfen nur von erfahrenen Programmierern angewendet werden.

WebserverIDEPort

Wenn Sie die DLE Online IDE verwenden möchten, müssen Sie sicherstellen, dass der folgende Parameter in der ServerConfig.xml existiert.

<Property name="WebserverIDEPort" value="7090" />

DDL-Differenzabfrage

MySQL:

select upper(concat(concat(TABLE_NAME,'.'),COLUMN_NAME)) from information_schema.columns where table_name like 'DLE%' and table_name not in ('DLEJOBS', 'DLESQLTEST') and table_name not like 'DLE%_sn' order by 1;

Fehler "DLEMailException: No From E-Mail-Address"

Gegebenenfallls muss die Sessionconfig-Property ergänzt werden.

<Property name="MailSenderAddressDefault" value="noreply@example.com" />