Skip to content

Commit

Permalink
Merge pull request 'Release v24.07' (#13) from release_24.07 into master
Browse files Browse the repository at this point in the history
  • Loading branch information
janvonde committed Aug 20, 2024
2 parents d79536b + 4c7dae1 commit 6e138fe
Show file tree
Hide file tree
Showing 8 changed files with 224 additions and 22 deletions.
37 changes: 18 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,39 @@
# Goobi workflow Plugin: intranda_step_metadata_yerusha_validation
# Goobi workflow Plugin: goobi-plugin-step-yerusha-validation

<img src="https://goobi.io/wp-content/uploads/logo_goobi_plugin.png" align="right" style="margin:0 0 20px 20px;" alt="Plugin for Goobi workflow" width="175" height="109">

This plugin displays the results of a validation of metadata within an accepted task.
This Step plugin for Goobi workflow displays the results of a custom metadata validation within an accepted task. This plugin was developed specifically for the Yerusha Project.

This is a plugin for Goobi workflow, the open source workflow tracking software for digitisation projects. More information about Goobi workflow is available under https://goobi.io. If you want to get in touch with the user community simply go to https://community.goobi.io.

## Plugin details

More information about the functionality of this plugin and the complete documentation can be found in the central documentation area at https://docs.goobi.io

Detail | Description
--- | ---
Detail | Description
--------------------------- | ----------------------
**Plugin identifier** | intranda_step_metadata_yerusha_validation
**Plugin type** | Step plugin
**Licence** | GPL 2.0 or newer
**Documentation (German)** | https://docs.goobi.io/goobi-workflow-plugins-de/step/intranda_step_metadata_yerusha_validation
**Documentation (English)** | https://docs.goobi.io/goobi-workflow-plugins-en/step/intranda_step_metadata_yerusha_validation
**Plugin type** | step
**Licence** | GPL 2.0 or newer
**Documentation (German)** | https://docs.goobi.io/workflow-plugins/v/eng/step/goobi-plugin-step-yerusha-validation
**Documentation (English)** | https://docs.goobi.io/workflow-plugins/v/ger/step/goobi-plugin-step-yerusha-validation

## Goobi details

Goobi workflow is an open source web application to manage small and large digitisation projects mostly in cultural heritage institutions all around the world. More information about Goobi can be found here:

Detail | Description
--- | ---
**Goobi web site** | https://www.goobi.io
**Twitter** | https://twitter.com/goobi
**Goobi community** | https://community.goobi.io
Detail | Description
--------------------------- | ---------------------------
**Goobi web site** | https://www.goobi.io
**Goobi community** | https://community.goobi.io
**Goobi documentation** | https://docs.goobi.io

## Development

This plugin was developed by intranda. If you have any issues, feedback, question or if you are looking for more information about Goobi workflow, Goobi viewer and all our other developments that are used in digitisation projects please get in touch with us.

Contact | Details
--- | ---
**Company name** | intranda GmbH
**Address** | Bertha-von-Suttner-Str. 9, 37085 Göttingen, Germany
**Web site** | https://www.intranda.com
**Twitter** | https://twitter.com/intranda
Contact | Details
--------------------------- | ----------------------------------------------------
**Company name** | intranda GmbH
**Address** | Bertha-von-Suttner-Str. 9, 37085 Göttingen, Germany
**Web site** | https://www.intranda.com
102 changes: 102 additions & 0 deletions docs/index_de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Metadaten-Validierung innerhalb einer Aufgabe
identifier: intranda_step_metadata_yerusha_validation
published: true
description: Dieses Plugin zeigt die Ergebnisse einer Validierung von Metadaten innerhalb einer angenommenen Aufgabe an.
---
## Einführung
Diese Plugin dient zur Validierung von Metadaten aus der Goobi-METS-Datei und visualisiert die Validierungsergebnisse innerhalb einer angenommenen Aufgabe. Die Arbeitsweise des Plugins setzt voraus, dass eine Konfigurationsdatei vorhanden ist, wie sie für das folgende Workflow-Plugin benötigt wird: [Generisches Import Plugin für Excel-Dateien inklusive Validierung](https://docs.goobi.io/goobi-workflow-plugins-de/workflow-plugins/goobi-plugin-workflow-excelimport).


## Installation
Zur Nutzung des Plugins müssen diese beiden Dateien an folgende Orte kopiert werden:

```bash
/opt/digiverso/goobi/plugins/step/plugin_intranda_step_yerusha-validation-base.jar
/opt/digiverso/goobi/plugins/GUI/plugin_intranda_step_yerusha-validation-gui.jar
```

Die Konfiguration des Plugins basiert auf derjenigen des [Excel-Plugins mit Anzeige von Validierungsergebnissen](https://docs.goobi.io/goobi-workflow-plugins-de/workflow-plugins/goobi-plugin-workflow-excelimport) und wird unter folgendem Pfad erwartet:

```bash
/opt/digiverso/goobi/config/plugin_intranda_workflow_excelimport.xml
```


## Überblick und Funktionsweise
Zur Inbetriebnahme des Plugins muss dieses für einen oder mehrere gewünschte Aufgaben im Workflow aktiviert werden. Dies erfolgt wie im folgenden Screenshot aufgezeigt durch Auswahl des Plugins `intranda_step_metadata_yerusha_validation` aus der Liste der installierten Plugins.

![Auswahl des Plugins innerhalb einer Aufgabe](screen1.png)

Das Plugin wird unmittelbar nach dem Betreten einer Aufgabe ausgeführt und geöffnet. Die Ergebnisse der durchgeführten Validierung sind innerhalb der Aufgabe sofort sichtbar. Beim Bewegen der Maus oberhalb der einzelnen Fehler, ist jeweils ebenfalls eine detaillierte Fehlermeldung ersichtlich, wie sie innerhalb der Konfigurationsdatei festgelegt wurde.

![Anzeige der Ergebnisse der Validierung innerhalb einer angenommenen Aufgabe](screen2.png)

Wurde die Aufgabe so konfiguriert, dass ein Betreten des Metadateneditors von Goobi erlaubt ist, und wurden darin Änderungen an den Metadaten vorgenommen, so kann die Validierung anschließend jederzeit erneut durchgeführt werden. Auch im Falle einer Änderung der Validierungsregeln innerhalb der Konfigurationsdatei ist eine solche neue Ausführung der Validierung durchaus hilfreich.


## Konfiguration
Die Konfiguration des Plugins basiert auf derjenigen des Excel-Plugins mit Anzeige von Validierungsergebnissen. [Ihr Aufbau wird hier näher erläutert. ](https://docs.goobi.io/goobi-workflow-plugins-de/workflow-plugins/goobi-plugin-workflow-excelimport#general-configuration-of-the-plugin)Sie ist folgendermaßen aufgebaut:

```xml
<config_plugin>

<!-- which file types shall be allowed for uploading these -->
<allowed-file-extensions>/(\\.|\\/)(xls|xlsx)$/</allowed-file-extensions>

<qaStepName>Quality assurance</qaStepName>

<config>
<!-- publication type to create -->
<publicationType>Collection</publicationType>
<!-- which digital collection to use -->
<collection>General</collection>
<rowIdentifier>2</rowIdentifier>
<!-- define in which row the header is written, usually 1 -->
<rowHeader>3</rowHeader>
<!-- define in which row the data starts, usually 2 -->
<rowDataStart>4</rowDataStart>
<!-- define in which row the data ends, usually 20000 -->
<rowDataEnd>100</rowDataEnd>
<identifierHeaderName>1</identifierHeaderName>

<metadata ugh="CatalogIDDigital" identifier="1" required="true" requiredErrorMessage="Field is required" pattern="^[A-Z]*-\\d*$" patternErrorMessage="Needs to be of the Format AAA-000" />
<metadata ugh="Country" identifier="2" required="true" requiredErrorMessage="Field is required" list="/opt/digiverso/goobi/config/plugin_intranda_workflow_excelimport_ISO3166-1.txt" listErrorMessage="Content not in list of valid options"/>
<metadata ugh="Institution" identifier="3" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="InstitutionOfficial" identifier="4" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="LanguageInstitution" identifier="4a" required="true" requiredErrorMessage="Field is required" list="/opt/digiverso/goobi/config/plugin_intranda_workflow_excelimport_ISO639-2.txt" listErrorMessage="Content not in list of valid options"/>
<metadata ugh="ContactPostal" identifier="5a" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="ContactPhone" identifier="5b" required="true" requiredErrorMessage="Field is required" pattern="^[\\d-+() ]*$" patternErrorMessage="May only contain numbers, +, -, ( and )"/>
<metadata ugh="ContactWeb" identifier="5c" required="true" requiredErrorMessage="Field is required" pattern="^(https?|ftp|file)://[-a-zA-Z0-9+&amp;@#/%?=~_|!:\,.;]*[-a-zA-Z0-9+&amp;@#/%=~_|]" patternErrorMessage="Must be valid web address"/>
<metadata ugh="ContactEmail" identifier="5d" required="true" requiredErrorMessage="Field is required" pattern="(?:[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&amp;'*+/=?^_`{|}~-]+)*|\&quot;(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\&quot;)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$" patternErrorMessage="Must be valid Email address"/>
<metadata ugh="ReferenceNumber" identifier="6a" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="ReferenceNumberType" identifier="6b" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="TitleDocMain" identifier="7" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="TitleDocMainOfficial" identifier="8" required="true" requiredErrorMessage="Field is required"/>
<metadata ugh="TitleDocMainLanguage" identifier="8a" required="true" requiredErrorMessage="Field is required" list="/opt/digiverso/goobi/config/plugin_intranda_workflow_excelimport_ISO639-2.txt" listErrorMessage="Content not in list of valid options"/>
<metadata ugh="Creator" identifier="9" required="true" requiredErrorMessage="Field is required" />
<metadata ugh="DateOfOrigin" identifier="10" either="11" eitherErrorMessage="Either this or 11 must have content" pattern="(^\\d{4}$|^\\d{4}/\\d{4}$|^\\d{4}-\\d{2}$|^\\d{4}-\\d{2}/\\d{4}-\\d{2}$)" patternErrorMessage="Invalid date Format"/>
<metadata ugh="DateNote" identifier="11" either="10" eitherErrorMessage="Either this or 10 must have content"/>
<metadata ugh="DocLanguage" identifier="12" required="true" requiredErrorMessage="Field is required" list="/opt/digiverso/goobi/config/plugin_intranda_workflow_excelimport_ISO639-2.txt" listErrorMessage="Content not in list of valid options"/>
<metadata ugh="Extent" identifier="13" required="true" requiredErrorMessage="Field is required"/>
<metadata ugh="MaterialDescription" identifier="14a" required="true" requiredErrorMessage="Field is required" pattern="(^[Aa]udio$|^[Cc]artographic [Mm]aterial$|^[Gg]raphic [Mm]aterial$|^[Pp]hotographic [Ii]mages$|^[Tt]extual [Mm]aterial$|^[Mm]oving [Ii]mages$)" patternErrorMessage="Must be one of Audio\, Cartographic Material\, Graphic Material\, Photographic Images\, Textual Material\, Moving Images"/>
<metadata ugh="MaterialDescription" identifier="14b" requiredFields="14a" requiredFieldsErrormessage="May only have content if 14a is filled" pattern="(^[Aa]udio$|^[Cc]artographic [Mm]aterial$|^[Gg]raphic [Mm]aterial$|^[Pp]hotographic [Ii]mages$|^[Tt]extual [Mm]aterial$|^[Mm]oving [Ii]mages$)" patternErrorMessage="Must be one of Audio\, Cartographic Material\, Graphic Material\, Photographic Images\, Textual Material\, Moving Images"/>
<metadata ugh="MaterialDescription" identifier="14c" requiredFields="14a; 14b" requiredFieldsErrormessage="May only have content if 14a and 14b are filled" pattern="(^[Aa]udio$|^[Cc]artographic [Mm]aterial$|^[Gg]raphic [Mm]aterial$|^[Pp]hotographic [Ii]mages$|^[Tt]extual [Mm]aterial$|^[Mm]oving [Ii]mages$)" patternErrorMessage="Must be one of Audio\, Cartographic Material\, Graphic Material\, Photographic Images\, Textual Material\, Moving Images"/>
<metadata ugh="Condition" identifier="15" required="true" requiredErrorMessage="Field is required" pattern="(^[Gg]ood$|^[Pp]oor$)" patternErrorMessage="Needs to be either good or poor"/>
<metadata ugh="ScopeContent" identifier="16" required="true" requiredErrorMessage="Field is required" wordcount="400" wordcountErrorMessage="Must have at least 400 words" />
<metadata ugh="ArchivalHistory" identifier="17" required="true" requiredErrorMessage="Field is required" wordcount="50" wordcountErrorMessage="Must have at least 50 words"/>
<metadata ugh="AdministrativeHistory" identifier="18" required="true" requiredErrorMessage="Field is required" wordcount="100" wordcountErrorMessage="Must have at least 100 words"/>
<metadata ugh="AccessLocations" identifier="19a" />
<metadata ugh="AccessPersons" identifier="19b" />
<metadata ugh="AccessCorporate" identifier="19c" />
<metadata ugh="AccessSubject" identifier="19d" />
<metadata ugh="Arrangement" identifier="20" wordcount="50" wordcountErrorMessage="Must have at least 50 words"/>
<metadata ugh="AccessRestrictions" identifier="21" wordcount="40" wordcountErrorMessage="Must have at least 40 words"/>
<metadata ugh="FindingAids" identifier="22" wordcount="40" wordcountErrorMessage="Must have at least 40 words"/>
<metadata ugh="FindingAidsLink" identifier="22a" pattern="^(https?|ftp|file)://[-a-zA-Z0-9+&amp;@#/%?=~_|!:\,.;]*[-a-zA-Z0-9+&amp;@#/%=~_|]" patternErrorMessage="Must be valid web address"/>
<metadata ugh="Copies" identifier="23" />
<metadata ugh="Originals" identifier="24" />
<metadata ugh="AuthorOfDescription" identifier="25" />
</config>
</config_plugin>
```
Loading

0 comments on commit 6e138fe

Please sign in to comment.