Twitter für Website Baker: WB Tweets

Was ist Twitter? Was sind Tweets?

Twitter ist ein soziales Netzwerk und ein Mikro-Blogging-Dienst. Angemeldete Benutzer können Text-Nachrichten mit maximal 140 Zeichen senden und die Nachrichten anderer Benutzer empfangen. Die Nachrichten werden „Updates“ oder „Tweets“ (engl. to tweet, deutsch zwitschern) genannt. Das soziale Netzwerk beruht darauf, dass man anderen Benutzern folgt (engl. „following“), das heißt die Updates anderer Benutzer abonniert. Benutzer, die den eigenen Updates folgen nennt man „Follower“. Auf der Twitter-Startseite kann man Updates eingeben und die Updates der Personen nach der Zeit sortiert sehen, denen man folgt. Der Absender kann entscheiden, ob er die Updates allen zur Verfügung stellen oder den Zugang auf eine Freundesgruppe beschränkt.

Seite „Twitter“. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 2. Dezember 2008, 08:08 UTC. URL: http://de.wikipedia.org/w/index.php?title=Twitter&oldid=53662743 (Abgerufen: 5. Dezember 2008, 21:08 UTC)

Damit wäre die Frage geklärt, was Twitter ist – die Frage nach dem "warum" muss sich aber jeder selbst beantworten. Tweets können langweilen ("esse gerade eine Pizza"), Tweets können anregen ("habe ein tolles neues Buch entdeckt: ..."), Tweets können informieren ("klasse Songs auf der Seite der Band Mustermann zum freien Download gefunden") und Tweets können unterhalten ("verdammt, war die Radkralle gestern schon an meinem Auto?"). Welchen Nutzen der Einzelne aus den Tweets Anderer zieht, kann stark variieren.

Eines dürfte jedoch klar sein: Wer einmal der Community beigetreten ist, folgt nicht nur den Tweets Anderer sonder "twittert" auch selber fleißig mit. Mal mehr, mal weniger. Twittern scheint in gewissem Maße ansteckend zu sein.

Deine Tweets auf Deiner Website

Das schonmal vorab: Bitte niemals Twitter-Feeds fremder Personen in die eigene Site einbinden ohne vorher eine Genehmigung des Autors eingeholt zu haben. Dies könnte als Verstoß gegen das Urheberrecht ausgelegt werden.

Mit dem Modul "WB Tweets" kann der geneigte Twitterer seine Tweets auf seiner Website darstellen. Websitebesucher bleiben so über die Tweets des Sitebetreibers auf dem Laufenden ohne extra die Twitter-Site kontaktieren zu müssen. WB Tweets ist eine ideale Lösung um die eigene Site mal schnell mit aktuellen Informationen zu versorgen (dank Twitter-API auch via SMS, Instant-Messenger oder per Applikation auf dem Telefon) oder um auf Familien-Seiten die Tweets der einzelnen Familienmitglieder zentral zusammen zu fassen.

 WB Tweets Einstellungen im Backend  WB Tweets mit dem "AllCSS"-Template

WB Tweets Einstellungen
im Website Baker Backend

WB Tweets
unter dem WB-Standard-Template "AllCSS"

 

 WB Tweets unter dem Standard-Template "Round"  WB Tweets unter dem Standard-Template "Simple"

WB Tweets
unter dem Standard-Template "Round"

WB Tweets
unter dem Standard-Template "Simple"

"WB Tweets" in Aktion auf meiner Website

Installation und Einrichtung

WB Tweets wurde unter Website Baker 2.6.7 und 2.7 erfolgreich getestet.
Nach der Installation des Modules im Website Baker Backend, steht der neue Seitentyp "WB Tweets" zur Verwendung bereit. Nach dem Anlegen einer neuen Seite muss lediglich der Twitter-Mitgliedsname und die URL zum Twitter-Feed angegeben werden. Die Angabe des Twitter-Passwortes ist nicht erforderlich, da "WB Tweets" lediglich lesend auf die "Public Timeline" zugreift. Als "Private" gekennzeichnete Twitter-Feeds können daher nicht abgefragt werden.

Die URL des RSS-Feed lässt sich unter http://twitter.com/DeinName ermitteln:
Im Quelltext dieser Seite einfach nach "rss" suchen und man stößt schnell auf einen Eintrag in folgender Form:
<link rel="alternate" type="application/rss+xml" title="yourusername (RSS)" href="http://twitter.com/statuses/user_timeline/19947672.rss" />

http://twitter.com/statuses/user_timeline/19947672.rss wäre in diesem (imaginären) Beispiel die Feed-URL.

Die Einstellungen im Backend bieten auch die Möglichkeit, Caching des Feeds zu aktivieren. Ursprünglich war hier die Caching-Funktionalität des RSS-Parsers "SimplePie" vorgesehen — leider funktioniert diese nicht zusammen mit Twitter. Aus diesem Grund wurde eine eigenständige Caching-Lösung in WB Tweets (ab Version 0.4) integriert.

"WB Tweets" in Aktion auf meiner Website

Ein Blick unter die Haube

"WB Tweets" basiert auf "TwitterZoid" von Philip Newborough. TwitterZoid seinerseits greift auf "SimplePie" zurück. "SimplePie" interpretiert denn RSS-Feed, "TwitterZoid" extrahiert aus der SimplePie-Ausgabe die Twitter speziefischen Einträge und bringt die Zeitsempel auf das Twitter typische Format ("5 minutes ago"). "WB Tweets" letztlich ist die Integration der beiden Techniken in das Modulsystem von Website Baker. Da es falsch ist, sich mit mit fremden Federn zu schmücken: Den Löwenanteil des Moduls haben sicher die Macher von "SimplePie" beigetragen. Mit über 13.000 Zeilen ist ihr PHP-Skript einfach mal überwältigend groß. Aber auch Phillip Newborough hat mit "TwitterZoid" einen wirklich guten Job gemacht.

Danksagung

Mein besonderer Dank gilt Sascha Mihank, der während der Entwicklung von "WB Tweets" nicht müde wurde, das Modul zu testen und immer mit Rat & Tat zur Seite stand.

Ebenfalls vielen Dank an Christian Badberg für die Übermittelung eines kleinen Fehlers in WB Tweets 0.21 und sein Engagement als zusätzlicher Beta-Tester.

Changelog & Download

9.06.2010 WB Tweets 0.43

  • Bei aktiviertem Caching wurde - sofern ein gültiger Cache verfügbar ist - die Feed-URL intern auf den Cache umgeleitet. Das führte dazu, dass der Subscribe-Lik (RSS-Feed abonnieren) ober- und unterhalb der Tweets ungültig wurde (und ebenfalls auf den Cache zeigte). Version 0.43 behebt diesen Fehler.

9.09.2009 WB Tweets 0.42

  • Im Live-Betrieb kam es vor, das Twitter kein XML auslieferte, sondern Teile eines XHTML-Dokumentes welches nicht vom eingebauten RSS-Parser verarbeitet werden konnte. Durch das neu eingeführte Caching wurde dann das falsche Dokument gespeichert und führte dazu, dass während der Lebensdauer des Caches keine Tweets angezeigt wurden. In Version 0.42 wird das von Twitter gelieferte Dokument auf XML-Merkmale geprüft — beginnt das empfangene Dokument nicht mit "<?xml" wird das Cachen übersprungen und Twitter erneut angefragt. (getancache.php, ab Zeile 69).
  • Der Cache wird nur angelegt, wenn das empfange Dokument XML-Merkmale enthält.
  • Ist das Caching deaktiviert, wird die gesammte Caching-Prozedur umgangen. WB Tweets 0.42 verhält sich dann wie Versionen vor der Einführung des lokalen Cachings (Version 0.3).
  • Option zum leeren des Caches im Backend hinzugefügt.
  • Um das Verhalten von WB Tweets zu überprüfen, wird die Art der Tweet-Quelle als HTML-Kommentar ausgegeben (<!-- DEBUG INFO: ... -->). Damit kann überprüft werden, ob die Tweet aus dem Cache oder von Twitter direkt geliefert wurden und ob das Caching erfolgreich war.
  • Upgrade PHP entfernt. Vorraussetzung für das Update auf WB Tweets 0.42 ist mindestens WB Tweets 0.3.

6.09.2009 WB Tweets 0.41

  • Ein kleineres Problem beim Empfangen leerer Feeds behoben. Das führte bisher zu einer PHP Notice. Außerdem wurde ein kleines Skript zum leeren des Caches integriert: "cleanup.php" im Modul-Verzeichnis.

6.09.2009 WB Tweets 0.4

  • Lokales Zwischenspeichern (Caching) des RSS-Feeds ist nun möglich. Damit kann die Anzahl der Zugriffe auf den Twitter-Server begrenzt und die Ladezeit der Seite beschleunigt werden. Twitter erlaubt maximal 100 Zugriffe pro Stunde; mit eingeschaltetem Caching ist das nun auch auf stark frequentierten Seiten kein Problem mehr.
  • WB Tweets 0.4 ist unter Website Baker 2.8 getestet und ohne Auffälligkeiten lauffähig. Ein französischer Nutzer meldete im Website-Baker-Forum Probleme mit Umlauten — diese konnte ich in meiner Testumgebung unter UTF-8 nicht bestätigen.

23.5.2009 WB Tweets 0.3

  • @Replies können von der Ausgabe ausgeschlossen werden. Wenn aktiviert, werden alle Tweets, welche mit "@" beginnen, nicht angezeigt. Das Ausschließen von Reply-Tweets verringert allerdings die Gesamtzahl der zur Verfügung stehenden Tweets (Twitter liefert maximal 20 Tweets per RSS).
  • #Hashtags werden jetzt automatisch auf die Twitter Search gelinkt.

17.5.2009 WB Tweets 0.22

  • Problem bei der automatischen Verlinkung von Twitter-Usernames mit Unterstrich ("_") behoben. In früheren Versionen wurde der Hyperlink beim ersten Auftreten eines Unterstrichs beendet.

17.4.2009 WB Tweets 0.21

  • Kopf- und Fußzeile kann auf Wunsch abgeschaltet werden
  • Anzahl der dargestellten Tweets kann gesteuert werden (1, 5, 10, 15)

8.2.2009 WB Tweets 0.14

  • Markup/Skript etwas bereinigt

9.12.2008 WB Tweets 0.13

  • "WB Tweets 0.13" kommt mit deutschem und englischem Sprachpakt
  • Feed-Caching vorbereitet (VERWENDUNG MOMENTAN NCHT EMPFOHLEN!)
  • für WB-Umgebungen mit abgeschaltetem "register_frontend_modfiles" wird das CSS bei der Ausgabe direkt ins HTML "zurecht gebogen". Aus relativen Pfadangaben werden absolute URLs generiert. "WB Tweets" sollte daher auch auf etwas älteren WB-Installationen funktionieren.
  • das Backend liefert eine Möglichkeit unter ISO-8859-1 die ankommenden UTF-8-Zeichen zu dekodieren. Wer Probleme mit Umlauten und Sonderzeichen feststellt, sollte das mal ausprobieren. 

 


Letze stabile Version

WB Tweets 0.43

Ältere Verionen