Goobi workflow Plugins
DokumentationenGoobi workflow HandbuchGoobi workflow Digests
Deutsch
Deutsch
  • Übersicht
  • Administration
    • ACTApro Synchronisation
    • Archiv-Management
      • Bedienung des Plugins
      • Konfiguration des Plugins
    • Konfigurationseditor
    • Copy Master-Anchor
    • Data Poller
    • Goobi-to-Goobi
      • Installation und Konfiguration
      • Erzeugung der Export-Verzeichnisse
      • Transfer der Export-Verzeichnisse
      • Einspielen der Export-Verzeichnisse
    • Paginierung zurücksetzen
    • Wiederherstellung von archivierten Bildordnern
    • Kompatibilität mit Regelsatz
    • Regelsatzeditor
  • Dashboards
    • Barcode Scanner Dashboard
    • Erweitertes Dashboard
  • Exporte
    • Individueller Export für das DMS Imagen Media Archive Management
    • Einzelseitenexport
    • Konfigurierbarer Export
    • Fedora Export
    • Fedora Export PROV
    • Heris Export
    • Export für Zeitungen in das Portal der Deutschen Digitalen Bibliothek
    • PDF-Export in Verzeichnisstruktur der NLI
    • Export ausgewählter Bilder
    • Stanford Export
    • VLM Export
    • HAAB Export
    • ZOP Export
  • Generisch
    • Barcode Scanner
  • Importe
    • Altdatenimport für das Bundesdenkmalamt Österreich
    • Archiv-Daten-Import
    • Datenimport ohne Katalogabfrage für die ETH Zürich
    • Import von Datensätzen aus einer Excel-Datei
    • Import von Zettelkatalogen aus KatZoom
    • MAB-Dateien einlesen
    • Import von Sisis SunRise Dateien
    • Import für Zeitschriftenartikel aus einem Endnote Export
    • Datenimport mit ALMA-Katalogabfrage für die Zentralbibliothek Zürich
    • Datenimport mit CMI-Katalogabfrage für die Zentralbibliothek Zürich
    • Datenimport ohne Katalogabfrage für die Zentralbibliothek Zürich
  • Metadaten
    • Publikationstyp ändern
    • Metadatenerweiterung zur Erstellung von Strukturelementen pro Bild
  • OPAC
    • Ariadne Import
    • EAD Datenübernahme
    • Generischer XML Import
    • Generischer JSON Import
    • Kalliope Import
    • MARC Import
    • PICA Import
    • Soutron Import
  • Wiederholte Jobs
    • Datenimport für Wohnbauförderungsfond Österreich
    • HERIS Vokabular Aktualisierung
  • Statistiken
    • Sudan Memory Übersetzungen
    • Visualisierung des Durchsatzes pro Nutzer
  • Arbeitsschritte
    • Anreichern von ACTApro Dokumenten
    • ALMA API Plugin
    • Automatische Paginierung auf Basis der Dateinamen
    • Archivierung von Bildordnern
    • Erzeugen von Archival Resource Keys (ARK)
    • Libsafe Integration
    • Batch zuweisen
    • Batch Progress Plugin
    • Katalogabfrage
    • Ändern des Workflows auf Grundlage von Vorgangseigenschaften
    • Generierung von PDF-Dateien
    • Plugin zur Registrierung von DOIs via DataCite API
    • Workflow pausieren
    • Bedingte Verzögerung des Workflow Status
    • Inhalte löschen
    • Anzeige von Metadaten in einer Aufgabe
    • Plugin zur DOI-Registrierung
    • Download und Verifizieren von Dateien
    • Duplikation von Arbeitsschritten
    • ePIC PID Registrierung (Handle & DOI)
    • EWIG Langzeitarchivierung
    • Metadatenanreicherung via Excel-Datei
    • Package Export
    • Kopieren von Dateien aus Metadatenfeldern
    • Upload von Dateien
    • Validierung von Dateien
    • Flex Editor
    • Generate ALTO IDs
    • Identifier generieren
    • Automatische Geonames Annotierung
    • GeoNames Korrektur
    • Automatische Handlevergabe
    • Heris Datenimport
    • Extraktion von Bildmetadaten
    • Bildskalierung und Wasserzeichen rendern
    • Auswahl von Bildern
    • Qualitätskontrolle von Bildern
    • Metatatenübernahme aus einem Verzeichnis
    • Bereinigung von Metadaten
    • Layout Wizzard
      • Verwendung des Plugins
        • Vorschauansicht
          • Bildbereich
          • Anzeige- und Navigationsoptionen
        • Einzelseitenansicht
          • Ordner- und Dateioptionen
          • Aktuelles Bild
          • Allgemeine Einstellungen
          • Dateiliste
          • Speicheransicht
          • Arbeitsschritte
          • Ausgewählter Analyseschritt
          • Globale Zuschneideoptionen
      • Technische Details
        • Installation
        • Konfiguration des LayoutWizzards
        • Konfiguration der Nutzeroberfläche
        • Workflow
    • Metadaten bearbeiten
    • Metadaten pro Bild erfassen
    • Automatische Anreicherung von Metadaten aus eigenen Vokabularen
    • Strukturdatenimport aus einer Exceldatei
    • Metadatenfelder aktualisieren
    • Automatische METS-Anreicherung mit Bilddateien und Paginierung
    • METS-Datei anreichern
    • Datenmigration aus Visual Library
    • MIX Metadata Enrichment Plugin
    • OCR-Durchführung mit gemischten Schrifttypen
    • OCR Seitenauswahl
    • OCR-Ergebnis in Metadatenfeld übernehmen
    • Object Identifier Generierung
    • Korrektur von Inhaltverzeichnissen nach einer OLR
    • Kontrolle der Ausgabenerkennung innerhalb von Zeitungen
    • Datenimport für Book Interchange Dateien
    • PDFs aufsplitten, Volltext extrahieren und Inhaltsverzeichnis auslesen
    • Elektronische Publikationen
    • Generierung von Platzhalterbildern
    • Migration von Vorgangsverzeichnissen
    • Umbenennung von Dateien
    • Umbenennung von Dateien vor dem Rosetta-Ingest
    • Umbenennen von Vorgängen
    • Bilder sortieren
    • Ersetzen von Bildern
    • Automatisches Setzen des Repräsentanten
    • Bildreihenfolge umkehren
    • Generierung von Laufzetteln
    • Versenden von E-Mails
    • Import von ECHO-Dateien als TEI
    • Tif-Validierung
    • Transkription von Bildinhalten
    • OCR mittels Transkribus
    • Einspielen und Download aus Transkribus Collections
    • Erzeugung von Uniform Resource Names (URN)
    • Benutzerzuweisung
    • Vokabularanreicherung
    • Schreiben von XMP Metadaten in Bilddateien
    • Metadaten-Validierung innerhalb einer Aufgabe
    • Rechnungen und Lieferscheine für Nutzerbestellungen
  • Workflow
    • AEON Datenübernahme
    • Barcode Generator
    • Arbeitsschritte schließen
    • Entitäten Editor - Artist Dictionary
    • Generisches Import Plugin für Excel-Dateien inklusive Validierung
    • Vorgangserstellung durch Dateiupload
    • Massenimport aus Excel-Dateien mit EAD-Anreicherung
    • Generisches Import-Plugin für JSON-Dateien
    • LayoutWizzard workflow plugin
    • Vorgangsbeziehungen anlegen
    • Massenupload
    • Import von Zeitungsausgaben als Einzelseiten
    • Projektexport als Ordner mit Bildern und Excel-Datei
    • Massenimport für Markenstudien und Werbemittel
    • Datenübernahme aus AIM25
Powered by GitBook
On this page
  • Übersicht
  • Einführung
  • Installation
  • Überblick und Funktionsweise
  • Migration
  • Konfiguration
Export as PDF
  1. Arbeitsschritte

Umbenennung von Dateien

Dieses Step Plugin erlaubt die automatische Anpassung von Dateinamen innerhalb von Goobi Vorgängen.

Übersicht

Name
Wert

Identifier

intranda_step_rename-files

Repository

Lizenz

GPL 2.0 oder neuer

Letzte Änderung

08.05.2025 15:21:42

Einführung

Dieses Plugin dient zu bedingen Umbenennung von Dateien innerhalb der verschiedenen Ordner eines Vorgangs von Goobi workflow. Die Benennung erfolgt dabei abhängig von einer Konfigurationsdatei, die für unterschiedliche Workflows jeweils anders aufgebaut sein kann.

Installation

Zur Installation des Plugins muss die folgende Datei installiert werden:

/opt/digiverso/goobi/plugins/step/plugin_intranda_step_rename-files-base.jar

Um zu konfigurieren, wie sich das Plugin verhalten soll, können verschiedene Werte in der Konfigurationsdatei angepasst werden. Die Konfigurationsdatei befindet sich üblicherweise hier:

/opt/digiverso/goobi/config/plugin_intranda_step_rename-files.xml

Dabei sieht der Inhalt dieser Konfigurationsdatei beispielhaft wie folgt aus:

<config_plugin>
    <config>
        <project>Manuscript_Project</project>
        <step>*</step>
        <folder>greyscale</folder>
        <!-- don't touch mets file after renaming -->
        <updateMetsFile>false</updateMetsFile>
        <startValue>2</startValue>
        <!-- Replacement removed anything in the process title before and including the '_' -->
        <namepart type="variable">
            {processtitle}
            <replace regex="^.*?_" replacement=""/>
            <condition value="{meta._imageFilePrefix}" matches="^$"/>
        </namepart>
        <namepart type="static">_</namepart>
        <namepart type="metadata" level="Newspaper">
            TitleDocMain
            <replace regex="\s+" replacement=""/>
        </namepart>
        <namepart type="static">_</namepart>
        <namepart type="counter">00000</namepart>
    </config>

    <config>
        <project>Archive_Project</project>
        <step>*</step>
        <folder>*</folder>
        <namepart type="originalfilename" />
        <namepart type="static">_ARCHIVE</namepart>
    </config>

    <config>
        <project>*</project>
        <step>*</step>
        <folder>*</folder>
        <startValue>0</startValue>
        <namepart type="variable">{processtitle}</namepart>
        <namepart type="static">_</namepart>
        <!-- Conditional name parts (mimic old barcode feature) -->
        <namepart type="counter">
            0000
            <condition value="{originalfilename}" matches="^(?!.*barcode).*$" />
        </namepart>
        <namepart type="static">
            0000
            <condition value="{originalfilename}" matches="^.*barcode.*$" />
        </namepart>
    </config>
</config_plugin>

Dieses Plugin wird in den Workflow so integriert, dass es automatisch ausgeführt wird. Eine manuelle Interaktion mit dem Plugin ist nicht notwendig. Zur Verwendung innerhalb eines Arbeitsschrittes des Workflows sollte es wie im nachfolgenden Screenshot konfiguriert werden.

Überblick und Funktionsweise

Das Plugin wird üblicherweise vollautomatisch innerhalb des Workflows ausgeführt. Es ermittelt zunächst, ob sich innerhalb der Konfigurationsdatei ein Block befindet, der für den aktuellen Workflow bzgl. des Projektnamens und Arbeitsschrittes konfiguriert wurde. Wenn dies der Fall ist, werden die einzelnen Elemente <namepart> ausgewertet, mit den entsprechenden Werten für den Zähler und die Variablen aus Goobi workflow ausgestattet und anschließend miteinander verkettet. Die somit erzeugten Dateinamen werden nun für sämtliche relevanten Verzeichnisse des Goobi Vorgangs angewendet und mit den jeweils korrekten Dateinamenerweiterungen ergänzt (z.B. .tif).

Um eine korrekte Umbennenung gewährleisten zu können, die auf dem originalen Dateinamen basiert, merkt sich das Plugin die originalen Dateinamen jeder Datei in einer Vorgangseigenschaft namens plugin_intranda_step_rename_files. Mit dieser Vorgangseigenschaft wird sichergestellt, dass mehrfache Ausführungen des Plugins, mit möglichen Änderungen der Konfiguration, den ursprünglichen Dateinamen korrekt auflösen.

Standardmäßig berücksichtigt das Plugin für die Benennung die Dateien innerhalb der folgenden Unterverzeichnisse:

  • master

  • media

  • jpeg

  • alto

  • pdf

  • txt

  • xml

Migration

Dieser Abschnitt beschreibt notwendige Schritte zum Migrieren auf eine neue Plugin Version.

In älteren Versionen gab es die folgende Funktionalität:

Sollte innerhalb des Ordners eine Datei vorgefunden werden, die barcode innerhalb des Dateinamens enthält, so wird diese ebenfalls entsprechend des Namensschemas benannt. Als Zähler wird hier jedoch der Wert 0 gesetzt.

Diese Funktionalität wurde in der aktuellen Version des Plugins entfernt. Durch die Einführung von Bedingungen (<condition> Blöcke) in den <namepart> Elementen, kann diese Funktionalität jetzt selbst flexibel konfiguriert werden.

Die Funktionalität wurde zuvor immer bedingungslos angewandt und hat den Zähler des <namepart> mit dem Typ counter auf 0 gesetzt, wenn der Dateiname das Wort barcode beinhaltete. Dieses Verhalten kann jetzt explizit erzwungen werden. Wir zeigen im Folgenden ein Beispiel anhand eines counter Elements mit vier Ziffern:

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

Dieser Auszug enthält zwei <namepart> Elemente die nicht gleichzeitig aktiv sein können. Das erste <namepart> Element ist ein Zähler und dann aktiv, wenn der {originalfilename} (der originale Dateiname) nicht das Wort barcode enthält. Das zweite <namepart> Element ist das statische Wort 0000 und wird dann aktiviert, wenn der Dateiname das Wort barcode enthält.

Das führt zu exakt dem selben Verhalten wie zuvor. Jetzt hingegen kann der Nutzer selbst entscheiden ob und wie er diese Funktionalität verwenden möchte und ggf. die Konfiguration anpassen.

Konfiguration

Die Konfiguration des Plugins erfolgt innerhalb der bereits erwähnten Konfigurationsdatei. Dort können verschiedene Parameter konfiguriert werden. Der Block <config> kann für verschiedene Projekte oder Arbeitsschritte wiederholt vorkommen, um innerhalb verschiedener Workflows unterschiedliche Aktionen durchführen zu können. Die Elemente <namepart> sind hierbei maßgeblich für die Generierung der Dateinamen.

Wert
Beschreibung

project

Dieser Parameter legt fest, für welches Projekt der aktuelle Block <config> gelten soll. Verwendet wird hierbei der Name des Projektes. Dieser Parameter kann mehrfach pro <config> Block vorkommen.

step

Dieser Parameter steuert, für welche Arbeitsschritte der Block <config> gelten soll. Verwendet wird hier der Name des Arbeitsschritts. Dieser Parameter kann mehrfach pro <config> Block vorkommen.

folder

Dieser Parameter lässt die Nutzer steuern, welche Verzeichniss für die Umbenennung berücksichtigt werden sollen. Wenn hier als Wert * angegeben wird, der Parameter fehlt oder der Wert nicht konfiguriert ist, werden die default-Settings verwendet.

updateMetsFile

Dieser Parameter lässt die Nutzer steuern, ob die Dateiverlinkungen in der METS Datei nach der Umbenennung aktualisiert werden sollen. Wenn nichts angegeben wird, ist diese Funktion standardmäßig aktiviert.

startValue

Dieser Wert steuert, mit welchem Startwert der hochzählende counter beginnen soll.

namepart

Dieser ebenfalls mehrfach verwendbare Parameter steuert die Generierung der Dateinamen. Er kann statische Elemente beinhalten (static), den originale Dateinamen verwenden (originalfilename), Variablen aus Goobi nutzen (variable), Metadaten nutzen (metadata) sowie einen Zähler erzeugen (counter). Der Parameter originalfilename entspricht dem originalen Dateinamen der Datei bevor das Plugin erstmalig ausgeführt wird. Bei Metadaten wird der Name des Metadatentyps angegeben (beispielsweiseTitleDocMain). Für die Typen variable und metadata kann das Attribut format definiert werden. Damit lässt sich der Wert anschließend formattieren (beispielsweise %03d für eine dreistellige Zahl mit führenden Nullen). Für den Typen metadata kann zusätzlich das Attributlevel definiert werden. Dieses gibt an in welchem Strukturelement nach dem Metadatum gesucht werden soll (bei Zeitungen beispielsweise auf Ausgabenebene `NewspaperIssue`). Für die Generierung des Zählers ist entscheidend, welche Anzahl an Stellen definiert wurden. Der Wert 00000 würde beispielsweise fünfstellige Zahlen mit ggf. vorangestellten Nullen erzeugen. Auch ein Zähler kann das zusätzliche Attribut level enthalten. In diesem Fall ist der Zähler lokal für jedes Strukturlelement des definierten Typen level. So können bei Zeitungen beispielsweise Seitenzähler pro Ausgabe realisiert werden, wenn level aufNewspaperIssue gesetzt wird.

Die so definierten Bestandteile des Dateinamens werden für die Benennung miteinander verkettet und anschließend um die eigentliche Dateiendung ergänzt, um so die Datei zu benennen.

Darüber hinaus können <namepart> Elemente mehrere <condition> und <replace> Elemente beinhalten um Bedingungen oder Ersetzungsanweisungen zu spezifizieren.

Bedingungselemente haben die Form

<condition value="{VARIABLE}" matches="REGEX" />

und können den Wert jeder VARIABLE gegen einen regulären Ausdruck REGEX prüfen. Wenn mehrere Bedingungen spezifiziert sind müssen alle erfüllt sein, damit das jeweilige <namepart> Element aktiviert wird.

Ersetzungselemente haben die Form

<replace regex="REGEX" replacement="REPLACEMENT"/>

und können beliebige reguläre Ausdrücke REGEX in dem Wert des <namepart> Elements durch REPLACEMENT ersetzen (dies kann auch leer sein). Wenn mehrere Ersetzungen spezifiziert sind werden sie in der Reihenfolge ausgeführt, wie sie konfiguriert wurden, sodass am Ende ein finaler Wert des <namepart> Elements entsteht.

PreviousMigration von VorgangsverzeichnissenNextUmbenennung von Dateien vor dem Rosetta-Ingest

Last updated 1 month ago

Details über die in diesem Plugin verwendbaren Variablen aus Goobi workflow finden sich.

innerhalb dieser Dokumentation
https://github.com/intranda/goobi-plugin-step-rename-files
Integration des Plugins in den Workflow