In the ImageQA plugin, the configuration of the rotation and deletion commands has changed. These have to be adapted.

This is the old configuration:

<deletionCommand>/opt/digiverso/goobi/scripts/deleteImage.sh IMAGE_FOLDER IMAGE_FILE</deletionCommand>
    <left>/usr/bin/mogrify -rotate -90 IMAGE_FILE</left>
    <right>/usr/bin/mogrify -rotate 90 IMAGE_FILE</right>

The new one looks like this:

<deletion command="/opt/digiverso/goobi/scripts/deleteImage.sh|IMAGE_FOLDER|IMAGE_FILE"/>
    <left command="/usr/bin/mogrify|-rotate|-90|IMAGE_FILE" />
    <right command="/usr/bin/mogrify|-rotate|90|IMAGE_FILE" />


Renaming of the Excel import plugin

Das generische Excel-Import-Plugin wurde von plugin_intranda_import_generic_excel.jar zu plugin_intranda_import_excel.jar umbenannt. Dies hat ebenso einen Einfluß auf die Konfigurationsdatei. Diese heisst statt plugin_intranda_import_excel_read_headerdata.xml von nun an plugin_intranda_import_excel.xml.

The generic Excel import plugin has been renamed from plugin_intranda_import_generic_excel.jar to plugin_intranda_import_excel.jar This also has an effect on the configuration file. Instead of plugin_intranda_import_excel_read_headerdata.xml this file is now called plugin_intranda_import_excel.xml.


New default naming scheme for the master folder

The default name of the master folder has changed from master_{processtitle}_media to {processtitle}_master Optionally you can now adjust the folder structure in all operations or stay with the previous scheme - a configuration option is added for this:

echo 'process.folder.images.master=master_{processtitle}_media' >> /opt/digiverso/goobi/config/goobi_config.properties

If other folder names have been used, either adjust the above setting as necessary or perform all operations and steps.

For example, if the orig_{processtitle}_tif and {processtitle}_tif folders were previously used for master and derivatives, i.e. the setting


Then this must now be replaced by the following in /opt/digiverso/goobi/config/goobi_config.properties


If the option MetsEditorDefaultSuffix=jpeg was previously used, this must now be replaced as follows:




In this plugin it is now possible to define several changes for each depending on different process properties. Therefore a new XML element was introduced, which has to be added to the config file, see also: https://docs.goobi.io/goobi-workflow-plugins-en/step/intranda_step_changeworkflow

With this file this can be automated:

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" encoding="UTF-8" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output encoding="UTF-8" version="1.0" indent="yes"/>

    <xsl:template match="config">
            <xsl:apply-templates select="comment() | @* | *[not(self::steps|self::propertyName|self::propertyValue)]" />
            <change><xsl:copy-of select="steps|propertyName|propertyValue"/></change>

    <!-- IdentityTransform -->
    <xsl:template match="/ | @* | node()">
            <xsl:apply-templates select="@* | node()" />



file=/opt/digiverso/goobi/config/plugin_intranda_step_changeWorkflow.xml; xmlstarlet tr /tmp/addChangeElement.xsl ${file} | xmlstarlet fo -e utf-8 -s 4 >${file}.tmp; mv ${file}.tmp ${file}

The XMP plugin has been renamed

The plugin goobi-plugin-step-xmp-header has been renamed from write-xmp to intranda_step_xmp_header. Adjust the database:

mysql goobi -e 'update schritte set stepplugin="intranda_step_xmp_header" where stepplugin="write-xmp"'


Escaping in configuration files

The configuration parser was changed so that the commas and backslashes no longer need to be escaped. All occurrences of \, must be replaced by , and \\ by \. Instead | in xml-attributes are now escaped. The following files under /opt/digiverso/goobi/config/ are affected:

Find affected files (backslashes) - please adjust manually:

grep -F -l -e '\\' -e '\,' /opt/digiverso/goobi/config/*.xml

Find affected files (pipe sign):

for i in /opt/digiverso/goobi/config/*.xml; do j=$(xmlstarlet sel -t -v '//@*[contains(.,"|")]' $i | grep -P '[^\\]\|'); test -n "$j" && echo -e "\n\n==> $i <==\n$j"; done

Probably only the goobi_projects.xml is affected here, which can be adapted as follows:

file=/opt/digiverso/goobi/config/goobi_projects.xml; xmlstarlet sel -t -v '//@*[contains(.,"|")]' -n "$file" | sort -u | perl -e 'print sort { length $b <=> length $a } <>' | while read i; do sed -i -e "s+${i}+${i//|/\\\\|}+g" "$file"; done

For the plugin goobi-plugin-step-xmpheader changes how the parameters for the exiftool are specified:

-        <parameter>-overwrite_original, -q, -q, -m, {PARAM}, {FILE}</parameter>
+        <parameter>-overwrite_original</parameter>
+        <parameter>-q</parameter>
+        <parameter>-q</parameter>
+        <parameter>-m</parameter>
+        <parameter>{PARAM}</parameter>
+        <parameter>{FILE}</parameter>


The folder name has changed:

-        <useOrigFolder>true</useOrigFolder>
+        <!-- which images to use , possible values are master|main|jpeg|source|... -->
+        <foldername>master</foldername>


If the plugin is used for Generic Excel import, the mapping of the metadata must be adjusted in the configuration file. The attribute name was renamed to property:

<!-- Old -->
<metadata headerName="XXX" docType="child" name="YYY"/>
<!-- New -->
<metadata headerName="XXX" docType="child" property="YYY"/>


If the LayoutWizzard plugin is installed, the section from <contentBorder> to </preview> in its configuration file must be replaced by the following section

<!-- Config for appearance of single/large image -->

<!-- Config for appearance of images in preview mode -->



The style of the dockets was adapted and support for Hebrew characters was added. If the routing slips have not been individually adapted, the files can be replaced 1:1. For this purpose, the generation should be tried out in the user interface before. The following steps are more defensively formulated to prevent accidental automatic overwriting:

TMPDIR=$(mktemp -d)
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/config.xml
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/docket.xsl
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/docket_english.xsl
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/docket_metadata.xsl
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/docket_multipage.xsl
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/font_OpenSans-Regular.ttf
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/font_OpenSans-Semibold.ttf
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/font_OpenSansHebrew-Bold.ttf
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/font_OpenSansHebrew-Regular.ttf
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/logo.png
wget -q https://raw.githubusercontent.com/intranda/goobi/master/Goobi/install/xslt/placeholder.png
cp -i * /opt/digiverso/goobi/xslt/ # do not overwrite things

The previous standard XSLT files have the following MD5 hash:

28157e2d48053d4700034372e91a3210  docket_english.xsl
47a9846db78ae8df9b517ee8ef1a2216  docket_multipage.xsl
b55280e1d70b66d66d5a1f801cf3db14  docket.xsl

After completion of the work, the generation of the dockets should be checked again.


Before removing the LDAP configuration from the Goobi workflow config file, it is important to start with the new goobi.war so that the migration to the database takes place.

The LDAP configuration was migrated from the configuration file to the database. After the update, the corresponding block can be removed from the goobi_config.properties file.


For the ActiveMQ interface the available resources must be specified:

                    <memoryUsage limit="64 mb"/>
                    <storeUsage limit="512 mb"/>
                    <tempUsage limit="128 mb"/>


Before these points are processed, Goobi workflow must be started once with the new goobi.war to update the database schema.

Since you can only make other users super-administrators as super-administrators, an account should be set manually in the database when updating. Subsequently, further accounts can be adjusted by means of a checkbox in the user administration.

The following SQL statements will help here:

mysql goobi -Nbse'SELECT benutzerid, login FROM benutzer WHERE login REGEXP "admin|intranda"'
# mysql goobi -e 'UPDATE benutzer SET superadmin = true WHERE benutzerid =XXXX'


Goobi workflow now uses log4j2 and comes with its own configuration file. You will therefore need to remove the overwriting entries from /etc/default/tomcat8:

patch /etc/default/tomcat8 <<"EOF"
@@ -26,2 +25,0 @@
-JAVA_OPTS="${JAVA_OPTS} -Dlog4j.configuration=file:///opt/digiverso/config/log4j.properties"
-JAVA_OPTS="${JAVA_OPTS} -Dlog4j.configurationFile=/opt/digiverso/config/log4j2.xml"

Last updated