Linux-Tools für Weblogs und RSS

Aus LinuxUser 02/2004

Linux-Tools für Weblogs und RSS

Tagebuch oder Newsticker?

Weblogs sprießen wie Pilze aus dem Boden, und immer mehr Websites bieten RSS-Feeds an. Grund genug, einige Linux-basierte Tools vorzustellen, die den Umgang damit vereinfachen.

Das WWW an sich mag nur ein Internet-Dienst unter vielen sein, doch ist es sicher derjenige mit dem größten Innovationspotential. Einerseits erschließt es mit Web-Chats und Streaming-Angeboten Anwendungsmöglichkeiten über die klassischen Text-mit Bild-Informationsquellen hinaus. Andererseits zeigen die Entwicklungen der letzten Zeit aber auch, dass in letzteren mehr Potential steckt als man auf den ersten Blick vermuten könnte.

Da bieten Wikis (siehe Seite 48 ff.) die Möglichkeit, in informeller Zusammenarbeit schnell und unbürokratisch Wissenssammlungen anzulegen. Mit dem Aufkommen der Weblogs (auch Blogs genannt) stieg die Zahl der Web-basierten Tagebücher (seien sie privater Natur oder als Arbeitsmittel gedacht, um Mitarbeiter eines Projekts auf dem Laufenden zu halten) ins Unermessliche. Nicht zuletzt erlauben es RSS-Newsfeeds, sich dynamisch ändernde Inhalte anderer Seiten unbürokratisch auf die eigene Web-Präsenz oder ins Intranet zu holen.

Ein schier unerschöpfliches Reservoir an Hilfsmitteln also, das die Arbeit virtueller oder ganz realer Teams erleichtert: Informationen lassen sich schnell und unbürokratisch vermitteln, Diskussionen anstoßen und veraltete Inhalte aktualisieren, ohne sich im Gestrüpp statischer HTML-Dateien zu verirren. So bieten Blogs eine einfache Möglicheit, Inhalte auf einer Website zu platzieren.

Es leben die Buzzwords!

Auf den ersten Blick wirken diese Online-Journale banal, aber die darunterliegenden Technologien sind einfach und dadurch universell einsetzbar. Die wichtigsten Schlagworte hierbei heißen RSS (Rich Site Syndication) und XML-RPC (XML-basierte Remote Procedure Calls). RSS ermöglicht den Datenaustausch zwischen verschiedenen Web-Seiten; XML-RPC stellt Schnittstellen zur Verfügung, über die man auf viele Weblogs zugreifen kann.

Das klingt zunächst sehr abstrakt, doch ein Beispiel sorgt rasch für Klarheit: Bindet man zum Beispiel einen sogenannten RSS-Feed von einer fremden Website in die eigene ein, zeigt die eigene Präsenz immer die aktuelle Artikel-Übersicht der anderen an. Viele Blogs machen das Zur-Verfügung-Stellen solcher RSS-Dateien wie auch das Einbinden besonders einfach. So unterstützen alle gängigen Weblog-Systeme entweder das Blogger-API oder das MetaWeblog-API, so dass man das eigene Blog mit geeigneten Tools auch ohne Webbrowser aktualisieren kann.

Doch dazu braucht man erst einmal ein eigenes Weblog. Kostenlose Dienste wie Blogg.de oder Twoday.net erlauben es, sich – teils werbefinanziert – mit der Materie bekannt zu machen. Profis wählen die eigene Installation auf einem Webserver. Dafür muss man allerdings ein wenig Erfahrung im Umgang mit Linux-Servern mitbringen und sich die Konfiguration des Weblog-Systems zutrauen. Neben MovableType[1] und Nucleus[2] ist in Deutschland insbesondere Sunlog[3] weit verbreitet. Alle diese Tools bieten entweder das MetaWeblog- oder das Blogger-API an.

Beim Blogger-API handelt es sich quasi um die Mutter aller Blog-Schnittstellen, entwickelt vom amerikanischen Bloghoster Blogger.com, der das Bloggen in den USA populär gemacht hat. Allerdings bietet es nicht allzuviele Funktionen, ein Missstand, den Dave Winer mit dem MetaWeblog-API beseitigen wollte. Diese Schnittstelle kann einiges mehr, wird aber nicht von allen Systemen komplett unterstützt. Beide APIs erlauben das Hinzufügen neuer Einträge in ein Blog sowie das Bearbeiten und Löschen von Artikeln. Über das MetaWeblog-API lädt man zudem beispielsweise Dateien hoch, so dass sich Artikel leicht mit Bildern versehen lassen.

Einige Systeme bieten Gruppen-Blogs an und erlauben es somit mehr als nur einer Person, am Weblog zu werkeln. Ein solcher kollaborativer Blog bezieht sich meist auf ein spezielles Thema (etwa ein gemeinsames Projekt) und bietet den Vorteil, dass – anders als bei gängigen Online-Journalen – mehrere Personen ihre Meinungen unter einem Dach veröffentlichen können.

Egal ob Gruppen- oder klassisches Blog: RSS hilft dabei, Artikel verschiedener Blogs auf einer Seite zusammenführen. Diese Content-Aggregation lässt sich bei den gängigen Blog-Systemen sehr einfach bewerkstelligen und füllt beispielsweise die Seitenleiste der Webpräsenz mit zum Thema passenden, externen Informationen.

Newsticker leicht gemacht

RSS – ein auf XML basierender Standard – kommt in einigen Varianten daher; die gängigsten Versionen sind 0.92 und 2.0. Die meisten Tools unterstützen zum Glück beide.

Listing 1

Beispiel für eine RSS-Datei

<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.92">
<channel>
<title>stacktrace</title>
<link>http://blog.borho.net/</link>
<description>nur ein weblog</description>
<language>de</language>
<lastBuildDate>Tue, 30 Dec 2003 23:55:11 GMT</lastBuildDate>
<webMaster>martin@borho.net</webMaster>
<item>
<link>http://blog.borho.net/index.php?item=27</link>
<title>Apache-Log in Echtzeit</title>
<description>Ein schönes Tool, um das access_log des Apache
übersichtlich und in Realzeit zu betrachten, ist ApacheTop.
Fein, gefällt mir!
[via Syndic8Blog]</description>
</item>
</channel>
</rss>

Auch wenn RSS-Dateien wie in Listing 1 auf den ersten Blick kryptisch aussehen, sieht man doch auf den zweiten Blick durchaus, worum es geht. Den Anfang bilden einige Zeilen über das Blog selbst: der Titel (stacktrace), die URL (http://blog.borho.net/), die Beschreibung (nur ein weblog), die Sprache (de für Deutsch) und natürlich ein Ansprechpartner (martin@borho.net). Ab <item> folgen die einzelnen Beiträge, stets mit dem Link zum Artikel, einem Titel und der Beschreibung (englisch: description), die den Inhalt des gesamten Beitrags enthalten kann oder auch nur einen kleinen Ausschnitt. Solche RSS-Dateien heißen auch RSS-Feeds, weil sich damit andere Web-Seiten “füttern” lassen.

Blog-Tools

Natürlich kann man per Webbrowser bloggen; das ist in der Tat die übliche Herangehensweise. Manchmal erscheint es aber sinnvoller, spezialisierte Tools einzusetzen, beispielsweise, damit die veröffentlichten Artikel auf dem lokalen Rechner gesichert werden können oder weil man sie offline konzipieren und erst später ins Blog stellen will.

Abbildung 1: BloGTK fragt nur wenige Einstellungen ab.

Abbildung 1: BloGTK fragt nur wenige Einstellungen ab.

Eines der wenigen eigenständigen Weblog-Client-Programme für Linux ist BloGTK. Es verlangt nicht nur eine Python-Installation auf dem System, sondern für die grafische Oberfläche die PyGTK-Bibliothek samt Python-Glade2, was bei manchen Distributionen ein eigenes Paket bildet. Mit Red Hat 9.0 kann das bereitgestellte BloGTK-RPM ohne Probleme installiert werden. Das gilt zwar auch für Suse 9.0, doch scheitert hier die Deinstallation. Wichtig bei Suse: Außer python-gtk müssen auch python-numeric und python-gnome eingespielt werden.

Abbildung 2: Erstellen eines Artikels mit BloGTK.

Abbildung 2: Erstellen eines Artikels mit BloGTK.

Wer statt des RPM-Pakets das neuere tarbzip2-gepackte Archiv des Programms herunterlädt, hat – je nach Distribution – bereits mit dem Auspacken zu kämpfen. Wegen ungenügender Rechte einiger im Archiv enthaltener Dateien bleibt auf manchen Systemen nur der Weg, tar -xjvf blogtk-0.8-5.tar.bz2 als root aufzurufen und anschließend mit chmod -R a+r BloGTK-0.8-5 die fehlenden Leserechte zu setzen. Erst, wenn auch die in diesem neu erstellten Verzeichnis abgelegte Datei Makefile lesbar ist, sorgt make (aus dem BloGTK-0.8-5-Ordner heraus aufgerufen) dafür, dass sich das Tool mit dem Befehl BloGTK & von der Kommandozeile aus starten lässt.

Die Installation mit make ist jedoch keine Pflicht: Es reicht, in BloGTK-0.8-5 den Befehl

./src/BloGTK.py &

abzusetzen. Nach der (aus oben genanntem Grund nicht empfohlenen) Installation des blogtk-0.8.noarch.rpm-Archivs unter Suse 9.0 lautet er /usr/lib/blogtk/BloGTK.py &.

Beim ersten Start öffnet BloGTK das Konfigurationsmenü (Abbildung 1), das sich auch später über Edit / Accounts and Settings … aufrufen lässt. Viel einstellen muss man nicht, allerdings sollte man die URL seines Blogs sowie die Username-Passwort-Kombination parat haben. Sobald BloGTK diese Daten kennt, kann man auf das Weblog zugreifen. Nach dem Erstellen des Artikels (Abbildung 2) zeigt der Reiter Preview Post eine Vorschau an (Abbildung 3); Publish Entry sendet ihn an den Blog-Server.

Abbildung 3: So sieht's später im Web aus.

Abbildung 3: So sieht’s später im Web aus.

Beim Schreiben des Beitrags gilt wie für alle Online-Publikationen: Ein aussagekräftiger Titel ist die beste Eigenwerbung, ab und zu ein Absatz erhöht die Lesbarkeit, Zitate gehören kenntlich gemacht (und, wenn möglich, mit dem Original verlinkt), und auf Experimente mit Schriftgröße und Zeichensatz verzichtet man im Interesse der Lesbarkeit besser.

Das Posten von Artikeln geht mit BloGTK recht einfach von der Hand, will man allerdings Konfigurationen am Weblog selber vornehmen, muss man den Webbrowser bemühen. Einen ähnlichen Funktionsumfang bietet das – ebenfalls Python-basierte – GNOME-Applet Gnome Blog[5], das von der Installation her noch problematischer ist: Im Test ließ sich die Version 0.7 unter Suse 9.0 nicht zur Zusammenarbeit bewegen.

Wer mit Mozilla arbeitet, sollte MozBlog[6] im Auge behalten. Dieses Plugin integriert ein Blogtool in den Browser, so dass man im Kontextmenü die Option Blog this auswählen kann. Allerdings klappte der Verbindungsaufbau zur eingesetzten Blog-Software nicht, weswegen es in diesem Artikel keine weitere Beachtung findet.

Feeds im Überblick

Eine weitere (nicht nur für Blogger) hilfreiche Programm-Gruppe sind die sogenannten Feedreader, mit denen man RSS-Feeds im Überblick behält. Neue Artikel erscheinen hervorgehoben; das Lesen von Newstickern wird damit so einfach wie das Lesen von Newsgruppen. Feedreader zeigen nur die in der RSS-Datei enthaltenen Informationen an. Da sie aber mit dem Standard-Browser verknüpft sind, lassen sich interessante Artikel bei Bedarf auch direkt darin öffnen.

Viele Blogger nutzen eine sogenannte Blogroll, um häufig gelesene Blogs aufzulisten und sich deren Updates anzeigen zu lassen. Sowohl Blogg.de als auch Blogrolling.com bieten diesen Dienst an. Indem man die Blogroll exportiert und dann im Feedreader einliest, behält man seine Lieblingsblogs komfortabel im Überblick.

Als per Tastatur zu bedienendes Kommandozeilen-Tool mutet der Feedreader Snownews[7] auf den ersten Blick etwas gewöhnungsbedürftig an. Da es sich bei RSS-Feeds allerdings hauptsächlich um Text handelt, kann man auf eine grafische Benutzeroberfläche in der Tat leicht verzichten. Snownews größter Vorteil besteht jedoch darin, dass man auch unterwegs auf die Lieblingsticker und -Blogs zugreifen kann.

Wer das vorkompilierte Archiv snownews-1.4.2.i586.tar.bz2 von der Projektseite herunterlädt, packt dieses lediglich mit tar -xjvf aus, und schon kann Snownews gestartet werden:

cd snownews-1.4.2/
./snownews
Abbildung 4: Snownews' Hilfemenü zeigt alle Funktionen im Überblick.

Abbildung 4: Snownews’ Hilfemenü zeigt alle Funktionen im Überblick.

Zum Selbstkompilieren des Sourcecode-Archivs snownews-1.4.2.tar.gz muss man im entpackten Quellverzeichnis zwar nur die Befehle make zum Kompilieren und make install (als root) zum Installieren absetzen, benötigt aber als Voraussetzung die ncurses– und die libxml2-Bibliotheken samt Dev(el)-Paketen.

Abbildung 5: Hinzufügen eines Feeds.

Abbildung 5: Hinzufügen eines Feeds.

Auf der Kommandozeile mit dem Befehl snownews gestartet, gibt ein Druck auf die [H]-Taste einen Überblick über die möglichen Optionen (Abbildung 4). Mit [A] fügt man nun den ersten RSS-Feed hinzu (Abbildung 5) – zum Beispiel https://www.linux-community.de/Ticker/news.rdf für die Nachrichten des Linux-Portals Linux Community (weitere Anregungen liefern zum Beispiel [8] und [9]). Wichtig dabei: Die URL des Feeds muss vollständig sein; Snownews ergänzt das Protokollpräfix http:// nicht automatisch.

In der so erzeugten Übersichtsliste wählt man den gewünschten Feed mit den Pfeiltasten aus und ergötzt sich nach der Betätigung der [Enter]-Taste an den aktuellen Beiträgen (Abbildung 6). Mit [Q] kommt man jeweils eine Ebene zurück; ist man wieder bei der Feed-Liste angelangt, beendet diese Taste das Programm. Schon nach kurzer Zeit liest man sich so schneller durch Artikel als mit einem grafischen Webbrowser.

Abbildung 6: Die »H«-Taste gibt auch in der Artikelansicht Hilfestellung.

Abbildung 6: Die »H«-Taste gibt auch in der Artikelansicht Hilfestellung.

Geht’s auch grafisch?

Wer’s doch lieber bunt haben möchte, greift zu Liferea[10] (Abbildung 7), einem Klon des populären Windows-Programms Feedreader (http://www.feedreader.com/). Im Gegensatz zu Snownews bietet Liferea eine ansprechende grafische Oberfläche, für die es aber außer nach libxml2 auch nach GNOME2-Bibliotheken samt Dev(el)-Dateien verlangt.

Listing 2 gibt die zur Kompilation und Installation nötigen Befehle wieder. Die Zeile zum Setzen der PKG_CONFIG_PATH-Variable war unter Suse 9.0 nötig, da das configure-Skript dort die Datei libxml-2.0.pc aus dem Verzeichnis /usr/lib/pkgconfig von allein nicht fand; sie sollte man auf anderen Systemen weglassen können.

Abbildung 7: Bei Liferea hat man die Feed-Liste und die Artikel gleichzeitig im Blick.

Abbildung 7: Bei Liferea hat man die Feed-Liste und die Artikel gleichzeitig im Blick.

Listing 2

Liferea-Installation aus dem Quellcode

tar -xvzf liferea-0.4.5.tar.gz
cd liferea-0.4.5/
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
./configure
make
su -c "make install"
Abbildung 8: Ein neuer Feed zur Beobachtung

Abbildung 8: Ein neuer Feed zur Beobachtung

Abbildung 9: Wenn der vom RSS-Feed vorgegebene Titel nicht passt, benennt man ihn einfach um.

Abbildung 9: Wenn der vom RSS-Feed vorgegebene Titel nicht passt, benennt man ihn einfach um.

Nach dem Programmaufruf mit dem Befehl liferea & lassen sich über Feeds / Feed / Neues Abonnement (Abbildung 8) neue Feeds importieren. Dabei stürzte das Programm unter Suse 9.0 zwar jedes Mal ab, aber nach dem Neustart tauchte der gewünschte Feed dann doch in der linken Spalte auf. Markiert man einen Eintrag in dieser Liste mit der Maus, erscheinen im oberen rechten Fensterteil die Ankündigungen der Beiträge des jeweiligen Feeds. Sobald man eine davon anklickt, präsentiert das untere rechte Viertel den Beitrag in der Detail-Ansicht (Abbildung 7).

Anders als Snownews nimmt sich Liferea nicht nur RSS-Feeds, sondern beispielsweise auch jener im OPML-Format an (Outline Processor Markup Language). Damit lässt sich mit dem Programm auch auf exportierte Blogrolls zugreifen.

Über Programm / Einstellungen passt sich Liferea an individuelle Bedürfnisse an. Zudem kann man über Feeds / Ordner / Neuer Ordner Ordner anlegen und die RSS-Feeds darin per Drag & Drop nach eigenem Gusto sortieren. Der Button Aktualisieren darf jederzeit genutzt werden, um alle Feeds noch einmal aktuell von den Servern zu holen. Nur wenn hinter dem Namen des Feeds eine Zahl in Klammern steht, sind neue Artikel vorhanden. Und wem ein Eintrag in der Feed-Liste zu nichtssagend erscheint, klickt ihn mit der rechten Maustaste an und wählt aus dem Kontextmenü den Punkt Properties an. Der dann erscheinende Dialog (Abbildung 9) erlaubt es, nicht nur den missliebigen Titel zu korrigieren.

Tabelle 1: Eine kleine Auswahl interessanter Blogs

http://linux.roblog.de/ Das Gemeinschaftsblog Penguins deckt einige Themen rund um Linux ab.
http://linux.blogg.de/ Ein Blog für Linux-Einsteiger.
http://www.linuxblog.de/ Dieses Weblog berichtet von ersten Gehversuchen mit Linux.
http://martin.ringehahn.de/shellblog/ Das Shell-Blog gibt Tipps und Anregungen für den Umgang mit der Kommandozeile.
http://www.justenoughlinux.com/ Der ironische Untertitel dieses englischsprachigen Weblogs lautet: “Genau soviel Linux lernen, dass man gefährlich wird”
http://www.kdedevelopers.org/blog/ Das (englischsprachige) Gemeinschaftsblog der KDE-Entwickler.

Der Autor

Nico Lumma ist Leiter Technik bei der orangemedia.de-GmbH und für die Entwicklung des Blog-Dienstes Blogg.de verantwortlich. Sein eigener Blog ist unter http://lumma.de/ zu finden.

Glossar

API
“Application Programmers’ Interface”, dokumentierte Schnittstellen, über die Programme Funktionalität externer Bibliotheken, Dienste oder Programme anzapfen können.
Python
Neben der Shell und Perl eine der beliebtesten Skriptsprachen. Skriptprogramme müssen nicht kompiliert werden, sondern werden von einem Interpreter direkt beim Auslesen des Quellcodes ausgeführt.
LinuxUser 02/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben