2024

24.11

Artist Dictionary

If the following plugins are used, manual steps must be carried out after the update:

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

These plugins use vocabularies to manage relations between entities. Previously there were two relations R03a Relationship Person - Collective agent and R03b Relationship Collective agent - Person, which together described the relation between persons and agents. All other relations were only represented in one vocabulary.

The new versions of the plugins expect only one vocabulary R03 Relationship Person - Collective agent. All entries in R03b Relationship Collective agent - Person that are not already present (inverted) in the vocabulary R03a Relationship Person - Collective agent must be transferred manually. The vocabulary R03b Relationship Collective agent - Person must then be removed (temporarily renamed) and the vocabulary R03a Relationship Person - Collective agent renamed to R03 Relationship Person - Collective agent.

All configuration files must be adapted accordingly. The vocabulary references in the Mets files must then be corrected. The Mets migration script is available for this in the vocabulary server, which can be started with the options --trust Value --enable-relation-vocabulary-column-logic -f.

Adaptation to goobi-plugin-workflow-mass-upload

The plugin has been adapted so that the user can select the detection method himself.

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

must be replaced by the following:

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

If use-barcodes is set to true, the detection-type must be set to barcode:

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

24.10

Update of the vokabular server

The vocabulary server must be updated to version 1.1.9 or newer.

24.09

Namensänderung LayoutWizzard Step Plugin

The name of the intranda_step_layoutwizzard plugin has changed. It is now written entirely in lowercase. This also applies to the configuration files. To ensure everything works as usual, the process calls need to be adjusted.

This can be done most easily through the database:

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

Renaming the configuration files:

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

Ensure that the folder goobi/plugins/metadata exists

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

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

The plugin goobi-plugin-step-create-full-pdf has a different configuration. This part has changed and must be taken into account when updating:

OLD:

        <!-- 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"/>

NEW:

        <!-- 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 now requires Java 17. Installation in Ubuntu:

sudo apt install openjdk-17-jre-headless

To ensure that the Tomcat uses Java 17, it is probably required to add a line to the file /etc/default/tomcat9:

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

Scripts called from Goobi need to be compatible, and/or the system's default Java needs to be configured.

Vocabulary Server

Access to the Goobi vocabulary server now requires an additional token. Check whether the vocabulary server is in use:

systemctl | grep vocabulary

In the config file application.properties, the token security.token=CHANGEME needs to be added. The vocabulary server requires an update: 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

Vocabularies

If vocabularies are to be used or were used before an update, adjustments must be made here. Check whether vocabularies are in use:

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

If this command returns a number >0, it is strongly recommended, to test the vocabulary migration before the Goobi workflow update. If vocabularies are not in use, then there must be no link to a vocabulary in the goobi_metadataDisplayRules.xml. Test: grep vocabulary -i /opt/digiverso/goobi/config/goobi_metadataDisplayRules.xml

Also before the update, check the update status of the following plugins, which where not yet adjusted at the time of release: 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

The vocabulary management of Goobi workflow has been replaced by the vocabulary server. This is an independent application with which Goobi workflow can communicate. Please read the details in the Vocabulary server documentation.

Update archive management

This step is for Goobi installations, which use the archive management plugin. To check whether it is installed:

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

The data of the archive management is no longer stored in a BaseX database. It has to be migrated to the Goobi workflow database. This requires the following steps:

  1. The current status of the archives must be saved. Log in at https://URL/basex/dba/login. Then select each database under Databases, select the .xml files and download them.

  2. Stop BaseX:

systemctl stop basexhttp.service
  1. Adjust configuration: Open the file /opt/digiverso/goobi/config/plugin_intranda_administration_archive_management.xml and remove the following lines:

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

Add the following blocks instead:

    <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. Adjust permissions: After the update, the following permissions must be available for full access:

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. Open archive plugin and import EAD files.

  2. Optional: Configure export for the viewer: Archives in the viewer can be found at VIEWERURL/archives/. If the EAD files should also be visible in the viewer, configure the <export> area. The files to be exported and the hotfolder must be specified there.

  3. Set up automatic tasks: Execute the following command to configure automatic exports:

echo -e "\n#Automatic export archive\nintranda_quartz_exportEadFile=0 0 0 * * ?" >> /opt/digiverso/goobi/config/goobi_config.properties
  1. Uninstall BaseX: Once the Goobi workflow update has been successfully tested and the archives are working as required, BaseX can be uninstalled:

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

Additionally remove the following block from the Apache configuration:

    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>

Adjustments to the configuration of the goobi-plugin-export-configurable plugin

Some tag names and types have changed in the config file, e.g. <folder> is now <includeFolders>, and <includeMedia>true</includeMedia> changed to <media enabled="true"/>. Reference config can be found here.

24.04

Adjustments to the configuration of the newspaperRecognizer plugin

The config file plugin_intranda_step_newspaperRecognizer.xml must contain the following block:

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

The existing configuration must be adopted.

Adjustments to the Archive Management Config

If the following is written in /opt/digiverso/goobi/config/plugin_intranda_administration_archive_management.xml:

<useShelfmark>true</useShelfmark>

this must be replaced by the following:

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

If useShelfmark is set to false, nothing needs to be adjusted.

24.02

Config Editor im Core

With the new version, the plugin for the configuration editor has been integrated into the Goobi workflow core. A few points must be taken into account when updating: The old plugin must be deleted and the configuration file must be renamed.

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

Correction of the right's name:

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

Adjustments to plugin_step_rename_files

Functionality for configuration has been added to the plugin. The following block must also be added to each <config>...</config> so that the plugin behaves in the same way after the update:

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

Zuletzt aktualisiert