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 wirdhttp://efi2.schleswig-holstein.de/
durchhttps://efi2.schleswig-holstein.de/
ersetzt undhttp://opendata.zitsh.de/
durchhttps://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 Elementdct: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;
}