Skip to content

Commit

Permalink
Upload files to "docs"
Browse files Browse the repository at this point in the history
  • Loading branch information
SteffenHankiewicz committed Jul 25, 2024
1 parent fef1ae2 commit 1ca542d
Show file tree
Hide file tree
Showing 2 changed files with 144 additions and 0 deletions.
72 changes: 72 additions & 0 deletions docs/index_de.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Import für Zeitschriftenartikel aus einem Endnote Export
identifier: intranda_import_endnote
published: true
description: Dies ist eine technische Dokumentation für das Plugin zum Import von Zeitungsartikeln inklusive Zusammenführung mit vorhandenen Prozessen.
---
## Einführung
Die vorliegende Dokumentation beschreibt die Installation, die Konfiguration und den Einsatz des Plugins zum Import von Zeitschriftenartikeln aus einer aus Endnote exportierten Excel Datei.


## Installation
Das Plugin muss in den folgenden Ordner installiert werden:

```bash
/opt/digiverso/goobi/plugins/import/plugin_intranda_import_endnote-base.jar
```

Daneben gibt es eine Konfigurationsdatei, die an folgender Stelle liegen muss:

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


## Überblick und Funktionsweise
Um den Import zu nutzen, muss in den Produktionsvorlagen der Massenimport Bereich geöffnet werden und im Reiter `Dateiupload-Import` das Plugin `intranda_import_endnote` auswählen. Anschließend kann eine Excel Datei hochladen und importiert werden.

Des Import erfolgt zeilenweise. Dabei wird für jede Zeile der Vorgangstitel aus den konfigurierten Feldern erzeugt und geprüft, ob der Jahrgang bereits in Goobi existiert. Ist dies nicht der Fall, wird der Vorgang neu angelegt und die konfigurierten Metadaten für `anchor` und `volume` importiert.

Nun wird geprüft, ob ein Heft erzeugt werden soll. Dies passiert auf Basis der Angabe der Spalte `Issue`. Wenn das Feld leer ist, wird der Artikel direkt an den Jahrgang angehängt, ansonsten wird nach dem richtigen Heft gesucht. Existiert es noch nicht, wird es ebenfalls erzeugt. Die Sortierung der Hefte basiert auf der Nummer der Spalte `Issue`.

Anschließend wird der Artikel erzeugt und dem Heft oder Jahrgang hinzugefügt. Sofern mehrere Artikel existieren, passiert die Sortierung anhand der Angabe der Startseite aus der Spalte `Pages`.


## Konfiguration
Die Konfiguration erfolgt über die Konfigurationsdatei `plugin_intranda_import_endnote.xml` und kann im laufenden Betrieb angepasst werden.

```xml
<config_plugin>
<config>
<template>*</template>
<processTitleGeneration>TSL+'_'+ISSN+'_'+Volume</processTitleGeneration>
<anchorDocType>Periodical</anchorDocType>
<volumeDocType>PeriodicalVolume</volumeDocType>
<issueDocType>PeriodicalIssue</issueDocType>
<articleDocType>Article</articleDocType>

<metadata ugh="CatalogIDDigital" headerName="Key" docType="child"/>
<metadata ugh="PublicationYear" headerName="Publication Year" docType="volume"/>
<metadata ugh="Author" headerName="Author" docType="child" />
<metadata ugh="TitleDocMain" headerName="Title" docType="child"/>
<metadata ugh="TitleDocMain" headerName="Publication Title" docType="anchor"/>
<metadata ugh="ISSN" headerName="ISSN" docType="anchor"/>
<metadata ugh="DOI" headerName="DOI" docType="child"/>
<metadata ugh="URL" headerName="Url" docType="child"/>
<metadata ugh="Abstract" headerName="Abstract Note" docType="child"/>
<metadata ugh="Pages" headerName="Pages" docType="child"/>
<metadata ugh="CurrentNo" headerName="Issue" docType="child"/>
<metadata ugh="CurrentNo" headerName="Volume" docType="volume"/>
<metadata ugh="DocLanguage" headerName="Language" docType="child"/>
<metadata ugh="Note" headerName="Manual Tags" docType="volume"/>
</config>
</config_plugin>
```

Die Konfiguration erlaubt grundsätzlich verschiedene Konfigurationen für unterschiedliche Produktionsvorlagen. Dazu muss im Feld `<template>` nur der Name der gewünschten Vorlage eingetragen werden. Der Eintrag mit dem Wert `*` wird für alle Vorlagen verwendet, für die keine eigene Konfiguration existiert.

Das Element `<processTitleGeneration>` definiert die Regeln, mit denen der Vorgangstitel generiert werden soll. Dabei gelten die selben Konventionen wie in der `goobi_projects.xml`. Die beiden Werte `ATS` (Autor-Titel-Schlüssel) und `TSL` (Titelschlüssel) werden automatisch aus den vorliegenden Metadaten erzeugt, für die Nutzung weiterer Metadaten können die Spaltennamen aus der Exceldatei verwendet werden.

Die Elemente `<anchorDocType>`, `<volumeDocType>`, `<issueDocType>` und `<articleDocType>` definieren die Strukturelemente, die für die Elemente Zeitschrift, Jahrgang, Heft und Artikel verwendet werden sollen. Sie müssen im Regelsatz existieren.

Anschließend folgt das Mapping der Metadaten. Hierzu dient das Element `<metadata>`. Darin sind drei Atrribute erlaubt, in `ugh` wird der Metadatenname aus dem Regelsatz hinterlegt, in `headerName` die Überschrift der Spalte aus der Excel Datei und in `docType` wird definiert, ob das Metadatum in Zeitschriftentitel (`anchor`), Jahrgang (`volume`) oder Artikel (`child`) hinzugefügt werden soll.
72 changes: 72 additions & 0 deletions docs/index_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
title: Import for journal articles from an Endnote Export
identifier: intranda_import_endnote
published: true
description: This is a technical documentation for the plugin to import newspaper articles including merging with existing processes.
---
## Introduction
This documentation describes the installation, configuration and use of the plugin to import journal articles from an Excel file exported from Endnote.


## Installation
The plugin must be installed in the following folder:

```bash
/opt/digiverso/goobi/plugins/import/plugin_intranda_import_endnote-base.jar
```

There is also a configuration file, which must be located at the following location:

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


## Overview and functionality
To use the import, the mass import area must be opened in the process templates and the `intranda_import_endnote` plugin must be selected in the `File upload import` tab. An Excel file can then be uploaded and imported.

The import takes place line by line. For each line, the process title is generated from the configured fields and checked to see whether the volume already exists in Goobi. If this is not the case, the process is created again and the configured metadata for `anchor` and `volume` is imported.

Now it is checked whether an issue should be created. This is done on the basis of the `Issue` column. If the field is empty, the article is appended directly to the year, otherwise the correct issue is searched for. If it does not exist yet, it will also be created. The sorting of the issues is based on the number of the `Issue` column.

The article is then created and added to the issue or volume. If several articles exist, the sorting is done by specifying the start page from the `Pages` column.


## Configuration
The configuration is done via the configuration file `plugin_intranda_import_endnote.xml` and can be adapted during operation.

```xml
<config_plugin>
<config>
<template>*</template>
<processTitleGeneration>TSL+'_'+ISSN+'_'+Volume</processTitleGeneration>
<anchorDocType>Periodical</anchorDocType>
<volumeDocType>PeriodicalVolume</volumeDocType>
<issueDocType>PeriodicalIssue</issueDocType>
<articleDocType>Article</articleDocType>

<metadata ugh="CatalogIDDigital" headerName="Key" docType="child"/>
<metadata ugh="PublicationYear" headerName="Publication Year" docType="volume"/>
<metadata ugh="Author" headerName="Author" docType="child" />
<metadata ugh="TitleDocMain" headerName="Title" docType="child"/>
<metadata ugh="TitleDocMain" headerName="Publication Title" docType="anchor"/>
<metadata ugh="ISSN" headerName="ISSN" docType="anchor"/>
<metadata ugh="DOI" headerName="DOI" docType="child"/>
<metadata ugh="URL" headerName="Url" docType="child"/>
<metadata ugh="Abstract" headerName="Abstract Note" docType="child"/>
<metadata ugh="Pages" headerName="Pages" docType="child"/>
<metadata ugh="CurrentNo" headerName="Issue" docType="child"/>
<metadata ugh="CurrentNo" headerName="Volume" docType="volume"/>
<metadata ugh="DocLanguage" headerName="Language" docType="child"/>
<metadata ugh="Note" headerName="Manual Tags" docType="volume"/>
</config>
</config_plugin>
```

The configuration basically allows different configurations for different process templates. For this purpose, only the name of the desired template must be entered in the `template` field. The entry with the value `*` is used for all templates for which no separate configuration exists.

The `processTitleGeneration` element defines the rules with which the process title is to be generated. The same conventions apply as in `goobi_projects.xml`. The two values `ATS` (author-title-key) and `TSL` (title-key) are automatically generated from the available metadata, for the use of further metadata the column names from the Excel file can be used.

The elements `anchorDocType`, `volumeDocType`, `issueDocType` and `articleDocType` define the structural elements to be used for the elements journal, volume, issue and article. They must exist in the ruleset.

This is followed by the mapping of the metadata. The `metadata` element is used for this purpose. Three attributes are allowed, in `ugh` the metadata name from the ruleset is stored, in `headerName` the heading of the column from the Excel file and in docType it is defined whether the metadata should be added in the journal title (`anchor`), `volume` or article (`child`).

0 comments on commit 1ca542d

Please sign in to comment.