S9y mit phpBB kombinieren

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Phobeus
Posts: 4
Joined: Thu May 25, 2006 9:12 am

S9y mit phpBB kombinieren

Post by Phobeus »

Hi,

ich bin ein wenig verwundert darüber, dass so etwas scheinbar selten gebraucht wird und teilweise sogar versucht wurde ein phpbb in S9y zu integrieren, anstatt genau den anderen Weg herum.

Ich betreibe eine größere Seite zu der ein phpbb-Forum gehört und wir qäulen uns aktuell mit einigen sehr alten selbstgeschrieben News-Skripten rum. Bei der Suche nach einem Ersatz hat sich S9y bei meiner Wunschwahl nach oben katapultiert und würde auch sofort eingesetzt werden, wenn ich den Besucher nicht aufbürden würde sich abermals registrieren zu müssen.

Ich suche also eine Möglichkeit, dass bei Kommentare in S9y der Nutzer mit der phpbb-Usertabelle authentifiziert wird und eine bestimmte Gruppe die Berechtigung hat in S9y etwas zu posten. Nahezu alle anderen Systeme, die wir im Einsatz haben, ermöglichen den Bau von solchen Brücken und es würde mich wirklich wundern, wenn es sowas nicht auch für S9y geben sollte und vermute, dass meine "Blindheit" bisher zu keinem Ergebnis geführt hat.

Bin dankbar für jeden Hinweis, der eine Authentifizierung von S9y bei phpbb ermöglichen könnte.

Gruß,
Florian
jhermanns
Site Admin
Posts: 378
Joined: Tue Apr 01, 2003 11:28 pm
Location: Berlin, Germany
Contact:

Post by jhermanns »

da könnte man ein brückenplugin machen :-)
Phobeus
Posts: 4
Joined: Thu May 25, 2006 9:12 am

Post by Phobeus »

*hust* ... ja, das schwebte mir auch im Sinn, wenngleich ich weiterhin hoffe, dass jemand dies bereits getan hat, da ich mit beiden Zielsystemen nicht perfekt vertraut bin.

Habe mich heute dennoch einmal dran gesetzt und versucht dies auf die trivialste Weise zu lösen. Add_User-Plugin genommen um Kommentare für nicht registrierte zu sperren und ein eigenes Plugin, dass beim "gen_page"-Event reagiert und dort die gewohnte Session-Initalisierung von phpbb macht und dann hoffentlich mit S9y gekoppelt bekommt. Theoretisch sollte dies klappen, scheitert aber kläglich daran, dass s9y "ANONYMOUS" als Sprach-Konstante definiert und damit das Sessionmanagement von phpbb aus dem Konzept bringt.

Dabei wäre dieser Weg ja theoretisch der Beste für den Besucher, da er sich nur ein einziges Mal an phpbb anmelden könnte und überall sonst ohne weitere Anmeldung loslegen könnte. Aber gut... vielleicht fällt ja doch noch ne Brücke vom Himmel.. ;)
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

Als Grundlage dafür würde ich Dir eher das "serendipity_event_externalauth" empfehlen, das gleicht z.B. bereits per LDAP ab. Das auf eine phpBB DB umzustellen müsste gehen.

NAtürlich hat man ein Proxy problem, denn die Nutzerinformationen werden gespiegelt in zwei Systemen gehalten. Du hast also eine Master und eine Slave Tabelle und musst darauf achten, diese immer richtig zu synchronisieren.

Z.B. wenn ein phpbb user gelöscht wird, müsstest du ihn auch in s9y löschen, und umgekehrt.

Das ganze ist leider nicht trivial, weil s9y die Benutzertabellen in einem gewissen Format als SQL Daten braucht, da kann man leider nicht einfach andere Tabellen in einem anderen Format "unterjubeln"...

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Phobeus
Posts: 4
Joined: Thu May 25, 2006 9:12 am

Post by Phobeus »

Ja, das Plugin habe ich mir auch bereits schon angesehen. Allerdings würde eine Slave/Master-Lösung komplett an unserer Zielsetzung vorbei schrammen - weitere redudante Lösungen im Userbereich sind für uns inakzeptabel.

Ich sehe daher nur zwei sinnvolle Lösungen.
1. Wie oben beschrieben. Der User muss sich am Forum anmelden und beim betreten der S9y-Seiten wird das phpbb-login durchgeführt und die dort ermittelten Daten als Login für S9y übertragen. Das klappt soweit ja schon recht gut mit einem dummy-Nutzer bzw. mit einer seperat getrennten phpbb-login. Beides zusammen scheitert an der doppelt verwendeten Konstante. Ich werde mal probieren diese in S9y zu deaktivieren, ob sich dieser Ansatz ansonsten ohne Probleme lösen kann. Wenn es klappt kriegen beide Projekte eine böse E-Mail, warum sie keine Prefixe für Ihre Konstanten verwenden ;)

2. Die Kommentare werden in S9y komplett ausgelagert. Einen Hook beim erzeugen eines Beitrages gibt es ja auch, so dass man vielleicht automatisch im Forum einen Thread erzeugen könnte und die Comments im Template dann auf dieses Forum verlinken können.

Ersteres gefällt mir weiterhin intuitiv besser, zweiteres sollte jedoch keine Probleme machen. Wie gesagt eine doppelte Führung der Nutzerdaten kommt für uns nicht in Frage. Ich bedanke mich dennoch herzlich für deine Antwort - und natürlich auch S9y. Es gibt nicht viel Software, an der ich soviel Integrationsbemühungen investiere ;)
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Post by garvinhicking »

Hi!

1. Diese so eingeloggten Benutzer werden dann jedoch nie eigenständige s9y Artikel verfassen können oder sich im s9y redaktionssystem anmelden können. Denn alle SQL Abfragen zum editieren und verfassen von Artikeln benutzen die "serendipity_authors" Tabelle mit JOINS. Aus diesem Grund ist es halt schwierig, einfach ein anderes User-Backend einzubinden. Master/Slave ist eigentlich die einzige Möglichkeit.

Mir wäre auch kein PHP CMS/Blog bekannt, was mit einer externen Benutzerdatenbank arbeiten könnte. Wenn Du da fündig wirst, wäre ich an dem technischen Ansatz sehr interessiert, und wie man dann eine CMS/Blog-eigene Rechteverwaltung aufsetzen kann, wenn die andere Datenbank wie phpBB zum Beispiel keine gruppenbasierten ACLs unterstütuzt.

Code: Select all

2. Die Kommentare werden in S9y komplett ausgelagert. Einen Hook beim erzeugen eines Beitrages gibt es ja auch, so dass man vielleicht automatisch im Forum einen Thread erzeugen könnte und die Comments im Template dann auf dieses Forum verlinken können.
Korrekt, wenn'S nur um Kommentare geht, wäre ein solcher Plugin-Ansatz noch am sinnvollsten. Dieser kann ja dann den Account anhand eines Logincookies dem phpBB Account zuordnen.

Wie Du es letztlich lösen wirst/willst, würde mich sehr interessieren, schreib also bitte mal. :-)

Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Phobeus
Posts: 4
Joined: Thu May 25, 2006 9:12 am

Post by Phobeus »

Hi,

die "perfekte Integration" in Punkt 1 mit User-Gruppen und solchen Dingen - installiert mit einem Klick - wäre auch nur die Lösung für den ich entsprechenden Entwickler im Vorgarten mit blossen Händen einen Tempel errichten würde. Eigene Artikel soll der "User" gar nicht verfassen können, da wir ein redaktionelles Team haben, dass entsprechende News verfaßt. Diese Useranzahl hielte sich durchaus in Grenzen und könnte auch manuell in S9y angelegt werden. Wichtig wäre halt nur die Kommentar-Funktion. Beim add_user-Plugin wird ja auch bei der Anmeldung scheinbar nur der Benutzername als Kommentar-Name vorgegeben. Verfrachtet man die beiden Felder als Hidden, so das der Anwender nicht plötzlich doch einen anderen Nutzernamen eingibt, hätten wir eine praktikabele Lösung.

Ich habe wenig Zeit und weiß nicht, wann ich dazu komme... aber ich werde definitiv am Ball bleiben und ggf. hier meinen Lösungsansatz anbieten. Im Zweifel wird es dann Richtung Punkt 2 gehen. Und ja... erstaunlicherweise gibt es nur sehr wenige Projekte in denen es gute Brücken gibt. Frage bloss nicht nach wieviele Zeit und Nerven es gekostet hat eine zwischen Mediawiki und phpbb zu schlagen ... ;)
laemmy
Regular
Posts: 40
Joined: Sun Nov 19, 2006 5:13 pm
Contact:

Re: S9y mit phpBB kombinieren

Post by laemmy »

Mir schwebt gerade was ähnliches vor - wobei ich mir nicht sicher bin, ob ich nicht doch lieber vbuelltin als Forensoftware verwende.

Meine Ausgangslage ist eine Serendipity Installation auf der eine handvoll User registriert sind, die jedoch überwiegen inaktiv sind.

Was dazu kommt ist, dass ich gern die fremde Software optisch möglichst nah integrieren möchte. Weil in meinem S9y-Theme natürlich alle Links und das komplette Menü untergebracht sind. Klar könnt ich auch irgendwie statisch nachbauen aber das ist auf dauer auch nicht ideal.

Eine Master/Slave Tabelle scheint mir wirklich die sinnvollste Lösung zu sein.
Some s9y projects
Post Reply