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

Hinweise zur Nutzung

parent 6616133f
No related branches found
No related tags found
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