RSS-Combiner

20 10 2006

Um meh­rere RSS–Feeds zu mixen (d.h. die Bei­träge nach zeit­li­cher Ord­nung zu sor­tie­ren) und das Ergeb­nis dann als neuen Stream aus­zu­ge­ben, gibt es meh­rere Mög­lich­kei­ten 123. Einer­seits exis­tie­ren zahl­rei­che Web­ser­vices, die diese Auf­gabe über­neh­men und auch recht prak­ti­ka­bel sind (xfruits​.com z.B.), ande­rer­seits aber zu wenig Ein­fluß­nahme auf das Ergeb­nis ermög­li­chen. Ein wei­te­rer Nach­teil: man begibt sich in die Abhän­gig­keit von frem­den Diens­ten und Ser­vern. Nichts dra­ma­ti­sches, aber auch nicht gerade das Optimum.

Eine wei­tere Mög­lich­keit stel­len PHP–Scripte dar, die auf dem eige­nen Webs­pace instal­liert wer­den und dann die Auf­gabe des Aggre­ga­tors über­neh­men. Ein sol­ches Script ist z.B. reB­log, das kürz­lich auch bei pixel­gra­phix vor­ge­stellt wurde. Lei­der brachte ich das Pro­gramm nicht zur vol­len Funk­ti­ons­tüch­tig­keit, da es sich bei ver­schie­de­nen Aktio­nen mit Feh­ler­mel­dun­gen ver­ab­schie­dete, die ich nicht zwei­fels­frei zuord­nen und lösen konnte. Grund­sätz­lich machte ReB­log einen gefäl­li­gen Ein­druck, die Größe des Pake­tes von 2.9 MB erschien mir jedoch wie eine Kanone mit der ich auf RSS–Mix-​Spatzen schie­ßen soll. Wei­tere Scripte in die­sem Bereich sind dünn bis gar nicht gesät.

Was macht man in sol­chen Fäl­len? Rich­tig. Also hab ich ein klei­nes Script geschrie­ben, daß leicht zu instal­lie­ren und zu nut­zen sein soll:

RSS–Com­bi­ner
Ver­sion: 0.9.1
Date: 2007-​01-​13
Down­load: rss-combiner-0.9.1.zip (36 kB)

Instal­la­tion

Die Instal­la­tion des RSS–Com­bi­ners ist denk­bar ein­fach. Das Download-​Paket wird mit einer han­dels­üb­li­chen ZIP–Soft­ware ent­packt und der Inhalt, sprich: das Ver­zeich­nis RSS–Com­bi­ner, an die gewünschte Stelle auf den Webs­pace gela­den. Dann müs­sen ledig­lich noch die Benut­zer­rechte die­ses Ord­ners im FTP–Pro­gramm auf 0777 gesetzt wer­den. Das wars. Jetzt kann das Script mit­tels /path/rss-combiner/index.php auf­ge­ru­fen werden.

RSS Combiner Screenshot 1
Direkt nach dem ers­ten Auf­ruf ist noch kein Input vor­han­den. Über »Add Input Feed« läßt sich das schnell ändern.

Anwen­dung

Nach dem Auf­ruf des Scripts unter­teilt sich die Web­seite in fol­gende Bereiche:

Com­bi­ned Feed: Hier besteht die Mög­lich­keit, den gemix­ten Feed aus­zu­wäh­len und abzu­ru­fen. Als For­mate ste­hen grund­sätz­lich RSS 2.0 und ATOM 1.0 zur Ver­fü­gung, letz­te­res wird aber erst in einer spä­te­ren Ver­sion ver­füg­bar sein.

Opti­ons: Hier kön­nen Titel und Beschrei­bung des neu kom­bi­nier­ten Feeds bestimmt wer­den. In Kürze wird hier auch ein­stell­bar sein, wie viele Ein­träge der ein­ge­hen­den Feeds berück­sich­tigt wer­den (momen­tan: 5) und wie viele Ein­träge der gemixte Feed aus­ge­ben soll (momen­tan: 10). Mit einem Klick auf Save wer­den etwaige Ände­run­gen gesichert.

Input Feeds: Unter die­sem Punkt wer­den lis­ten­ar­tig die Feeds ange­zeigt, die dann zum neuen Feed aggre­giert wer­den. Jedes Ele­ment ist mit einer Check­box ver­se­hen. mar­kiert man diese und klickt dann auf Remove Selec­ted, wird der betref­fende Feed aus der Liste ent­fernt. Es kön­nen hier­bei meh­rere Ele­mente auf ein­mal gelöscht werden.

Add Input Feed: Hier wer­den schließ­lich neue Feeds zur eben genann­ten Liste hin­zu­ge­fügt. Mit einem Klick auf Add Feed wird die neue Res­source über­nom­men und gesichert.

RSS Combiner Screenshot 2
Hier wur­den bereits Feeds als Quel­len hin­zu­ge­fügt und ein Titel sowie eine Beschrei­bung für den RSS–Mix ver­ge­ben. Per Klick auf »RSS 2« (oben links) kann man nun den neuen Feed verwenden.

Con­clu­sio

Der RSS–Com­bi­ner unter­stützt die DOMXML–Erwei­te­rung von PHP 5. Sollte es also Pro­bleme bei der Aus­füh­rung des Scripts geben, könnte es daran lie­gen, daß besagte Erwei­te­rung nicht akti­viert ist. In die­sem Fall sollte man ein­fach mal den Web­hos­ter kon­tak­tie­ren. Eine andere Pro­blem­quelle wäre, daß auf dem Host noch PHP 4 statt PHP 5 läuft. Es gibt zwar auch eine DOMXML Exten­sion unter PHP 4, sie ist aber lei­der nicht mit PHP 5 kom­pa­ti­bel und ich müßte dann noch eine geson­derte PHP4-​Version schreiben.

Über Bug-​Meldungen, Hin­weise auf schlechte Pro­gram­mie­rung u.ä. würde ich mich sehr freuen, da wie gesagt meine Test­be­din­gun­gen nur einen klei­nen Teil der mög­li­chen Kon­stel­la­tio­nen abdecken.

P.S.: Bin erst mal né Woche in Dänemark…