Blog



RSS Reloaded

Vor ein paar Tagen habe ich es bereits angesprochen, es gibt eine neue Möglichkeit den RSS-Feed zu managen. Mit dem Live-Test bin ich sehr zufrieden. Da ein Feed selbst bei einem kleinen Blog durchaus mehrere hundert mal pro Tag abgerufen wird, rentiert sich das schon. Doch nun eine kleine Hilfe zur Implementation.

Zunächst legt man eine Vorlage für Overview an. Diese nennt sich dann sinnvollerweise overview/rss.
Ein Beispiel:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
   <channel>
      <title>Blog Titel</title>
      <link>http://www.wollen.de</link>
      <description>Hier steht die Beschreibung vom Blog</description>
      <language>de-de</language>
      <pubDate>\Mon, 31 Mar 2008 11:00:00 +0100</pubDate>
      <lastBuildDate>{rfcnow}</lastBuildDate>
      <docs>http://www.leben-ohne-diaet.de</docs>
      <generator>eforia RSS Generator</generator>
      <managingEditor>hk@tdb.de</managingEditor>
      <webMaster>hk@tdb.de</webMaster>
{block}<item>
   <title><![CDATA[{title}]]></title>
   <description><![CDATA[{main}]]></description>
   <link><![CDATA[{link="url:full;type:static;"}]]></link>
   <pubDate>{rfcdate}</pubDate>
   <guid isPermaLink="true">{link="url:full;type:static;"}</guid>
</item>{/block}
   </channel>
</rss>


Dann wird noch eine Seite im ewm angelegt mit dem Namen RSS-Feed. Ich habe es direkt unterhalb des Blogs als letzten Eintrag angelegt. Die Seite ist aktiv, aber nicht im Menü. Wobei auch dagegen nichts sprechen würde. Die Seite selbst muss auf "Ohne Vorlage" gesetzt werden und sollte statisch erzeugt werden. Das ist schließlich der Sinn des Ganzen. Als Name wählt man z.B. "/blog/rss.xml". Das XML als Endung ist wichtig. Theoretisch könnte der Name sonst beliebig sein, jedoch habe ich festgestellt, dass manche Feedreader Bilder nicht mehr korrekt aufrufen, wenn die Datei im Hauptverzeichnis liegt. Daher die Empfehlung die Datei in einem Unterverzeichnis anzulegen, aber auch nicht in einem Unter-Unter-Verzeichnis. Wie oft aufgefrischt wird, ist eigentlich egal. Ein Wert wie 14400, also alle 10 Tage reicht völlig.




Um das Auffrischen sollte sich nämlich Blog-Update kümmern. Entsprechend tragen wir in blog-update.ini die Seite mit ein:

[refresh]
ping=1
pos_1=/
pos_2=/Blog
pos_3=/Blog/RSS-Feed
pos_4=/Blog/*2

So, damit fehlt eigentlich nur noch der Inhalt der Seite selbst:

{execmacro="overview" param="name=rss;source=/Blog;step=10;"}

Das war's dann.

Achja, eforia.de benutzt noch das bisherige rss.prg. Das muss ich noch umstellen... 8-)

Dieser Artikel wurde veröffentlicht am 31.03.2008 um 11:00 Uhr. Noch kein Kommentar.

Weg mit dem Feed

Natürlich soll der Feed nicht weg, aber rss.prg könnte es erwischen. Ich habe mir überlegt, ob ich nicht den Feed statisch anbieten sollte. Bei der Suche nach einer einfachen Lösung fiel mir auf, dass es eigentlich keine solche braucht. Alles Nötige ist längst in ewm vorhanden. Einfach eine Seite anlegen, dort direkt den XML-Code reinsetzen und mittels overview die letzten 10 Beiträge ausgeben.

Das funktioniert recht gut. Lediglich das Datumsformat im RFC-Stil hat gefehlt. Deswegen bringt das heutige Update die Tags {rfcdate} und {rfcnow} mit. Die Ausgabe sieht dann etwa so aus: Wed, 26 Mar 2008 17:48:00 +0100.

Overview kennt nun das zusätzliche Tag {newest_rfcdate}. Dort wird das Datum des neuesten von overview ausgegebenen Beitrags benutzt.

Tja, das reicht dann auch. Ich habe heute testweise in einem Blog den Feed auf diese Technik umgestellt. Nun warte ich mal ab, was so für Probleme auftreten. In Kürze kommt dann eine Anleitung zur benutzten Vorlage.

Der Vorteil ist natürlich die Erzeugung einer statischen XML-Datei. Diese kann dann vom Webserver richtig verwaltet werden. Also reine HEAD-Requests und Not-Modified-Antworten sparen schon Traffic und machen die Sache auch bei vielen Abonnenten sehr flott. Über das Modul Blog-Update wird die Feed-Datei dann auch immer richtig aufgefrischt so, dass ein manuelles Update eigentlich überhaupt nicht notwendig ist.

Mir gefällt die Lösung so gut, dass ich ernsthaft über den Wegfall des rss.prg nachdenke. Oder ist jemand anderer Meinung?

Dieser Artikel wurde veröffentlicht am 26.03.2008 um 17:48 Uhr. Noch kein Kommentar.

Blog-Parade zu RSS

Im Webmeister-Blog [Link entfernt, weil Linkziel leider nicht mehr verfügbar] gibt es eine Blog-Parade. Vorgestellt werden sollen man Anwendungsmöglichkeiten von RSS. Na das passt ja gut, benutzt eforia doch schon lange RSS zum jammern.

Zum jammern? Ja, so nenne ich das. Wie ein Mensch jammert, dass andere wissen, dass etwas mit ihm nicht stimmt, so jammert auch eforia. Ein CMS ist hochkomplex. Zahlreiche kleine Bausteine spielen ineinander und sorgen für einen reibungslosen Ablauf. Es gibt dabei ganz typische Probleme, die diesen Ablauf stören können. Dabei muss nicht sofort ein Fehler auftreten, manches wirkt sich erst viel später aus. Wenn aber eforia jammert, kann man das Problem bereits vorher lösen.

Deshalb gibt es den RSS-Systemcheck. Dieser prüft verschiedene Dinge im System und gibt das Ergebnis per RSS-Feed aus. Geprüft wird beispielsweise der freie Festplattenplatz. Unterschreitet er eine gewisse Grenze, wird gejammert. Oder wenn Mails im Postausgang liegen und für länger als eine Stunde nicht verschickt werden können. Das kann viele Ursachen haben. Der lokale Mailserver könnte ein Problem haben oder die Vorlage für die Mail enthält schlicht Fehler. Aber auch der Scheduler könnte nicht laufen, wobei das auch extra geprüft wird.

RSS ist perfekt für diese Art der Überwachung geeignet. Einmal den Feed eingerichtet gibt er lauter OK-Meldungen aus. Bei jeder weiteren Abfrage ändern sich diese nicht. Der Feed-Reader erkennt also keine Änderung und bleibt ruhig. Sobald aber ein Fehler auftritt, erhält der Reader einen neuen Eintrag. Als Anwender sehe ich den dann sofort.

Für mich ist das die perfekte Lösung um ein System am Laufen zu halten. Ein Softwaresystem, dass mit anderen interagiert kann nie komplett wartungsfrei sein. Und wenn es nur Lappalien sind, wie eine volle Festplatte.

Dieser Artikel wurde veröffentlicht am 19.12.2007 um 09:43 Uhr. Noch kein Kommentar.

Beta-Update: Neues Modul FeedPeek

Heute gab es wieder mal ein kleines Update für die ewm5-Beta. Der Viewer (o.prg) kann nun auch mit Angabe der Laufenden-Nummer der anzuzeigenden Seite aufgerufen werden. Also .../programm/o.prg?lfd=123.

Das ging zwar bisher auch im Format .../programm/o.prg?pos=lfd:123, aber der Doppelpunkt im Parameter ist eigentlich nicht ganz Standardgemäß.

Warum das Ganze?

Das Comment-Modul hat bisher per pos= verlinkt. Hat man aber einen neuen Blog-Beitrag eingefügt, änderte sich die Position der folgenden Einträge. Die statische Seite bekommt das nicht mit und das Formular läuft ins Leere. Genau das ist Cem Basman [Link entfernt, weil Linkziel leider nicht mehr verfügbar] passiert, der es freundlicherweise mir gemeldet hat.

FeedPeek

Die eigentliche Neuheit ist aber das kleine Modul feedpeek. Das zeigt Einträge aus dem RSSReader an. Damit kann man also beispielsweise Feeds von anderen Seiten abfragen und auf der Eigenen anzeigen. Ich mache das nun auf der Startseite von tdb.de. Wie das aussieht, kann man dem Screenshot (die Leiste die hier links kommt) entnehmen.

Sidebar auf tdb.deUm FeedPeek benutzen zu können, muss allerdings erstmal der RSS-Reader installiert werden. Dieser ist Teil von eforia-Base [Link entfernt, weil Linkziel leider nicht mehr verfügbar] und liegt dort im schedul-Verzeichnis. Er bringt die 2 Datenbanken rssf und rssfi mit und benötigt außerdem iconv im system-Verzeichnis.

Empfehlenswert sind 2 Einträge in schedul.ini, damit der RSSReader auch die Feeds aktuell hält aber nicht zu viele Einträge ansammelt. Das kann dann so aussehen:

program_7=rssreader.prg -refresh -doublecheck
dir_7=../schedul
next_start_7=08.08.2007 17:00
every_min_7=60

program_8=rssreader.prg -garbagecollection maxitem=20
dir_8=../schedul
next_start_8=09.08.2007 03:00
every_min_8=1440


Um neue Feeds aufzunehmen auf Kommandozeilenebene den Reader mit Option add starten. Beispiel:
../bin/tdbengine rssreader.prg -add http://www.eforia.de/custprg/rss.prg


So, damit sind die Feeds vorhanden, fehlt noch die Anzeige mit FeedPeek.

FeedPeek benötigt eine Vorlage. Wir nennen diese feedpeek/blog. Diese ist sehr simpel aufgebaut:
{block}
{date} {time} Uhr: <a href="{link}">{title}</a><br />
{/block}

Alles zwischen {block} und {/block} wird pro Eintrag ausgeführt. Die vier Platzhalter erklären sich von selbst.

Aufgerufen wird FeedPeek dann so:
{execmacro="feedpeek" param="template=blog;feed=http://www.eforia.de/custprg/rss.prg;count=3"}

template= bestimmt die Vorlage
feed= gibt den Feed an
count= gibt die Anzahl auszugebender Datensätze an.

So, ich weis, das die Erklärung ein wenig knapp ist. Ich gehe mal einfach davon aus, dass jemand der FeedPeek nutzen möchte, bereits weis was ein Feed ist. Sonst käme man ja vermutlich erst gar nicht auf die Idee Feeds nutzen zu wollen. 8-)

Falls Fragen auftauchen, auch zum RSSReader, stehen die Kommentare offen.

Dieser Artikel wurde veröffentlicht am 08.08.2007 um 16:45 Uhr. Noch kein Kommentar.
Zeige 1 - 4 von 4


Hier bloggt Horst Klier mit und über eforia web manager und was dazugehört (HTML, Javascript, Internet, Webdesign, Such- maschinenoptimierung, usw.).

>> Zur Blog Startseite

RSS-Feed
abonnieren


Übersicht über alle Beiträge



eforia® ist ein eingetragenes Markenzeichen.
Alle anderen Marken und Markenzeichen gehören Ihren jeweiligen Besitzern.
Letzte Aktualisierung dieser Seite: 08.12.2019 / 20:50:50
Suche  
Login / Userdaten
Impressum/Datenschutz