HTMLspecstableimplmature
HTML-Kodierung für alle unterstützten Ressourcen.
Umfang
Konformitätsklassen
Der Baustein implementiert für die Ressourcen Landing Page, Conformance Declaration, Feature Collections und Feature Collection alle Vorgaben der Konformitätsklasse "HTML" von OGC API - Features - Part 1: Core 1.0.
Konfiguration
Benutzerdefinierte Anpassungen
Die HTML-Ausgabe ist mittels Mustache-Templates implementiert welche vom Nutzer überschrieben werden können. Jedes Template kann überschrieben werden, aber für nicht leere Templates wird stark davon abgeraten, da dies bei Updates häufig zu Problemen führt.
Es gibt vordefinierte leere Templates mit dem Präfix custom-
welche die meisten Anwendungsfälle abdecken sollten:
custom-head.mustache
: etwas zum<head>
Element hinzufügen, z.B. CSS Stylescustom-body-start.mustache
: etwas am Anfang des<body>
Elements hinzufügencustom-body-end.mustache
: etwas am Ende des<body>
Elements hinzufügencustom-navbar-start.mustache
: etwas auf der linken Seite der Navbar hinzufügencustom-navbar-end.mustache
: etwas auf der rechten Seite der Navbar hinzufügencustom-footer-start.mustache
: etwas am Anfang des Footers hinzufügencustom-footer-end.mustache
: etwas am Ende des Footers hinzufügencustom-footer-url.mustache
: einen Link zur Liste auf der rechten Seite des Footers hinzufügen
Diese Templates liegen im Store als Ressourcen mit Typ html/templates
.
Benutzerdefinierte Dateien
Es können auch beliebige Dateien veröffentlicht werden, z.B. CSS Dateien, die dann in custom-head.mustache
eingebunden werden. Diese Dateien liegen im Store als Ressourcen mit Typ html/assets
.
Zum Beispiel könnte die CSS-Datei resources/html/assets/my.css
in custom-head.mustache
eingebunden werden mit <link href="{{urlPrefix}}/custom/assets/my.css" rel="stylesheet" >
.
Login Provider
Für APIs mit beschränktem Zugriff die einen Identity-Provider mit Login-Fähigkeiten verwenden, kann die Option loginProvider
gesetzt werden, um für abgesicherte HTML-Seiten automatische Redirects zum Login-Formular des Identity-Providers zu aktivieren. Der eingeloggte User wird auf allen HTML-Seiten angezeigt ebenso wie ein Logout-Button.
Warnung
Diese Funktionalität verwendet Cookies um die Login-Information beim Navigieren zwischen HTML-Seiten zu bewahren. Diese Cookies werden weder verarbeitet noch an Dritte weitergegeben.
In Hinsicht auf die europäische DSGVO und das deutsche TTDSG würden wir diese Cookies als technisch notwendig erachten. Das heißt wenn eine API mit dieser Funktionalität veröffentlicht wird, müssen diese Cookies in der Datenschutzerklärung erwähnt werden.
Information
Wenn der Identity-Provider https
verwendet (was er sollte), funktioniert dieses Feature nur, wenn die API ebenfalls mit https
veröffentlich wird. Die einzige Ausnahme ist der Zugriff auf die API mittels localhost
.
Optionen
Name | Default | Beschreibung | Typ | Seit |
---|---|---|---|---|
buildingBlock | Immer HTML . | string | v2.0 | |
enabled | true | Soll der Baustein aktiviert werden? | boolean | v2.0 |
noIndexEnabled | true | Steuert, ob in allen Seiten noIndex gesetzt wird und Suchmaschinen angezeigt wird, dass sie die Seiten nicht indizieren sollen. | boolean | v2.0 |
schemaOrgEnabled | true | Steuert, ob in die HTML-Ausgabe schema.org-Annotationen, z.B. für Suchmaschinen, eingebettet sein sollen, sofern. Die Annotationen werden im Format JSON-LD eingebettet. | boolean | v2.0 |
collectionDescriptionsInOverview | false | Steuert, ob in der HTML-Ausgabe der Feature-Collections-Ressource für jede Collection die Beschreibung ausgegeben werden soll. | boolean | v2.0 |
suppressEmptyCollectionsInOverview | false | Steuert, ob in der HTML-Ausgabe der Feature-Collections-Ressource Collections ohne Daten unterdrückt sein sollen. | boolean | v3.4 |
suppressUnusedCodelistsInOverview | false | Steuert, ob in der HTML-Ausgabe der Codelists-Ressource Codelisten aus Collections ohne Daten unterdrückt sein sollen. | boolean | v4.2 |
sendEtags | boolean | v2.0 | ||
legalName | Legal notice | Auf jeder HTML-Seite kann ein ggf. rechtlich erforderlicher Link zu einem Impressum angezeigt werden. Diese Eigenschaft spezfiziert den anzuzeigenden Text. | string | v2.0 |
legalUrl | null | Auf jeder HTML-Seite kann ein ggf. rechtlich erforderlicher Link zu einem Impressum angezeigt werden. Diese Eigenschaft spezfiziert die URL des Links. | string | v2.0 |
privacyName | Privacy notice | Auf jeder HTML-Seite kann ein ggf. rechtlich erforderlicher Link zu einer Datenschutzerklärung angezeigt werden. Diese Eigenschaft spezfiziert den anzuzeigenden Text. | string | v2.0 |
privacyUrl | null | Auf jeder HTML-Seite kann ein ggf. rechtlich erforderlicher Link zu einer Datenschutzerklärung angezeigt werden. Diese Eigenschaft spezfiziert die URL des Links. | string | v2.0 |
defaultStyle | NONE | Ein Style im Style-Repository, der standardmäßig in Karten mit Feature- und Tile-Ressourcen verwendet werden soll. Bei NONE wird ein einfacher Style mit OpenStreetMap als Basiskarte verwendet, wenn MapLibre der Map-Client ist; bei Cesium wird das Standard-3D-Tiles-Styling verwendet. Wenn der Wert nicht NONE ist und MapLibre der Map_Client ist, enthält die "Landing Page" bzw. die "Feature Collection" auch einen Link zu einer Webkarte mit dem Stil für den Datensatz bzw. die Feature Collection. Der Style sollte alle Daten abdecken und muss im Format Mapbox Style verfügbar sein. | string | v2.0 |
basemapUrl | https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png | Das URL-Template für die Kacheln einer Hintergrundkarte. | string | v2.0 |
basemapAttribution | © <a href='http://osm.org/copyright'>OpenStreetMap</a> contributors | Die Quellenangabe für die Hintergrundkarte. | string | v2.0 |
footerText | null | Zusätzlicher Text, der auf jeder HTML-Seite im Footer angezeigt wird. | string | v2.0 |
loginProvider | null | Option um automatische Redirects zum Login-Formular eines Identity-Providers zu aktivieren. Der Wert ist die Id eines Provider mit Login-Fähigkeiten in der globalen Konfiguration. Siehe auch Login Provider. | string | v2.0 |
homeUrl | null | Verwendung einer anderen URL für den Home-Link auf jeder HTML-Seite. | string | v2.0 |
Beispiele
Beispiel für die Angaben in der Konfigurationsdatei (aus der API für Topographische Daten in Daraa, Syrien):
- buildingBlock: HTML
enabled: true
noIndexEnabled: true
schemaOrgEnabled: true
defaultStyle: topographic
Beispiel für die Angaben in der Konfigurationsdatei (aus der API für Weinlagen in Rheinland-Pfalz):
- buildingBlock: HTML
enabled: true
noIndexEnabled: false
schemaOrgEnabled: true
collectionDescriptionsInOverview: true
legalName: Legal notice
legalUrl: https://www.interactive-instruments.de/en/about/impressum/
privacyName: Privacy notice
privacyUrl: https://www.interactive-instruments.de/en/about/datenschutzerklarung/
basemapUrl: https://sg.geodatenzentrum.de/wmts_topplus_open/tile/1.0.0/web_grau/default/WEBMERCATOR/{z}/{y}/{x}.png
basemapAttribution: '©<a href="https://www.bkg.bund.de" target="_new" >Bundesamt für Kartographie und Geodäsie</a>(2020), <a href="https://sg.geodatenzentrum.de/web_public/Datenquellen_TopPlus_Open.pdf" target="_new" >Datenquellen</a>'
defaultStyle: default