Hilfecenter

projectfacts_Logo

Update auf 2023.4

Mit der Version 2023.4 wurde der Datenbank-Connection-Pool in projectfacts überarbeitet. Anstatt die Verbindungen selbst zu verwalten, nutzen wir jetzt den Connection-Pool vom Apache Tomcat, da dieser robuster und schneller arbeitet. Damit erhöht sich jedoch einmalig der Aufwand beim Update.

Standard Installation #

Öffnen Sie die web.xml. Fügen Sie unter <display-name>projectfacts</display-name> folgenden Inhalt hinzu:
Windows-Pfad: C:\projectfacts\webapp\WEB-INF\web.xml
Linux-Pfad: /srv/projectfacts/WEB-INF\web.xml

Hinweis: Die Installationspfade könne je nach System Variieren

				
					<resource-ref>
  <description>MySQL Database Resource</description>
  <res-ref-name>jdbc/app_db</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

				
			

Prüfen Sie zuvor der Inhalt schon in der web.xml vorhanden ist. Falls ja, wird dieser Schritt nicht benötigt.

ROOT.xml anlegen und server.xml anpassen #

Stoppen Sie zunächst den Tomcat Server. Anschließend öffnen Sie die server.xml des Tomcats.
Windows-Pfad: C:\Program Files\Apache Software Foundation\Tomcat 9.0\conf\server.xml
Linux-Pfad: /etc/tomcat9/server.xml

Hinweis: Die Installationspfade könne je nach System Variieren

Entfernen Sie nun folgenden Inhalt aus der server.xml. Notieren Sie sich zuvor den docBase Pfad. Dieser wird in der ROOT.xml benötigt:

				
					<Context path="" reloadable="false" docBase="/srv/projectfacts/webapp/" useHttpOnly="false">
    <Resources cacheMaxSize="65536" />
    <Manager pathname="" />
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" asyncSupported="true" />
    <Valve className="org.apache.catalina.valves.RemoteIpValve" />
</Context>

				
			

Legen Sie nun im Tomcat Ordner die Datei ROOT.xml an und fügen Sie folgenden Inhalt hinzu:
Windows-Pfad: [Tomcat Ordner]/conf/Catalina/localhost/ROOT.xml
Linux-Pfad: [Tomcat Ordner]\etc\tomcat9\Catalina\localhost\ROOT.xml

Hinweis: Die Installationspfade könne je nach System Variieren

				
					<?xml version="1.0" encoding="UTF-8"?>

<Context reloadable="false" useHttpOnly="true" docBase="/srv/projectfacts/webapp/">
  <Resources cacheMaxSize="65536" />
  <Manager pathname="" />
  <CookieProcessor sameSiteCookies="lax" />
  <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" asyncSupported="true" />
  <Valve className="org.apache.catalina.valves.RemoteIpValve" />

  <Resource name="jdbc/app_db" auth="Container" type="javax.sql.DataSource"
            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
            maxActive="150" minIdle="30" testOnBorrow="true"
            validationQuery="SELECT 1" validationQueryTimeout="10" validationInterval="10000"
            username="projectfacts" password="projectfacts"
            driverClassName="com.mysql.cj.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/projectfacts?useUnicode=true&amp;useSSL=false"
            defaultAutoCommit="false" />
</Context>

				
			

Passen Sie nun den docBase Pfad an den Sie sich aus der server.xml des Tomcats notiert haben.

Um die Datenbank Verbindung anzupassen müssen Sie die data-source.xml, die bis zur Version 2023.3 die Datenbankverbindungsinformationen enthält, sichern.
Die data-source.xml finden Sie unter [projectfacts Ordner]\webapp\WEB-INF\conf\data-source.xml.

Hinweis: Die Installationspfade könne je nach System Variieren

Nun entnehmen Sie die Informationen aus der data-source.xml und übertragen Sie diese in die ROOT.xml.

Folgende Informationen müssen Sie übertragen:
username=“projectfacts“ password=“projectfacts“
localhost:3306/projectfacts?useUnicode=true&amp;useSSL=false

Sollte in der data-source.xml nach dem false eine Zeitzone gesetzt sein ist es wichtig diese mit zu übernehmen!
Beipsiel: &amp;serverTimezone=Europe/Berlin

deploy-war Script anpassen #

Die data-source.xml wird nicht mehr benötigt. Alle Information befinden sich nun in der ROOT.xml. Damit das Update auch Ordnungsgemäß funktioniert müssen Sie 2 Zeilen aus der deploy-war.sh/bat entfernen. Suchen sie in der Datei nach data-source.xml. Entfernen Sie nun diese Einträge und Speichern Sie die Datei ab. Nun wird die data-source.xml nicht mehr mit gesichert und nach dem Update auf die 2023.4 ist der Ordner [projectfacts Ordner]\webapp\WEB-INF\conf sowie die darin befindliche Datei data-source.xml nicht mehr vorhanden.

Es ist wichtig das die data-source.xml nicht mehr vorhanden ist. Ansonsten kann das System nicht Ordnungsgemäß gestartet werden.

Wenn Sie diese Anpassung nicht vornehmen möchten können Sie sich in teamspace-classic, wo Sie auch die Updates herunterladen, im Ordner Scripe die neuen deploy-war Scripte herunterladen.

Update druchführen #

Haben Sie alle genannten Schritte durchgeführt, können Sie nun das Update via deploy-script durchführen.

Docker Installation (Linux) #

Öffnen Sie die web.xml. Fügen Sie unter <display-name>projectfacts</display-name> folgenden Inhalt hinzu:
Pfad: /srv/projectfacts/WEB-INF\web.xml

Hinweis: Die Installationspfade könne je nach System Variieren

				
					<resource-ref>
  <description>MySQL Database Resource</description>
  <res-ref-name>jdbc/app_db</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

				
			

Prüfen Sie zuvor der Inhalt schon in der web.xml vorhanden ist. Falls ja, wird dieser Schritt nicht benötigt.

context.xml anlegen und server.xml anpassen #

Stoppen Sie zunächst den Tomcat Server. Anschließend öffnen Sie die server.xml des Tomcats.
Pfad: /etc/tomcat9/server.xml

Hinweis: Die Installationspfade könne je nach System Variieren

				
					<Context path="" reloadable="false" docBase="/srv/projectfacts/webapp/" useHttpOnly="false">
    <Resources cacheMaxSize="65536" />
    <Manager pathname="" />
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" asyncSupported="true" />
    <Valve className="org.apache.catalina.valves.RemoteIpValve" />
</Context>

				
			

Legen Sie nun die context.xml unter [projectfacts Ordner]/webapp/META-INF/context.xml an und fügen Sie folgenden Inhalt hinzu:

Hinweis: Es kann vorkommen das die context.xml schon vorhanden ist, wenn ja überschreiben Sie diese mit dem neuen Inhalt

				
					<?xml version="1.0" encoding="UTF-8"?>

<Context reloadable="false" useHttpOnly="true">
  <Resources cacheMaxSize="65536" />
  <Manager pathname="" />
  <CookieProcessor sameSiteCookies="lax" />
  <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" asyncSupported="true" />
  <Valve className="org.apache.catalina.valves.RemoteIpValve" />

  <Resource name="jdbc/app_db" auth="Container" type="javax.sql.DataSource"
            factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
            maxActive="150" minIdle="30" testOnBorrow="true"
            validationQuery="SELECT 1" validationQueryTimeout="10" validationInterval="10000"
            username="projectfacts" password="projectfacts"
            driverClassName="com.mysql.cj.jdbc.Driver"
            url="jdbc:mysql://localhost:3306/projectfacts?useUnicode=true&amp;useSSL=false"
            defaultAutoCommit="false" />
</Context>

				
			

Um die Datenbank Verbindung anzupassen müssen Sie die data-source.xml, die bis zur Version 2023.3 die Datenbankverbindungsinformationen enthält, sichern.
Die data-source.xml finden Sie unter [projectfacts Ordner]\webapp\WEB-INF\conf\data-source.xml.

Hinweis: Die Installationspfade könne je nach System Variieren

Nun entnehmen Sie die Informationen aus der data-source.xml und übertragen Sie diese in die context.xml.

Folgende Informationen müssen Sie übertragen:
username=“projectfacts“ password=“projectfacts“
localhost:3306/projectfacts?useUnicode=true&amp;useSSL=false

Sollte in der data-source.xml nach dem false eine Zeitzone gesetzt sein ist es wichtig diese mit zu übernehmen!
Beipsiel: &amp;serverTimezone=Europe/Berlin

deploy-war Script anpassen #

Die data-source.xml wird nicht mehr benötigt. Alle Information befinden sich nun in der context.xml. Damit das Update auch Ordnungsgemäß funktioniert müssen Sie 2 Zeilen aus der deploy-war.sh anpassen. Suchen sie in der Datei nach data-source.xml. Passen Sie nun den Pfad jeweils an damit die context.xml gesichert wird. Ansonsten wird die context.xml nach dem Update überschrieben und alle Information gehen verloren. Nun wird die data-source.xml nicht mehr mit gesichert und nach dem Update auf die 2023.4 ist der Ordner [projectfacts Ordner]\webapp\WEB-INF\conf sowie die darin befindliche Datei data-source.xml nicht mehr vorhanden.

Es ist wichtig das die data-source.xml nicht mehr vorhanden ist. Ansonsten kann das System nicht Ordnungsgemäß gestartet werden.

Wenn Sie diese Anpassung nicht vornehmen möchten können Sie sich in teamspace-classic, wo Sie auch die Updates herunterladen, im Ordner Scripe die neuen deploy-war Scripte herunterladen.

Update druchführen #

Haben Sie alle genannten Schritte durchgeführt, können Sie nun das Update via deploy-script durchführen.