Themenwelten aus technischer Sicht
Die dpa-Themenwelten sind Evergreen-Content, ihr Lifecycle ist auf eine möglichst lange Publikationsdauer ausgelegt, worin sie sich von den vorwiegend tagesaktuellen Inhalten der dpa-WebLines unterscheiden. Das bringt redaktionell und technisch einige Besonderheiten hinsichtlich Auslieferung und Aktualisierung mit sich. Ein Überblick
Themenwelten-Besonderheiten
Belieferung
Nach initialer Aktivierung der Belieferung (also des wireQ-Endpunkts oder des s3push-Versands) erhalten Sie einmalig gesammelt alle verfügbaren Themenwelten-Artikel (initiale Belieferung). Anschließend werden nur noch solche Artikel übermittelt, an denen die Themenwelten-Redaktion Updates oder Änderungen vorgenommen hat. Entsprechend empfehlen wir, diese erste Kollektion von Artikeln wiederverwendbar abzuspeichern, um Artikel bei Tests oder technischen Änderungen nicht zu verlieren.
Publikation
Themenwelten-Artikel erkennen
Artikel der dpa-Themenwelten sind daran erkennbar, dass im categories-Teil des dpa-digitalwires-Formats der entsprechende dpasrv im qcode auftaucht:
{
"type": "dnltype:wire",
"name": "themenwelten",
"qcode": "dpasrv:themenwelten"
}
Die Zuordnung zu einer Themenwelt, also einer Sammlung von Artikeln zu einem Themenkomplex, erfolgt über ein Flextag. Dieses findet sich ebenfalls im categories-Teil:
{
"type": "dnltype:flextag",
"name": "Laufen",
"qcode": "dpaflextag:pc.topic.laufen"
}
Der name gibt hierbei den Namen der Themenwelt an. Der qcode-Teil nach pc.topic. kann bspw. als URL-Slug für eine Themenseite verwendet werden (z.B. https://example.com/laufen/)
Jeder Themenwelten-Artikel ist anhand seiner urn (Schema: urn:newsml:dpa.com:20090101:xxxxx) eindeutig erkennbar. Aktualisiert die Redaktion einen Artikel, bleibt seine urn gleich, version und version_created machen den neuen Stand erkennbar.
Ein Überblick über alle Themenwelten-Artikel findet sich in der dpa-Schalttafel und im Themenwelten-Showcase. Sollten Sie dazu Zugang benötigen, wenden Sie sich bitte an [email protected].
Lebenszyklus der Artikel
Im Unterschied zu anderen dpa-Inhalten sind Artikel der dpa-Themenwelten Evergreen-Content. Das heißt: Ein Artikel gilt nicht nach einer gewissen Zeit als veraltet und sollte von der Webseite entfernt werden. Im Gegenteil: Themenwelten-Artikeln werden teils in Zyklen von mehreren Monaten aktualisiert und in der Zwischenzeit nicht erneut publiziert.
Das Vorgehen dabei kann beispielhaft wie folgt aussehen:
- Artikel wird initial durch dpa publiziert
- Einen Monat nach Erstpublikation werden einige Bilder ausgetauscht und der Artikel erneut publiziert
- Nach einem halben Jahr werden einige Details im Artikel aktualisiert und dieser erneut publiziert
Diese Vorgehensweise muss beim Import in Ihr CMS entsprechend berücksichtig werden. Mögliche Probleme, für die ggf. technische oder redaktionelle Lösungsansätze nötig sind:
- Themenwelten-Artikel werden nach einer bestimmten Zeit von der Webseite/aus dem CMS entfernt, sodass neue dpa-Versionen nicht mehr importiert werden können → Tipp: Entfernen von Themenwelten-Artikeln sollte verhindert werden
- Themenwelten-Artikel werden von der Redaktion bearbeitet, sodass ein einfaches technisches Update durch neue dpa-Versionen nicht mehr möglich ist → Tipp: Falls Ihre Redaktion Themenwelten-Artikel bearbeitet, ist ein zusätzliches Monitoring/Benachrichtigungssystem für Updates durch die dpa-Redaktion nötig (z.B. Anlegen der neuen Artikelversion als Kopie im CMS, Benachrichtigung via Mail/Messenger, vgl. nächster Punkt)
Gründe für die erneute Publikation ermitteln
Informationen zur Ursache für das Update an einem Artikel und ggf. die bearbeiteten Abschnitte liefert der Notizblock im notepad-Teil des dpa-digitalwires-Formats. Unter public_html befindet sich der öffentliche Teil des Notizblocks im HTML-Format.
Ein Update durch die dpa-Redaktion ist daran erkennbar, dass die umschließende HTML-section mit einem <h4>Aktualisierung</h4> beginnt. Falls vorhanden, folgen in einer unsortierten Liste konkretere Angaben zur Ursache des Updates.
"public_html": "<section class=\"np-public\"><h4>Aktualisierung</h4><ul><li>Dieser Text wurde mit Blick auf die Umstellung auf Sommerzeit (26. März) aktualisiert.</li></ul><h4>Internet</h4><ul><li><a href=\"http://dpaq.de/fuS4d\">maiLab-Video: Was die Zeitumstellung mit deinem K\u00f6rper macht</a></li></ul></section>"
Archivierung von Themenwelt-Artikeln
Nicht alle Artikel lassen sich dauerhaft aktualisieren oder fortschreiben. Einige behandeln Themen, die nicht mehr aktuell sind (z.B. Corona), andere stellen sich als nicht so klickträchtig heraus, wie wir vermutet haben. In solchen Fällen verzichten wir auf eine weitere Aktualisierung der Artikel.
Technische Details
Zur Archivierung wird ein Artikel letztmalig wiederholt ("signal": "sig:repeat") und enthält ein zusätzliches Flextag:
"categories": [{
"type": "dnltype:flextag",
"name": "archiviert",
"qcode": "dpaflextag:pc.lifecycle.archived"
}, ...]
Eine Auswertung dieses Tags genügt, um eine Archivierung festzustellen.
Für Menschen gedachte Hinweise auf die Archivierung liefern auch die Korrekturhinweise dpaednoterole:correction bzw. dpaednoterole:correctionshort. Ein Beispiel:
"ednotes": [{
"role": "dpaednoterole:correction",
"ednote": "Dieser Themenwelten-Artikel wird seit 16. Oktober 2023 nicht mehr weiter aktualisiert.",
"is_publishable": true
}, {
"role": "dpaednoterole:correctionshort",
"ednote": "Dieser Themenwelten-Artikel wird seit 16. Oktober 2023 nicht mehr weiter aktualisiert.",
"is_publishable": true
}, ...]
Archivierung bei automatischer Anbindung der Themenwelten
Sollten Sie die Themenwelten automatisch eingebunden haben und nicht verändern, empfehlen wir Ihnen, gemeinsam mit Ihrer Technik das Löschen von Artikeln mit dem Tag dpaflextag:pc.lifecycle.archived zu implementieren. So sind Sie auf der sicheren Seite. Denn nach der Archivierung eines Themenwelt-Artikels prüfen wir dessen Inhalte nicht mehr auf Korrektheit.
Das heißt: Wenn Sie den Beitrag weiterhin als Evergreen-Content auf ihrer Webseite anzeigen wollen, muss Ihre Redaktion ab der Archivierung selbst dafür sorgen, dass die Inhalte tatsächlich "Evergreen", also weiterhin aktuell, sind. Dies kann sinnvoll sein, wenn Sie unseren Themenwelt-Artikel um eigene Inhalte ergänzt haben oder der Artikel eine hohe Lesernachfrage hat. In solchen Fällen sollten sie sicherstellen, dass sie mitbekommen, wenn wir Artikel archivieren.
Archivierung bei manueller Anbindung der Themenwelten
Wenn Sie Themenwelten-Artikel manuell auf ihre Webseite übernehmen, sollten Sie gemeinsam mit Ihrer IT dafür sorgen, dass Sie auf Archivierungen durch uns aufmerksam werden. Dies kann beispielsweise durch spezielle Auszeichnung der Artikel in Ihrem Agentureingang/Ihrem CMS geschehen (z.B. ARCHIVIERT vor den Titel schreiben) oder entsprechende Benachrichtigungen (im Messenger, per Mail) geschehen. Alternativ finden Sie Hinweise auf die archivierten Texte auch in unserem monatlichen Themenwelten-Newsletter.
Ob Sie einen Artikel nach Archivierung durch uns von Ihrer Webseite entfernen, bleibt Ihnen überlassen. Sie können die Inhalte ab der Archivierung auch selbst regelmäßig darauf prüfen, ob sie weiterhin aktuell sind, und ggf. überarbeiten.
Webcomponents
Um die Inhalte bestmöglich aufzubereiten und die Aufenthaltsdauer auf den Artikeln zu erhöhen, enthalten Artikel der dpa-Themenwelten allerlei multimediale Komponenten. Dazu gehören aktuell: Social Media Embeds, interaktive Erklär- und Datengrafiken sowie im Artikel positionierte Bilder. Die Bestandteile werden technisch als Web Components ausgezeichnet. Sollen diese angezeigt werden, ist eine entsprechende Implementierung nötig.
Hierfür gibt es mehrere Möglichkeiten:
- Web Components werden schon beim Import ins CMS umgewandelt und die dortige Komponententechnologie übersetzt. Wir empfehlen dieses Vorgehen.
- Web Components unverändert bis in die App oder auf die Webseite durchreichen und sie dort mit Hilfe von entsprechendem Code entfalten.
Eine Referenzimplementierung für die einzelnen Web Components des dpa-newslabs ist auf Github als open-source veröffentlicht. Weitere Details finden sich auch im API-Portal.
Table of contents
Zur Erstellung einer Inhaltsübersicht können die Zwischenüberschriften <h2> verwendet werden. Werden diese mit einer id (z.B. <h2 id="1-wie-viele-läufer-gibt-es-in-deutschland">1. Wie viele Läufer gibt es in Deutschland?</h2>) versehen, können über dem Artikel Deeplinks zum jeweiligen Abschnitt angezeigt werden. Eine Beispielimplementierung steht auf Github bereit.
dpa-digitalwires-Grundlagen
Abgelaufene Bilderlinks
Die URLs zu den Bildern eines Artikels sind signiert und haben ein Ablaufdatum von ca. 2 Tagen (https://api-portal.dpa-newslab.com/doc/format#assoziierte-medienobjekte). Dies sollte ausreichen, um das Bild in das eigene CMS zu importieren.
Vor allem für den Abruf der wireQ-API heißt das: Werden Artikel länger als 2 Tage in der Queue vorgehalten, werden die im digitalwires-JSON enthaltenen Bilderlinks ungültig.
Wie erkenne ich den neuesten Artikel
Ein Artikel wird inhaltlich anhand des Attributs urn identifiziert. Die neuste Version ergibt sich aus den Attributen version, version_created und updated. Siehe auch: https://api-portal.dpa-newslab.com/doc/faq#wie-finde-ich-die-neuste-version-eines-topicles
Im FAQ des API-Portal: https://api-portal.dpa-newslab.com/doc/faq haben wir versucht, wiederkehrende Fragen unserer Kunden zu beantworten. Es finden sich dort auch viele Einträge zum Thema: Wie finde ich die aktuellste Version eines Artikels.
Tipps zum Abruf mittels wireQ-API
Der wireQ-Feed ist eine Queue - kein Feed im klassischen Sinne. Diese Queue muss regelmäßig nicht nur abgerufen werden (GET), sondern auch geleert werden (DELETE). Alternativ bieten wir diesen Schritt auch über POST /dequeue-entries.json an.Haben sie bisher den Feed nur mit GET abgerufen, so sollten Sie Ihre Implementierung unbedingt anpassen!Als Hilfestellung haben wir dazu für unsere Kunden ein paar sehr hilfreiche Best-Practices auf Github veröffentlicht:
GET/DELETE:
https://github.com/dpa-newslab/dpa-digitalwires-wireq-example/blob/main/get_delete_import.py#L52
POST:
https://github.com/dpa-newslab/dpa-digitalwires-wireq-example/blob/main/dequeue_import.py
Noch ein kleiner Tipp zum Schluss - in der Referenzimplementierung werten wir auch den retry-after Header aus: https://github.com/dpa-newslab/dpa-digitalwires-wireq-example/blob/main/dequeue_import.py#L64 so können Sie im Fall von vielen Artikeln die Queue relativ schnell "abräumen".