Dokumentation optimieren und vereinheitlichen

This commit is contained in:
Felix Lohmeier 2021-01-19 10:50:55 +01:00
parent 24b142ae5a
commit 81e55bd784
4 changed files with 29 additions and 18 deletions

View File

@ -84,18 +84,24 @@ Harvesting von OAI-PMH-Schnittstellen und Transformation in METS/MODS für das P
## Nutzung
* Alle Datenquellen harvesten und transformieren (parallelisiert)
* Alle Datenquellen harvesten, transformieren und validieren (parallelisiert)
```
task default
task
```
* Eine Datenquelle harvesten und transformieren
* Eine Datenquelle harvesten, transformieren und validieren
```
task siegen:default
```
* Zwei Datenquellen harvesten, transformieren und validieren (parallelisiert)
```
task --parallel siegen:default wuppertal:default
```
* Links einer Datenquelle überprüfen
```
@ -116,7 +122,6 @@ Harvesting von OAI-PMH-Schnittstellen und Transformation in METS/MODS für das P
## Konfiguration
* Umgebungsvariablen in [Taskfile.yml](Taskfile.yml)
* Workflow für die Datenquellen in [tasks](tasks)
* Beispiel: [tasks/siegen.yml](tasks/siegen.yml)
* OpenRefine-Transformationsregeln in [rules](rules)

View File

@ -29,6 +29,10 @@ tasks:
msg: "requirement OpenRefine missing"
- sh: test -x "$OPENREFINE_CLIENT"
msg: "requirement openrefine-client missing"
- sh: test -n "$(command -v curl)"
msg: "requirement curl missing"
- sh: test -n "$(command -v xmllint)"
msg: "requirement xmllint missing"
deps:
- task: wuppertal:default
- task: siegen:default

View File

@ -4,7 +4,7 @@ version: '3'
tasks:
default:
desc: harvesten und transformieren
desc: OPUS Siegen harvesten und transformieren
deps: [harvest]
cmds:
- task: refine
@ -15,7 +15,6 @@ tasks:
- task: diff
harvest:
desc: nur harvesten
dir: data/siegen/harvest
cmds:
- METHA_DIR=$PWD metha-sync --format xMetaDissPlus https://dspace.ub.uni-siegen.de/oai/request
@ -26,7 +25,7 @@ tasks:
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
env:
PORT: 3334
RAM: 8G
RAM: 4G
PROJECT: siegen
cmds:
# OpenRefine starten
@ -86,7 +85,7 @@ tasks:
# Logdatei von OpenRefine auf Warnungen und Fehlermeldungen prüfen
- if grep -i 'exception\|error' openrefine.log; then echo 1>&2 "Logdatei $PWD/openrefine.log enthält Warnungen!" && exit 1; fi
# Prüfen, ob Mindestanzahl von 1250 Datensätzen generiert wurde
- if (( 1250 > $(grep -c recordIdentifier siegen.txt) )); then echo 1>&2 "Unerwartet geringe Anzahl an Datensätzen in $PWD/wuppertal.txt!" && exit 1; fi
- if (( 1250 > $(grep -c recordIdentifier siegen.txt) )); then echo 1>&2 "Unerwartet geringe Anzahl an Datensätzen in $PWD/siegen.txt!" && exit 1; fi
split:
dir: data/siegen/split
@ -149,6 +148,7 @@ tasks:
- xmllint --xpath '//@*[local-name(.) = "href"]' split/*.xml | cut -d '"' -f2 > links.txt
# http status code aller Links ermitteln
- curl --silent --head --write-out "%{http_code} %{url_effective}\n" $(while read line; do echo "-o /dev/null $line"; done < links.txt) > linkcheck.log
- rm -rf links.txt
# Logdatei auf status code != 2XX prüfen
- if grep '^[^2]' linkcheck.log; then echo 1>&2 "Logdatei $PWD/linkcheck.log enthält problematische status codes!" && exit 1; fi
sources:
@ -157,6 +157,8 @@ tasks:
- linkcheck.log
delete:
desc: harvesting cache löschen
desc: cache löschen
cmds:
- rm -rf data/siegen/harvest
- rm -rf data/siegen/refine
- rm -rf data/siegen/split

View File

@ -4,7 +4,7 @@ version: '3'
tasks:
default:
desc: harvesten und transformieren
desc: Elpub Wuppertal harvesten und transformieren
deps: [harvest]
cmds:
- task: refine
@ -15,7 +15,6 @@ tasks:
- task: diff
harvest:
desc: nur harvesten
dir: data/wuppertal/harvest
cmds:
- METHA_DIR=$PWD metha-sync --format oai_dc http://elpub.bib.uni-wuppertal.de/servlets/OAIDataProvider
@ -26,7 +25,7 @@ tasks:
ignore_error: true # provisorisch verwaisten Java-Prozess bei Exit vermeiden https://github.com/go-task/task/issues/141
env:
PORT: 3335
RAM: 8G
RAM: 4G
PROJECT: wuppertal
cmds:
# OpenRefine starten
@ -62,8 +61,6 @@ tasks:
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/hbz.json $PROJECT
# Sortierung mods:nonSort für das erste Element in dc:title
- $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/nonsort.json $PROJECT
#TODO # Links prüfen: HTTP status code ermitteln (z.B. 200)
#TODO - $OPENREFINE_CLIENT -P $PORT --apply ../../../rules/wuppertal/linkcheck.json $PROJECT
# Export in METS:MODS mit Templating
- |
$OPENREFINE_CLIENT -P $PORT --export --template "$(< ../../../rules/wuppertal/template.txt)" --rowSeparator "
@ -153,6 +150,7 @@ tasks:
- xmllint --xpath '//@*[local-name(.) = "href"]' split/*.xml | cut -d '"' -f2 > links.txt
# http status code aller Links ermitteln
- curl --silent --head --write-out "%{http_code} %{url_effective}\n" $(while read line; do echo "-o /dev/null $line"; done < links.txt) > linkcheck.log
- rm -rf links.txt
# Logdatei auf status code != 2XX prüfen
- if grep '^[^2]' linkcheck.log; then echo 1>&2 "Logdatei $PWD/linkcheck.log enthält problematische status codes!" && exit 1; fi
sources:
@ -161,6 +159,8 @@ tasks:
- linkcheck.log
delete:
desc: harvesting cache löschen
desc: cache löschen
cmds:
- rm -rf data/wuppertal/harvest
- rm -rf data/wuppertal/refine
- rm -rf data/wuppertal/split