JSON Feeds

25. Mai 2017

Als Alternative für das XML-basierten RSS etablierst sich derzeit "JSON-Feed" (jsonfeed.org) und tritt an, die konzeptionellen und technischen Schwächen von RSS zu überwinden (und damit einen weiteren Sargnagel für das in die Jahre gekommene XML-Format insgesamt zu liefern).

JSON-Feeds sind mit womodo sehr einfach zu implementieren und innovationgate.com liefert seine Bolgbeiträge ab sofort auch in diesem neuen Format aus.

JSON Feeds basieren auf dem sehr einfach zu verwendenden JSON-Format. Auf Systemen, die JavaScript unterstützen reicht in der Regel ein JSON.stringify(), um die gewünschten Daten zu liefern. In womodo ist jenau dies der Fall.

Der folgende Code zeigt die Implementierung des IG-JSON-Feeds als Renderer-Script, dessen Implementierung inklusive Tests und Deployment weniger als eine Stunde gedauert hat:

function Renderer() {}
Renderer.prototype.render = function() {
var data = {
version: "https://jsonfeed.org/version/1",
title: "Innovation Gate Blog",
home_page_url: "https://www.innovationgate.com",
feed_url: "https://www.innovationgate.com/feed.json",
author: "Innovation Gate Development Team",
user_comment: "This feed allows you to read the posts from this site in any feed reader that supports the JSON Feed format."
+ " To add this feed to your reader, copy the following URL — https://innovationgate.com/feed.json — and add it your reader.",
items: []
}
var entries = WGA.app().query("hql", "content.structentry.contenttype.name='blogpost' order by content.published DESC", {max:10})
for(let entry in Iterator(entries)){
data.items.push({
id: entry.STRUCTKEY,
url: WGA.urlBuilder(entry.contenturl("html",null)).build(true),
title: entry.BROWSERTITLE || entry.TITLE,
content_html: entry.intro,
author: entry.AUTHOR,
date_published: WGA.format(entry.PAGEPUBLISHED, "yyyy-MM-dd'T'HH:mm:ssXXX"),
date_modified: WGA.format(entry.MODIFIED, "yyyy-MM-dd'T'HH:mm:ssXXX")
})
}
WGA.TMLPage.write(JSON.stringify(data))
}

TML Renderer

TML-Renderer sind TMLScript-Module, mit denen die Ausgabe eines TMLs per Script gesteuert werden können. Im Fall des JSON-Feeds bietet sich dies an, da TMLScript bereits alles notwendige zur Verfügung stellt.

Der folgende Screenshot zeigt die Ausgabe in FireFox.

IG-JSON-Feed Screenshot

A New Kit on the Block

icon.pngDie Unterstützung von JSON Feed durch Inhaltslieferanten und Feed-Reader Software steht noch am Anfang, aber mehr und mehr Unternehmen setzen auf diese neue Technologie.

Mit womodo, TMLScript und TML-Renderern ist die Implementierung eines JSON-Feeds eine Fingerübung.