Update Kieselstein ERP Server von Version 0.2.x auf 1.x.x unter Windows

Migration von Kieselstein Version 0.2.x auf 1.x.x mit Java-11 Installation unter Windows.

Wenn ein bestehende Kieselstein Installation mit der Version 0.2.x vorhanden ist, können folgende Schritte für das Update auf Version 1.x.x durchgeführt werden.

Kieselstein Dienste deaktivieren

Dienste beenden

  • Beide Kieselstein Dienste (Kieselstein Main Server & Kieselstein REST Server) beenden

Backup des Kieselstein Dist-Verzeichnis erstellen

Das aktuell Installierte Kieselstein in ein eigenes Verzeichnis mit der aktuellen Versionsnummer im Namen weg-sichern.
Beispiel: C:\kieselstein nach C:\kieselstein-0.2.10 kopieren.

Neues Java Installieren

  • Azul Java 11 mit FX installieren Siehe hierfür auch Java-Version.

  • darauf achten, dass Java Home gesetzt wird

  • Prüfen, dass Java auch installiert wurde durch Command Shell,

    Java -version
    

Altes Java Deinstallieren (optional)

Über “Programme hinzufügen oder entfernen” nach JDK Suchen und die Java 8 Version deinstallieren.

Achtung: Diesen Schritt nur durchführen, wenn auf dem Server sicher keine andere Anwendung mehr das Java 8 JDK benötigt!
Auf jeden Fall ist sicherzustellen, dass die JAVA_HOME Variable auf das Neue JDK 11 gesetzt wurde:

Nicht mehr benötigte Anwendungen entfernen

Bestehende Kieselstein Dienste deinstallieren

Dafür das Skript ?:\kieselstein\dist\bootstrap\service\windows\delete-kieselstein-services.bat mit Administrator Rechten ausführen.

Reports sichern

Damit Ihre Anwender-Reports nach dem Update wieder zur Verfügung stehen müssen Sie den Reports-Ordner in ein neues Verzeichnis kopieren.
Hier muss der bestehende ?:\kieselstein\dist\wildfly-12.0.0.Final\server\helium\report nach ?:\kieselstein\dist\wildfly-26.1.2.Final\kieselstein\reports kopiert werden.

WICHTIG: Dies muss vor dem Entpacken des neuen Dist-Packets erfolgen, damit neuere Versionen der Standard-Reports richtig nachgezogen werden.

ACHTUNG: Die Definitionen für dein JasperStudio entsprechend übertragen und auch die Einstellungen im Jasper Studio entsprechend anpassen.
Dies idealerweise bevor du die nachfolgenden Verzeichnisse löscht.

  • In Jasperstudio direkt. Eigenschaften des Projekts auf den neuen Pfad ändern. Z.B. von …?:\kieselstein\dist\wildfly-12.0.0.Final\server\helium\report auf ?:\kieselstein\dist\wildfly-26.1.2.Final\kieselstein\reports\system zu ändern.
    Denke auch daran dass die .classpath entsprechend anzupassen ist.

Alte Programmdateien löschen

Folgende Ordner können nun komplett gelöscht werden:

  • ?:\kieselstein\dist\apache-tomcat-8.5.93
  • ?:\kieselstein\dist\bin
  • ?:\kieselstein\dist\bootstrap
  • ?:\kieselstein\dist\service
  • ?:\kieselstein\dist\wildfly-12.0.0.Final

Installation Kieselstein ERP, Version (aktuelle Version):

Herunterladen aktuelle Kieselstein ERP Version

TODO Referenz auf die richtige Version setzen.

Siehe auch

Dist-Paket über die bestehende Installation entpacken (In der Windows Eingabeaufforderung cmd.exe) Beispiel

tar -xvf <pfad-zum-dist-packet>.gz -C ?:\kieselstein\

Datenbank Updaten

In der Command Shell in das Verzeichnis navigieren und mit liquibase den update Befehl durchführen:

cd C:\kieselstein\dist\bootstrap\liquibase
run-liquibase.bat update

Einrichten des Dienstes und starten des Servers

Mit Administrationsrechten das Install-Script ?:\kieselstein\dist\bootstrap\service\windows\install-kieselstein-services.bat ausführen.

NGINX Webserver (Optional)

Die Kieselstein-REST Schnittstelle wurde mit dem Update in den Wildfly integriert und ist somit auch über den Port: 8080 erreichbar.

Sollte es notwendig sein, dass diese wie bisher über den Port 8280 erreichbar ist, kann hier ein Nginx-Webserver als Proxy vorgeschaltet werden (Siehe NGINX Webserver)

läuft der Server?

Siehe Läuft der Server

Dokumentendatenbank Workspace.xml anpassen

Wenn eine bestehende Dokumentendatenbank existiert müssen hier folgende Parameter Werte (Achtung diese Werte sind 2x in der XML-Datei vorhanden) angepasst werden:

?:\kieselstein\data\jackrabbit\workspaces\default\workspace.xml

  • driver: javax.naming.InitialContext
  • url: java:/JRDS

Und folgende Parameter können gelöscht werden:

  • user
  • password

Beispiel:

Alte XML-Datei

<?xml version="1.0" encoding="UTF-8"?>
<Workspace name="default">
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="url" value="jdbc:postgresql://${org.kieselstein.db-doc.host}:${org.kieselstein.db-doc.port}/${org.kieselstein.db-doc.name}"/>
        <param name="schema" value="postgresql"/>
        <param name="user" value="postgres"/>
        <param name="password" value="postgres"/>
        <param name="schemaObjectPrefix" value="ws_"/>
    </FileSystem>
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="url" value="jdbc:postgresql://${org.kieselstein.db-doc.host}:${org.kieselstein.db-doc.port}/${org.kieselstein.db-doc.name}"/>
        <param name="user" value="postgres"/>
        <param name="password" value="postgres"/>
        <param name="schema" value="postgresql"/>
        <param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
        <param name="externalBLOBs" value="false"/>
    </PersistenceManager>
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${wsp.home}/index"/>
    </SearchIndex>
</Workspace>

Neue XML-Datei:

<?xml version="1.0" encoding="UTF-8"?><Workspace name="default">
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="javax.naming.InitialContext"/>
        <param name="url" value="java:/JRDS"/>
        <param name="schema" value="postgresql"/>
        <param name="schemaObjectPrefix" value="ws_"/>
    </FileSystem>
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
        <param name="driver" value="javax.naming.InitialContext"/>
        <param name="url" value="java:/JRDS"/>
        <param name="schema" value="postgresql"/>
        <param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
        <param name="externalBLOBs" value="false"/>
    </PersistenceManager>
    <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
        <param name="path" value="${wsp.home}/index"/>
    </SearchIndex>
</Workspace>

weiters zu tun

  • Clients Updaten (diese benötigen jetzt auch Java 11) siehe auch
  • Wenn Nginx nicht installiert wurde, bei allen Zeiterfassung-Terminals oder anderen Programmen welche die REST-Schnittstelle verwenden den Port auf 8080 ändern.

Empfehlung:
Insbesondere für die Tests in der ersten Zeit, sollte für ein eventuelles Fallback auf den Clients sowohl die Version für den Java 8 Server als auch für den Java 11 Server parallel vorgehalten werden. Damit man, im schlimmsten Falle, schnell auf die Vorgängerversion zurückwechseln kann.

Zuletzt geändert September 11, 2024: Aktiva Passiva Links ergänzt (b2b81b5)