Skip to Content
3. EntwicklungReferenzÖffentlicher Datenexport

Öffentlicher Datenexport

DiGeKo veröffentlicht einen importierbaren Ausgangsdatenstand für neue CMS-Instanzen. Er besteht aus einem Strapi-Export mit Inhalten, Dateien und Schemas sowie einer SHA-256-Prüfsumme.

Das Prinzip von latest.json

latest.json enthält nicht selbst die Kategorien und Stories. Die Datei ist eine stabile Adresse, die auf das jeweils aktuelle, unveränderliche Releaseverzeichnis zeigt:

latest.json ├── manifest → releases/<version>/manifest.json ├── file ─────→ releases/<version>/digeko-cms-data.tar.gz └── checksum ─→ releases/<version>/digeko-cms-data.tar.gz.sha256

Ein typischer Zeiger enthält:

{ "version": "2026-07-17T10-30-00Z", "self": "https://…/data/latest.json", "manifest": "https://…/data/releases/…/manifest.json", "file": "https://…/data/releases/…/digeko-cms-data.tar.gz", "checksum": "https://…/digeko-cms-data.tar.gz.sha256", "sha256": "<64-stelliger-Hash>" }
FeldBedeutung
versionKennung dieses Inhaltsstands; standardmäßig ein UTC-Zeitstempel
selfkanonische URL des aktuellen Zeigers
manifestMetadaten des konkreten, versionierten Releases
fileDownload-URL des Strapi-Exportarchivs
checksumURL der SHA-256-Prüfsummendatei
sha256Hash zusätzlich direkt im Zeiger; der Import prüft die Prüfsummendatei

Das Manifest ergänzt unter anderem Erzeugungszeitpunkt, Quelle, Format, Verschlüsselungsstatus, enthaltene Bestandteile, Dateigröße und Hash.

Aktuellen Datenstand importieren

Setzen Sie in der .env des CMS:

DIGEKO_DATA_LATEST_URL=https://fhk-cms-media-bucket.s3.eu-central-1.amazonaws.com/data/latest.json

Starten Sie dann in einer neuen oder bewusst vorbereiteten CMS-Instanz:

npm run data:import

Das Script lädt latest.json, anschließend Archiv und Prüfsummendatei, prüft SHA-256 und startet erst dann strapi import. Der Strapi-Import überschreibt den Zielbestand.

Einen bestimmten Stand festschreiben

Für reproduzierbare Installationen kann statt des beweglichen Zeigers ein bestimmtes Archiv importiert werden:

npm run data:import -- \ --url https://…/releases/<version>/digeko-cms-data.tar.gz \ --checksum-url https://…/digeko-cms-data.tar.gz.sha256

Damit bleibt die Installation auch dann auf demselben Inhaltsstand, wenn latest.json später auf ein neueres Release verweist.

Datenrelease veröffentlichen

Dieser Schritt ist für Maintainer:innen mit Schreibzugriff auf den öffentlichen S3-Speicher bestimmt:

npm run data:release -- --version <kennung>

Ohne --version erzeugt das Script eine UTC-Zeitstempelkennung. Zuerst werden Archiv, Prüfsumme und Manifest unter releases/<version>/ veröffentlicht; danach wird latest.json auf diesen Stand gesetzt. Zugangsdaten und Zielpfade kommen aus DATA_RELEASE_* und AWS_*.