RSS-Feeds statt E-Mails per PHP

Vor ein paar Tagen habe ich hier von der kleinen Herausforderung geschrieben, Kommentierende innerhalb der kleinen Bücherdatenbank davon in Kenntnis zu setzen, wenn neue Kommentare hinzukämen. Üblicherweise wird das – wie beispielsweise bei den grossen Anbietern von Blogsoftware – per Mail bewerkstelligt. Das hat sich soweit auch bewährt, das Ganze weist aber eine Haken auf: Die Leser, die einen Kommentar hinterlassen wollen, werden oft gebeten oder teilweise sogar dazu genötigt, eine gültige E-Mail-Adresse zu hinterlassen.

Freilich, fast alle Internauten nutzen heute eine “Billig-Adresse” oder eine erweiterte Google-E-Mail-Adresse (Benutzername+Erweiterung@google.com), die sie bei solchen Diensten angeben. Trotzdem halte ich es für unschön, dass ich bei der kleinen und für einige Besucher wohl eher unwichtigen Bücher-Datenbank extra eine E-Mail-Adresse verlangen muss, nur damit sie kommentieren können. Ich selbst bin an den Adressen gar nicht interessiert, sie würden bloss für die Benachrichtigung bei neuen Kommentaren benutzt. Doch so, wie ich es bislang gelöst habe, ist es mir deutlich sympathischer. Ich muss keine persönlichen Daten verlangen.

Eine ganze Weile habe ich darüber nachgedacht und erinnerte mich erst viel später an eine Technik, welche ich tagtäglich nutze und die darüber hinaus sehr einfach zu implementieren ist, aber auch für die Leser sehr simpel benutzt werden kann: RSS.

Ich bin mir zwar nie ganz sicher, ob nun RSS definitiv stirbt oder ob es doch noch den Erfolg – was man auch immer darunter verstehen will – erreichen wird. Die ganze grosse Verbreitung hat diese Technik nie erreicht, aber bei den Benutzern, die RSS nutzen, dürfte es doch mehrheitlich geschätzt werden. Und so gehe ich davon aus, dass es das gute, alte RSS noch eine ganze Weile geben wird. Deswegen setzte ich unter PHP für die Kommentare RSS-Feeds ein, die ich bei dieser Gelegenheit auch gleich für die Hauptdatenbank erzeugt und per alternate in die Website eingepflegt habe, so dass die modernen Browser den Feed erkennen und anzeigen.

Damit habe ich das Ziel erreicht, auch wenn nicht alle Leser RSS kennen und vielleicht nutzen möchten. Es steht eine Alternative zur E-Mail-Benachrichtigung bereit, die es den Lesern ermöglicht, anonym oder mindestens ohne Angaben von persönlichen Daten zu kommentieren.

Mit PHP ist es recht einfach, einen validen RSS-Feed zu erzeugen. Wichtig ist dort, dass der Header richtig gesetzt wird und dass das Datum dem RFC 822-Papier entspricht.

<?php header("Content-Type: application/rss+xml");
echo('<?xml version="1.0" encoding="ISO-8859-1"?>');?><rss version="2.0">
  <channel>
    <title>Yodas Feed</title>
    <link>http://yoda.ch</link>
    <description>Die Macht ist stark bei den geistig Schwachen</description>
    <language>de-de</language>
    <pubDate><?php echo(date("r"));?></pubDate>

Dann folgt die Wiederholung der einzelnen Datensätze aus der Datenbank oder einer andern Quelle:

  <item>
    <title>Titel des Beitrages</title>
    <link>http://yoda.ch</link>
    <description><![CDATA[Hier folgt der Inhalt des Beitrages.]]></description>
    <pubDate><?php echo(date("r")); ?></pubDate>
  </item>

Falls das Datum innerhalb von Item aus einer Quelle gezupft wird, muss es in der Regel noch umgerechnet werden. Dies kann auch so erreicht werden:

<pubDate><?php echo date("D, d M Y H:i:s",strtotime(Datenbank-Tabelle['FeldName'])); ?> +0100</pubDate>

oder eben mit dem “r”. Zum Schluss muss der Channel und das RSS-Sheet wieder geschlossen werden:

</channel>
</rss>

Damit sind die wichtigsten Regeln für ein valider RSS-Feed erfüllt. Allenfalls, je nach Codierung, muss man noch etwas an den Umlauten und Sonderzeichen basteln, beziehungsweise diese ersetzen lassen.

Es gibt ja auch Dienste, die aus Webseiten RSS-Feeds basteln. Die wollte ich aber nicht nutzen. Es ist mir wohler, wenn ich das, was ich glaube, ich könnte es steuern oder beeinflussen, auch tatsächlich steuere oder mit beeinflusse. Mindestens im Glauben.

Ähnliche Artikel

Schlagwörter: , , , , ,

8 Kommentare to “RSS-Feeds statt E-Mails per PHP”

  1. MarkNo Gravatar schrieb:

    Finde ich gut. Ich mag meine E-Mail-Adresse auch nicht gerne angeben und denke mir dann einfach eine E-Mail-Adresse aus (überprüft wird es ja nicht).

    Es gibt ein Leben ohne RSS? Das kann ich mir gar nicht mehr vorstellen. Anders kann man den Überblick über die Webseiten, die man täglich sichtet, gar nicht behalten. RSS MUSS LEBEN!

  2. Dirk DeimekeNo Gravatar schrieb:

    Für mich wäre es undenkbar, dass RSS verschwindet.

    Allerdings möchte ich auch liebe die Kommentare per E-Mail abonnieren, da ich dann in der Regel auch nur bei Kommentaren zu Artikeln benachrichtigt werde, die ich auch kommentiert habe.

    Vielleicht interessieren mich gar nicht die Kommentare aller Artikel.

    Wenn es allerdings einen Kommentarfeed pro Artikel (Buch) gäbe, hätte ich in kurzer Zeit sehr viele Feeds, die meinen Feedreader aufblähen, in denen sich aber einige Wochen nach Erscheinen des Artikels gar nichts mehr tut.

    In Summe ist daher für mich die E-Mail-Benachrichtigung das sinnvollste Medium.

  3. Dirk DeimekeNo Gravatar schrieb:

    Nachtrag: Mein Feedreader zeigt leider die Kommentartexte nicht an.

    Guck mal bitte: http://www.rss-feed-web.de/fee...../feed.html

  4. Roman HanhartNo Gravatar schrieb:

    @Mark: RSS stirbt wohl nicht so schnell ;-)

    @Dirk: Der Feed ist valid: http://www.rss-feed-web.de/fee...../feed.html

    Allerdings bloss der RSS 2.0 und kein Atom-Feed. Ich baue dann den Tag guid noch ein, dann ist alles perfekt.

  5. Dirk DeimekeNo Gravatar schrieb:

    @Roman

    Ich versuche mal zu verstehen, was meinen Feedreader aus dem Tritt bringt …

  6. Roman HanhartNo Gravatar schrieb:

    @Dirk: Zu Deinem vorherigen Kommentar betreffend E-Mail vs. RSS: Das sehe ich genau so. Ich habe auch lieber ein Mail. Das bedingt aber, dass ich eine Adresse hinterlasse und das wollte ich eben nicht von den Lesern verlangen. Im Prinzip könnte ich auch beides anbieten: E-Mail-Benachrichtigung und Feed. Aber bei dieser kleinen Datenbank ist das schon ein bisschen überladen, finde ich. Sind ja gerade mal gut 40 Datensätze und etwa 20 Views im Tag.

  7. LysanderNo Gravatar schrieb:

    Hallo,

    ich würde Dir doch dringend raten eine RSS-Lib für PHP (oder wenigstens einen XML-Parser) zu nutzen, anstatt XML-Code per Hand zu generieren. Das wäre der ganz klar saubere Ansatz.

    So wie Du es im Moment machst, können sich durchaus Fehler einschleichen.

  8. Roman HanhartNo Gravatar schrieb:

    @Lysander: Da hast Du wohl Recht; das würde einiges vereinfachen, vor allem würde es eine allfällige Fehlersuche vermeiden ;-)

Hinterlasse einen Kommentar

blogoscoop Blogverzeichnis - Blog Verzeichnis bloggerei.de