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
  • Der thumbs Ordner
  • Beispiel-Konfiguration
Als PDF exportieren
  1. Administration
  2. Anwendungsszenarien

Thumbnails erzeugen für beschleunigte Bildanzeige

Seit einiger Zeit gibt es die Möglichkeit, in Goobi workflow Vorgangsordnern einen thumbs/ Ordner anzulegen. In diesem Ordner können thumbnails für die Bilder in den Ordnern im images/ Ordner hinterlegt werden. Dabei ist eine Namenskonvention zu beachten, die von Goobi workflow ausgewertet und zur effizienten Anzeige von Bildern genutzt wird.

Der thumbs Ordner

Ein Ordner unterhalb des thumbs/-Ordners darf nur jpg-Bilder enthalten und muss folgendem Namensschema folgen, damit er verwendet wird:

<images-folder-name>_<size-of-longest-side-in-pixels>

Wenn man nun zum Beispiel folgenden Ordner im images/-Ordner hat:

images/myexampleprocess_master

Müsste man für thumbnails mit der maximalen Seitenlänge von 1000 Pixeln folgenden Ordner im thumbs/ Ordner erstellen und mit passenden Bildern befüllen:

thumbs/myexampleprocess_master_1000

Beispiel-Konfiguration

Die Ordner und Bilder darin können mithilfe eines Script-Schrittes in Goobi workflow erzeugt werden. In dem Script-Schritt können auch mehrere Aufrufe stattfinden, um Thumbnails in mehreren Größen zu erstellen. Die folgenden Scripte erstellen thumbnails für die master-images in den Größen 800, 1600 und 3200 Pixel:

/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {origpath} -d {processpath}/thumbs/master_{processtitle}_media_800 -D .jpg -o "-thumbnail 800x800"
/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {origpath} -d {processpath}/thumbs/master_{processtitle}_media_1600 -D .jpg -o "-thumbnail 1600x1600"
/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {origpath} -d {processpath}/thumbs/master_{processtitle}_media_3200 -D .jpg -o "-thumbnail 3200x3200"

Für die Derivate erfolgen die Aufrufe analog:

/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {tifpath} -d {processpath}/thumbs/{processtitle}_media_800 -D .jpg -o "-thumbnail 800x800"
/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {tifpath} -d {processpath}/thumbs/{processtitle}_media_1600 -D .jpg -o "-thumbnail 1600x1600"
/bin/bash /opt/digiverso/goobi/scripts/gm-convert.sh -s {tifpath} -d {processpath}/thumbs/{processtitle}_media_3200 -D .jpg -o "-thumbnail 3200x3200"

Das hier genutzte Script gm-convert.sh kann hier heruntergeladen und sollte in den Ordner /opt/digiverso/goobi/scripts/ gelegt werden:

gm-convert.sh
#!/bin/bash

PATH=${PATH}:/usr/local/bin

set -e
set -u

USAGE="
$0 - wrapper script for GraphicsMagick's convert command.

Mandatory options:
    -s SOURCEDIR            Source folder with images to convert
    -d DESTDIR              Output folder
    -D DEST_EXTENSION       Output file extension

Other options:
    -S SOURCE_EXTENSION     Only convert source files with these extensions
    -o GMOPTION [ -o ... ]  GM Options

    Calling from Goobi - example script command (be careful with spaces within \"\"):
    /path/to/$(basename $0) \"-s{origpath}\" \"-d{tifpath}\" \"-D.tif\" \"-o+matte -depth 8 -compress JPEG\"
"


## check if the called tools exists
type -P gm &>/dev/null || { echo "ERROR: GraphicsMagick is required but seems not to be installed." >&2; exit 1; }


## check for the given arguments
[ "$#" -ge "3" ] || { echo "$USAGE"; exit 1; }    # at least
SOURCE_EXTENSION=".*"                             # if none specified use .* as source file type
GMOPTIONS=""                                      # if none specified use none
while getopts "s:d:S:D:o:"  OPCOES; do
  case $OPCOES in
    s ) SOURCEDIR="$OPTARG";;
    d ) DESTDIR="$OPTARG";;
    S ) SOURCE_EXTENSION="$OPTARG";;
    D ) DEST_EXTENSION="$OPTARG";;
    o ) GMOPTIONS="$GMOPTIONS $OPTARG";;
    ? ) echo "$USAGE"; exit 1;;
    esac
done

# check arguments
[ -d "${SOURCEDIR}" ] || { echo "ERROR: Input folder ${SOURCEDIR} does not exist." >&2; exit 1; }
[ -d "${DESTDIR}" ]   || mkdir -p "${DESTDIR}" || { echo "ERROR: Could not create destination folder ${DESTDIR}." >&2; exit 1; }
stat -t "${SOURCEDIR}/"*${SOURCE_EXTENSION} >/dev/null || { echo "ERROR: No *${SOURCE_EXTENSION} input files found in ${SOURCEDIR}" >&2; exit 1; }


# convert
cd "${SOURCEDIR}"
CTR=0
for i in *${SOURCE_EXTENSION}; do
  CTR=$((CTR+1))
  nice gm convert "$i" ${GMOPTIONS} "${DESTDIR}/${i%${SOURCE_EXTENSION}}${DEST_EXTENSION}" || { echo "ERROR: GM command failed: gm convert $i ${GMOPTIONS} ${DESTDIR}/${i%${SOURCE_EXTENSION}}${DEST_EXTENSION}" >&2; exit 1; }
done


# Success
echo "
Done converting $CTR images to $DEST_EXTENSION with GraphicsMagick.
Options used:          $GMOPTIONS
Source directory:      $SOURCEDIR
Destination directory: $DESTDIR
"

exit 0

# Notizen
# nice gm mogrify -depth 8 +matte -compress JPEG "${i}"
# if [ "$(tiffinfo ${i} 2>&1 | grep Bits | awk {'print $2'})" != "1" ]; then
# prepare !
VorherigeAnwendungsszenarienNächsteUmgang mit 3D Objekten

Zuletzt aktualisiert vor 5 Monaten