ich war irgendwie mit dem Twitter Plugin unzufrieden, deswegen habe ich ein neues Microblog-Plugin geschrieben, das eine von mir für ein anderes Projekt geschriebene TwitterApi Klasse benutzt.
Das bisherige Twitter Sidebar Plugin hatte ich zwar bereits für die aktuelle Version um die Möglichkeit erweitert, neben Twitter auch andere kompatible Services wie identi.ca zu nutzen, aber einige Dinge mochte ich daran nicht:
- Eine Backup-Funktion für Tweets ist zwar nett, aber hat in meinen Augen rein gar nichts in einem Sidebar-Plugin verloren. Sowas kann man woanders als eigenes Plugin (oder Doppelplugin) bauen.
- Die Auswahl zwischen einer JavaScript-Lösung und einer PHP-Lösung sorgt für hohen Anpassungsaufwand und bringt einen nicht so recht nach vorne: Wer eine javaScript-Lösung haben will, kann ein beliebiges Widget in ein HTML-Nugget packen und braucht dafür kein extra Plugin. Der Markt hat eine Menge Lösungen dafür parat.
- Auf manchen Servern ist (nicht ganz unklug) allow_url_fopen ausgeschaltet, also sollte der API-Call anders geladen werden (also anders als simplexml_load_file(externe url)). Ich ziehe hier cURL vor, auch, weil man damit Fehler besser abfangen kann.
- Ich wollte das ganze gerne templatefähig.
- Doppeltes Cache-Konzept: Die TwitterApi Klasse cacht sich selbst, um API-Calls zu vermeiden. Diese Zeit ist in der PlugIn Konfiguration einstellbar. Dann wird das Ganze PlugIn nochmal mit einem zweiten (abschaltbaren) Cache umgangen, der 30 Sekunden lang einfach nur vorgerenderten HTML-Code ausgibt. Damit spart man sich ne Menge Rechenarbeit, falls der Server viel Traffic hat.
- Smarty Templating: Die Ausgabe des PlugIns lässt sich vollständig templaten, ein Template auf ul/li Basis liegt bei.
- Klickbare URLs, #hashtags, @namen und !gruppen: Ein abschaltbares Kernfeature meiner TwitterApi Klasse.
- Hübsche Zeitstempel und klickbare Metaangaben: "vor 23 Minuten via Thwirl als Antwort auf benutzerxy", so wie man das vom Twitter-Client der Wahl kennt.
- Stabile Codebasis mit Exception Handling: Aussagekräftige Fehlermeldungen und inline Dokumentation erleichtern die Handhabung für den Entwickler.
- Nutzung von cURL statt url_fopen: Sichere Server haben häufig allow_url_fopen deaktiviert, außerdem sorgt cURL für saubereres Fehlerhandlung.
- Leichter Erweiterbarkeit für neue Dienste: Neue Twitter-API kompatible Dienste sind sehr leicht hinzuzufügen.
Auf meinem Blog könnt Ihr das PlugIn im Einsatz sehen, bei meinem LifeStream ist die TwitterApi Klasse ebenfalls im Einsatz (dort in Kombination mit einem erweiterten SimplePie für das Feed-Handling).