Integration bbPress mit Buddypress
August 21, 2009 in BBPress
bbpress in WordPress einzubinden, ist schon immer eine spannende Sache gewesen.
Vor allem, wenn man die Entwicklungssprünge begleitet hat, durfte man sich immer wieder neu orientieren und es war nötig, sich durch Foren zu buddeln.
Ich habe wpmu 2.8.4a Buddypress 1.0.3 und bbpress 1.0.2 integriert. Da ich das Gefühl habe, dass es jede Menge Bedarf an Klärung besteht, habe ich meine Erfahrungen hier Schritt für Schritt dokumentieren
Hier der Link zum Forum von bbpress
http://bbpress.org/forums/topic/wordpress-and-bbpress-integration-101
Hier eine tolle und ausführliche Integrationsanleitung für bbpress 0.9
http://www.adityanaik.com/integratepress-part-i/
Integrationsanleitung für bbprss 1.0.2 wpmu 2.8.4a und buddypress 1.0.3
http://buddypress.org/forums/topic/bp-103-and-bbpress-which-version-plugins-cookies#post-21894
Wer die BuddyBar und die Profile auch integrieren möchte wird hier glücklich.
http://labs.b5media.com/blog/creating-the-anypress-solution/
Hier noch eine deutschsprachige Anleitung zur Installation und Integration.
http://wemaflo.net/installation-von-buddypress-mit-integriertem-bbpress-forum.html
Um eine vollständige deep integration von bb-press zu realisieren, das bedeutet nicht nur die Datenbank und cookies sondern alle Punkte, wo sich bbpress und buddypress schneiden, sind viele kleine Schritte notwendig.
Um anderen diesen Weg zu erleichtern, hier der Weg, den ich gegangen bin und der mich ans Ziel geführt hat.
Danach sollte bbpress deep integration eingerichtet sein,
die buddybar in bbpress angezeigt werden,
die Userprofile auf buddypress verlinkt sein,
die Avatar Bilder der Mitglieder richtig angezeigt werden,
und eine Sicherheitslücke ausgemerzt sein, so dass die Gruppenrechte (öffentlich, privat, versteckt) auch im Forum beachtet werden.
Ich gehe davon aus, das WPMU 2.8.4a Buddypress 1.0.3 und bb-press 1.0.2 installiert sind und laufen.
Außerdem muss das buddypress-enable.php plugin aus dem Verzeichnis wp-content/plugins/buddypress/bp-forums/bbpress-plugins in das my-plugins Verzeichnis ihrer bbpress Installation kopiert und im Adminbereich von bbpress aktiviert worden sein.
Eine einfache deutsche Installationsanleitung findet man hier: http://wemaflo.net/installation-von-buddypress-mit-integriertem-bbpress-forum.html
Schritt für schritt Anleitung:
1. Gehen sie im Adminbereich ihrer wpmu Installation auf ‘Plugins’
2. Klicken sie auf ‘Installieren’
3. Geben sie ‘bbpress integration’ ein und klicken sie auf suchen.
4. Installieren sie bbpress integration 1.0 indem sie auf ‘jetzt installieren’ klicken und dann auf den pinken Button ‘jetzt installiern’.
5. Folgen sie den Instalationsanweisungen und aktivieren sie das Plugin.
6. Gehen sie im Adminbereich zu ‘Einstellungen/bbpress integration’.
7. Stellen sie sicher, dass sie die vollständige url zum Forum eingegeben haben und wälen sie den wordpress typ ‘WordPress mu’ aus.
8. Speichern sie die Änderungen
9. Speichern sie die Werte aus der grauen Box in die Zwischenablage, sie sollten ca. so aussehen: (die werte sind bei ihnen andere! keine Panik)
define( ‘COOKIEHASH’, ‘da4672dda66fd60a6b80e420d32ef26c’ );
define( ‘COOKIE_DOMAIN’, ‘.bp.dev’ );
define( ‘SITECOOKIEPATH’, ‘/’ );
define( ‘COOKIEPATH’, ‘/’ );
10. Öffnen sie wp-config.php in einem editor und kopieren sie diese Zeilen direkt nach dem php öffnen “<?php” (ganz am Anfang des Dokumentes).
11. Öffnen sie bb-config.php in einem editor und kopieren sie die Zeilen auch hier dierkt nach dem php öffnen “<?php” ganz am anfang des dokumentes. Löschen sie die erste Zeile define ( ‘COOKIEHASH’, ‘da4672dda66fd60a6b80e420d32ef26c’ ); , so daß in ihrer bb-config php hinterher diese 3 zeilen stehen:
define( ‘COOKIE_DOMAIN’, ‘.bp.dev’ );
define( ‘SITECOOKIEPATH’, ‘/’ );
define( ‘COOKIEPATH’, ‘/’ );
12. Öffnen sie jetzt wieder die wp-config und kopieren sie alle authentication unique keys in die Zwischenablage
Die sollten ungefähr so aussehen: (die Werte sind bei ihnen andere! keine Panik)
define(‘AUTH_KEY’, ’800345c011dfad9261cedec0a3d914ffa1b40d67b23b66e4809797ce728f0b80′);
define(‘SECURE_AUTH_KEY’, ’5d6d3f657c9fb496e3f5488044fc174c238554a1b5347eb633ea8baecf0dcc7c’);
define(‘LOGGED_IN_KEY’, ’6749832494719d8217e06c233326cb86da9ec040b16f705156660e1642a5f0e8′);
define(‘NONCE_KEY’, ’87a5b149e95e0a13020541040353548eaf65b68452be91c685e96a7fbab685bc’);
define(‘AUTH_SALT’, ’8ff197cc15f311c975bd14ce131e7872eb390706bd316f72435c081836d14f34′);
define(‘LOGGED_IN_SALT’, ’642683992ae38da46082bf9850ab90273deb7d5d1034baf80a3fd32871b5e04a’);
define(‘SECURE_AUTH_SALT’, ’7c066b9c14bd558737b74b76c77f928e3612935832a6a47bd70842e118c947fa’);
13. Öffnen sie jetzt wieder die bb-config und suchen sie nach den authentication unique keys. Kommentieren sie diese aus oder löschen Sie sie.
14. Kopieren sie die zuvor in die Zwischenablage kopierten authentication unique keys aus der wp-config jetzt unter die auskommentierten oder gelöschten authentication unique keys.
15. Jetzt muss bei jeder Zeile der prefix BB_ davor gesetzt werden.
Das sieht dann ungefähr so aus:
define(‘BB_AUTH_KEY’, ’800345c011dfad9261cedec0a3d914ffa1b40d67b23b66e4809797ce728f0b80′);
define(‘BB_SECURE_AUTH_KEY’, ’5d6d3f657c9fb496e3f5488044fc174c238554a1b5347eb633ea8baecf0dcc7c’);
define(‘BB_LOGGED_IN_KEY’, ’6749832494719d8217e06c233326cb86da9ec040b16f705156660e1642a5f0e8′);
define(‘BB_NONCE_KEY’, ’87a5b149e95e0a13020541040353548eaf65b68452be91c685e96a7fbab685bc’);
define(‘BB_AUTH_SALT’, ’8ff197cc15f311c975bd14ce131e7872eb390706bd316f72435c081836d14f34′);
define(‘BB_LOGGED_IN_SALT’, ’642683992ae38da46082bf9850ab90273deb7d5d1034baf80a3fd32871b5e04a’);
define(‘BB_SECURE_AUTH_SALT’, ’7c066b9c14bd558737b74b76c77f928e3612935832a6a47bd70842e118c947fa’);
16. Öffnen sie bb-config.php
17. Fügen sie ‘$bb->bb_xmlrpc_allow_user_switching = true; ‘ (ohne die Anfürungsstriche) ans Ende der Seite kurz vor dem php ende tag ?> ein.
Das solte ungefähr so aussehen:
$bb->bb_xmlrpc_allow_user_switching = true;
?>
17. Speichern sie wp-config.php und bb-config.php und testen sie ihre Seite.
Sie sollten jetzt automatisch in bbpress angemeldet sein, wenn sie sich in wp angemeldet haben.
Jetzt kommt die deep integration. Sollten Sie beim Einfügen in Fehler rasen, eine weiße Seite angezeigt bekommen oder ähnliches, dann löschen Sie erst mal alle Plugins aus dem my-plugins Ordner der bb-press Installation und aktivieren sie hinterher eins nach dem anderen.
18. Laden sie BuddyBar in bbPress (1.0.3) http://wordpress.org/extend/plugins/buddybar-in-bbpress/ herunter und installieren sie es nach der Instalationsanweisung.
19. Kopieren sie nicht, wie in der Installationsanleitung erklärt, den Script aus der readme.txt, sondern den unten stehenden Script direkt unter die vorher eingefügten Werte vom bbpress-integrations-plugin in ihre bb-config.php
WICHTIG! Hier der Script: Nehmen sie den, nicht den Script aus der readme.txt
if ( !defined( ‘ABSPATH’ ) & !defined( ‘XMLRPC_REQUEST’ )) {
define( ‘WP_USE_THEMES’, false );
include_once( ‘/your/absolute/path/to/wordpress/wp-config.php‘ );
$wp->init();
$wp->register_globals();
}
Das sollte dann ungefähr so aussehen:
…
define( ‘SITECOOKIEPATH’, ‘/’ );
define( ‘COOKIEPATH’, ‘/’ );
if ( !defined( ‘ABSPATH’ ) & !defined( ‘XMLRPC_REQUEST’ )) {
define( ‘WP_USE_THEMES’, false );
include_once( ‘/your/absolute/path/to/wordpress/wp-config.php‘ );
$wp->init();
$wp->register_globals();
}
20. Achten sie darauf, dass der Pfad zu ihrer wp-blog-header.php richtig eingetragen ist.
Kopieren sie dazu die abs.php aus dem BuddyBar-Verzeichnis in ihr Root-Verzeichnis auf dem Server und rufen sie diese Datei auf.
Ihre domain.de/abs.php
jetzt wird ihnen der absolute Pfad angezeigt.
21. Tragen sie diesen Pfad in der obigen Funktion an die Stelle ein (/your/absolute/path/to/wordpress/)
Jetzt sollte die BuddyBar auch in ihrem Forum sichtbar sein.
Jetzt sollten noch die Profile integriert werden, damit man nicht auf die bbpress-Profile-Ansicht gelinkt wird, wenn man auf ein Mitglied klickt.
22.Laden sie dieses plugin herunter, und kopieren sie es in ihr my-plugins Verzeichnis in ihrer bbpress Installation.
http://labs.b5media.com/files/2009/07/bp-profile.zip
23. Aktivieren sie das plugin über die bbpress admin Seite .
23-a. Jetzt sind zwar die Profile verlinkt, aber die Avatars (Mitglieder Bilder) werden immer noch nicht angezeigt.
da wir ja deep integration eingerichtet haben, können wir jetzt einfach im Template die nötigen Anpassungen machen.
23-b. Öffnen sie dazu die post.php aus ihrem bbpress Template in einem editor.
23-c. In Zeile 2 finden sie <?php post_author_avatar_link(); ?>
23-d. Löschen sie die Zeile und kopieren sie <?php echo bp_core_get_avatar( get_post_author_id() ); ?> an die stelle.
Jetzt werden auch die Avatar Bildchen richtig angezeigt.
Zu guter Letzt muss noch eine Sicherheitslücke geschlossen werden, denn im Moment werden jetzt im Forum auch unsichtbare also private Gruppenforen angezeigt, was ja definitiv eine Sicherheitslücke ist.
Es gibt dafür das BuddyPress plugin “Groups for bbPress”
24. Laden sie das Plugin Groups for bbPress herunter und entpacken sie es. Laden sie es nicht direkt auf den Server, da wir eine Zeile auskommentieren müssen, bevor es mit deep integration läuft.
http://wordpress.org/extend/plugins/bpgroups/
25. Öffnen sie die Datei oci_bb_group_forums.php im editor.
26. Suchen sie nach require_once( BACKPRESS_PATH . ‘/class.ixr.php’ ); in Zeile 59 und kommentieren sie diese Zeile aus.
Das sollte dann so aussehen:
//require_once( BACKPRESS_PATH . ‘/class.ixr.php’ );
27. Kopieren sie jetzt die Datei oci_bp_group_forums.php in den mu-plugins Ordner in ihrer wpmu Installation auf dem Server.
28. Kopieren sie die geänderte Datei oci_bb_group_forums.php und die kompletten Ordner hidden-forms und read-only-forms in ihr my-plugins Verzeichnis in ihrer bbpress Installation auf dem Server und aktivieren sie die 3 plugins im bbpress admin.
29. Gehen sie in der Admin-Ansicht von bbpress auf ‘Eigenschaften’ und dann auf bpgroups und füllen sie die Felder richtig aus. Die Url zu ihrer wpmu Installation und der von ihnen festgelegte Forum User Name und das Passwort .
30. Speichern sie die Einstellungen und importieren sie ihre alten Gruppenforen und Mitglieder.
Für eine detaillierte Installationsanleitung lesen sie die beiliegende readme.txt Datei des Plugins. Es kann sein das sie einige Änderungen an ihrem bbpress template vornehmen müssen.
Geschafft! Jetzt sollte bbpress einigermaßen integriert sein.

Danke für die tollen Inhalte, ich komme immer wieder gerne hier her zum Lesen!