Kirche & Web 2.0, Technik

Twitterwall für Gnu Social?

Das erste Mal auf dem Barcamp, das erste Mal beim Twittergottesdienst mitgemacht, und immer noch die Frage: Muß das Twitter sein? Geht das nicht auch ohne Konzern? Vielleicht mit Gnu Social?

Sogenannte Social Media Walls, also Anzeigen für Tweets mit festgelegten Hashtags, gibt es für Twitter jede Menge (man sagt ja auch Twitter Walls). Für Gnu Social habe ich so etwas nicht gefunden und mal im IRC nachgefragt. Auch dort wurde mir gesagt, daß es das wohl eher nicht geben wird aber leicht zu bauen sein sollte.

Ich dachte erst an komplizierte API Aufrufe, aber es geht viel leichter: RSS. Bei Gnu Social (und ich glaube auch bei Diaspora oder Friendica, kann das jemand bestätigen?) sind die (öffentlichen) Messages per RSS abrufbar.

So könnte man die leicht auslesen, das Ganze auf den Bildschirm zu bringen ist dann kein Hexenwerk mehr. Nur hatte ich Schwierigkeiten, die richtigen RSS Links herauszufinden, daher dieser Artikel, um das einmal festzuhalten.

Um einen Hashtag per RSS abzurufen, nimmt man:

https://{server}.{TLD}/api/statusnet/tags/timeline/{hashtag}.rss

Wenn man also den Hashtag #twigo auslesen wollte und den Server quitter.is nutzen will:

https://quitter.is/api/statusnet/tags/timeline/twigo.rss

Wenn ich es richtig verstehe sollte die Wahl des Server mehr oder weniger egal sein. Er sollte halt stabil genug laufen, um beispielsweise bei einem Twitter Gottesdienst in kurzen Abständen die Daten ausliefern zu können. Ob das den Server spürbar belastet, kann ich nicht sagen, käme wohl auf einen Versuch an.

Wenn man die Timeline eines bestimmten Nutzers abgreifen will, geht das mit:

https://{server}.{TLD}/api/statuses/user_timeline/{user}.rss

Hier muß der Server dann der sein, auf dem der User sein Konto hat, sonst bleibt das einfach leer…

Insofern andere freie Sozialnetzwerke ebenfalls RSS Feeds zur Verfügung stellen, könnte man auf die Art zu nem „Twitter“-Gottesdienst kommen, ganz ohne Twitter.

Ideal wäre natürlich die Einbindung beider Optionen, Twitter UND Gnu Social, Facebook UND Friendica/Diaspora/Red Matrix etc…

Ich weiß allerdings nicht, ob die komerziellen APIs das zulassen…

Trotzdem, eine Wall-Software für Gnu Social empfinde ich als ein Desiderat. Wenn ich jetzt gut programmieren könnte… wobei, wär wohl eher Webdesign

Technik

Ein kleines Child Theme

Hallo, vielleicht habt Ihr s ja schon bemerkt, der Blog macht unter anderem Gebrauch von zwei neuen Plugins. Einerseits wäre da Artiss Social Bookmarks, andererseits Coauthors Plus.

Das Social Bookmarks Plugin unterstützt weit über 100 Dienste und soziale Medien. Co Authors PLus ermöglicht es, mehrere Autoren einem Blogartikel zuzuordnen, auch Gastautoren ohne richtiges Benutzerkonto sind möglich.

Beide Plugins haben einen Nachteil: Um sie zu benutzen, muß man den Code des Themes ändern, um entsprechende Zeilen einzufügen.

Genau das hab ich jetzt getan, und zwar auf Grundlage des hier benutzten Twenty Ten Themes. Und weil ich ungerne meine Änderungen verlier, hab ich mir ein Child Theme gebastelt.

Es sollte nun so sein, daß das Child Theme mit dem Namen „Jochen“ (nach Jochen Klepper, dem Autor des Liedes, das dem Blog den Namen gab) die Funktionalität von beiden Plugins einbindet, falls diese installiert sind. Ansonsten sollte es in die alte Twenty Ten Funktionalität zurückfallen. Ich bin nicht besonders bewandert in Webdesign und PHP Programmierung, deshalb würde ich mich über Hinweise zu Fehlern und Verbesserungen freuen.

In den Dateien des Themes stehen dann noch weitere Hinweise, denn ich habe bei den eingebundenen Social Bookmarks eine Auswahl getroffen (die sich vielleicht noch ändern wird, auch sind im Feed andere Bookmarks gescaltet als im Web) und auch die Darstellung der Autorennamen kann anders gemacht werden.

Ich hoffe jedoch, daß ich vielleicht dem ein oder anderen mit dem Child Theme geholfen habe. Man gibt ja auch gerne was zurück, wenn man so viel gute Software kostenlos bekommt. Ach ja, das Ganze steht unter ner GPL Lizenz.

Runterladen kann man sich dat Janze dann hier.