Skip to content
Snippets Groups Projects
Commit a439a2a2 authored by Jesper Zedlitz's avatar Jesper Zedlitz
Browse files

Hinweise zur Nutzung

parent 6616133f
Branches
Tags
No related merge requests found
Pipeline #1249 passed
# dcat-catalog-proxy
Dieses Programm filtert einen von CKAN mit Hilfe der ckanext-dcat bzw. ckanext-dcatde erzeugten DCAT-Katalog für die Übergabe an GovData.
Dabei werden folgende Änderungen an dem Katalog vorgenommen:
- Datensätze, die nur PDF-Dateien als Distribution haben, werden entfernt
- Datensätze bestimmter (konfigurierbarer) Herausgeber werden erfernt
- Download-Adressen können umgeschrieben werden
- Fehler im DCAT-Export werden korrigiert, so dass er für GovData und das Europäische Datenportal besser geeignet ist
## Kompilieren
```console
./mvnw package
```
Es wird Java 17 benötigt.
## Konfiguration
Konfiguriert wird das Programm in einer Java-Properties-Datei. Die sieht z.B. so aus:
```
server.port=8082
baseURL=https://opendata.schleswig-holstein.de/
remoteURL=https://opendata.schleswig-holstein.de/
replaceURL= {'http://efi2.schleswig-holstein.de/','https://efi2.schleswig-holstein.de/','http://opendata.zitsh.de/','https://opendata.schleswig-holstein.de/' }
unwantedPublishers={'https://opendata.schleswig-holstein.de/organization/d8bd1f1d-7c77-4f6d-9fbd-bad92821fba4','https://opendata.schleswig-holstein.de/organization/6b9a2dd7-48a0-4d62-9120-324474dbe7ae'}
```
- `remoteURL` - Von *remoteURL* + `/catalog.xml` wird der Original-Katalog gelesen
- `baseURL` - Diese Adressse wird verwendet, um Links zu weiteren Seiten des Katalogs zu erzeugen.
- `replaceURL` (optional) - Eine Liste mit einer geraden Anzahl Strings, die zur Ersetzung von Download-Adressen werden wird. In im angegebenen Beispiel wird `http://efi2.schleswig-holstein.de/` durch `https://efi2.schleswig-holstein.de/` ersetzt und `http://opendata.zitsh.de/` durch `https://opendata.schleswig-holstein.de/`.
- `unwantedPublishers` (optional) - Liste von Herausgeber (`dct:publisher`) URIs im Open-Data-Portal, deren Datensätze herausgefiltert werden. Wichtig ist, dass die Schreibweise verwendet wird, die CKAN im DCAT-Export für Datensätze verwendet, üblicherweise die Schreibweise mit UUID. Das ist nicht die, die man über die Weboberfläche sieht. Am besten im DCAT-Export eines betroffenen Datensatzes im Element `dct:publisher` nachsehen.
- `server.port` (optional) - TCP-Port, auf den der *DCAT catalogy proxy* hört, Standard ist 8080
## Starten
Es wird Java 17 benötigt. Gestartet wird das Programm mit
```console
java -jar dcat-catalog-proxy.jar --spring.config.location=settings.properties
```
wobei `settings.properties` die Datei mit den Einstellungen ist.
### systemd
Um den Dienst mit systemd zu starten, gibt es eine Service-Beschreibung in der Datei [odsh-catalog-proxy.service](./odsh-catalog-proxy.service), die unter `/etc/systemd/system/odsh-catalog-proxy.service` abgelegt wird. Diese Beschreibung erwartet die jar-Datei unter `/opt/odsh-catalog-proxy/target/dcat-catalog-proxy.jar` und die Konfigurationsdatei `/opt/odsh-catalog-proxy/application.properties`
## Verwendung mit nginx
Üblicherweise wird man den dcat-catalog-proxy nicht direkt im Internet verfügbar machen, sondern davor einen Webserver oder reverse proxy schalten. Hier ist eine Beispielkonfiguration, wie das mit nginx gemacht werden kann:
```
location /catalog-govdata.xml
{
proxy_pass http://localhost:8082/catalog.xml;
}
```
[Unit]
Description=ODSH Catalog Proxy (DCAT)
After=syslog.target network.target
[Service]
SuccessExitStatus=143
User=proxyuser
Group=proxyuser
Type=simple
ExecStart=/usr/bin/java -jar /opt/odsh-catalog-proxy/target/dcat-catalog-proxy.jar --spring.config.location=/opt/odsh-catalog-proxy/application.properties
ExecStop=/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment