Pixie: Mini-CMS für Blogs und Kleinst-Websites

image

Wenn Sie der obige Screenshot spontan angesprochen hat, dann geht es Ihnen wie mir: Ich bin ein visueller Mensch, und das trendige Design von Pixie weckt spontan Interesse. Die PHP-Software versteht sich selbst als schlankes, einfach zu bedienendes Web-CMS. Wenn man die Demo erkundet wird allerdings rasch klar, dass Pixie viel eher ein Blog-System als ein CMS ist. Dazu passt, dass die verfügbaren Themes klassische Blog-Designs besitzen (und teilweise schamlos bei WordPress abgekupfert sind).

Das Versprechen, schlank und einfach zu sein, kann Pixie durchaus einlösen. Unter einem CMS stelle ich mir dann allerdings schon etwas mehr vor. Und einen zwingenden Grund, warum man statt zu WordPress oder TYPOlight zu Pixie greifen sollte, wenn man eine nicht allzu komplexe Website erstellen will, habe ich bisher nicht gefunden – so hübsch es auch aussieht. Mir fehlt die zündende Idee, der neue Ansatz, und so bleibt Pixie eine gut gemachte Mee-Too-Entwicklung.

Pixie wird unter der GPL Version 3 lizenziert und setzt PHP 4.3 sowie MySQL 4.0 voraus.

Broken Link Checker: Tote Links in WordPress-Blogs aufspüren

image

URLs haben die unangenehme Eigenschaft, gelegentlich zu ändern. Dies führt dazu, dass Links auf diese URLs ins Leere laufen, d.h. mit einer "Page Not Found"- oder gar einer "Server Not Found"-Meldung quittiert werden. Das kann man zwar nicht ganz verhindern, aber indem man die Links auf seiner Website regelmässig überprüft, kann man zumindest die Fehlerquote niedrig halten. Nur: Selbst bei einer kleinen Website ist das eine zeitraubende und mühsame Aufgabe, und bei einer grossen Website ist eine manuelle Überprüfung schlicht unrealistisch.

Für WordPress gibt es mit dem Broken Link Checker ein Plugin, das diese Überprüfung automatisch macht und alle toten Links im Backend auflistet. Dort kann man dann sehr bequem die URLs korrigieren oder die Links entfernen. Ein einfaches und höchst effizientes Konzept.

In der Praxis hat dieses wunderschöne Plugin allerdings einige Mängel. Einerseits werden gewisse Links als fehlerhaft gemeldet, obwohl sie funktionieren – schuld daran sind möglicherweise Sonderzeichen in der URL. Anderseits funktioniert das direkte Aktualisieren der Links in der oben gezeigten Liste nicht, man muss also in den normalen Artikel-Editor wechseln. Fairerweise muss man allerdings hinzufügen, dass das Plugin offiziell nur für WordPress 2.0.2 bis 2.6.3 freigegeben ist, während ich selbst WordPress 2.7 nutze.

Fazit: Die oben erwähnten Bugs sind zwar massiv, aber man kann sie umgehen. Insofern würde ich sagen: Externe Links mit dem Broken Link Checker zu prüfen ist besser als nichts, und man unterschätzt, wieviele tote Links sich im Verlaufe der Zeit ansammeln.

WordPress 2.7: Neuerungen im Backend

Das nächste WordPress-Release 2.7 steht unmittelbar bevor. Wie obiges Video zeigt, wurde insbesondere das Backend der Blog-Software stark überarbeitet. Es ist dadurch wesentlich übersichtlicher, flexibler und attraktiver geworden. Ich arbeite nun seit genau 4 Jahren mit WordPress, und jedes neue Release hat meinen Eindruck bestätigt, dass diese Software sehr stetig und mit einem guten Blick für das Wesentliche weiterentwickelt wird. Die Ästhetik des Backends und die Übersichtlichkeit der Dokumentation auf www.wordpress.org sind weitere Gründe, weshalb ich meine Wahl nie bereut habe. Das Update 2.7 verspricht hier ein weiterer positiver Schritt zu werden.

Scriblio: (Bücher-)Katalog mit Faceted Search auf WordPress-Basis

image

Je mehr Informationen verfügbar sind, desto schwieriger wird es, die wirklich relevanten Informationen zu finden. Dies gilt umso mehr, wenn man nicht genau weiss, nach welchem Begriff man eigentlich suchen soll, oder wenn dieser Begriff zu unscharf ist und deshalb zu viele Treffer ergibt. Unter diesen Umständen kommt man mit einer klassischen Stichwortsuche, wie man sie von Google kennt, nicht weit.

Ein Konzept, welches dieses Problem lösen soll, ist Faceted Search (auch Guided Navigation, Guided Search oder Search and Navigation genannt), eine ebenso einfache wie wirkungsvolle Filtermethode. Dabei stehen nach der ersten Stichwortsuche geeignete Kategorien zur Verfügung, über welche die Treffermenge per Mausklick eingeschränkt werden kann. Idealerweise gibt das System sogar pro Kategorie an, wieviele Treffer zu erwarten sind – Kategorien ohne Treffer werden gar nicht angeboten. Die Kategorien können unterschiedlichen Gruppen angehören, und man kann auch mehrere Kategorien in Kombination auswählen.

Nehmen wir einen Bibliothekskatalog als Beispiel: Gibt man als Stichwort “Wirtschaft” ein, so erhält man in der Regel eine riesige Treffermenge mit oft wenig spezifischen Treffern. Wenn man dann allerdings die Kategorien “Börse”, “Krise” und “20. Jahrhundert” als ergänzende Filterkriterien auswählt, ergibt sich rasch eine überschaubare Liste mit Literatur zur Weltwirtschaftskrise der 1930er Jahre.

Ein System mit einer Faceted Search zu bauen ist nicht ganz trivial. Umso spannender erscheint mir Scriblio, ein auf der Blog-Software WordPress aufbauendes System für Online-Bibliothekskataloge (OPAC) mit Faceted Search. Die Installation ist vergleichsweise einfach und besteht darin, dass man WordPress mit zwei Plugins und einem Theme erweitert. Scriblio wirklich zu verstehen ist dann allerdings eine andere Sache, denn die Datenstruktur eines Buchtitels ist für Nicht-Bibliothekare nicht ganz trivial, zumal die Dokumentation nicht allzu umfangreich ist.

Wer einerseits das Prinzip der Faceted Search besser verstehen und andererseits Scriblio testen will schaut sich am besten den Katalog der Cook Memorial Library oder die Fotosammlung der Brown Company an.

WordPress nachträglich auf UTF-8 umstellen

image

Wie viele andere Web-Applikationen auch hat WordPress das Problem, dass die frühen Versionen noch nicht konsequent internationalisiert waren, sprich die Daten wurden nicht von Anfang als Unicode in die Datenbank geschrieben. Inzwischen ist UTF-8 auch bei WordPress Standard, und wer heute ein neues Blog aufsetzt, braucht sich keine Gedanken zu machen. Wer hingegen ein älteres Blog auf die neuste WordPress-Version aktualisiert, könnte die unangenehme Erfahrung machen, dass Umlaute und andere Nicht-ASCII-Zeichen nicht korrekt dargestellt werden.

Ein Blick in die Datenbank (z.B. mit phpMySQL) offenbart das Problem: Die Kollation der Tabellen steht noch auf “latin1_swedish_ci”, während WordPress davon ausgeht, dass die Daten als “utf8_general_ci” in der Datenbank vorliegen. Einfach die Kollation der fraglichen Tabellen umschalten (was man mit einem Tool wie phpMySQL grundsätzlich kann) ist keine Lösung, weil dadurch die bereits bestehenden Daten nicht konvertiert werden.

Ein Blick in die WordPress-Dokumentation zeigt, dass man mit diesem Problem nicht allein ist. Der dort empfohlene Prozess zur Umwandlung von Latin1 nach UTF-8 ist allerdings für technisch weniger versierte Anwender wenig einladend. Einfacher geht es mit dem UTF-8 Database Converter, der ganz einfach als WordPress-Plug-in installiert wird und auf Knopfdruck den gesamten Konversionsprozess abarbeitet.

Wichtig zu wissen:

  • Machen Sie unbedingt zuerst ein Backup Ihrer WordPress-Datenbank.
  • Offiziell unterstützt das Plug-in nur die WordPress-Versionen 2.1.x und 2.2.x (weil zwischen diesen beiden Versionen der Wechsel auf UTF-8 stattgefunden hat). Bei mir hat die Konversion aber auch unter WordPress 2.6.1 problemlos funktioniert.
  • Das Plug-in konvertiert sämtliche Tabellen der WordPress-Datenbank, also auch diejenigen, die von allfälligen Plug-ins angelegt wurden. In meinem Fall blieb dies ohne negative Folgen, aber ich kann nicht beurteilen, ob gewisse Plug-ins damit Schwierigkeiten haben könnten.
  • Je nach Grösse Ihrer Datenbank kann die Konversion einige Minuten dauern. Werden Sie nicht ungeduldig, wenn längere Zeit scheinbar nichts passiert und drücken Sie nicht die Reload-Taste.

WordPress 2.6 verfügbar

Die Entwickler von WordPress arbeiten kontinuierlich an Verbesserungen für das wahrscheinlich populärste Blog-System der Welt. Die neue Version 2.6 bietet unter anderem die Möglichkeit, ähnlich wie bei einem Wiki oder CMS frühere Versionen eines Posts zu betrachten, die Unterschiede anzuzeigen und bei Bedarf einen Rollback durchzuführen. Weitere Neuerungen zeigt das obige Video (englisch, aber mit einem absolut liebenswerten Akzept).

SIMILE Timeline: Visualisierung von Geschichte auf der Zeitachse

image

Als Historiker habe ich mich seit jeher dafür interessiert, wie man eine Abfolge von Ereignissen und Perioden visuell darstellen kann. Und als Informatiker habe ich stets nach Desktop- und Web-Applikationen gesucht, welche diese Ideen auch umsetzen können – bisher mit mässigem Erfolg: WikiTimeLine beispielsweise ist zwar ein interessanter Ansatz, kann aber weder visuell noch in der Bedienung wirklich überzeugen. Und Web-2.0-Produkte wie z.B. CircaVie oder Timeline kommen zwar optisch attraktiv daher, konzentrieren sich aber mehr auf Community-Funktionalität und Gimmicks als auf eine wirklich übersichtliche und interaktive Visualisierung.

SIMILE Timeline dagegen kommt meiner Vorstellung von einer perfekten Lösung schon sehr nahe. Zunächst ist die doppelte Zeitachse mit den unterschiedlichen Zoom-Stufen eine wirklich schöne Idee. Leider nicht selbstverständlich ist auch die Möglichkeit, sowohl punktuelle Ereignisse als auch Perioden zu visualisieren. Sehr hilfreich ist ferner die Möglichkeit (auf obigem Screenshot nicht sichtbar), die Einträge auf der Zeitachse per Volltextsuche zu filtern oder farbig zu markieren. Ein empfehlenswerter Showcase ist die Religion Timeline über jüdische und christliche Geschichte.

Das schönste aber ist: SIMILE ist nicht nur Open Source (BSD-Lizenz), sondern kann auch sehr einfach in die eigene Website eingebunden werden: Alles was es braucht, ist HTML, JavaScript sowie eine XML-Datei mit den darzustellenden Ereignissen bzw. Perioden. Wer schon einmal ein Google Maps Mashup erstellt hat, wird das Konzept von Timeline rasch begreifen.

SIMILE steht übrigens für Semantic Interoperability of Metadata and Information in unLike Environments und ist ein Projekt der University of California in Berkeley.

P.S. Es gibt auch ein SIMILE Timeline Plug-In für WordPress, das es erlaubt, Blog-Artikel anhand ihres Publikationsdatums auf einer Zeitachse zu platzieren. Aus meiner Sicht ist das nicht unbedingt die sinnvollste Anwendung für Timeline – aber eine hübsche Alternative für ein chronologisch sortiertes Blog-Archiv ist es allemal, wie dieses Beispiel zeigt.

runPHP: PHP-Code in einem WordPress-Artikel ausführen

image

WordPress bietet bereits in der Standard-Installation eine reiche Ausstattung, und zusammen mit den unzähligen Plug-Ins bleiben fast keine Wünsche offen. Fast. Denn hie und da bräuchte man eine ganz bestimmte Funktionalität, die aber so speziell ist, dass man dafür nie und nimmer ein Plug-In finden wird. Was tun?

Natürlich könnte man sich hinsetzen und selbst ein Plug-In schreiben. Dies verlangt aber nicht nur PHP-Kenntnisse, sondern auch ein Verständnis der Plug-In-Architektur von WordPress. Das kann man bestimmt lernen, aber der Aufwand dürfte sich in vielen Fällen schlicht nicht lohnen.

image Sofern man zumindest über elementare PHP-Kenntnisse verfügt, gibt es eine Alternative in Form des Plug-Ins runPHP. Dieses erlaubt es, in einem normalen WordPress-Artikel PHP-Code zu schreiben und diesen bei der Ausgabe im Frontend ausführen zu lassen. Eine simple Checkbox entscheidet darüber, ob der PHP-Code nur angezeigt oder interpretiert wird. Mit anderen Worten: Falls die Option “PHP Code ausführen?” aktiviert ist, würde das obige Beispiel im Frontend die folgende Ausgabe erzeugen:

Hello World!

Wäre sie dagegen deaktiviert, so würde WordPress den Code 1:1 darstellen:

<?php echo “Hello World!”; ?>

Dank runPHP kann man sehr einfach kleine Web-Applikationen schreiben und diese direkt in sein Blog einbetten.

P.S. Um Probleme im Zusammenhang mit ausführbarem PHP-Code zu vermeiden sollten Sie unbedingt den WYSIWYG-Editor im WordPress-Backend ausschalten!

Verweise auf verwandte Artikel mit WordPress

image

Gerade in einem Blog, das ja chronologisch und nicht thematisch strukturiert ist, sind inhaltlich verwandte Artikel oft weit verstreut. Kategorien und Tags helfen zwar, Zusammenhänge herzustellen, und zur Not bieten Blogs ja auch noch eine Volltextsuche. Am bequemsten ist es für den Leser aber immer noch, wenn er am Ende eines Artikels ein halbes Dutzend Links zu ähnlichen Artikeln findet.

Um solche Verweise zu erstellen gibt es grundsätzlich folgende Möglichkeiten:

  1. Natürlich kann man als Autor thematisch verwandte Artikel jederzeit manuell verlinken. In diesem Fall darf man als Leser davon ausgehen, dass dieser Artikel wirklich relevant ist. Andererseits ist der Aufwand für den Autor, verwandte Artikel zu finden und zu verlinken, erheblich, so dass manuelle Verweise in der Praxis meist ganz fehlen oder zumindest sehr unvollständig sind.
  2. Gewisse Blog-Systeme ermöglichen es, automatisiert aufgrund von Schlagwörtern (Keywords, Tags) thematisch verwandte Artikel anzuzeigen. Damit dies funktioniert, müssen allerdings alle Artikel konsequent und möglichst präzise verschlagwortet werden – auch hier entsteht also ein manueller Aufwand.
  3. Der dritte Weg besteht darin, dass das Blog-System aufgrund des Volltexts selbständig ähnliche Artikel untereinander verlinkt. Zu diesem Zweck wird die Häufigkeit der einzelnen Wörter im Text bestimmt – je ähnlicher diese Häufigkeiten, desto eher befassen sich die Artikel mit dem gleichen Thema. Ein solches System ist für den Autor sehr bequem, weil er keinerlei manuellen Aufwand hat; und er findet so vielleicht verwandte Artikel, an die er selbst gar nie gedacht hätte. Auf der anderen Seite sind Algorithmen, die Texte vergleichen können, hoch komplex und nie perfekt – es ist also nie ganz ausgeschlossen, dass das System relevante Artikel verpasst und dafür Artikel verlinkt, die nicht wirklich mit dem Thema zu tun haben.
  4. Denkbar wäre schliesslich auch eine Kombination aus den Varianten 2 und 3: Im Normalfall werden die Verweise basierend auf dem Volltext erstellt, allfällig vorhandene Schlagwörter werden aber ebenfalls berücksichtigt (und eventuell stärker gewichtet). Ein solches System würde bei einem vertretbaren manuellen Aufwand die qualitativ besten Verweise liefern.

Um nun mit WordPress Verweise auf ähnliche Artikel zu erstellen, gibt es folgende Plug-Ins:

  • Similar Posts
    Dieses Plug-In vergleicht Titel und Text von Artikeln und erstellt daraus Verweise. Zusätzlich können auch Tags und Kategorien einbezogen werden. Somit kommt dieses Plug-In der Methode Nr. 4 am nächsten. Es ist sehr einfach einzubauen und liefert insgesamt gute Resultate. Ich würde mir lediglich wünschen, einzelne Verweise auf einfache Weise wegklicken zu können, wenn sie meiner Meinung nach keinen Zusammenhang zum Artikel haben.
  • Wasabi Related Posts
    Dieses Plug-In von Alexander Malov und Mike Lu ist ein Klassiker, auch das oben beschriebene Similar Posts basierte ursprünglich darauf. Von Peter Bowyer gibt es zudem eine modifizierte Version.
  • Terms2Post
    Dieses Plug-In von Semiologic setzt ebenfalls auf einen Volltextvergleich.
  • Contextual Related Posts
    Dieses Plug-In beschränkt den Vergleich auf den Titel. Wie gut dies funktioniert, hängt stark davon ab, wie man seine Titel wählt. Insgesamt dürfte ein Plug-In wie Similiar Posts aber deutlich bessere Resultate ergeben.
  • Simple Tags
    Die “Related Posts”-Funktionalität des Plug-Ins von Amaury Balmer ist eigentlich eher ein Nebeneffekt, denn die zentrale Aufgabe von Simple Tags ist die Verwaltung von Tags. Ein Vertreter der Methode Nr. 2.
  • Darren’s Related Posts
    Das letzte Update dieses Plug-ins liegt weit zurück, und es scheint nur wenig Resonanz gefunden zu haben. Der Ansatz basiert auf Keywords (Methode Nr. 2).
  • Related Posts Link
    Mit diesem Plug-In wird das manuelle Verlinken vereinfacht (Methode Nr. 1). Ob das bald zweijährige Plug-In mit der aktuellen WordPress-Version 2.3 noch funktioniert, habe ich allerdings nicht getestet.
  • Cross References
    Dieses Plug-In unterstützt das manuelle Verlinken (Methode Nr. 1), indem es für jeden Artikel eine Liste der auf ihn verlinkenden Artikel erstellt.
  • Arkayne Related Content
    Arkayne ist ein Service, der ähnliche Artikel blog-übergreifend miteinander verlinkt – das gleichnamige WordPress-Plugin sorgt für die Anbindung des eigenen Blogs an dieses System. Hier geht es mehr um Traffic-Generierung als um die Optimierung des eigenen Blogs, auch wenn Arkayne nach eigenen Angaben Verweise auf eigene Artikel bevorzugt behandelt. Von einem journalistischen Standpunkt aus halte ich es allerdings für fragwürdig, wenn ein fremdes System darüber entscheidet, welche externen Links auf meinem Blog erscheinen (zumindest so lange diese nicht klar als solche deklariert sind wie z.B. bei Google AdSense). Das System dürfte zudem ein lohnendes Ziel für Spammer sein.
  • Sphere Related Content
    Ähnlich wie bei Arkayne geht es bei Sphere darum, Blogs zu vernetzen. Die oben geäusserten Vorbehalte gelten deshalb auch hier.

Wertvolle Hinweise zu diesem Thema verdanke ich u.a. Lorelle on WordPress.

Tags in WordPress 2.3

image

Ab der Version 2.3 bietet WordPress nebst Kategorien auch Tags. Beide Konzepte dienen letztlich dazu, thematisch verwandte Artikel einfacher auffindbar zu machen und sind auch in der Anwendung recht ähnlich. Trotzdem denke ich, dass sowohl Kategorien als auch Tags ihre Berechtigung haben: Während Kategorien die systematische Einordnung eines Artikels in eine Themenhierarchie erlauben, dienen Tags dazu, einem Artikel spontan einige Schlagwörter hinzuzufügen, die nicht unbedingt eine eigene Kategorie rechtfertigen, aber bei der Suche nach speziellen Themen hilfreich sein können. Entsprechend werden Kategorien eher in Listen dargestellt, während sich für Tags die bekannten Tag Clouds anbieten.

Wer ein Upgrade auf WordPress 2.3 durchführt steht allerdings vor der Schwierigkeit, dass alle bestehenden Artikel noch keine Tags besitzen. Das nachträgliche Verschlagworten ist eine aufwändige Sache, auch weil man dazu jeden einzelnen Artikel im Editor öffnen muss. Deutlich bequemer geht es mit dem Plug-In Inline Tag Thing, mit dem man direkt im Frontend und mit AJAX-Komfort Tags hinzufügen und löschen kann.

Wer Tags intensiv einsetzt, kommt fast nicht um das Plug-In Simple Tags herum. Es macht das Verschlagworten von Artikeln besonders effizient, indem es beispielsweise Tags vorschlägt, Artikel ohne Tags findet und Suchen/Ersetzen-Funktionen für Tags bietet.