Hallo Frank,
ich habe einen RSS-Newsfeed gebastelt und frage mich jetzt, wie man so eine Art Favicon im Newsreader anzeigen lassen kann. Bisher hab ich nur rausgefunden, dass dafür nicht das Tag rss->channel->image->url zuständig ist
Im den verschiedenen Spezifikation der diversen RSS-Dialekte gibt es keine Methode, Favicons zu spezifizieren. Sprich: Es ist dem Autoren des RSS Readers überlassen, zu programmieren, wie genau das funktioniert ist, wenn er überhaupt Lust hat, das zu machen. Es ist optional, nicht mal ansatzweise verpflichtend.
Es dürfte verschiedene Ansätze zu kriegen, das Favicon eines Feeds rauszukriegen, wahrscheinlich auch kaskadierende Kombinationen davon:
• Die klassische Variante des Internet Explorers: Unter dem Root des Webservers nachgucken, ob dort eine Ressource namens „favicon.ico“ existiert: http://example.org/favicon.ico
• In dem „Verzeichnis“ des Feeds nachgucken, ob dort ein „favicon.ico“ existiert: Wenn http://example.org/segment/feed.rss existiert, dann unter http://example.org/segment/favicon.ico suchen.
• Die Webseite, von der man den Feed abonniert hat danach durchgucken, ob dort in Mozilla-Variante ein Favicon verlinkt ist. Sprich: Wenn http://example.org/seite.html existiert, in der für Auto-Discovery ein <link rel="alternate" type="application/rss+xml" title=”Feed” href=”http://example.org/feed.rss”>
steckt oder einfach der Feed mittels eines normalen Links verlinkt ist und diese Seite vom Browser/Aggregator zum Abonnieren des Feeds genutzt wurde, dann gucke in http://example.org/seite.html auch bitte nach <link rel="shortcut icon" href="http://example.org/icon.png">
.
• Die Webseite, die innerhalb des RSS Feeds im Element /rss/channel/link
zu finden ist, danach zu durchsuchen, ob diese ein mittels der Mozilla-Methode (siehe oben) verlinktes Favicon hat.
Und ich kann mir noch mehr oder weniger komplizierte Methoden ausdenken, halte die obigen aber für die wahrscheinlichsten, die erste, die IE-Methode dürfte die gebräuchlichste sein, NetNewsWire verhält sich z.B. so. Wobei – wie schon angedeutet – das sicherlich von Feedreader zu Feedreader unterschiedlich ist. Da Du eh schon ein Favicon hast, solltest du am geschicktesten alle Varianten zum Einbinden eines Favicons nutzen, nur um auf der sicheren Seite zu sein.
Oder Du nutzt das andere Format für Feed, nämlich Atom 1.0.
Atom hat nämlich ein Element für ein Icon, atom:icon, nicht zu verwechseln mit atom:logo; letzteres ist nämlich die Atom-Variante von /rss/channel/image
. atom:icon ist genau für den Einsatz von Favicons vorgesehen, kleine Größe, Seitenverhältnis 1:1. Und ich denke, so ziemlich jeder Programmierer eines Feedreaders mit Favicon-Unterstützung wird bei der Implementierung von Atom 1.0 darüber stolpern und genau diesen Mechanismus nutzen. Im Atom Feed sähe das dann so aus:
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Atom Feed</title>
<link href="http://example.org/"/>
<updated>2006-10-13T17:40:00+02:00</updated>
<author>
<name>Tim Tepaße</name>
</author>
<id>tag:tepasse.org,2006-10-13:beispielfeed</id>
<icon>http://example.org/krempel/favicon.png</icon>
<entry>
<title>Atom ist viel besser als RSS</title>
<link href="http://example.org/feed/1"/>
<id>tag:tepasse.org,2006-10-13:beispielfeed</id>
<updated>2006-12-13T18:40:00+02:00</updated>
<summary>Sage ich zumindest.</summary>
</entry>
</feed>
Du siehst: So sehr von RSS unterscheidet sich Atom nicht. Unterstützung ist in den meisten modernen Feedreadern vorhanden. Atom existiert deswegen, weil RSS bei anspruchsvoller Nutzung und bei diversen Grenzfällen auch in normaler Nutzung diverse Fehler hat. Atom hat da die bessere Spezifikation; es wirkt dadurch etwas komplizierter als RSS, ist es aber letztendlich nicht. Ich persönlich würde nur noch Atom statt RSS einsetzen.
Tim