goobi_projects.xml
Die Datei goobi_projects.xml
konfiguriert die Maske zum Anlegen von Vorgängen. Hier wird projektweise definiert, welche Metadaten und Eigenschaften für bestimmte Publikationstypen erlaubt sind.
Die Datei befindet sich üblicherweise an folgendem Speicherpfad:
Beispielhaft sieht diese Konfigurationsdatei wie folgt aus:
Definition der Projekte
Für jedes Projekt kann ein <project>
Element angelegt werden. Der Name des Projektes wird entweder mit dem Parameter name
oder mit dem Unterelement <name>
angegeben. Soll eine Konfiguration für Projekte mit verschiedene Namen gelten, können mehrere <name>
Elemente angegeben werden. Alternativ kann auch ein Regex-Ausdruck statt dem Namen verwendet werden, um mehrere Projekte anzusprechen. Als default Projektkonfiguration sollte immer ein Projekt mit dem Namen default
eingetragen werden. Wird ein Projekt in Goobi Workflow angelegt, so wird entsprechend der folgenden Reihenfolge nach einer passenden Konfiguration gesucht:
Suche nach dem ersten
project
Eintrag, dessen Name dem Projektnamen entspricht oder diesen enthältSuche nach einem
project
Eintrag, dessen Name, interpretiert als regulärer Ausdruck, zum Projektnamen passtSuche nach einem
project
Eintrag mit dem Namendefault
Nutze den ersten
project
Eintrag
Projektdetails
Die Unterelemente von <project>
beinhalten eine Reihe Details, die beim Laden der Anlegemaske für Vorgänge in der Benutzeroberfläche berücksichtigt werden.
Eigenschaften eines neuen Vorgangs
Alle Details, die rund um die Input-Felder wichtig für das Laden der Anlegemaske sind, sind im <createNewProcess>
Element angegeben. Dieses beinhaltet insbesondere das Element <itemlist>
, in dem die Input-Felder aufgelistet sind.
Liste der Input-Felder
Jedes Input-Feld in der Benutzeroberfläche wird durch ein <item>
in dieser Liste beschrieben. Mit diesen Einträgen können Textfelder und Dropdown-Menüs hinzugefügt werden. Speziellere Felder, wie zum Beispiel ein Datei-Upload-Bereich, sind weiter unten beschrieben.
Jedes <item>
Element enthält als Inhalt den Text, der in der Tabelle der Eingabemaske in der Label-Spalte angezeigt wird. Dieser kann zusätzlich durch den Übersetzungsmechanismus von Goobi Workflow mittels der messages Dateien in verschiedene Sprachen übersetzt werden.
Ein <item>
wird entweder als Textfeld oder als Dropdown-Menü dargestellt. Die folgenden Parameter gelten für beide Arten von Eingabefeldern:
Dropdown-Menüs
Sobald ein <item>
den Parameter multiselect
und Unterelemente <select>
enthält, wird es nicht mehr als Textfeld dargestellt, sondern als Dropdown-Menü. Der multiselect
-Parameter kann auf true
oder false
gesetzt werden, um die Auswahl mehrerer Einträge zu erlauben oder zu verbieten.
Jedes <select>
Element kann einen label
Parameter haben. Der label
-Text wird im Menü angezeigt, während der Inhalt des <select>
Elements technisch weiterverarbeitet wird. Damit kann für die Anzeige ein besser lesbarer Alternativname angegeben werden.
Auch ein <item>
, das als Dropdown-Menü dargestellt wird, benötigt ein Label. Dieses wird parallel zu den <select>
Elementen angegeben.
Soll zum Beispiel ein Städtekürzel beim Erstellen eines Vorgangs auswählbar sein, wäre es für Anwender sinnvoll, die ausgeschriebenen Namen im Menü angezeigt zu bekommen:
Ausblenden von Input-Feldern
Mit dem <hide>
Element können Input-Felder, also hier definierte <item>
Elemente ausgeblendet werden. Das Feld kann zum Beispiel folgende Werte beinhalten: collections
, doctype
, preferences
, images
und processtitle
.
Mittels collections
kann die Auswahl der Sammlung ausgeblendet werden, doctype
steuert die Anzeige des Feldes zur Auswahl des Dokumententyps, preferences
das Auswahlfeld für den Regelsatz, images
die Eingabe für die erwartete Zahl an Digitalisaten und processtitle
die Anzeige des generierten Vorgangstitels.
Vorgangstitel
Soll der Vorgangstitel automatisch generiert werden, so können mit dem Element <processTitle>
Bildungsvorschriften für die Titel angegeben werden. Vorgangstitel können für bestimmte Dokumententypen unterschiedlich generiert werden. Um einen Dokumenttyp einer Bildungsvorschrift zuzuordnen, wird der Parameter isdoctype
verwendet. Alternativ können alle Dokumenttypen verwendet und nur ein bestimmter Typ mit dem Parameter isnotdoctype
ausgeschlossen werden.
Zwischen Anfangs- und Endelement von <processTitle>
steht ein Ausdruck, der den zu generierenden Titel beschreibt. Textpassagen werden in einfachen Anführungszeichen geschrieben und als Variablennamen können alle weiter oben definierten Eigenschaften verwendet werden. Alle Elemente werden mit dem +
Operator verkettet.
Um zum Beispiel für alle Dokumente, die kein periodical
sind, einen Titel zu generieren, der den Autor und den Titel des Dokumentes beinhaltet, wäre folgender Eintrag sinnvoll:
Mit dem replacewith
Parameter kann bei Bedarf eine Zeichenkette angegeben werden, mit der alle ungültigen Buchstaben und Sonderzeichen im automatisch generierten Vorgangstitel ersetzt werden sollen. Ist die Zeichenkette ""
, so werden alle ungültigen Zeichen entfernt. Auch wenn dieser Parameter fehlt, werden alle Sonderzeichen ersatzlos entfernt.
Auswahl des OPAC-Katalogs
Die OPAC-Katalog-Abfrage kann aktiviert werden, indem innerhalb des Parameters <opac>
das Attribut use
auf den Wert true
gesetzt wird. Der vorausgewählte Katalog kann dabei im Unterlement <catalogue>
definiert werden. Wenn der Wert nicht gesetzt wurde oder keinem Eintrag aus der Datei goobi_opac.xml
entspricht, wird der erste dort definierte Katalog als Standardwert genutzt.
Verwenden anderer Vorgänge als Vorlagen
Um die Metadaten aus bereits vorhandenen Vorgängen zu importieren, muss im Element <templates>
das Attribut use
auf den Wert true
gesetzt werden. Dadurch steht die Option Auswählen aus vorhandenen Vorgängen
zur Verfügung, in der alle Vorgänge aufgelistet sind, bei denen die Checkbox In Auswahlliste anzeigen
während des Anlegens aktiviert wurde.
Standard Dokumenttyp
Der beim Öffnen der Anlegemaske ausgewählte Publikationstyp kann im Feld <defaultdoctype>
festgelegt werden. Die hier genutzte Bezeichnung stammt aus der doctypes
Definition der Konfigurationsdatei goobi_opac.xml
.
Generierung von Metadaten
Durch die Verwendung des <metadatageneration />
Elements mit dem Parameter use="true"
können beim Anlegen eines Vorgangs automatisch weitere Metadaten generiert werden.
Hochladen von Dateien
Mit der Konfiguration von <fileupload>
kann der Upload-Bereich freigeschaltet werden. Damit lassen sich zum neu erzeugten Vorgang bereits Dateien hochladen. Welche Ordner zur Auswahl stehen, kann im Unterfeld <folder>
konfiguriert werden.
Mit dem regex
-Parameter kann angegeben werden, welche Dateinamen in der Benutzeroberfläche vom Hochladen-Button akzeptiert werden. Entspricht die vom Benutzer ausgewählte Datei nicht dem Regex-Ausdruck, so wird die Datei nicht hochgeladen und eine Fehlermeldung angezeigt. Wird der Regex-Parameter weggelassen oder eine leere Zeichenkette angegeben, so sind Dateien aller Dateitypen und -namen hochladbar. Da der Regex-Ausdruck von Primefaces ausgewertet wird, muss er in Slashes eingefasst sein:
Gültige Schreibweise:
/^.*\.pdf$/
Ungültige Schreibweise:
^.*\.pdf$
Der messageKey
-Parameter gibt einen Key an, der in messages_xx.properties
-Dateien dazu verwendet werden kann, individuelle Fehlermeldungen zu hinterlegen. Wird zum Beispiel wie oben gezeigt ein Dateiupload auf PDF-Dateien beschränkt, dann kann in den messages-Dateien in allen Sprachen unter dem hier angegebenen Key eine Fehlermeldung angegeben werden, die auf einen falschen Dateityp hinweist. Wird der Parameter weggelassen oder der Key nicht gefunden, so wird eine Standard-Fehlermeldung angezeigt.
Tiff-Header
Im <tifheader>
Element können Werte angegeben werden, die in die Tiffheader geschrieben werden sollen. Hier kann für jeden Publikationstyp, der zuvor in einem <item>
definiert wurde, ein eigener Text definiert werden.
Ist zum Beispiel ein <item>monograph</item>
definiert worden, so kann hier beispielweise folgendes eingetragen werden:
Import aus DMS
Um Daten aus einem Dokumenten-Management-System zu importieren, kann das Element <dmsImport>
angegeben werden.
Validierung
Daten des Formulars können validiert werden. Validierungen können im Element <validate>
spezifiziert werden.
Zuletzt aktualisiert