Die tägliche Ration Wahnsinn
Das offene Ohr Mein Icon
spacer
That's me, folks
spacer spacer

Permanent link to archive for 01/10/13. Samstag, 13. Oktober 2001

Was ist RSS?

[Note 1]: Dieser Text versucht, zwei Fliegen mit einer Klappe zu schlagen. Einerseits soll er auch technisch nicht so versierten erklären, was RSS ist, zum anderen aber auch Programmierern ermöglichen, in eigenen Projekten RSS zu integrieren. Diese technischen Teile sind eingerückt zwischen zwei horizontalen Linien eingeschlossen und mit dem Truthahn markiert. Sie können, ohne daß das Verständnis des Resttextes leidet, übersprungen werden.

Einführung in XML Titelseite [Note 2]: In diesem Text kommt sehr häufig der Begriff XML vor. Ich werde hier nicht erklären, was XML ist. Für den Anfang reicht es, zu wissen, daß XML eine Textmarkierungssprache ist, die ähnlich wie HTML aussieht, aber nur die Struktur und nicht das Layout eines Dokumentes beschreibt. XML ist keine Programmiersprache, sondern eine Auszeichnungssprache, mit der XML-Anwendungen, wie z.B. XHTML oder eben RSS definiert werden können. Wer näher in XML einsteigen will, dem empfehle ich das Buch Einführung in XML, über das am Montag hier im Schockwellenreiter eine Rezension erscheinen wird.

Push versus Pull

Ein Besucher, der auf normalen Wege das Web abklappert, tippt URL für URL in seinem Browser oder läßt sich von Link zu Link, den er anklickt, auf seinen Reisen durch die Weite des WWW leiten. In anderen Worten, der Besucher holt sich aktiv (to pull) Daten und Content in seinen Rechner. Wenn dies auch (fast) immer funktioniert, ist dies nicht immer der beste Weg. Ein Weblogautor z.B. besucht immer wieder andere Weblogs, muß sich deren URL merken oder in seiner immer umfangreicher werdenden Bookmarksammlung verwalten, merkt bei seinen Besuchen, daß es auf dem Weblog noch nichts Neues gibt oder - bei selteneren Visiten, daß er wichtige Meldungen »verschlafen« hat. So entstehen diese täglich, öfter und gelegentlich Linklisten in den Weblogs, die dem Betreiber helfen sollen, die Übersicht nicht zu verlieren.

Sicher, es gibt Hilfsmittel, wie z.B. die Update-Seiten von Weblogs.com, die ein wenig helfen. Aber gerade der eben vollzogenen Cornerturn von Weblogs.com zeigt, daß dies bei steigender Weblogzahl nicht das richtige Mittel ist, dem Chaos Herr zu werden. Es hatten sich so viele Weblogs registrieren lassen, daß oft das Scannen, ob ein Weblog geändert wurde, länger als eine Stunde dauerte und so die stündlichen Update-Listen schon bei ihrer Erstellung nicht mehr aktuell waren. Außerdem litt Weblogs.com an chronischer Überlastung, so daß die Update-Seite sehr langsam lud oder manchmal bis oft sogar überhaupt nicht zu erreichen war.


Tech Notes

Der Cornerturn von Weblogs.com hat nichts mit RSS zu tun. Hier werden vielmehr die Weblogbetreiber - besser die Programmierer der Weblog-Software - aufgefordert, einen Mechanismus in ihre Software zu integrieren, der das neue Weblog.com an»pingt«, wenn das Weblog ein Update erfahren hat. Dieses Ping erfolgt via XML-RPC oder SOAP.


Ein anderer Weg, der - natürlich mit unterschiedlichen Techniken und Formaten, wie sollte es anders sein - schon vor einigen Jahren von Netscape und Microsoft beschritten wurde, ist der, daß der Anbieter selber informiert, wenn sich seine Seite geändert hat. Er stellt eine Datei ins Netz, die der Webbenutzer via http (dem Standardprotokoll der Browser) abrufen kann und die ihn informiert, ob sich die Seiten geändert haben. Als Format dafür bot sich XML an. Spezielle Webserver (Aggregatoren) sammeln diese Informationen und stellen sie dem Benutzer (konfigurierbar, d.h. aus den gesammelten Informationen stellt sich der Surfer seine Auswahl zusammen) zur Verfügung. Aus historischen und marketing-technischen Gründen fangen diese Server meist mit my an, wie z.B. myNetscape.com oder myUserLand.com. Der Benutzer bekommt die Daten gewissermaßen geliefert (to push) und muß nicht mehr selber nach den aktuellen Seiten suchen. Die einzelnen Seiten, die auf den Aggregatoren zusammengefaßt werden, nennt man channel. Und eigentlich sollten diese Channel nur die Überschriften der Nachrichten und eventuell eine kurze Zusammenfassung (Summary) und den Link auf die Original-Seite enthalten, nicht jedoch die Nachricht selber. (Der User soll schließlich - nachdem er sich überzeugt hat, daß die Information ihn interessieren könnte, auf die eigenen Seiten gelockt werden.)

RSS

Damit nun die Aggregatoren die Dateien überhaupt lesen konnten, mußte man sich auf ein gemeinsames Format einigen - und dieses Format ist RSS (Rich Site Summary).


Tech Notes

Wie sieht so ein RSS-File aus? Zur Zeit sind meines Wissens fünf verschiendene Formate im Einsatz, die sich alle geringfügig unterscheiden (aber nicht so weit, daß sie in der Regel nicht von den Aggregatoren gelesen werden können). Das älteste Format dieser Art ist wohl das 1997 von Dave Winer entwickelte ScriptingNews2XML-Format für sein eigenes Log, das heute noch - wen wundert's - Smile von allen UserLand-Aggregatoren gelesen werden kann.

1999 öffnete myNetscape.com mit dem Format RSS 0.91 (eigentlich RSS 0.9, das wurde aber schon bald von RSS 0.91 abgelöst). Dieses Format ist bis heute das gebräuchliste RSS-Format und wurde im April 2000 auch von UserLand in seine Produkte integriert.

Im Dezember 2000 führte Userland das RSS 0.92-Format ein, das aufwärtskompatibel zu RSS 0.91 ist und in der Hauptsache Erweiterungen erfahren hat, die Userland für sein Produkt Radio UserLand glaubte zu gebrauchen.

Und zur Zeit wird bei UserLand an weiteren Erweiterungen für RSS 0.93 gearbeitet.

Daneben arbeitet eine Gruppe an einem RDF-kompatibeln RSS 1.0 und nennt dies auch konsequenterweise nicht mehr Rich Site Summary, sondern RDF Site Summary.

Die größte Verbreitung hat RSS 0.91 und der Entwickler tut gut daran, diesen Standard zu implementieren, Nur wer genau weiß, was er will und tut und die zusätzlichen Features z.B. von RSS 0.92 (mehr als 15 Items und Descriptions (sprich Summaries, die länger als 500 Zeichen sind) benötigt, sollte dies implementieren.


Was steht denn nun in so einer RSS-Datei?

Die Beschreibung des RSS 0.91 Standards ist realitv schwierig, denn da Netscape seinen Validator eingestellt hat, wird in der Regel schon die DOCTYPE-Deklaration weggelassen und auch die Definition der anderen Elemente mehr oder weniger streng gehandhabt. Ich gebe daher auch nur einen groben Überblick und beschreibe eine RSS 0.91-Datei so, wie sie in der Regel von den meisten Aggregatoren gelesen werden kann.

Die notwendigen (required) Elemente eines Channels sind:

title
Das ist der Name des Channels. Bei einem Weblog ist das in der Regel der Name des Weblogs, oft noch gefolgt von einem »News«. Prinzipiell ist der Titel aber frei wählbar und darf nur nicht länger als 100 Buchstaben sein.
link
Die URL zur Website, maximale Länge: 500 Buchstaben (für die längste URL der Welt).
description
Hier kann man sich auf ebenfalls 500 Buchstaben Länge austoben und sein Weblog beschreiben.
language
Die Sprache, in der der Channel geschrieben wurde. Dies erlaubt es Aggregatoren, z.B. Channels nach Sprache zu sortieren. Eine Liste der erlaubten Werte gibt es hier. Das language-Element ist optional in RSS 0.92 und Radio UserLand läßt es auch prompt weg, was dazu fürht, daß man ein Radio-Weblog nicht bei myUserland registrieren lassen kann...
image
Ein Bild. Die meisten Aggregatoren betrachten dieses Element mittlerweile als optional. Sicherheitshalber sollte man es aber doch mitgeben. Das Image-Element des Schockwellenreiters ist sein Zeldman Icon, die Marilyn. Ein image-Element besteht aus folgenden Sub-Elementen:
title (required)
Der Titel beschreibt das Bild und wird für den alt-Tag verwendet.
url (required)
Die URL zu dem Bild
link (required)
Ein Link - in der Regel der Link zum Weblog.
width, height (optional)
Die Größe des Bildes, wenn nicht angegeben werden die Default-Werte von 88 x 31 angenommen, die maximale Größe eines Bildes ist 144 x 400.
description (optional)
Die Beschreibung kann für das title-Attribut des img-Tags verwendet werden.
item
Ein RSS 0.91-File kann bis zu 15 items enthalten. Aber auch hier sehen daß die Aggregatoren oft nicht so genau. RSS 0.92 hat daher diese Begrenzung konsequenterweise aufgegeben. Ein item-Tag enthält folgende Elemente:
title
Das ist der Titel der Story (der Weblog-Meldung). Die maximale Länge beträgt 500 Buchstaben.
link
Das ist der Link, der zu der Story gehört. Hier wird bei den Weblogs (auch beim Schockwellenreiter am häufigsten gesündigt. Der Schockwellenreiter hat oft Items mit mehr als einem Link (eine hohe Linkdichte ),Smile andere Weblogs oft gar keinen Link für ein Item. Wenn es anders nicht geht, kann hier die URL des Weblogs eingetragen werden, das ist besser, als gar keinen Link anzugeben und gegen die Definition zu verstoßen.
description
Und wieder die eigentliche Story, wieder begrenzt auf eine Länge von maximal 500 Buchstaben.

Es gibt noch eine Reihe von weiteren optionalen Attributen wie Copyright, Author etc. Wer das genau wissen will, kann sich hier informieren.


Tech Notes

[RSS und Umlaute]: Umlaute und Sonderzeichen sollten in XML keine Probleme bereiten, sie müssen dort, im Gegensatz zu HTML, nicht maskiert werden. Allerdings ist es notwendig, für die XML-Datei eine entsprechende Kodierung festzulegen, die den verwendeten Zeichensatz beschreibt. Für Westeuropa ist das ISO 8859-6. Der Kopf der XML-Datei sollte daher so beginnen:

<?xml version="1.0" encoding="ISO-8859-6"?>

Ganz Mutige können es ja schon einmal mit UTF-8 versuchen, das geht aber in der Regel daneben. Fast alle Betriebssystem-Hersteller haben zwar vollmundig die Unterstützung von UTF-8 versprochen, nur an der Impelmentierung hapert es noch gewaltig.

Dennoch gibt es einige wenige Zeichen, die auch in XML maskiert werden müssen, da sie dort eine besondere Bedeutung haben. Das sind die spitzen Klammern < >, das kaufmännische Und-Zeichen & und das Anfürhungszeichen ". Diese müssen mit &lt;, &gt;, &amp; und &quote; kodiert werden.


MUOTD

Wer sich nun der RSS-Channels bedienen wollte, war immer auf einem der Aggregatoren im Netz angewiesen und mußte zum Lesen der Nachrichten auch weiterhin online sein. Radio UserLand besitzt nun ein sehr wertvolles Feature, wegen dem sich alleine der Download lohnt: My UserLand On The Desktop (MUOTD) (Screenshot). Das ist ein Aggregator, der auf dem Rechner zuhause läuft, auf Wunsch des Benutzers stündlich oder auch nur auf Nachfrage die abonnierten Channels abfragt und auf den Rechner des Benutzers runterlädt. Danach kann der Benutzer wieder offline gehen und in Ruhe die Nachrichten lesen und verarbeiten. Das erspart einem nicht unbeträchtliche Online-Kosten. Zusammen mit dem <Weblog-Tool von Radio UserLand (das ebenfalls offline betrieben werden kann), kann man daher aus den abonnierten Channels in Ruhe sein Weblog zusammenstellen und erst nach der Fertigstellung wieder online gehen und das Weblog auf den Server runterladen. So entstehen große Teile des Schockwellenreiters und daher drängele ich auch immer, daß es RSS-Files von Euren Weblogs gibt.

Und wer erfolgreich ein RSS-Feed installiert hat, zeigt das stolz mit diesem Icon an, daß auf das RSS-File verlinkt: RSS Icon

Links zu RSS habe ich hier gesammelt.

Clown   Danke für die Aufmerksamkeit.

Dieser Artikel hat eine permanente URL und kann dort diskutiert werden. Änderungen und Ergänzungen erfolgen nur dort.

11:29:25 PM | Forum

Ein schöner Herbsttag ist ein guter Tag...

Drachensteigen

[Photo: Gabi]

...um für den Frieden auf die Straße zu gehen. Gabi, der immer noch etwas humpelnde und bestrumpfte Zebu und der Schockwellenreiter gehen daher gleich demonstrieren. Vielleicht trifft man sich ja dort...

Das nächste Update wird es so vermutlich nicht vor heute abend geben.

Give Peace A Chance Give Peace a Chance.

9:39:22 AM | Forum

[Apache Super Script v. 10.1]. »Auf der Suche nach dem geeigneten PHP Package für MacOS 10.1 stiess ich auf dieses Shellscript hier, welches eine komplettes Apache/MySQL/PHP-System unter MacOS X installiert. Es lädt alle Komponenten herunter, entpackt, kompiliert und installiert sie. Laut Dokumentation werden bereits installierte Versionen von benötigten Paketen verwendet. Das Script hat sogar Verbindungsprobleme zu einem Server erkannt und ein benötigtes Paket von einem Mirror heruntergeladen. Saubere Arbeit!« [WebDEV]

9:31:19 AM | Forum

[RSS für Sunlog] »ist jetzt in den Grundzügen fertig und wie immer probiere ich das zuerst an meinem Weblog selber aus. Ich bitte um Überprüfung, ob das Format korrekt ist. Wenn ja, dann werde ich ein GUI dazu schreiben und alles ins Sunlog implementieren.Über einen automatischen Ping an weblogs.com mache ich mir auch schon gedanken, allerdings etwas schwieriger zu lösen.« Hey, Andreas, wie Du siehst, funktioniert das prima. Diesen und den letzten Eintrag habe ich per RSS-Feed meines Radio UserLand in den Schockwellenreiter übernommen. Gratulation! [Sunlog]

Very Cool   It's cool, man!

9:29:36 AM | Forum

Artikel in der InfoWeek: Mit XHTML ins 21.Jahrhundert. [Sunlog]

9:24:37 AM | Forum

Wo ist der Artikel Buena Vista Social Club im Pott hin verschwunden? Mein RSS-Feed sagt, daß er einmal existiert hat, die Linkleiste der geschätzen Bloggerkollegen zeigt ihn, aber die Seite selber zeigt ihn nicht. Was ist los...? [Industrial Technology & Witchcraft]

9:19:24 AM | Forum

I'm Confused, too und frage mich, ob Nina mit ihrem Zweitblog einen neuen Trend eingeläutet hat. Jedenfalls - allerschärfstes Willkommen für arrogantville. [Nothing But The Truth]

9:15:23 AM | Forum

[Rumi: No. 1 in Afghanistan and the USA]. Translator Coleman Barks discusses the bestselling poet who's loved equally among Yanks and Afghans. [Salon.com]

KriT Aktion: Spenden für Afghanistan

9:08:49 AM | Forum

The Fink project ("Unix software for your Mac") has ported several languages to OS X, including Python and Ruby. [mac.scripting.com]

9:05:18 AM | Forum

ScriptGUI runs shell scripts from the Finder. "Long-time UNIX users like me have been frustrated by the fact that there's no simple way to make a double-clickable shell script." [mac.scripting.com]

9:03:29 AM | Forum

Late Night Softwares JavaScript OSA 1.0.1 gibt es jetzt nicht nur für Mac OS Classic sondern auch für OS X. Wie ich hier schon einmal geschrieben habe, ist das ein cooles Teil, das es erlaubt, neben AppleScript auch JavaScript als Scriptsprache auf dem Mac einzusetzen. [mac.scripting.com]

JavaScript Icon

9:00:16 AM | Forum

Apple: Perl on OS X. "Scripting enthusiasts were thrilled to learn that Mac OS X ships with Perl 5.6 as part of the default install... it's not hard at all to get rolling with Mac OS X as a Perl-powered Web server." [mac.scripting.com]

8:54:57 AM | Forum

Simon Kittle's Text::Outline Perl module renders OPML outlines, supporting nearly all the same rules that Radio and Manila support. [Frontier News]

Perl Icon   There's more than one way to do it.

8:51:13 AM | Forum

[Beginning JavaScript: Part 4]. Chapter 6 of Beginning JavaScript covers using information in the Web browser and takes a look at HTML forms and how we interact with them in JavaScript. This weeks installment covers creating the form. [Web Developer's Virtual Library]

8:43:18 AM | Forum

Zope Book Cover Free Sample Chapter of new Zope Book. (Download) [Zope.org]

8:39:10 AM | Forum

Und da Martin immer noch keinen RSS-Feed hat, Smile habe ich erst jetzt entdeckt, daß er wieder eine Geschichte online gestellt hat: Der Fang. Also werde ich mir gleich eine Flasche Rotwein besorgen und heute abend zusammen mit dieser die Geschichte goutieren.

8:30:13 AM | Forum

Und hier ein Link für Martin: Ruby XML parser. Sean Russell has created REXML, an XML parsing library for the Ruby scripting language. [xmlhack]

8:26:50 AM | Forum

Für die Klammerfreaks unter Euch: Updated Common Lisp XML tools. James Anderson has announced an updated of his cl-xml XML processing toolkit for Common Lisp. [xmlhack]

XML Icon

8:23:35 AM | Forum

spacer spacer spacer spacer

Interne Links:
 Startseite
 Über mich
 Über Gabi
 Credits
 Sitemap
 Archiv
 Linksammlung
 Gabi gucken
 Gabis lustiger Falthund
 Pythonmania
 Behind the Frontier
 Perl(en)
 JavaScript
 Programmiersprachen
 Mathematik
 VLP-Texte
 Ich habe gelesen
 Alles Kino
 Ausflüge & Reisen
 Bugastadt 2001
 Temporäre Gärten 2001
 Vermischtes
 Tom Tit
 Theater & Kabarett
 Icons
 Bild hochladen
 Wer linkt mich?

Click here to see the XML version of this weblog.

Andere & Awards
 Krit-Apfel 8/2000
 Wohin heute
 Netzwissenschaft
 Dr. Web
 Webobserver
 cognitive Architects
 nordwest net
 Die Welt
 voices
 Die Zeit
 Berliner Zeitung

Unser Netzimperium
 Kantel-Chaos-Team
 Gabi
 Jörgs Zope-Site
 Tribute to John Brunner
 Der Rollberg
 Der kleine Rollberg
 Der alte SWR


Letzte Änderung: 22.11.2001; 13:57:30 Uhr | © Copyright: 2001 by Kantel-Chaos-Team | Kontakt: der@schockwellenreiter.de

This site is edited with Radio UserLand, the first personal Web Application server for Windows and Macintosh.  This site is made with a Apple Macintosh Computer and I'm proud about that.  This site was build with BBEdit. It don't sucks!  This site is HTML 4.01 compatible.  This site is made with Cascading Style Sheets.  Let iCab smile  Site Meter