Was bedeutet WordPress-Integration

Wer über den Einsatz eines bbPress-Forums nachdenkt, ist sicherlich schon einmal über das Wort „WordPress-Integration“ gestolpert. Es ist ein Wort, das gewisse Erwartungen weckt; Erwartungen, dass ein Forum reibungslos innerhalb eines Blogs laufen könnte – sicherlich eine oft gewünschte Möglichkeit.

Das Wort weckt falsche Erwartungen. Es ist verhältnismäßig unglücklich gewählt und bedarf einer gewissen Klärung. Deshalb diese kleine FAQ, die hoffentlich vielen dabei helfen wird, ihre Entscheidung für oder gegen eine Integration vernünftig zu treffen.

Was ist die WordPress-Integration?

Es handelt sich um zwei Möglichkeiten, die in der Regel kombiniert werden:

  1. Die Benutzerdaten von WordPress und bbPress werden in nur einer Datenbanktabelle gespeichert. Dies geht einher mit der Abbildung von WordPress-Rollen auf Berechtigungen in bbPress.
  2. Die Anmelde-Cookies von WordPress und bbPress können geteilt werden. Wer an eine bbPress-Foren-Site angemeldet ist, ist an das zugehörige WordPress-Blog angemeldet und umgekehrt.

Darüber hinaus ist oft auch von der „deep integration“ die Rede. Hierbei werden nicht nur die Anmeldedaten geteilt, sondern auch die Funktionen des WordPress-Blogs geladen, damit sie innerhalb eines bbPress-Themes zur Verfügung stehen. Diese Konfiguration ist erheblich komplexer und für ungeübte Betreiber sehr schwierig, darüber hinaus führt sie sowohl zu einer Verlangsamung der Foren-Site als auch zu einer Verlangsamung des Blogs. Wegen der erhöhten Komplexität dieses Themas werde ich hier auf die „deep integration“ nicht weiter eingehen. Wer sie wirklich benötigt oder zu benötigen glaubt, wird aber relativ viel Information in englischer Sprache finden.

Brauche ich ein WordPress-Plugin für die Integration?

Ja. (Dank an infected für den Hinweis.)

Wenn eine Anmeldung an WordPress möglich sein soll, ist ein Plugin für WordPress erforderlich. Dieses setzt einige zusätzliche Cookies, die für bbPress erforderlich sind. Es handelt sich um das Plugin bbPress-Integration.

Übrigens: Das früher auf Seiten von bbPress erforderliche Plugin ist seit bbPress 0.9 nicht mehr erforderlich, weil diese Funktionalität in den Kern von bbPress aufgenommen wurde.

Kann ich ein integriertes bbPress innerhalb des Blogs betreiben?

Nein. (Jedenfalls nicht so einfach.)

Zwar ist es genau diese Möglichkeit, die vom Wortklang „Integration“ verheißen wird, aber sie ist eben nicht damit gemeint. Das Wort „Integration“ ist hier irreführend. Es meint nur die zwischen Blog und Foren-Site geteilte Benutzertabelle und die Möglichkeit einer gemeinsamen Anmeldung für beide Systeme. Die Systeme werden nicht im eigentlichen Sinne des Wortes integriert, sondern mehr aus Benutzersicht „zueinander kompatibel gemacht“. Das ist allerdings ein häufig wünschenswertes Merkmal.

Kann ich WordPress-Themes in einem integrierten bbPress benutzen?

Nein.

Es ist allerdings nicht schwierig, Foren-Site und Blog ähnlich oder gleich aussehen zu lassen, wenn man CSS, PHP und HTML kann. Das hier integrierte Forum bekam sein Design durch kleine Anpassungen am Standard-Theme Kakumei. Ich habe nur die Titelgestaltung geändert, einige Anpassungen im CSS vorgenommen und eine Handvoll Dateien für die Darstellung bestimmter Elemente leicht angepasst. Dieser Vorgang nahm nicht einmal eine Stunde Zeit in Anspruch, das grundlegende Design war ja schon in der Website (die übrigens ein WordPress-Blog ist) fertig.

Aus Benutzersicht entsteht der Eindruck eines integrierten Forums. Technisch sind es allerdings weiterhin zwei verschiedene Systeme, und wenn ich einmal das Design ändere, muss ich es in beiden Systemen anpassen.

Kann ich WordPress-Plugins benutzen?

Nein.

Welchen Sinn hat dann die WordPress-Integration in bbPress?

Die WordPress-Integration bildet die Benutzerdaten zweier Systeme in einer Datenbank ab. Das kann die Administration vereinfachen. Zum Beispiel lassen sich die Rollen in WordPress auf Rollen im bbPress-Forum abbilden, so dass Anwender, die Autorenrechte im Blog haben, automatisch zu Moderatoren im Forum werden. Bei Websites mit einigen Handvoll Benutzern kann durch solche Vereinfachungen der administrative Aufwand für die Benutzereinrichtung halbiert werden – und es kommt nicht zu Übertragungsfehlern bei der doppelten Eingabe der gleichen Daten.

Für den Benutzer mit Rechten im Blog und in der Foren-Site hat die Integration den Vorteil, dass Passwortänderungen erleichtert werden. Das Passwort wird nur einmal geändert und ist sofort in beiden Systemen gültig. Auch das trägt zur Vermeidung von Fehlern und damit verbundener Mehrarbeit bei, es ist außerdem ein Verhalten, wie es ein Anwender mit gutem Recht von einem modernen System erwarten kann.

Auch für das „einfache Forumsmitglied“ ergibt sich ein Vorteil. Ist der Benutzer am Forum angemeldet und will einen Beitrag im Blog kommentieren, so muss er dort nicht noch einmal seinen Nick, seine Mailadresse und seine Homepage angeben, sondern kann gleich mit dem Kommentieren beginnen. Wenn der Blogbetreiber sein WordPress so einrichtet, dass nur registrierte Benutzer kommentieren dürfen und gleichzeitig die Registrierung in WordPress abschaltet, steht die Kommentarmöglichkeit nur den registrierten Benutzern des Forums offen, was wohl manchmal so gewünscht ist.

Kurz zusammengefasst: Auch, wenn das Wort „Integration“ mehr verspricht als es hält, ist eine Website „aus einem Guss“ entstanden. In einigen Fällen mag das die zusätzliche Mühe wert sein, und in anderen nicht.

Funktioniert die Integration in WordPress-MU

Ja.

Da BuddyPress ein mit Plugins angepasstes WordPress-MU ist, sollte sie auch mit BuddyPress funktionieren. Mit beiden Systemen habe ich allerdings keine eigenen Erfahrungen sammeln können.

Was spricht gegen die Integration?

Die Installation mit WordPress-Integration ist erheblich komplexer als die einfache Installation von bbPress als eigenständig laufendes Forum. Der größte Teil der Fragen im englischsprachigen Support-Forum bezieht sich auf die Integration und die damit immer wieder einmal verbundenen Probleme.

Die WordPress-Integration kann ein Sicherheitsrisiko sein. Jeder registrierte Nutzer des Forums erhält auch minimale Rechte (Bearbeitung des Profils und Betrachtung der Startseite) im WordPress-Dashboard, und wenn eine künftige WordPress-Sicherheitslücke einen WordPress-Login erfordert, dann lässt sich diese Hürde vom Angreifer mit Leichtigkeit nehmen – er benötigt nur eine Wegwerf-Mailadresse und eine einfach durchzuführende Registrierung. Diesem Problem lässt sich nur durch weitere Maßnahmen auf Seiten der WordPress-Installation begegnen, etwa durch einen Zugriffsschutz auf das Verzeichnis wp-admin mit einer .htaccess-Datei.

Der Upgrade eines integrierten WordPress kann problematischer werden. Wenn sich in der kommenden WordPress-Version die Datenbankstruktur für die Benutzerdaten oder die Erzeugung der Anmelde-Cookies verändern sollte, ist die Integration zerstört. Die bbPress-Entwicklung vollzieht sich langsamer als die WordPress-Entwicklung, und es kann durchaus ein paar Wochen dauern, bis ein bbPress zur Verfügung steht, das zu einer neuen WordPress-Version kompatibel ist. Wenn dann auch noch ein Sicherheitsloch in der vorherigen WordPress-Version besteht und massenhaft ausgebeutet wird, hat man sich mit der Integration ein großes Problem geschaffen.

Abschließendes

In vielen Fällen ist die Integration durchaus die Mühe wert, aber wer darüber nachdenkt, sollte sich schon darüber bewusst sein, was sie leisten kann, was sie nicht leisten kann und welche langfristigen Probleme damit verbunden sein können.

Der gesprengte Bildschirm

Das Standard-Design Kakumei von bbPress 1.0.2 hat einen manchmal ärgerlichen Fehler. Wenn man zu den Foren relativ lange Beschreibungen verfasst – und das ist manchmal gewünscht oder sinnvoll – denn wird der gesamte Text in einer Zeile dargestellt, das Design „zerschossen“ und der Benutzer zum vertikalen Scrollen gezwungen:

Ein Screenshot des Problemes

Der Grund für diesen Darstellungsfehler ist, dass die Design-Entwickler der Meinung waren, dass diese Zeile nicht umbrechen soll.

Die Lösung ist relativ einfach. Sie kann „auf die Schnelle“ vorgenommen werden, oder aber auch sehr sauber und damit zukunftssicherer.

Zunächst die einfache Lösung:

  1. Die Datei bb-templates/kakumei/style.css im jeweiligen Lieblingseditor öffnen.
  2. Zur Zeile 561 springen. (Diese Angabe bezieht sich auf das gegenwärtig aktuelle bbPress in der Version 1.0.2.)
  3. Noch einmal vergewissern, ob in dieser Zeile der Text white-space: nowrap; steht.
  4. Die Zeile löschen und die geänderte Datei in die bbPress-Installation hochladen.

Danach wird das zuvor „zerschossene“ Forum eher wie beabsichtigt aussehen:

Ein Screenshot einer so gefixten bbPress-Version

Das Problem mit dieser Herangehensweise ist, dass es sich beim Theme Kakumei um einen Bestandteil von bbPress handelt, und dass die geänderte Datei deshalb leicht beim nächsten Update überschrieben werden kann, wenn die neue Version hochgeladen wird. Es ist sauberer und sicherer, die eigene Arbeit von den Kern-Dateien von bbPress zu trennen. Das ist gar nicht so schwierig:

  1. Im Verzeichnis my-templates ein Unterverzeichnis anlegen.
  2. In der style.css ebenfalls die Zeile 2 bearbeiten und den Namen des Themes ändern, zum Beispiel in „Kakumei Fixed“. So ist es einfacher, das Theme im der bbPress-Administration wiederzuerkennen.
  3. Diese bearbeitete style.css in das neu angelegte Unterverzeichnis hochladen.
  4. Das neue Theme – ja, so einfach ist es, ein Theme zu erstellen! – sollte jetzt in der bbPress-Administration ausgewählt werden können, und nachdem es ausgewählt wurde, ist das Darstellungsproblem erledigt.

Ich hoffe, dass es manchem hilft, der gerade nach einer Lösung für diesen ärgerlichen Fehler sucht.

Ein Dank für den Hinweis auf dieses Problem geht an believer.

Überarbeitung der Sprachdatei

Screenshot bbPress in DeutschDownload-Link: Überarbeitete Sprachdatei für bbPress 1.0.2

Nach einiger berechtigter Kritik an den Begrifflichkeiten, die ich in meiner bisherigen inoffiziellen deutschen Sprachdatei verwendetete, habe ich mich zu einer Überarbeitung entschlossen. Ursprünglich wollte ich diese mit der nächsten Release noch einmal vollständig sichten und dann veröffentlichen, aber inzwischen ist dieses Werk weit genug gediehen, dass es schlicht falsch wäre, es nicht schon jetzt zu publizieren.

Folgende Änderungen wurden in diese Überarbeitung aufgenommen:

  • Korrektur etlicher Rechtschreibfehler;
  • Angleichung der Begrifflichkeiten an die gegenwärtige deutsche Sprachdatei für WordPress, da diese beiden Systeme oft gemeinsam eingesetzt werden;
    • Aus der „Verwaltung“ wird eine „Administration“, in Navigationslinks abgekürzt zu „Admin“.
    • Aus der „Übersicht“ wird ein „Dashboard“, obwohl der Begriff unglücklich ist.
    • Aus dem „Erscheinungsbild“ wird ein „Design“, und die „Designs“ sind jetzt „Themes“.
    • Aus den „Erweiterungen“ werden „Plugins“, ein zwar unglückliches, aber im Computerbereich gut eingebürgertes Wort.
    • Viele weitere Begriffe sind, wo immer dies möglich war, an die Begriffe in der gegenwärtigen deutschen WordPress-Version angepasst worden, lediglich die zahlreichen Rechtschreibfehler aus dieser Version wurden nicht von mir übernommen.
  • Korrektur inkonsistenter Begrifflichkeiten, insbesondere bei der Eindeutschung des Installationsskriptes und im Zusammenhang mit der WordPress-Integration; und für viele vielleicht das Wichtigste:
  • Abkehr von bisherigen Übersetzungen und sprachliche Neuentscheidungen, die da wären:
    • Der „Depp“ wird ein „Troll“, aber das soll nicht heißen, dass Trolle keine Deppen wären;
    • die „Bretter“ werden zu „Foren“, was dem Sprachgebrauch in anderer Forensoftware entspricht;
    • die Gesamtheit der Foren (engl. „forums“) wird zu einer „Foren-Site“, was vielleicht unglücklich gewählt ist, aber weniger zu Missverständnissen als der Begriff „Bretter“ führen wird.

Gerade die letztere sprachliche Entscheidung war eine „schwere Geburt“. Das Wort „Website“ kann missverständlich sein, wenn ein bbPress im Rahmen einer größeren Website betrieben wird, deshalb das etwas gekünstelte „Foren-Site“. Bessere Vorschläge sind mir ebenso willkommen wie Hinweise auf verbliebene Rechtschreibfehler und missverständliche Ausdrucksweisen.

WordPress XSS-Hack bei integriertem bbPress

Der beim fiesen Admin beschriebene, aktuelle XSS-Hack für WordPress betrifft nicht nur WordPress-Blogs mit einer Benutzerregistrierung, sondern auch jedes WordPress mit einem integrierten bbPress-Forum, selbst wenn die Benutzerregistrierung im Blog abgeschaltet wurde.

Es handelt sich bei der bbPress-Integration ja gerade um die Möglichkeit, dass sich WordPress und bbPress eine gemeinsame Benutzerdatenbank teilen. Das hat nicht nur den angenehmen Effekt, dass ein in bbPress registrierter und angemeldeter Benutzer beim Kommentieren nicht mehr seine Daten beim Kommentieren eines Blogeintrages eingeben muss, sondern er erhält auch einen Zugriff auf das WordPress-Dashboard. Damit ist auch der beschriebene Hack möglich.

Angesichts der Tatsache, dass dieser Hack sehr einfach in seiner Durchführung und auch leicht mit einem Skript automatisierbar ist, und angesichts der Tatsache, dass es schon betroffene Blogs gibt, sollte bei jedem WordPress-Anwender, der eine Benutzerregistierung ermöglicht oder ein eingebettetes bbPress-Forum betreibt, die Alarmglocke unüberhörbar sein. Ein Upgrade auf die aktuelle WordPress-Version 2.8.4 ist dringend erforderlich.

Die Zukunft der Sprachdatei

Da ich in meiner deutschen Übersetzung einige eher ungewöhnliche Entscheidungen getroffen habe, überrascht es mich nicht, dass diese auch für weniger geeignet befunden werden – oder, was in meinen Augen noch schlimmer ist, Anwender verwirren können.

Die ausführlich begründete Kritik von Junior hier im bbPress-Forum hat mich davon überzeugt, dass diese Entscheidungen noch einmal bedacht sein wollen.

Als ich mit dem Projekt meiner eigenen Sprachdatei begann, handelte es sich um ein mehr persönliches Projekt, dass nur im Rahmen eines Künstlerforums seinen Einsatz in der „richtigen Welt“ fand. Dort mochte man sowohl die von mir gewählten Ausdrucksweisen als auch die Schlichtheit und Durchschaubarkeit von bbPress sehr gerne – vor allem, nachdem ich die gröbsten Fehler und Inkonsistenzen in der Übersetzung behoben hatte. Es handelt sich dabei aber auch um einen sehr speziellen Einsatzzweck, der nicht repräsentativ für die Mehrzahl der möglichen Einsatzfelder eines bbPress-Forums sein wird.

Da ich meine Übersetzung publiziere, damit sie auch für andere Menschen nützlich ist, nehme ich mir die gut begründete Kritik zu Herzen und betrachte sie als Ansporn zu einer Verbesserung. Es sind vor allem drei gewählte Begrifflichkeiten, die im Moment besser und doch treffend in die deutsche Sprache übertragen werden sollten, für jede habe ich ein Thema im Forum eröffnet:

  1. Sollte eher „Verwaltung“ (und damit eventuell auch „Verwalter“) oder „Administration“ (und damit eventuell auch „Administrator“) verwendet werden?
  2. Sollte eher „Depp“ (ein allgemeines Schimpfwort für einen mental weniger befähigten Zeitgenossen) oder „Troll“ (ein hübsches, altes und in der Forenkultur etabliertes Wort für einen Unruhestifter) verwendet werden?
  3. Der Begriff „Brett“ ist schließlich ein ganz besonderes sprachliches Problem

Ich werde sinnvolle Anregungen in die nächste Version der Sprachdatei einarbeiten und freue mich über jede Anregung, jede Kritik und natürlich auch über jedes Lob.

Das größte Problem ist „forums“, „forum“ und „thread“, was ich konsistent als „Forum“, „Brett“ und „Thema“ übertragen habe, um eine deutsche und klare Ausdrucksweise zu erzielen. Wenn ich die „Bretter“ zu „Foren“ mache (ein sprachliches Ungeheuer wie „Themenbereich“ will ich vermeiden), denn könnte ich die Gesamtheit der Foren als eine „Website“ übertragen – aber wenn ein bbPress nun ein Teil eines größeren Webprojektes ist (das wird häufig der Fall sein), denn ist dieser Begriff ebenfalls sehr verwirrend. Eine gute Ausdrucksweise, die allen Einsatzgebieten angemessen ist, will mir einfach nicht in den Sinn kommen.

Ich bin gespannt auf weitere Anregungen.

Wer noch eine fragwürdige Übersetzung findet, sollte keine Hemmungen haben, im entsprechenden (noch heißt es so) Brett ein neues Thema dafür zu eröffnen. Auch ich tendiere bei einem solchen Projekt zur „Betriebsblindheit“ und sehe manches Problem gar nicht. ;-)