2024

24.11

Artist Dictionary

Wenn folgende Plugins verwendet werden, müssen nach dem Update manuelle Schritte durchgeführt werden:

plugin-dashboard-entity
plugin-export-luxembourg-artist-dictionary
plugin-workflow-entity-editor

Diese Plugins verwenden Vokabulare, um Relationen zwischen Entitäten zu verwalten. Zuvor gab es zwei Relationen R03a Relationship Person - Collective agent und R03b Relationship Collective agent - Person, die zusammen die Relation zwischen Personen und Agenten beschrieben haben. Alle anderen Relationen waren nur in einem Vokabular vertreten.

Die neuen Versionen der Plugins erwarten nur noch ein einziges Vokabular R03 Relationship Person - Collective agent. Alle Einträge in R03b Relationship Collective agent - Person, die nicht bereits (invertiert) im Vokabular R03a Relationship Person - Collective agent vorhanden sind, müssen manuell übertragen werden. Danach ist das Vokabular R03b Relationship Collective agent - Person zu entfernen (temporär umzubenennen) und das Vokabular R03a Relationship Person - Collective agent in R03 Relationship Person - Collective agent umzubenennen.

Alle Konfigurationsdateien müssen entsprechend angepasst werden. Die Vokabularverweise in den Mets Dateien müssen anschließend korrigiert werden. Hierzu gibt es das Mets-Migrationsscript im Vokabularserver, der mit den Optionen --trust Value --enable-relation-vocabulary-column-logic -f gestartet werden kann.

Anpassung an goobi-plugin-workflow-mass-upload

Das Plugin wurde angepasst damit der Benutzer die Erkennungsmethode selber auswählen kann.

<use-barcodes>false</use-barcodes>

muss durch das folgende ersetzt werden:

<detection-type>filename</detection-type>

Wenn use-barcodes auf true gesetzt ist, muss der detection-type auf barcode gesetzt werden:

<detection-type>barcode</detection-type>

24.10

Update des Vokabularservers

Der Vokabularserver muss mindestens auf Version 1.1.9 geupdated werden.

24.09

Namensänderung LayoutWizzard Step Plugin

Der Name des intranda_step_layoutwizzard-Plugins hat sich geändert. Er wird jetzt komplett kleingeschrieben. Dies gilt auch für die Konfigurationsdateien. Damit alles wie gewohnt funktioniert, müssen die Aufrufe der Vorgänge angepasst werden.

Dies geht am einfachsten über die Datenbank:

mysql goobi -e "update schritte set stepPlugin='intranda_step_layoutwizzard' where stepPlugin='intranda_step_LayoutWizzard';"

Umbenennung der Konfigurationsdateien:

cd /opt/digiverso/goobi/config/
mv plugin_intranda_step_LayoutWizzard_AutoAnalysis.xml plugin_intranda_step_layoutwizzard_autoanalysis.xml
mv plugin_intranda_step_LayoutWizzard_AutoSave.xml plugin_intranda_step_layoutwizzard_autosave.xml
mv plugin_intranda_step_LayoutWizzard.xml plugin_intranda_step_layoutwizzard.xml

Sicherstellen das der Ordner goobi/plugins/metadata vorhanden ist

mkdir -p /opt/digiverso/goobi/plugins/metadata

Plugin goobi-plugin-step-create-full-pdf

Das Plugin goobi-plugin-step-create-full-pdf verfügt über eine andere Konfiguration. Dieser Teil hat sich geändert und muss beim Update berücksichtigt werden:

ALT:

        <!-- If set to true, then PDF files for every single image are generated before the full PDF file. -->
        <!-- If set to false, then PDF files for every single image are generated after the full PDF file. -->
        <pagePdf enabled="true" /> 

        <!-- If enabled, a PDF file for the entire record is generated. This file includes the table of contents from the METS file if exists. -->
        <!-- The attribute pdfConfigVariant sets up which config variant in contentServerConfig.xml should be used. If not set, then use default. -->
        <fullPdf enabled="true" pdfConfigVariant="pdfa"/>

NEU:

        <!-- single page pdf files shall be generated and kept (@enabled) -->
        <singlePagePdf enabled="false" /> 

        <!-- Full PDF file is generated and kept (@enabled) 
        	- @mode controls if PDF shall be generated based on METS file ('mets') or based on singlePagePdfs ('singlepages')
        	- @pdfConfigVariant sets up which config variant in contentServerConfig.xml should be used. If not set, then use default. -->
        <fullPdf enabled="true" mode="mets" pdfConfigVariant="pdfa"/>

24.08

Java-Version

Goobi benötigt nun Java 17. Installation unter Ubuntu:

sudo apt install openjdk-17-jre-headless

Damit der Tomcat Java 17 nutzt, ist ggf. in der /etc/default/tomcat9 zu ergänzen:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

Von Goobi aufgerufene Skripte sind auf Kompatibilität zu prüfen, ggf. das Default-Java des Systems anzupassen.

Vokabularserver

Der Zugriff auf den Vokabularserver wird nun über ein zusätzliches Token abgesichert. Prüfen, ob der Vokabularserver in Benutzung ist:

systemctl | grep vocabulary

In der Config-Datei application.properties muss der Token security.token=CHANGEME ergänzt werden. Der Vokabularserver muss aktualisiert werden: Download

# Update of the vocabulary server:
export VOC_TOKEN=$(</dev/urandom tr -dc '[:alnum:]' | head -c17)
cd /opt/digiverso/vocabulary/
mv vocabulary-server-core.jar{,.$(date +%s).bak}
wget https://github.com/intranda/goobi-vocabulary-server/releases/latest/download/vocabulary-server-core.jar
grep '^security.token=' application.properties || echo -e "\n#Access Token\nsecurity.token=${VOC_TOKEN}" >> application.properties

# Add Token to the Goobi workflow config:
grep ^vocabularyServerToken= /opt/digiverso/goobi/config/goobi_config.properties || echo "vocabularyServerToken=${VOC_TOKEN}" >> /opt/digiverso/goobi/config/goobi_config.properties

24.07

Vokabulare

Falls Vokabulare verwendet werden sollen oder vor einem Update verwendet wurden, müssen hier Anpassungen vorgenommen werden. Prüfen, ob Vokabulare genutzt werden:

sudo mysql goobi -NBse 'select count(1) from vocabulary_record_data'

Wenn dieser Befehl eine Zahl >0 liefert, ist dringend empfohlen, VOR dem Goobi workflow-Update die Vokabular-Migration zu testen. Wenn keine Vokabulare genutzt werden, dann darf auch kein Verweis auf ein Vokabular in der goobi_metadataDisplayRules.xml vorhanden sein. Prüfen: grep vocabulary -i /opt/digiverso/goobi/config/goobi_metadataDisplayRules.xml

Ebenfalls vor dem Update ist der Update-Status folgender Plugins zu prüfen, die zum Zeitpunkt des Releases noch nicht fertig angepasst waren: plugin-step-flex-editor, plugin-workflow-linked-process-creation, plugin-step-metadata-replacement und plugin-workflow-project-export. Prüfen, ob eines dieser Plugins installiert ist:

find -L /opt/digiverso/goobi/{lib,plugins} | grep -i -e flex -e linked -e replacement -e project

Die Vokabularverwaltung von Goobi workflow wurde durch den Vokabularserver abgelöst. Das ist eine eigenständige Applikation, mit der Goobi workflow kommunizieren kann. Bitte lesen Sie die Details in der Dokumentation des Vokabularservers nach.

Update Archivverwaltung

Dieser Punkt betrifft Installationen, die das Archivmanagement-Plugin verwenden. Prüfen, ob dieses installiert ist:

ls -ahl /opt/digiverso/goobi/plugins/administration/*archive*management*jar

Die Daten der Archivverwaltung werden nicht mehr in einer BaseX-Datenbank gespeichert, sondern in die Goobi workflow-Datenbank migriert. Beim Update müssen die folgenden Punkte abgearbeitet werden:

  1. Der aktuelle Zustand der Archive muss gesichert werden. Dafür unter https://URL/basex/dba/login einloggen. Dann unter Databases jede Datenbank auswählen, die .xml-Dateien auswählen und herunterladen.

  2. BaseX stoppen:

systemctl stop basexhttp.service
  1. Konfiguration anpassen: Öffnen Sie die Datei /opt/digiverso/goobi/config/plugin_intranda_administration_archive_management.xml und entfernen Sie die folgenden Zeilen:

<basexUrl>http://localhost:8984/</basexUrl>
<eadExportFolder>/opt/digiverso/basex/import</eadExportFolder>

Fügen Sie stattdessen die folgenden Blöcke hinzu:

    <export>
        <!-- examples -->
        <!--
        <file name="archive1.xml">
            <folder>/opt/digiverso/viewer/hotfolder/</folder>
        </file>
        <file name="archive2.xml">
            <folder>/opt/digiverso/viewer01/hotfolder/</folder>
            <folder>/opt/digiverso/viewer02/hotfolder/</folder>
        </file>
        -->
    </export>
    <backup>
        <!-- backup folder -->
        <folder>/tmp/</folder>
        <!-- number of backups for each inventory -->
        <numberOfFiles>10</numberOfFiles>
        <!-- tool to create the backup files -->
        <tool>/usr/bin/mysqldump</tool>
        <!-- database password. The user name, database name, tables etc. can be recognised automatically, but the password must be entered.-->
        <!-- Leave empty if access is possible without authentication (e.g. configured in ~/.my.cnf)  -->
        <password></password>
    </backup>
  1. Rechte anpassen: Nach dem Update müssen die folgenden Rechte für den vollständigen Zugriff vorhanden sein:

Plugin_Administration_Archive_Management
Plugin_Administration_Archive_Management_Write
Plugin_Administration_Archive_Management_Upload
Plugin_Administration_Archive_Management_New
Plugin_Administration_Archive_Management_Vocabulary
Plugin_Administration_Archive_Management_All_Inventories
Plugin_Administration_Archive_Management_Delete
  1. Archiv-Plugin öffnen und EAD-Dateien importieren.

  2. Optional: Export für den Viewer konfigurieren: Ob schon EAD Dateien im Viewer vorhanden sind, kann unter VIEWERURL/archives/ nachgeschaut werden. Falls die EAD-Dateien auch im Viewer sichtbar sein sollen, konfigurieren Sie den <export>-Bereich. Zu exportierende Dateien und der Hotfolder müssen dort angegeben werden.

  3. Automatische Aufgaben einrichten: Führen Sie folgenden Befehl aus, um automatische Exporte zu konfigurieren:

echo -e "\n#Automatic export archive\nintranda_quartz_exportEadFile=0 0 0 * * ?" >> /opt/digiverso/goobi/config/goobi_config.properties
  1. BaseX deinstallieren: Nachdem das Goobi workflow-Update erfolgreich getestet wurde und die Archive wie gewünscht funktionieren, kann BaseX deinstalliert werden:

BAK=/home/intranda/BACKUP/$(date -I) && mkdir $BAK -p
mv /etc/systemd/system/basexhttp.service $BAK
mv /opt/digiverso/basex/ $BAK
systemctl daemon-reload

Entfernen Sie zusätzlich den folgenden Block aus der Apache-Konfiguration:

    redirect 301 /basex http://example.com/basex/
    <Location /basex/>
            Require ip 1.2.3.4
            ProxyPass http://localhost:8984/ retry=0
            ProxyPassReverse http://localhost:8984/
    </Location>

Anpassungen an der Konfiguration des goobi-plugin-export-configurable-Plugins

Einige Tag-Namen und Typen haben sich geändert, z.B. ist <folder> jetzt <includeFolders>, and <includeMedia>true</includeMedia> ändert sich zu <media enabled="true"/>. Die Referenz-Config findet sich hier.

24.04

Anpassungen an der Konfiguration des newspaperRecognizer-Plugins

Die Config Datei plugin_intranda_step_newspaperRecognizer.xml muss der folgende Block vorhanden sein:

<config_plugin>
	<defaultDepth>1</defaultDepth>
	<loadAllImages>true</loadAllImages>
	<showWriteMetsButton>true</showWriteMetsButton>
    <showDeletePageButton>false</showDeletePageButton>
	<dateFormatDelimiter>.</dateFormatDelimiter>
	<writePageTitle>true</writePageTitle>
    
	<pagination>
		<createNewPagination>true</createNewPagination>
		<type>1</type>
		<useFakePagination>false</useFakePagination>
	</pagination>
</config_plugin>

Dabei muss die vorhandene Konfiguration übernommen werden.

Anpassungen an der Archive Management Config

Wenn in /opt/digiverso/goobi/config/plugin_intranda_administration_archive_management.xml folgendes steht:

<useShelfmark>true</useShelfmark>

muss dies durch das folgende Ersetzt werden:

<title name="shelfmarksource" type="NORMAL" />
<title name="TitleDocMain" type="CAMEL_CASE" />

Wenn useShelfmark auf false steht, muss nichts angepasst werden.

24.02

Config Editor im Core

Mit der neuen Version ist das Plugin für den Konfigurationseditor in den Goobi workflow core integriert worden. Dazu müssen bei einem Update einige Punkte beachtet werden: Das alte Plugin muss gelöscht werden, und die Konfigurationsdatei muss umbenannt werden.

rm /opt/digiverso/goobi/plugins/administration/plugin_intranda_administration_config_file_editor.jar
rm /opt/digiverso/goobi/plugins/GUI/plugin_intranda_administration_config_file_editor-GUI.jar
cd /opt/digiverso/goobi/config/
if [ -f "plugin_intranda_administration_config_file_editor.xml" ]; then
    mv -i plugin_intranda_administration_config_file_editor.xml goobi_configeditor.xml
else
    if [ ! -f "goobi_configeditor.xml" ]; then
        wget https://raw.githubusercontent.com/intranda/goobi-workflow/master/install/config/goobi_configeditor.xml
    fi
fi

Korrektur des Berechtigungsnamens:

mysql goobi -NBse "update benutzergruppen set roles=REPLACE(roles,'Plugin_administration_config_file_editor','Admin_config_file_editor') where roles regexp 'Plugin_administration_config_file_editor'"

Anpassungen an plugin_step_rename_files

In dem Plugin wurde Funktionalität zum Konfigurieren ergänzt. Damit sich das Plugin nach dem Update gleich verhält, muss auch der folgende Block in jedem <config>...</config> ergänzt werden:

	<namepart type="counter">
        0000
        <condition value="{originalfilename}" matches="^(?!.*barcode).*$" />
    </namepart>
    <namepart type="static">
        0000
        <condition value="{originalfilename}" matches="^.*barcode.*$" />
    </namepart>

Zuletzt aktualisiert