Infinite Social Wall: Tumblr-artiger Pinterest-Lookalike mit PHP erstellen zum Selberhosten

Kein Beitragsbild

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren...

Keine Sorge, meine Überschrift klingt sperriger als sich das Tool des amerikanischen Studenten Philip Bjorge tatsächlich darstellt. Auf der Basis von MySQL, PHP und einigen jQuery-Plugins liefert Bjorge einen Aggregator für alle persönlichen Aktivitäten. Auf der eigenen Website lassen sich so die persönlichen Social Media Streams, aber auch beliebige RSS-Feeds in einer Pinterest-ähnlichen Optik darstellen. Die Installation ist einfach.

Infinite Social Wall: Persönliches Backup der eigenen sozialen Aktivitäten

Auf seiner persönlichen Homepage verwendet Bjorge sein PHP-Script Infinite Social Wall als Startseite und aggregiert dort seine verschiedenen Aktivitäten aus sozialen Netzwerken wie Instagram, Google+ oder Reddit. Weitere nativ unterstützte soziale Dienste sind Github, Twitter, Stackoverflow und Pinterest. An letzterem orientiert sich auch die Optik der Lösung.

Grundsätzlich ist Infinite Social Wall nicht auf die nativ unterstützten Dienste limitiert, sondern kann mit allen Services genutzt werden, die einen RSS-Feed zur Verfügung stellen, was mittlerweile auch bei Facebook wieder der Fall ist.

Infinite Social Wall bringt keine Installationsroutine mit, stellt den interessierten Selbsthoster jedoch dennoch nicht vor große Probleme. Im Wesentlichen gilt es eine Tabelle in einer MySQL-Datenbank anzulegen, sowie innerhalb der config.php die auszulesenden Feeds und/oder Dienste zu definieren. So würde man eine Verbindung zu Github anlegen:

"github" => array(
    "user" => "philipbjorge",
    "url" => "http://atom2rss.semiologic.com/?atom=https://github.com/{USER}.atom"
),

Innerhalb der config.php muss natürlich eine Anpassung der Datenbankparameter auf die eigene Umgebung erfolgen. Die im Downloadpaket ebenfalls enthaltene demo.php stellt die eigentliche Funktionalität des Infinite Scrolling der eigenen Inhalte bereit, ist aber nur mit den nötigsten Aufrufen ausgestattet. Auf der Github-Seite zum Projekt erläutert Bjorge detailliert, wie man seine PHP-Seiten ausstatten muss, um Infinite Social Wall zum Laufen zu bringen. Die Optik wird – wie gewohnt – mittels CSS definiert.

Und so funktioniert das System: Bei Aufruf der demo.php werden die ersten 20 gefundenen Einträge aus den definierten sozialen Netzwerken in einen Div-Container geladen, der wiederum zur Anzeige gelangt. Die jQuery-Plugins Isotope und infinite-scroll werden auf diesen Container angewendet. Gleichzeitig startet ein Update-Request auf die in der config.php definierten Feeds. Deren Inhalte werden als HTML ausgelesen und in der MySQL-Datenbank abgelegt. Letzteres führt auf längere Sicht betrachtet zu einem umfangreichen, quasi lokal gespeicherten Backup der eigenen sozialen Aktivitäten. Jeder Besucher der Website wirkt wie ein Cronjob, so dass stets die aktuellsten Inhalte ausgegeben werden.

Infinite Social Wall ist erst wenige Tage alt und steht unter der MIT- und der BSD-Lizenz zum kostenfreien Einsatz zur Verfügung. Eine Einschränkung ergibt sich aus dem verwendeten Isotope, das lediglich für persönliche und nicht-kommerzielle Zwecke kostenfrei genutzt werden darf.

Kennst du unser E-Book-Bundle? Spare jetzt 6,99 €!

E-Book Bundle von Andreas Hecht

Das folgende Video zeigt die Funktionsweise:

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren in der IT daheim. Seit Anfang des neuen Jahrtausends schreibt er für diverse Medien, hauptsächlich zu den Themenfeldern Technik und Design. Man findet ihn auch auf Twitter und Google+.