<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dev-Blog</title>
	<atom:link href="http://blog.zeit.de/dev/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zeit.de/dev</link>
	<description>Entwicklungsblog von ZEIT ONLINE</description>
	<lastBuildDate>Wed, 10 Apr 2013 08:56:03 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>ZON-API ist quelloffen</title>
		<link>http://blog.zeit.de/dev/zon-api-ist-quelloffen/</link>
		<comments>http://blog.zeit.de/dev/zon-api-ist-quelloffen/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 08:56:03 +0000</pubDate>
		<dc:creator>ndrebenstedt</dc:creator>
		<category>Dev-Blog</category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://blog.zeit.de/dev/?p=286</guid>
		<description><![CDATA[Seit dem Launch der Beta-Phase hat unsere API nun mehrere Millionen Requests beantwortet. Wir haben spannende Projekte gesehen und viel konstruktives Feedback erhalten. Ein öffentliches Bugtracking und der neue Twitterchannel @zeitonline_dev waren die ersten Schritte, dieses Potenzial zu nutzen. Nun möchten wir interessierten Entwicklern einen Einblick in unsere Schnittstelle geben. Alle Sourcen der API sind [...]]]></description>
				<content:encoded><![CDATA[<p dir="ltr" id="internal-source-marker_0.00903180235648704">Seit dem Launch der Beta-Phase hat unsere <a href="http://developer.zeit.de/index/">API</a> nun mehrere Millionen Requests beantwortet. Wir haben spannende Projekte gesehen und viel konstruktives Feedback erhalten. Ein öffentliches Bugtracking und der neue Twitterchannel <a href="https://twitter.com/zeitonline_dev">@zeitonline_dev</a> waren die ersten Schritte, dieses Potenzial zu nutzen. Nun möchten wir interessierten Entwicklern einen Einblick in unsere Schnittstelle geben. Alle <a href="http://github.com/ZeitOnline/content-api">Sourcen der API</a> sind ab sofort auf Github verfügbar. Die Architektur erläutern wir hier kurz.</p>
<h3 dir="ltr"><strong>Vom CMS zur API zur App</strong></h3>
<p dir="ltr">Der Publikationsprozess unseres Content Management Systems stößt eine Reihe von Aktionen an, die den Artikel auf unterschiedlichen Kanälen verfügbar machen. Für die API werden die Rohdaten des Artikels mit XSL transformiert und via HTTP an den API-Suchserver gesendet. Dies realisieren wir mit <a href="http://lucene.apache.org/solr/index.html">Solr</a>, einem Projekt der Apache Foundation. Solr basiert zum größten Teil auf Lucene Bibliotheken und bietet mächtige Features zur Volltextsuche über große Datenmengen. Auch in anderen Bereichen von ZEIT ONLINE wird mit Solr-Technologie gearbeitet, so dass die Wahl für das API-Projekt nahe lag. Die API benutzt für Suchanfragen den <a href="http://wiki.apache.org/solr/ExtendedDisMax">ExtendedDisMax Query Parser</a> von Solr. Dieser ist bezüglich der Syntax sehr fehlertolerant und gut geeignet, Benutzereingaben direkt zu verarbeiten. Er unterstützt die volle Suchsyntax und kann spezifische Queries mit boolschen Verknüpfungen, Feldselektoren oder Zeitspannen verarbeiten.</p>
<p dir="ltr">Die sogenannte Facettierung ist ein weiteres Feature von Solr, das für Gruppierung und Quantifizierung von Inhalten nützlich ist. Eine Facette eines Feldes zeigt an, welcher Wertebereich innerhalb der Suchanfrage vorkommt und wie oft ein Wert vertreten ist. Eine Facette ist also eine Untermenge der eigentlichen Query.</p>
<p dir="ltr">Solr bildet keine Relationen zwischen Elementen ab. Deshalb haben wir uns für eine Hybrid-Lösung entschieden: Der Suchserver indexiert Artikeltexte und konstante IDs der zugehörigen Metadaten-Objekte. Die Metadaten-Objekte selbst werden in einer relationalen Datenbank unter der entsprechenden ID als Schlüssel gespeichert. Dies ist zum Beispiel die Kategorie und lexikalische Schreibweise eines Schlagworts. Durch diese Trennung können globale Änderungen an Metadaten durchgeführt werden, ohne dass alle betroffenen Artikel neu indexiert werden müssen.</p>
<p dir="ltr">Ein HTTP-Request an die API wird von einer Middleware auf Basis des <a href="http://flask.pocoo.org/">Web Frameworks Flask</a> beantwortet. Die Parameter und deren Werte werden auf Gültigkeit überprüft und der angegebene API-Key verifiziert. War die Anfrage valide, muss sie zunächst für den Solr übersetzt werden, da dessen <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">REST</a>-Interface leicht von dem unserer API abweicht.</p>
<p dir="ltr">Die Maskierung und Reduktion der umfangreichen Möglichkeiten von Solr soll die Bedienung der API vereinfachen und ist dem Datenschema angepasst. Als Ausgabeformat setzen wir auf JSON. Es ist schemafrei, wird von den meisten Sprachen und Plattformen unterstützt und ist auch in Rohform noch gut lesbar.</p>
<h3 dir="ltr"><strong>Happy Developing</strong></h3>
<p dir="ltr">Wir freuen uns über jeden Fork,  jeden Pull-Request und auf einen regen Austausch. Unser Code unterliegt der <a href="http://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29">BSD-Lizenz</a>, da diese Entwicklern alle Freiheiten gibt, Code zu verändern und zu redistribuieren. Über einen kurzen Hinweis, wo und wie unser API-Code zum Einsatz kommt, würden wir uns freuen.</p>
<p dir="ltr">Wir werden unsere API selbstverständlich weiter verbessern. Auch Bugreports und Featurerequests sind weiterhin willkommen.</p>
<p dir="ltr"><strong>Links zum Thema</strong></p>
<ul>
<li> <a href="http://github.com/ZeitOnline/content-api">Content-API auf Github</a></li>
<li><a href="http://lucene.apache.org/solr/index.html">Apache Solr</a></li>
<li><a href="http://flask.pocoo.org/">Flask Web Framework</a></li>
<li><a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">Representational State Transfer</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.zeit.de/dev/zon-api-ist-quelloffen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>zeitRemix &#8211; Facettierung durch Schlagworte</title>
		<link>http://blog.zeit.de/dev/zeitremix-facettierung-durch-schlagworte/</link>
		<comments>http://blog.zeit.de/dev/zeitremix-facettierung-durch-schlagworte/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 11:10:44 +0000</pubDate>
		<dc:creator>Thomas Jöchler</dc:creator>
		<category>Dev-Blog</category>
		<category><![CDATA[Anwendung]]></category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://blog.zeit.de/dev/?p=235</guid>
		<description><![CDATA[Auf Basis der ZEIT ONLINE Api hat Ron Drongowski die Anwendung zeitRemix erstellt. Die Anwendung erschließt den umfangreichen Textbestand über eine Facettierung der Schlagworte. Dabei können die Schlagworte der Artikel kombiniert werden, um die Anzahl der zutreffenden Artikel einzugrenzen. Über den abgefragten Zeitraum ist eine zweite Eingrenzungsebene gegeben. Facts: Typ: Webbasierte Anwendung Name: zeitRemix -Facetten-Explorer [...]]]></description>
				<content:encoded><![CDATA[<p>Auf Basis der ZEIT ONLINE Api hat <a href="https://twitter.com/rondrongowski/">Ron Drongowski</a> die Anwendung <a href="http://zeitremix.appspot.com/">zeitRemix</a> erstellt.<br />
Die Anwendung erschließt den umfangreichen Textbestand über eine Facettierung der Schlagworte. Dabei können die Schlagworte der Artikel kombiniert werden, um die Anzahl der zutreffenden Artikel einzugrenzen. Über den abgefragten Zeitraum ist eine zweite Eingrenzungsebene gegeben.</p>
<p><img class="aligncenter size-medium wp-image-241" alt="Screenshot der zeitremix Anwendung mit den Schlagworten: Europäische Union Erderwärmung Klimawandel China" src="http://blog.zeit.de/dev/files/2013/01/Bildschirmfoto-2013-01-11-um-11.33.24-441x540.png" width="441" height="540" /></p>
<p><strong>Facts:</strong>
<ul>
<li>Typ: Webbasierte Anwendung</li>
<li>Name: <a href="http://zeitremix.appspot.com/">zeitRemix -Facetten-Explorer von ZEIT ONLINE und DIE ZEIT</a></li>
<li>Autor: <a href="https://twitter.com/rondrongowski/">Ron Drongowski</a></li>
<li>Verwendet: <a href="http://developer.zeit.de/">ZEIT ONLINE Api</a>, <a href="https://developers.google.com/appengine/">Google App-Engine</a>, <a href="http://jquery.org/">jQuery</a></li>
</ul>
<p><small>Disclaimer: Ron Drongowski leitet das Technik-Backend Team von ZEIT ONLINE.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zeit.de/dev/zeitremix-facettierung-durch-schlagworte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Monat ZEIT ONLINE API &#8211; Zahlen und Fakten</title>
		<link>http://blog.zeit.de/dev/ein-monat-zeit-online-api-zahlen-und-fakten/</link>
		<comments>http://blog.zeit.de/dev/ein-monat-zeit-online-api-zahlen-und-fakten/#comments</comments>
		<pubDate>Fri, 21 Dec 2012 12:24:48 +0000</pubDate>
		<dc:creator>Thomas Jöchler</dc:creator>
		<category>Dev-Blog</category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://blog.zeit.de/dev/?p=215</guid>
		<description><![CDATA[Visualisierung der Häufigkeit des Begriffs &#8220;Weihnachten&#8221; in der App von Christian Siewert Seit einem knappen Monat ist die ZEIT ONLINE API als Beta-Version online. Wir haben das ausführliche Feedback aufgenommen und das API-Portal leicht überarbeitet. Die Dokumentation wurde erweitert und präzisiert  (Search Query Syntax, Range Queries, Facetten, …). Auf Github findet sich ab sofort das [...]]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-medium wp-image-217" title="Bildschirmfoto 2012-12-20 um 14.50.55" src="http://blog.zeit.de/dev/files/2012/12/Bildschirmfoto-2012-12-20-um-14.50.55-540x323.png" alt="" width="540" height="323" /><br />
<span style="font-size: 80%; line-height: 10px !important;">Visualisierung der Häufigkeit des Begriffs &#8220;Weihnachten&#8221; in der <a href="http://impactdevelopment.de/labs/zeit-online-api-demo/">App von Christian Siewert</a></span></p>
<p>Seit einem knappen Monat ist die <a href="http://developer.zeit.de/">ZEIT ONLINE API</a> als Beta-Version online. Wir haben das ausführliche Feedback aufgenommen und das API-Portal leicht überarbeitet. Die Dokumentation wurde erweitert und präzisiert  (Search Query Syntax, Range Queries, Facetten, …). Auf Github findet sich ab sofort das vollständige <a href="https://github.com/ZeitOnline/content-api/blob/master/README.md">Changelog</a> ebenso wie das <a href="https://github.com/ZeitOnline/content-api/issues">Bugtracking</a> zur API.</p>
<p>Im ersten Monat sind bereits 23 <a href="http://blog.zeit.de/dev/tools-und-anwendungen-mit-der-zeit-online-api-im-ersten-rundblick/">Anwendungen auf Basis der API</a> entstanden &#8211; ein herzliches Dankeschön an alle Entwicklerinnen und Entwickler.</p>
<p>Seit dem Start der API wurden 815 Accounts angelegt. Auf api.zeit.de wurden bisher 552.498 Requests abgesetzt, das sind mehr als 20.000 Requests pro Tag.</p>
<p>Über allgemeine Anfragen zur API, insbesondere in Bezug auf die Nutzungsbedingungen, freut sich das Team unter <a href="mailto:api@zeit.de">api@zeit.de</a> oder auf Twitter (<a href="http://twitter.com/zeitonline_dev">@zeitonline_dev</a> und #zonapi).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.zeit.de/dev/ein-monat-zeit-online-api-zahlen-und-fakten/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
