Must Have Plugins für BuddyPress

Community-Plattform mit BuddyPress

Ich hatte kürzlich die Gelegenheit, für eine Community mit rund 100 Mitgliedern eine Web-Plattform auf Basis von BuddyPress zu implementieren. Die grundlegenden Möglichkeiten dieses Systems habe ich schon früher einmal beschrieben (vgl. Ein eigenes Social Network aufbauen mit WordPress und BuddyPress). In diesem Artikel geht es nun um Plugins, welche BuddyPress sinnvoll ergänzen und so aus der ganzen Plattform eine runde Sache machen.

Private BuddyPress plus Absolute Privacy: Sobald die Plattform nicht öffentlich, sondern nur einem bestimmten Personenkreis zugänglich sein soll, reichen die Möglichkeiten von BuddyPress nicht mehr aus. Erst die Kombination aus den beiden genannten Plugins hat in unserem Fall das gewünschte Resultat gebracht – die Details sind im Artikel BuddyPress vor fremden Blicken schützen beschrieben.

Secure Invites: Falls man die Registrierungsmöglichkeit für neue User ausblenden und nur noch Registrierungen von eingeladenen Personen ermöglichen will, dann wäre dieses Plugin einen Blick wert.

BP Group Documents: Gruppen in BuddyPress sind eine einfache, moderne Variante von Foren. Damit die Gruppenmitglieder Dokumente austauschen können, habe ich BP Group Documents installiert. Die Dokumente stehen dann innerhalb einer Gruppe unter einem separaten Navigationspunkt zur Verfügung.

EventPress ist nicht eigentlich eine Erweiterung für BuddyPress, sondern ein allgemeines WordPress-Plugin für Veranstaltungen. In unserem konkreten Projekt hat sich diese Lösung bewährt, um Veranstaltungen für Mitglieder anzukündigen und Anmeldungen entgegenzunehmen.

Featured Member Widget: Um neue oder anderweitig interessante Mitglieder vorzustellen bietet sich dieses einfache Plugin an. Damit können manuell ausgewählte User in der Randspalte mit Foto gezeigt werden.

BuddyPress Album+: Fotos hochladen und seinen Freunden zeigen gehört zu den Basisfunktionen eines jeden Social Networks. Dieses Plugin ermöglicht genau dies, indem es den Benutzerprofilen ein Fotoalbum hinzufügt. Uploads können wahlweise im öffentlichen Activity Stream oder nur Freunden gezeigt werden.

BuddyPress Like: Den “Gefällt mir”-Button kennen wir alle von Facebook. Dieses Plugin implementiert einen “Like”-Button in BuddyPress.

BuddyPress Mobile macht eine BuddyPress-Plattform ohne weiteren Aufwand auch auf einem SmartPhone benutzbar.

Buddypress Auto Group Join erlaubt es einem Administrator, Gruppen auszuwählen, denen neue User automatisch hinzugefügt werden sollen, beispielsweise eine “New Members”-Gruppe oder eine “Fragen & Antworten”-Gruppe.

BuddyPress Group Tags macht dann Sinn, wenn auf einer Plattform relativ viele Gruppen existieren. Die Gruppen können dann mit Schlagwörtern versehen und über eine Tag Cloud einfacher gefunden werden.

Tweet Blender erlaubt es, Tweets von manuell ausgewählten Streams innerhalb der Plattform anzuzeigen. So kann man beispielsweise sicherstellen, dass der offizielle Twitter Stream der Community auch für Nicht-Twitter-Benutzer  zugänglich ist. (Als weniger sinnvoll hat sich hingegen BuddyPress Group Twitter erwiesen, das eine ähnliche Funktionalität bietet: Weil die Tweets auch in den Activity Stream eingespiesen werden, verdrängen sie in der Praxis die Aktivitäten auf der Plattform.)

BP Profile Search: Die Standard-Suche von BuddyPress ist eigentlich schon sehr gut, denn sie sucht in allen Feldern der User-Profile. Gerade bei grösseren Communities ist BP Profile Search trotzdem hilfreich, weil man dann gezielt in bestimmten Feldern suchen und so die Treffermenge einschränkten kann.

BP User Profile Map ist ein einfach zu handhabendes Plugin, das den Wohnort eines Users in dessen Profil auf einer kleiner Google Map abbildet.

RS BuddyPress Activity Refresh aktualisiert den Activity Stream auch ohne manuellen Seiten-Reload automatisch in einem einstellbaren Sekundenintervall.

WP-Polls: Auch dieses Plugin ist nicht BuddyPress-spezifisch, macht aber auf einer Community-Plattform Sinn: Es bietet die Möglichkeit, einfache Umfragen in Form von Quick-Polls durchzuführen.

BuddyPress vor fremden Blicken schützen

WordPress Backend Login

Wer mit WordPress und BuddyPress seine eigene Social-Network-Plattform aufbaut, möchte möglicherweise nicht jedem beliebigen Besucher Zugang gewähren. Dabei geht es um zwei verschiedene Aspekte: Einerseits sollen nicht eingeloggte Besucher die Plattform nicht einsehen können (oder höchstens einige ausgewählte Seiten wie z.B. das Registrierungsformular), andererseits sollen neu registrierte Benutzer ihr Login erst nach der Freischaltung durch einen Administrator nutzen können.

Klingt einfach? Ist es aber nicht! Das Problem liegt zunächst darin, dass WordPress von Haus aus wohl das Backend, nicht aber das Frontend durchgängig mit einem Login schützt. Erschwerend kommt in unserem Fall dazu, dass das BuddyPress-Plugin einige spezielle Seiten anlegt (Activitiy Stream, Members, Groups), welche WordPress nicht wie normale Seiten behandelt; nicht alle Plugins, welche das Frontend mit einem Passwortschutz versehen, schützen deshalb auch die BuddyPress-Seiten. Und last but not least kennt WordPress keine Freischaltung von neu registrierten Benutzern durch einen Administrator, sondern erlaubt es den Benutzern, sich über einen per E-Mail zugestellten Aktivierungs-Link selbst freizuschalten.

Um also eine BuddyPress-Installation komplett vor fremden Blicken zu schützen benötigt man Plugins, und zwar gleich mehrere. Verschiedene meiner Testkandidaten haben zudem mit WordPress 3.1 und BuddyPress 1.2.8 – also den allerneusten Versionen – nicht korrekt funktioniert.

Plugin Schutz des Frontends Freischaltung von neuen Usern
BP Registration Options schützt nur BuddyPress-Seiten, aber keine Standard-WordPress-Seiten OK
Private BuddyPress OK
New User Approve wirkungslos
Absolute Privacy schützt nur Standard-WordPress-Seiten, aber keine BuddyPress-Seiten OK
WP Members wirkungslos
More Privacy Options wirkungslos
BuddyPress Privacy Component fehlerhaft (Website nicht mehr erreichbar)
Force User Login schützt nur Standard-WordPress-Seiten, aber keine BuddyPress-Seiten

 

Was in meinem Fall schliesslich funktionierte, war die Kombination aus Private BuddyPress als umfassender Schutz des Frontends und Absolute Privacy als zuverlässiger Freischaltprozess für neu registrierte Benutzer. Dass es allerdings dermassen umständlich ist, eine BuddyPress-Installation sauber gegen aussen abzuschotten, scheint mir schon ziemlich bedenklich – eine solche Funktionalität gehört meiner Meinung nach ins Basissystem und sollte nicht mit Plugins nachgerüstet werden müssen.

Ein eigenes Social Network aufbauen mit WordPress und BuddyPress

Social Network mit WordPress und BuddyPress 

Unternehmen, Organisationen, Schulen und Vereine sind im Kern nichts anderes als ein Netzwerk von Personen. Sie alle haben deshalb potentiell das Bedürfnis, sich auch im digitalen Raum auf einer Social-Network-Plattform zu treffen. Facebook, XING und Co. erlauben es ihren Nutzern, geschlossene Gruppen und Foren anzulegen, um nicht-öffentliche Informationen auszutauschen und trotzdem alle Annehmlichkeiten dieser Plattformen zu geniessen. Das hat nicht zuletzt den Vorteil, dass die Teilnehmer ihre bestehenden Accounts nutzen können und keine neue Plattform kennenlernen müssen – niederschwelliger geht es kaum mehr.

Trotzdem sollte man sich im konkreten Fall genau überlegen, ob man die Kontrolle über seine Daten an Menschen wie Mark Zuckerberg abtreten mag. Wer in dieser Hinsicht autonom bleiben will findet auch im Open-Source-Bereich Software, um sein eigenes, selbst gehostetes Social Network zu betreiben. Nebst Elgg stellt insbesondere WordPress mit dem Plug-in BuddyPress eine interessante Lösung dar.

Wenn man schon einmal eine PHP/MySQL-Applikation aufgesetzt hat, dann ist die Installation von BuddyPress trivial: WordPress-Dateien auf den Server spielen, Installer aufrufen, dann in der Plug-In-Verwaltung das BuddyPress-Plug-in installieren und schliesslich ein BuddyPress-kompatibles Template aktivieren – fertig ist das Social Network. Ab diesem Zeitpunkt bietet BuddyPress schon all das, was man von anderen Plattformen her kennt: Benutzer können ein persönliches Profil anlegen, sich mit Freunden vernetzen, private Nachrichten und öffentliche Status-Updates verschicken, sich in Gruppen organisieren und sich per E-Mail über Updates informieren lassen.

Einige Details, welche nicht unerwähnt bleiben sollen:

  • BuddyPress nutzt die normalen WordPress-Accounts. Wie bei jedem WordPress-Blog kann man als Administrator somit bestimmen, ob sich neue User selbst registrieren dürfen oder ob sie vom Administrator eingerichtet werden müssen. Um möglichst aussagekräftige Profile zu erhalten kann der Administrator zudem Zusatzfelder definieren, welche bei der Registrierung ausgefüllt werden müssen.
  • Wenn man sein eigenes Social Network betreibt muss man sich natürlich auch selbst darüber Gedanken darüber machen, wer welche Daten sehen darf. Wer die Zugriffsrechte etwas restriktiver setzen möchte kommt mit BuddyPress allein nicht sehr weit. Es gibt aber verschiedene Plug-Ins, welche BuddyPress diesbezüglich erweitern, beispielsweise BuddyPress Privacy, BP Profile Privacy, Force User Login oder Private BuddyPress.
  • Auch in vielen anderen Bereichen kann BuddyPress mit Plug-ins erweitert werden. Insgesamt findet man im offiziellen Plug-in-Directory gegen 400 solche Plug-ins.
  • Foren sind in BuddyPress nicht standardmässig vorhanden, können allerdings im WordPress-Backend mit zwei Klicks installiert werden. Hierzu greift BuddyPress auf bbPress zurück, wobei auch eine bereits bestehende bbPress-Installation eingebunden werden kann.
  • BuddyPress kann auch in einem Blog-Netzwerk (mehrere Blogs in einer einzigen WordPress-Installation) eingesetzt werden. Leider lässt sich das Plug-in aber nur für alle Blogs gemeinsam aktivieren.
  • Obwohl BuddyPress auch als reines Social Network überzeugt, so besteht doch einer der grössten Vorteile darin, dass man die gesamte Funktionalität von WordPress zur Verfügung hat. Blog und Social Network greifen so nahtlos ineinander und ergeben eine umfassende Lösung für ganz viele community-orientierte Websites. 

P.S. Im Artikel “Mein persönliches Facebook” (c’t 20/2010, Seite 162-164) wird die Einrichtung eines Sozialen Netzwerks mit BuddyPress im Detail beschrieben.