Goobi workflow
DokumentationenGoobi workflow PluginsGoobi workflow Digests
Deutsch
Deutsch
  • Übersicht
    • Goobi workflow Handbuch
    • Dokumentationsübersicht
    • Was ist Goobi?
  • Anwender
    • Goobi für Anwender
    • Allgemeines
      • Einloggen
      • Menü
      • Ausloggen
      • Sprachumschaltung
      • Hilfefunktion
      • Eigene Einstellungen
      • Passwort ändern
      • Meine Aufgaben
      • Vorgänge
      • Nach einem Vorgang suchen
      • Anlegen von Vorgängen
      • Aufgabendetails bearbeiten
    • Arbeiten mit Goobi für spezielle Benutzergruppen
      • Scannen
      • Qualitätskontrolle
      • Manuelle Skriptschritte und Pluginschritte
      • Automatische Skriptschritte
      • Metadatenbearbeitung
      • Export in das DMS
    • Metadateneditor
      • Oberfläche
        • Strukturbaum
        • Seitenanzeige
        • Menüoptionen
      • Metadaten bearbeiten
        • Paginierung
        • Strukturierung
          • Neue Strukturelemente hinzufügen
          • Strukturelemente verschieben
          • Kopieren von Strukturelementen aus anderen Vorgängen
      • Änderung und Prüfung von Daten
        • Paginierung nachträglich ändern
        • Datei hochladen
        • Datei herunterladen
        • Serverseitiges exportierten
        • Serverseitiges importieren
      • OCR Ergebnisse bearbeiten
      • Übersicht über die Tastenkombinationen
  • Verwaltung
    • Die Verwaltung von Goobi
    • Aufbau der erweiterten Nutzeroberfläche
    • Regelsätze
    • LDAP-Gruppen
    • Benutzer
    • Benutzergruppen
    • Vorgänge
      • Vorgänge suchen
      • Aktionen
      • Aktionen für Trefferlisten
      • GoobiScript
    • Variablensystem
    • Harvester
  • Administration
    • Die Administration von Goobi
    • Dateisystem
      • Globale Verzeichnisstruktur
        • Unterverzeichnis ‚config’
        • Unterverzeichnis ‚import’
        • Unterverzeichnis ‚metadata’
        • Unterverzeichnis ‚plugins’
        • Unterverzeichnis ‚rulesets’
        • Unterverzeichnis ‚scripts’
        • Unterverzeichnis ‚xslt’
      • Verzeichnisstruktur der Applikation
      • Einbindung von externem Storage
      • Einbindung von S3 als Storage
    • Dienste
      • Datenbank MySQL
      • Servlet Container Apache Tomcat
      • Authentifizierung der Nutzer mittels LDAP
      • Dateisystemzugriff mittels Samba
    • Export in digitale Bibliotheken
      • Technische Daten
      • Mets Parameter
      • Mets Dateigruppen
      • Konfiguration des Exports in der Goobi Konfigurationsdatei
    • Zusammenarbeit mit dem intranda Task Manager
    • Automatische Workflowschritte
      • Beispielkombination für einen automatischen Skript Schritt
      • Migration technischer Metadaten in METS-Dateien
      • Automatisches Löschen von Images
    • Konfigurationsdateien
      • goobi_activemq.xml
      • goobi_config.properties
      • goobi_digitalCollections.xml
      • goobi_exportXml.xml
      • goobi_mail.xml
      • goobi_metadataDisplayRules.xml
      • goobi_normdata.xml
      • goobi_opac.xml
      • goobi_opacUmlaut.txt
      • goobi_processProperties.xml
      • goobi_projects.xml
      • goobi_rest.xml
      • goobi_webapi.xml
      • messages_xx.properties
      • config_contentServer.xml
    • Installationsanleitung
      • Installationsanleitung - Ubuntu 20.04
    • Updateanleitung
      • Vorbereitung eines Updates
      • Updateschritte
        • 2020
        • 2021
        • 2022
        • 2023
        • 2024
        • 2025
    • Möglichkeiten der Authentifizierung
      • Authentifizierung über die Datenbank
      • Authentifizierung über HTTP-Header
      • Authentifizierung über OpenID Connect
    • Anwendungsszenarien
      • Thumbnails erzeugen für beschleunigte Bildanzeige
      • Umgang mit 3D Objekten
      • Export von 3D-Objekten in den Goobi viewer
  • Entwickler
    • Aufsetzen einer Entwicklungsumgebung
      • Vorbereitende Arbeiten
      • Einrichtung von Eclipse
      • Zurücksetzen der Daten
      • Best Practice für die Entwicklung von Goobi und für die Arbeit mit Eclipse
    • Nutzung der REST-API
    • Snippets für die Entwicklung an Goobi workflow
      • HTML
      • JavaScript
Bereitgestellt von GitBook
Auf dieser Seite
  • Allgemeine Hinweise
  • Sinnvolle Vorarbeiten vor Updatedurchführung
  • Überprüfung des Zustands
  • Erstellung eines Backups
  • Kopieren der neuen Dateien auf das System
  • Testen des installierten Updates
  • Rescue im Falle von auftretenden Problemen
  • Durchführung des eigentlichen Updates
Als PDF exportieren
  1. Administration
  2. Updateanleitung

Vorbereitung eines Updates

VorherigeUpdateanleitungNächsteUpdateschritte

Zuletzt aktualisiert vor 1 Monat

Allgemeine Hinweise

Mit einem Update von Goobi workflow sollten auch alle Plugins aktualisiert werden. Dafür sollte am besten auch die Seite Installierte Plugins in Goobi workflow beachtet werden. Sollte diese hingegen noch nicht existieren, müssen die relevanten Dateien im Dateisystem identifiziert werden. Hierbei ist wichtig, auch die REST API nicht zu vergessen.

Befehle aus dieser Anleitung werden am besten mit einem Klick auf das entsprechende Icon kopiert. Andernfalls besteht die Gefahr ungewollte Whitespaces mit zu kopieren.

Sinnvolle Vorarbeiten vor Updatedurchführung

Überprüfung des Zustands

Für einen guten Zustand des Systems sollten vor und/oder nach dem Update die folgenden Dinge geprüft werden:

find /opt/digiverso/goobi/{rulesets,config} /opt/digiverso/itm/{config,templates} /etc/tomcat{9,10}  -name "*.xml" -exec xmllint --noout {} \;
mysql goobi -e'SELECT DISTINCT ldapgruppenid FROM benutzer WHERE ldapgruppenid NOT IN (SELECT ldapgruppenid FROM ldapgruppen) OR ldapgruppenid IS NULL'
mysql goobi -NBse 'SELECT table_name FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA="goobi" and TABLE_TYPE="BASE TABLE" and ENGINE != "InnoDB"' | while read i; do echo $i; mysql goobi -e "alter table $i ENGINE = InnoDB"; done

Erstellung eines Backups

Sinnvollerweise wird vor dem Backup der Tomcat ausgestellt. Allerdings ist vorher notwendig zu prüfen, dass kein Anwender mehr in Goobi workflow angemeldet ist. Neben der Anzeige der angemeldeten Benutzer in der Oberfläche können die letzten Einträge im Prozesslog oder die letzten Logins für die Bewertung der Lage hilfreich sein:

mysql goobi -e'select creationDate, userName, type, left(content,70) from journal order by creationDate desc limit 30'
grep user\ DN /opt/digiverso/logs/goobi.log -B1 | tail
# active users, needs /currentusers configured in goobi_rest.xml
PW=$(xmlstarlet sel -t -v '//endpoint[@path="/currentusers"]//allow[1]/@token' -n /opt/digiverso/goobi/config/goobi_rest.xml) && curl -X GET -H "token: $PW" localhost:8080/goobi/api/currentusers -s | jq

Anschließend kann der Tomcat Prozess für Goobi workflow beendet werden:

systemctl stop tomcat9 tomcat10

Mit den folgenden Befehlen können ein Backupverzeichnis erstellt und die Dateien dorthin kopiert werden:

BAK=/home/intranda/BACKUP/$(date -I) && mkdir $BAK -p
mysqldump goobi | gzip > $BAK/goobi.$(date +%s).sql.gz
mkdir $BAK/goobi $BAK/webapps
cp -at $BAK/goobi /opt/digiverso/goobi/{config,lib,plugins,rulesets,scripts,static_assets,xslt}
cp -at $BAK/webapps /var/lib/tomcat{9,10}/webapps/goobi
# If intranda TaskManager is installed
cp -at $BAK/webapps /var/lib/tomcat{9,10}/webapps/itm
cp -at $BAK/ /opt/digiverso/itm
# If LayoutWizzard is installed
cp -at $BAK /opt/digiverso/[L,l]ayout[w,W]izzard

Aktuellen Zustand im Goobi-Verzeichnis committen:

git -C /opt/digiverso/goobi/ add -A ; git -C /opt/digiverso/goobi/ commit -a -m 'pre update'

Aktuellen Zustand der Archive speichern:

Wenn ein Update von einer Version kleiner als 24.07 auf die aktuelle Version durchgeführt wird, müssen alle EAD-Dateien aus BaseX exportiert werden. Wenn es keine Archive gibt, kann dieser Punkt ignoriert werden. Dafür unter https://URL/basex/dba/login einloggen. Dann unter Databases jede Datenbank auswählen, die .xml-Datei auswählen und herunterladen.

Kopieren der neuen Dateien auf das System

Es empfiehlt sich, die Dateien auf dem zu aktualisierenden System nach /tmp/g3 zu kopieren. Die Dateien in die korrekten Ordner verschieben:

U=/tmp/g3
G=/opt/digiverso/goobi

mv ${U:-/tmp/g3}/goobi.war /var/lib/tomcat10/webapps/

# find ${G:-/opt/digiverso/goobi}/{lib,plugins} -name 'plugin*jar' -delete

mv ${U:-/tmp/g3}/statistics_template.* ${G:-/opt/digiverso/goobi}/plugins/statistics/
mv ${U:-/tmp/g3}/plugin*-gui.jar ${G:-/opt/digiverso/goobi}/plugins/GUI/
mv ${U:-/tmp/g3}/plugin*-lib.jar ${G:-/opt/digiverso/goobi}/lib/
mv ${U:-/tmp/g3}/plugin*-api.jar ${G:-/opt/digiverso/goobi}/lib/
mv ${U:-/tmp/g3}/plugin*-job.jar ${G:-/opt/digiverso/goobi}/lib/

find ${U:-/tmp/g3} -name 'plugin-*-base.jar' -printf '%f\n' | awk -F'-' '{print $0"\t"$2}' | while read -r file type; do
    mv "/tmp/g3/${file}" "${G:-/opt/digiverso/goobi}/plugins/${type}/"
done

# If intranda TaskManager is installed
mv ${U:-/tmp/g3}/itm.war /var/lib/tomcat10/webapps/
mv ${U:-/tmp/g3}/TaskClient.jar /opt/digiverso/itm/bin/TaskClient.jar

# If LayoutWizzard is installed
cp -p ${U:-/tmp/g3}/LayoutWizzard-jar-with-dependencies.jar ${G:-/opt/digiverso/goobi}/lib/
cp -p ${U:-/tmp/g3}/LayoutWizzard-jar-with-dependencies.jar /opt/digiverso/itm/lib/

Gerade Konfigurationsdateien von Plugins können aufgrund einer Änderung des Schemas für die Benennung inzwischen einen anderen Dateinamen haben.

Nach Abschluss der Arbeiten kann über den Abgleich der Zeitstempel ermittelt werden, ob alle notwendigen Dateien aktualisiert wurden:

ls -lh /opt/digiverso/goobi/plugins/*/*
ls -lh /opt/digiverso/goobi/lib/*

Plugins, die als Tar-Paket gebaut werden:

goobiInstallPlugin() {
    tar -C /opt/digiverso/goobi/ -xvf $1 --exclude "pom.xml"
}
# Example:
goobiInstallPlugin /tmp/g3/plugin_intranda_step_replace-images.tar

Testen des installierten Updates

Die folgenden Dinge sollten nach einem Update geprüft werden:

Rescue im Falle von auftretenden Problemen

Manchmal kann es vorkommen, dass nach dem Update Fehler auftreten. Die folgenden Punkte helfen dabei, typische Probleme zu identifizieren und zu beheben:

Goobi startet nicht - ActiveMQ

Wenn der Tomcat nach dem Start hängen bleibt, kann der Inhalt des Ordners /opt/digiverso/goobi/activemq/ daran Schuld sein. Leeren und neu starten hilft in diesem Fall:

find /opt/digiverso/goobi/activemq/ -type f -delete

LayoutWizzard

Die LayoutWizzard.jar in /opt/digiverso/{goobi,itm}/lib/ müssen gleich sein. Symbolische Links funktionieren nicht.

Durchführung des eigentlichen Updates

Nachdem alle Vorarbeiten durchgeführt wurden, kann das eigentliche Update erfolgen. Dieses ist in einzelnen Schritten detailliert hier erläutert:

Vorlage
Vorlage
Updateschritte