RSS-Combiner
Um mehrere RSS–Feeds zu mixen (d.h. die Beiträge nach zeitlicher Ordnung zu sortieren) und das Ergebnis dann als neuen Stream auszugeben, gibt es mehrere Möglichkeiten 123. Einerseits existieren zahlreiche Webservices, die diese Aufgabe übernehmen und auch recht praktikabel sind (xfruits.com z.B.), andererseits aber zu wenig Einflußnahme auf das Ergebnis ermöglichen. Ein weiterer Nachteil: man begibt sich in die Abhängigkeit von fremden Diensten und Servern. Nichts dramatisches, aber auch nicht gerade das Optimum.
Eine weitere Möglichkeit stellen PHP–Scripte dar, die auf dem eigenen Webspace installiert werden und dann die Aufgabe des Aggregators übernehmen. Ein solches Script ist z.B. reBlog, das kürzlich auch bei pixelgraphix vorgestellt wurde. Leider brachte ich das Programm nicht zur vollen Funktionstüchtigkeit, da es sich bei verschiedenen Aktionen mit Fehlermeldungen verabschiedete, die ich nicht zweifelsfrei zuordnen und lösen konnte. Grundsätzlich machte ReBlog einen gefälligen Eindruck, die Größe des Paketes von 2.9 MB erschien mir jedoch wie eine Kanone mit der ich auf RSS–Mix-Spatzen schießen soll. Weitere Scripte in diesem Bereich sind dünn bis gar nicht gesät.
Was macht man in solchen Fällen? Richtig. Also hab ich ein kleines Script geschrieben, daß leicht zu installieren und zu nutzen sein soll:
RSS–Combiner
Version: 0.9.1
Date: 2007-01-13
Download: rss-combiner-0.9.1.zip (36 kB)
Installation
Die Installation des RSS–Combiners ist denkbar einfach. Das Download-Paket wird mit einer handelsüblichen ZIP–Software entpackt und der Inhalt, sprich: das Verzeichnis RSS–Combiner, an die gewünschte Stelle auf den Webspace geladen. Dann müssen lediglich noch die Benutzerrechte dieses Ordners im FTP–Programm auf 0777 gesetzt werden. Das wars. Jetzt kann das Script mittels /path/rss-combiner/index.php aufgerufen werden.
Direkt nach dem ersten Aufruf ist noch kein Input vorhanden. Über »Add Input Feed« läßt sich das schnell ändern.
Anwendung
Nach dem Aufruf des Scripts unterteilt sich die Webseite in folgende Bereiche:
Combined Feed: Hier besteht die Möglichkeit, den gemixten Feed auszuwählen und abzurufen. Als Formate stehen grundsätzlich RSS 2.0 und ATOM 1.0 zur Verfügung, letzteres wird aber erst in einer späteren Version verfügbar sein.
Options: Hier können Titel und Beschreibung des neu kombinierten Feeds bestimmt werden. In Kürze wird hier auch einstellbar sein, wie viele Einträge der eingehenden Feeds berücksichtigt werden (momentan: 5) und wie viele Einträge der gemixte Feed ausgeben soll (momentan: 10). Mit einem Klick auf Save werden etwaige Änderungen gesichert.
Input Feeds: Unter diesem Punkt werden listenartig die Feeds angezeigt, die dann zum neuen Feed aggregiert werden. Jedes Element ist mit einer Checkbox versehen. markiert man diese und klickt dann auf Remove Selected, wird der betreffende Feed aus der Liste entfernt. Es können hierbei mehrere Elemente auf einmal gelöscht werden.
Add Input Feed: Hier werden schließlich neue Feeds zur eben genannten Liste hinzugefügt. Mit einem Klick auf Add Feed wird die neue Ressource übernommen und gesichert.
Hier wurden bereits Feeds als Quellen hinzugefügt und ein Titel sowie eine Beschreibung für den RSS–Mix vergeben. Per Klick auf »RSS 2« (oben links) kann man nun den neuen Feed verwenden.
Conclusio
Der RSS–Combiner unterstützt die DOMXML–Erweiterung von PHP 5. Sollte es also Probleme bei der Ausführung des Scripts geben, könnte es daran liegen, daß besagte Erweiterung nicht aktiviert ist. In diesem Fall sollte man einfach mal den Webhoster kontaktieren. Eine andere Problemquelle wäre, daß auf dem Host noch PHP 4 statt PHP 5 läuft. Es gibt zwar auch eine DOMXML Extension unter PHP 4, sie ist aber leider nicht mit PHP 5 kompatibel und ich müßte dann noch eine gesonderte PHP4-Version schreiben.
Über Bug-Meldungen, Hinweise auf schlechte Programmierung u.ä. würde ich mich sehr freuen, da wie gesagt meine Testbedingungen nur einen kleinen Teil der möglichen Konstellationen abdecken.
P.S.: Bin erst mal né Woche in Dänemark…