Skip to content
Snippets Groups Projects
Jesper Zedlitz's avatar
Jesper Zedlitz authored
Resolve "DataService und DatasetSeries erhalten"

Closes #8

See merge request !5
feca8ea4
History

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

./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

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, 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;
}