Skip to content

Commit 645d376

Browse files
committed
Merge pull request 'Release v24.07' (#9) from release_24.07 into master
2 parents b888519 + 4de7289 commit 645d376

File tree

8 files changed

+362
-22
lines changed

8 files changed

+362
-22
lines changed

README.md

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,39 @@
1-
# Goobi workflow Plugin: plugin-workflow-barcode-generator
1+
# Goobi workflow Plugin: goobi-plugin-workflow-barcode-generator
22

33
<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">
44

5-
This is a workflow plugin for Goobi workflow. It is used to allow users to generate any number of barcodes as pdf files. Using the configuration file and the provided user interface it can highly be customized and allow very individual barcodes with different numbering, amount, prefixes and even styling.
5+
This Workflow plugin for Goobi workflow allows you to generate various barcodes for use outside Goobi workflow itself. The layout of the barcode pages can have a custom layout and be configured granualary
66

77
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.
88

99
## Plugin details
1010

1111
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
1212

13-
Detail | Description
14-
--- | ---
13+
Detail | Description
14+
--------------------------- | ----------------------
1515
**Plugin identifier** | intranda_workflow_barcode_generator
16-
**Plugin type** | Workflow plugin
17-
**Licence** | GPL 2.0 or newer
18-
**Documentation (German)** | https://docs.goobi.io/goobi-workflow-plugins-de/workflow/intranda_workflow_barcode_generator
19-
**Documentation (English)** | https://docs.goobi.io/goobi-workflow-plugins-en/workflow/intranda_workflow_barcode_generator
16+
**Plugin type** | workflow
17+
**Licence** | GPL 2.0 or newer
18+
**Documentation (German)** | https://docs.goobi.io/workflow-plugins/v/eng/workflow/goobi-plugin-workflow-barcode-generator
19+
**Documentation (English)** | https://docs.goobi.io/workflow-plugins/v/ger/workflow/goobi-plugin-workflow-barcode-generator
2020

2121
## Goobi details
2222

2323
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:
2424

25-
Detail | Description
26-
--- | ---
27-
**Goobi web site** | https://www.goobi.io
28-
**Twitter** | https://twitter.com/goobi
29-
**Goobi community** | https://community.goobi.io
25+
Detail | Description
26+
--------------------------- | ---------------------------
27+
**Goobi web site** | https://www.goobi.io
28+
**Goobi community** | https://community.goobi.io
29+
**Goobi documentation** | https://docs.goobi.io
3030

3131
## Development
3232

3333
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.
3434

35-
Contact | Details
36-
--- | ---
37-
**Company name** | intranda GmbH
38-
**Address** | Bertha-von-Suttner-Str. 9, 37085 Göttingen, Germany
39-
**Web site** | https://www.intranda.com
40-
**Twitter** | https://twitter.com/intranda
35+
Contact | Details
36+
--------------------------- | ----------------------------------------------------
37+
**Company name** | intranda GmbH
38+
**Address** | Bertha-von-Suttner-Str. 9, 37085 Göttingen, Germany
39+
**Web site** | https://www.intranda.com

docs/index_de.md

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
---
2+
title: Barcode Generator
3+
identifier: intranda_workflow_barcode_generator
4+
description: Dieses Workflow Plugin erlaubt die Generierung von verschiedenen Barcodes für die Verwendung auch außerhalb von Goobi selbst.
5+
published: true
6+
---
7+
## Einführung
8+
Dieses Workflow-Plugin dient zur flexiblen Generierung von Barcodes in einer mehrseitigen PDF-Datei. Hierzu kann der Nutzer in einer Nutzeroberfläche verschiedene Werte konfigurieren und festlegen, welche Anzahl an Barcodes mit welchem Präfix und welchem Zähler erzeugt werden sollen. Zugleich kann festgelegt werden, welche `xsl-Datei` für de Generierung der `PDF-Datei` verwendet werden soll, so dass ein großes Maß an Freiheit hinsichtlich der optischen Gestaltung besteht.
9+
10+
11+
## Installation
12+
Zur Installation des Plugins müssen folgende beiden Dateien installiert werden:
13+
14+
```bash
15+
/opt/digiverso/goobi/plugins/workflow/plugin-intranda-workflow-barcode-generator-base.jar
16+
/opt/digiverso/goobi/plugins/GUI/plugin-intranda-workflow-barcode-generator-gui.jar
17+
```
18+
19+
Um zu konfigurieren, wie sich das Plugin verhalten soll, können verschiedene Werte in der Konfigurationsdatei angepasst werden. Die Konfigurationsdatei befindet sich üblicherweise hier:
20+
21+
```bash
22+
/opt/digiverso/goobi/config/plugin_intranda_workflow_barcode-generator.xml
23+
```
24+
25+
Der Inhalt dieser Konfigurationsdatei sieht wie folgt aus:
26+
27+
```xml
28+
<config_plugin>
29+
30+
<!-- default value for the number format -->
31+
<format>00000</format>
32+
33+
<!-- default value for the amount of barcodes to be generated -->
34+
<amount>200</amount>
35+
36+
<!-- default value the first barcode number -->
37+
<start>1</start>
38+
39+
<!-- default value the first barcode number -->
40+
<prefix></prefix>
41+
42+
<!-- default separator to use between prefix and counter,
43+
if the prefix is empty this separator does not get used -->
44+
<separator>_</separator>
45+
46+
<!-- path to xslt file for barcode generation,
47+
this value can exist multiple times and gets displayed as dropdown list -->
48+
<xslt-path>/opt/digiverso/goobi/xslt/barcodes.xsl</xslt-path>
49+
50+
</config_plugin>
51+
```
52+
53+
## Überblick und Funktionsweise
54+
Wenn das Plugin korrekt installiert und konfiguriert wurde, ist es innerhalb des Menüpunkts Workflow zu finden. Nach dem Betreten können in der Oberfläche die oben beschriebenen Parameter noch einmal individuell angepasst werden.
55+
56+
![Nutzeroberfläche des Plugins](screen2.png)
57+
58+
Nach dem Klick auf den Button Barcodes generieren steht eine PDF-Datei zum Download bereit. Eine PDF-Datei mit der hier aufgeführten Referenzkonfiguration sieht beispielsweise folgendermaßen aus:
59+
60+
![Generiertes PDF-Dokument mit den enthaltenen Barcodes](screen1.png)
61+
62+
Zur Veranschaulichung der Bedienung steht hier ein Screencast für die Benutzung des Plugins zur Verfügung.
63+
64+
[Screencast zur Benutzung des Plugins](https://www.youtube.com/watch?v=Eh8H4k1sKvE)
65+
66+
67+
## Konfiguration
68+
69+
### Allgemeine Konfiguration des Plugins
70+
Die Konfiguration des Plugins erfolgt innerhalb der oben bereits erwähnten Konfigurationsdatei. Dort können für verschiedene Felder Defaultwerte definiert werden. Diese lauten wie folgt:
71+
72+
| Wert | Beschreibung |
73+
| :--- | :--- |
74+
| `format` | Dieser Parameter legt fest, ob die Zähler mit führenden Nullen aufgefüllt werden sollen. Der Wert `00000` beispielsweise legt fest, dass alle Zahlen zumindest mit fünf Stellen angezeigt werden. |
75+
| `amount` | Dieser Parameter legt fest, wieviele Barcodes festgelegt werden. |
76+
| `start` | Soll der Zähler für die Barcodes bei einem bestimmten Startwert beginnen, so kann dieser hier festgelegt werden. |
77+
| `prefix` | Dieser Parameter definiert einen Präfix, der dem Zähler mit einem Unterstrich `_` vorangestellt wird. |
78+
| `separator` | Mit diesem Parameter kann ein Trennzeichen angegeben werden, dass zwischen Präfix und dem Zähler verwendet werden soll. Sollte der Präfix hingegen nicht angegeben sein, wird das Trennzeichen nicht verwendet. |
79+
| `xslt-path` | Der Parameter `xslt-path` erlaubt die Definition beliebig vieler xsl-Dateien. Die hier konfigurierten Dateien werden dem Nutzer anschließend innerhalb der Nutzeroberfläche zur Auswahl angeboten. |
80+
81+
82+
### Layout der Barcodes
83+
Die Generierung der Barcodes erfolgt auf der Basis sogenannter [XSLT Transformation](https://www.w3schools.com/xml/xsl_transformation.asp). Dazu wird auf der Basis einer XSL-Datei eine PDF-Datei generiert und anschließend zum Download angeboten. Die Festlegung, wie die zu generierende PDF-Datei aussehen soll und welche Inhalte sie wie anzeigt erfolgt innerhalb einer solchen XSL-Datei. Genau wie auch die anderen XSL-Dateien, die Goobi workflow bereits für die Generierung der Laufzettel verwendet, sollten die XSL-Dateien im Idealfall im zentralen Verzeichnis `xslt` von Goobi liegen. Dieses befindet sich üblicherweise hier:
84+
85+
```bash
86+
/opt/digiverso/goobi/xslt/
87+
```
88+
89+
In diesem Ordner befinden sich zumeist mehrere solcher XSL-Dateien. Die Referenzdatei für den Aufbau der generierten Barcodes befindet sich in dieser ebenfalls im Rahmen der Plugin-Installation installierten Datei:
90+
91+
```bash
92+
/opt/digiverso/goobi/xslt/barcodes.xsl
93+
```
94+
95+
Sie verfügt über den folgenden Inhalt:
96+
97+
```xml
98+
<?xml version="1.0" encoding="iso-8859-1"?>
99+
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"
100+
xmlns:goobi="http://www.goobi.io/logfile" version="1.1" exclude-result-prefixes="fo">
101+
<xsl:output method="xml" indent="yes" />
102+
<xsl:template match="goobi:process">
103+
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
104+
105+
<!-- general layout -->
106+
<fo:layout-master-set>
107+
<fo:simple-page-master master-name="page" page-width="14.8cm" page-height="21.0cm" margin-left="1cm" margin-top="0.7cm"
108+
margin-right="1cm">
109+
<fo:region-body />
110+
</fo:simple-page-master>
111+
</fo:layout-master-set>
112+
113+
<!-- run through each item to generate a new page with a barcode -->
114+
<xsl:for-each select="goobi:item">
115+
<fo:page-sequence master-reference="page">
116+
<fo:flow flow-name="xsl-region-body" font-family="opensans, unicode">
117+
118+
<!-- Institution logos -->
119+
<fo:block text-align="right">
120+
<fo:external-graphic src="/opt/digiverso/goobi/xslt/logo_favicon.png" content-width="10mm" top="0cm"/>
121+
</fo:block>
122+
123+
<!-- Separator -->
124+
<fo:block border-top-width="1pt" border-top-style="solid" border-top-color="#cccccc" margin-top="7pt" />
125+
126+
<!-- identifier as readable text -->
127+
<fo:block text-align="center" font-weight="bold" font-size="20pt" margin-top="160pt">
128+
<xsl:value-of select="." />
129+
</fo:block>
130+
131+
<!-- Separator -->
132+
<fo:block border-top-width="1pt" border-top-style="solid" border-top-color="#cccccc" margin-top="20pt" margin-bottom="20pt" />
133+
134+
<!-- Barcode generation -->
135+
<xsl:variable name="barcode" select="." />
136+
<fo:block text-align="center">
137+
<fo:instream-foreign-object>
138+
<barcode:barcode xmlns:barcode="http://barcode4j.krysalis.org/ns" message="{$barcode}">
139+
<barcode:code128>
140+
<barcode:module-width>0.21mm</barcode:module-width>
141+
<barcode:height>20mm</barcode:height>
142+
</barcode:code128>
143+
</barcode:barcode>
144+
</fo:instream-foreign-object>
145+
</fo:block>
146+
147+
<!-- Separator -->
148+
<fo:block border-top-width="1pt" border-top-style="solid" border-top-color="#cccccc" margin-top="195pt" margin-bottom="10pt" />
149+
150+
<!-- Goobi logo -->
151+
<fo:block-container position="fixed" left="1cm" top="19.5cm">
152+
<fo:block>
153+
<fo:external-graphic src="/opt/digiverso/goobi/xslt/logo.png" content-width="22mm" />
154+
</fo:block>
155+
</fo:block-container>
156+
157+
<!-- Goobi URL -->
158+
<fo:block-container position="fixed" left="11.85cm" top="20.0cm">
159+
<fo:block font-size="7pt">
160+
https://goobi.io
161+
</fo:block>
162+
</fo:block-container>
163+
164+
</fo:flow>
165+
</fo:page-sequence>
166+
</xsl:for-each>
167+
</fo:root>
168+
</xsl:template>
169+
</xsl:stylesheet>
170+
```

0 commit comments

Comments
 (0)