Skip to content

Commit

Permalink
Merge pull request 'Release v24.10' (#17) from release_24.10 into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Dominick Leppich committed Nov 22, 2024
2 parents 203c07c + c4eeda9 commit a09a1f5
Show file tree
Hide file tree
Showing 16 changed files with 275 additions and 54 deletions.
20 changes: 19 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ pipeline {
anyOf {
branch 'master'
branch 'release_*'
branch 'hotfix_release_*'
branch 'sonar_*'
allOf {
branch 'PR-*'
expression { env.CHANGE_BRANCH.startsWith("release_") }
Expand All @@ -43,6 +45,7 @@ pipeline {
anyOf {
branch 'master'
branch 'release_*'
branch 'hotfix_release_*'
allOf {
branch 'PR-*'
expression { env.CHANGE_BRANCH.startsWith("release_") }
Expand All @@ -53,12 +56,21 @@ pipeline {
sh 'mvn clean verify -U -P release-build'
}
}
stage('build-sonar') {
when {
branch 'sonar_*'
}
steps {
sh 'mvn clean verify -U -P sonar-build'
}
}
stage('sonarcloud') {
when {
allOf {
anyOf {
branch 'master'
branch 'release_*'
branch 'hotfix_release_*'
branch 'sonar_*'
allOf {
branch 'PR-*'
Expand All @@ -83,6 +95,7 @@ pipeline {
anyOf {
branch 'master'
branch 'develop'
branch 'hotfix_release_*'
}
}
steps {
Expand All @@ -95,7 +108,12 @@ pipeline {
}
}
stage('tag release') {
when { branch 'master' }
when {
anyOf {
branch 'master'
branch 'hotfix_release_*'
}
}
steps {
withCredentials([gitUsernamePassword(credentialsId: '93f7e7d3-8f74-4744-a785-518fc4d55314',
gitToolName: 'git-tool')]) {
Expand Down
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: plugin-workflow-projectexport
# Goobi workflow Plugin: goobi-plugin-workflow-project-export

<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 is a workflow plugin for Goobi workflow to allow an export of an entire project. To use this a defined workflow step has to be finished and another workflow step will be finished after this export happened. The export creates an Excel file with hard coded metadata fields from the METS files as well as all images for all involved processes.
This Workflow plugin for Goobi workflow allows to export an entire project. A defined workflow step has to be finished to allow the usage. After execution another workflow step will be finished. The export creates an Excel file with metadata images for all processes.

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
--- | ---
**Plugin identifier** | intranda_workflow_projectexport
**Plugin type** | Workflow plugin
Detail | Description
--------------------------- | ----------------------
**Plugin identifier** | intranda-workflow-projectexport
**Plugin type** | workflow
**Licence** | GPL 2.0 or newer
**Documentation (German)** | https://docs.goobi.io/goobi-workflow-plugins-de/workflow/intranda_workflow_projectexport
**Documentation (English)** | https://docs.goobi.io/goobi-workflow-plugins-en/workflow/intranda_workflow_projectexport
**Documentation (German)** | https://docs.goobi.io/workflow-plugins/v/ger/workflow/goobi-plugin-workflow-project-export
**Documentation (English)** | https://docs.goobi.io/workflow-plugins/v/eng/workflow/goobi-plugin-workflow-project-export

## 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
86 changes: 86 additions & 0 deletions docs/index_de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Projektexport als Ordner mit Bildern und Excel-Datei
identifier: intranda_workflow_projectexport
description: Dieses Workflow Plugin erlaubt einen Export eines gesamten Projektes in eine Verzeichnisstruktur mit einer Excel-Datei und den zugehörigen Bildern gemäß spezifischer Projektvorgaben
published: true
---
## Einführung
Dieses Workflow Plugin erlaubt einen sehr spezifischen Export eines gesamten Projektes. Hierfür prüft das Plugin zunächst, ob in allen Vorgängen des gewählten Projektes auch tatsächlich der konfigurierte Arbeitsschritt im Workflow bereits abgeschlossen wurde. Abhängig von dieser Prüfung erlaubt das Plugin anschließend einen Export aller Bilder eines definierten Bildverzeichnisses (z.B. die Master-Bilder) und einen Export definierter Metadaten innerhalb einer Excel-Datei. Der Aufbau der Excel-Datei ist dabei so, dass pro Bild die jeweiligen Metadaten redundant jeweils in einer eigenen Zeile aufgeführt sind.

Sollte die anfängliche Prüfung feststellen, dass der konfigurierte Arbeitsschritt im Workflow bereits für alle Vorgänge des Projekte abgeschlossen wurde, so wird der konfigurierte Export-Arbeitsschritt für alle Vorgänge des Projektes ebenfalls auf abgeschlossen gesetzt


## Installation
Zur Installation des Plugins müssen folgende beiden Dateien installiert werden:

```bash
/opt/digiverso/goobi/plugins/workflow/plugin-intranda-workflow-projectexport-base.jar
/opt/digiverso/goobi/plugins/GUI/plugin-intranda-workflow-projectexport-gui.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:

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

Der Inhalt dieser Konfigurationsdatei sieht wie folgt aus:

```xml
<config_plugin>

<config>
<!-- name of the project, can be repeated. Use * for any project -->
<project>*</project>
<!-- check if all proceses of the project have finished this task -->
<finishedStepName>Metadata enrichment</finishedStepName>
<!-- close this step after the export was successful -->
<closeStepName>Export</closeStepName>
<!-- define which image folder (master|media|jpeg|source|...) shall be used for the export -->
<imageFolder>media</imageFolder>
<!-- write the export into this directory -->
<exportDirectory>/opt/digiverso/viewer/hotfolder</exportDirectory>
<!-- define if the export result shall be provided as zip file download -->
<allowZipDownload>true</allowZipDownload>
</config>

</config_plugin>
```

Für eine Nutzung dieses Plugins muss der Nutzer über die korrekte Rollenberechtigung verfügen.

![Ohne korrekte Berechtigung ist das Plugin nicht nutzbar](screen1_de.png)

Bitte weisen Sie daher der Gruppe die Rolle `Plugin_Goobi_ProjectExport` zu.

![Korrekt zugewiesene Rolle für die Nutzer](screen2_de.png)


## Überblick und Funktionsweise
Wenn das Plugin korrekt installiert und konfiguriert wurde, ist es innerhalb des Menüpunkts `Workflow` zu finden und kann von dort gestartet werden. Verfügt man über die notwendigen Rechte zur Verwendung des Plugins, so kann nun eine Auswahl aus den zur Verfügung stehenden Projekten erfolgen.

![Auswahl des Projektes](screen3_de.png)

Nach der Auswahl des gewünschten Projektes stehen je nach Konfiguration zwei Buttons zur Verfügung. Diese erlauben entweder die Ausführung des Exports in das gewünschte Zielverzeichnis oder den Download des gesamten Exportergebnisses als eine große zip-Datei.

![Aufbau des Verzeichnisses nach Durchführung des Exports](screen4.png)

Das Exportergebnis ist so aufgebaut, dass für jeden Vorgang ein Unterordner erzeugt wird innerhalb dessen sich die zugehörigen Bilder aus dem definierten Verzeichnnis befinden. Darüber hinaus wird ausserdem eine Excel-Datei erzeugt.

![Aufbau einer exportierten Exceldatei mit allen zugehörigen Metadaten pro Bild](screen5.png)

Innerhalb jeder Zeile dieser Excel-Datei befinden sich nun die jeweiligen Metadaten, die aus der METS-Datei gelesen wurden, wobei diese redundant für jedes Bild wiederholt aufgeführt werden.


## Konfiguration
Die Konfiguration des Plugins gestaltet sich wie folgt:

| Wert | Beschreibung |
| :--- | :--- |
| `config` | Der Block `config` kann beliebig oft vorkommen. Dadurch lassen sich mehrere individuelle Einstellungen für einzelne Projekte vornehmen. |
| `project` | Definieren Sie mit diesem Parameter, für welches Projekt die Konfiguration greifen soll. Hier können die Namen der Projekte wiederholbar aufgeführt werden. |
| `finishedStepName` | Mit diesem Parameter wird festgelegt, welcher Arbeitsschritt für alle Vorgänge des gewählten Projektes abgeschlossen sein soll, damit der Export-Arbeitsschritt abschließend für alle Vorgänge des Projektes ebenfalls nach Durchführung des Exports als abgeschlossen markiert wird. |
| `closeStepName` | Hier kann festgelegt werden, wie der Name desjenigen Arbeitsschrittes lautet, der nach Durchführung des Exports abgeschlossen wird. |
| `imageFolder` | Legen Sie hier fest, welches Verzeichnis für den Export verwendet werden soll. Typische Werte hierfür sind `master` oder `media`. |
| `exportDirectory` | Für jeden Konfigurationsblock kann ein Zielverzeichnis für den Export festgelegt werden. Alle Exporte erfolgen innerhalb des hier festgelegten Ordners. |
| `allowZipDownload` | Soll neben dem Export in das konfigurierte Verzeichnis ausserdem ein Download des gesamten Exports als eine Zip-Datei möglich sein, so kann dies hier aktiviert werden. |
87 changes: 87 additions & 0 deletions docs/index_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
---
title: Project export as folder with images and Excel file
identifier: intranda-workflow-projectexport
description: This workflow plugin allows an export of an entire project into a directory structure with an Excel file and the associated images according to specific project specifications
published: true
---
## Introduction
This workflow plugin allows a very specific export of an entire project. For this purpose, the plugin first checks whether the configured step in the workflow has actually been completed in all processes of the selected project. Depending on this check, the plugin then allows an export of all images of a defined image directory (e.g. the master images) and an export of defined metadata within an Excel file. The structure of the Excel file is such that the respective metadata is redundantly listed in a separate line for each image.

If the initial check determines that the configured workflow step in the workflow has already been completed for all processes of the project, the configured export workflow step is also set to completed for all processes of the project.


## Installation
To install the plugin, the following two files must be installed:

```bash
/opt/digiverso/goobi/plugins/workflow/plugin-intranda-workflow-projectexport-base.jar
/opt/digiverso/goobi/plugins/GUI/plugin-intranda-workflow-projectexport-gui.jar
```

To configure how the plugin should behave, various values can be adjusted in the configuration file. The configuration file is usually located here:

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

The content of this configuration file looks like this:

```xml
<config_plugin>

<config>
<!-- name of the project, can be repeated. Use * for any project -->
<project>*</project>
<!-- check if all proceses of the project have finished this task -->
<finishedStepName>Metadata enrichment</finishedStepName>
<!-- close this step after the export was successful -->
<closeStepName>Export</closeStepName>
<!-- define which image folder (master|media|jpeg|source|...) shall be used for the export -->
<imageFolder>media</imageFolder>
<!-- write the export into this directory -->
<exportDirectory>/opt/digiverso/viewer/hotfolder</exportDirectory>
<!-- define if the export result shall be provided as zip file download -->
<allowZipDownload>true</allowZipDownload>
</config>

</config_plugin>
```

To use this plugin, the user must have the correct role authorisation.

![Without correct authorisation the plugin cannot be used](screen1_en.png)

Therefore, please assign the role `Plugin_Goobi_ProjectExport` to the group.

![Correctly assigned role for the users](screen2_en.png)


## Operation of the plug-in

If the plugin has been installed and configured correctly, it can be found within the menu item `Workflow` and can be started from there. If you have the necessary rights to use the plugin, you can now select from the available projects.

![Selection of the project](screen3_en.png)

After selecting the desired project, two buttons are available depending on the configuration. These allow either the execution of the export into the desired target directory or the download of the entire export result as a large zip file.

![Structure of the directory after executing the export](screen4.png)

The export result is structured in such a way that for each process a subfolder is created within which the corresponding images from the defined directory are located. In addition, an Excel file is created.

![Structure of an exported Excel file with all associated metadata per image](screen5.png)

Within each line of this Excel file there is now the respective metadata that was read from the METS file, whereby these are listed redundantly for each image repeatedly.


## Configuration
The configuration of the plug-in is as follows:

| Value | Description |
| :--- | :--- |
| `config` | The block `config` can occur any number of times. This allows several individual settings to be made for individual projects. |
| `project` | Use this parameter to define for which project the configuration should take effect. The names of the projects can be listed here in a repeatable manner. |
| `finishedStepName` | This parameter is used to define which workflow step is to be completed for all tasks of the selected project so that the export workflow step is also marked as completed for all processes of the project after the export has been carried out. |
| `closeStepName` | Here you can specify the name of the workflow step that is closed after the export has been carried out. |
| `imageFolder` | Specify here which directory is to be used for the export. Typical values for this are `master` or `media`. |
| `exportDirectory` | A target directory for the export can be specified for each configuration block. All exports will take place within the folder specified here. |
| `allowZipDownload` | If, in addition to exporting to the configured directory, it should also be possible to download the entire export as a zip file, this can be activated here. |
Binary file added docs/screen1_de.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen1_en.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen2_de.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen2_en.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen3_de.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen3_en.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/screen5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion module-base/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>io.goobi.workflow.plugin</groupId>
<artifactId>plugin-workflow-project-export</artifactId>
<version>24.06</version>
<version>24.10</version>
</parent>
<artifactId>plugin-workflow-project-export-base</artifactId>
<packaging>jar</packaging>
Expand Down
Loading

0 comments on commit a09a1f5

Please sign in to comment.