2020

2020-09-17

Im imageQA Plugin hat sich die Konfiguration der Rotations- und Löschbefehle geändert. Diese müssen angepasst werden.

Dies ist die alte Konfiguration:

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

Die neue sieht folgendermaßen aus:

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

2020-08-09

Umbenennung des Excel-Import-Plugins

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.

2020-07-31

Neues Default-Namensschema für den Master-Ordner

Der Default-Name des Masterordners hat sich von master_{processtitle}_media zu {processtitle}_master geändert. Wahlweise kann man nun die Ordnerstruktur in allen Vorgängen anpassen, oder bei dem bisherigen Schema bleiben - dafür wird eine Konfigurationsoption hinzugefügt:

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

Wenn andere Ordnernamen verwendet wurden, so ist die entweder die obige Einstellung gegebenenfalls anzupassen oder aber alle Vorgänge und Schritte.

Wurden bisher beispielsweise die Ordner orig_{processtitle}_tif und {processtitle}_tif für Master und Derivate verwendet, also die Einstellung

DIRECTORY_SUFFIX=tif
DIRECTORY_PREFIX=orig

Dann muss dieses nun durch folgendes in /opt/digiverso/goobi/config/goobi_config.properties ersetzt werden:

process.folder.images.master=orig_{processtitle}_tif
process.folder.images.main={processtitle}_tif

Wurde weiterhin bisher die Option MetsEditorDefaultSuffix=jpeg verwendet, so muss dies nun wie folgt ersetzt werden:

process.folder.images.fallback={processtitle}_jpeg

2020-07-29

intranda_step_changeWorkflow

In diesem Plugin ist es nun möglich, für jede <config> mehrere Änderungen in Abhängigkeit von unterschiedlichen Prozesseigenschaften zu definieren. Dafür wurde ein neues XML-Element eingeführt, das zur Konfigurationsdatei hinzugefügt werden muss, siehe auch: https://docs.goobi.io/workflow-plugins/step/goobi-plugin-step-change-workflow

Mit dieser Datei lässt sich das automatisieren:

/tmp/addChangeElement.xsl
<?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:copy>
            <xsl:apply-templates select="comment() | @* | *[not(self::steps|self::propertyName|self::propertyValue)]" />
            <change><xsl:copy-of select="steps|propertyName|propertyValue"/></change>
        </xsl:copy>
    </xsl:template>

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

</xsl:stylesheet>

Ausführen:

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}

Umbenennung des XMP-Plugins

Das Plugin goobi-plugin-step-xmp-header wurde intern umbenannt von write-xmp zu intranda_step_xmp_header. Dafür ist diese Datenbankanpassung nötig:

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

2020-07-01

Escaping in Configdateien

Der Konfigurations-Parser wurde so umgestellt, dass die Kommata und Backslashes nicht mehr escaped werden müssen. Es müssen alle Vorkommnisse von \, durch , und \\ durch \ersetzt werden. Stattdessen werden nun | in xml-Attributen escaped. Betroffen sind die folgenden Dateien unterhalb von /opt/digiverso/goobi/config/:

Betroffene Dateien finden (Backslashes) - bitte manuell anpassen:

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

Betroffene Dateien finden (Pipezeichen):

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

Betroffen ist hier vermutlich nur die goobi_projects.xml, die man so anpassen kann:

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

Für das Plugin goobi-plugin-step-xmpheader ändert sich, wie die Parameter für das exiftool angegeben werden:

plugin:write-xmp.xml
-        <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>

ImageQA-Plugin

Die Ordner-Benennung hat sich geändert:

plugin:intranda:step:imageQA.xml
-        <useOrigFolder>true</useOrigFolder>
+        <!-- which images to use , possible values are master|main|jpeg|source|... -->
+        <foldername>master</foldername>

2020-05-08

Sofern das Plugin für den Generischen Excel Import verwendet wird, muss in der Konfigurationsdatei das Mapping der Metadaten angepasst werden. Das Attribut name wurde umbenannt zu property:

plugin:intranda:import:excel:read:headerdata.xml
<!-- Old -->
<metadata headerName="XXX" docType="child" name="YYY"/>
<!-- New -->
<metadata headerName="XXX" docType="child" property="YYY"/>

2020-03-25

Sofern das Plugin LayoutWizzard installiert ist, muss in dessen Konfigurationsdatei der Abschnitt ab <contentBorder> bis </preview> durch folgenden Abschnitt ersetzt werden:

plugin:intranda:step:LayoutWizzard.xml
<!-- Config for appearance of single/large image -->
<singleImage>
    <cropFrame>
        <linewidth>2</linewidth>
        <linecolor>#00fa9a</linecolor>
        <fillcolor>#ffffff</fillcolor>
        <clickradius>20</clickradius>
        <fillcolor>#ffffff</fillcolor>
    </cropFrame>
    <spineMarker>
        <linewidth>2</linewidth>
        <linecolor>#ff0000</linecolor>
        <fillcolor>#ffffff</fillcolor>
        <clickradius>20</clickradius>
    </spineMarker>
</singleImage>

<!-- Config for appearance of images in preview mode -->
<preview>
    <cropFrame>
        <linewidth>2</linewidth>
        <linecolor>#368EE0</linecolor>
        <fillcolor>#f1f2f3</fillcolor>
        <clickradius>20</clickradius>
        <fillcolor>#f1f2f3</fillcolor>
    </cropFrame>
    <spineMarker>
        <linewidth>2</linewidth>
        <linecolor>#ff0000</linecolor>
        <fillcolor>#f1f2f3</fillcolor>
        <clickradius>10</clickradius>
    </spineMarker>
</preview>

2020-03-05

Laufzettel

Das Styling der Laufzettel wurde angepasst und eine Unterstützung für hebräische Schriftzeichen hinzugefügt. Sofern die Laufzettel nicht individuell angepasst wurden, können die Dateien 1:1 ersetzt werden. Dafür sollte die Generierung vorher einmal in der Oberfläche probiert werden. Die folgenden Schritte sind defensiver formuliert, um ein versehentliches automatisches Überschreiben zu verhindern:

TMPDIR=$(mktemp -d)
cd $TMPDIR
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

Die vorherigen Standard XSLT Dateien haben den folgenden MD5 Hash:

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

Nach Abschluss der Arbeiten sollte die Generierung der Laufzettel erneut überprüft werden.

LDAP-Konfiguration

Es ist wichtig vor dem Entfernen der LDAP-Konfiguration aus der Config-Datei Goobi workflow einmal mit der neuen goobi.war zu starten, damit die Migration in die Datenbank stattfindet.

Die Konfiguration des LDAPs wurde aus der Konfigurationsdatei in die Datenbank migriert. Nach dem Update kann der entsprechende Block aus der Datei goobi_config.properties entfernt werden.

2020-02-12

Für die ActiveMQ Schnittstelle müssen die zur Verfügung stehenden Ressourcen angegeben werden:

goobi:activemq.xml
<beans>
    <broker>
        <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="64 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="512 mb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="128 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>
    </broker>
</beans>

2020-01-30

Bevor diese Punkte bearbeitet werden, muss Goobi workflow einmalig mit der neuen goobi.war gestartet werden, um das Datenbankschema zu aktualisieren.

Da man nur als Superadmin andere Nutzer zum Superadmin machen kann, sollte ein Account beim Update von Hand in der Datenbank gesetzt werden. Anschließend können weitere Accounts per Checkbox in der Benutzerverwaltung angepasst werden.

Dabei helfen die folgenden SQL Statements:

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

2020-01-18

Goobi workflow verwendet nun log4j2 und bringt dafür eine eigene Konfigurationsdatei mit. Deshalb müssen die überschreibenden Einträge aus der /etc/default/tomcat8 entfernt werden:

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"
EOF

Zuletzt aktualisiert