phpBB3 Integration Plug-in v0.12

Release Notes

* Elgg phpBB Integration PlugIn
*
* @package ElggPhpBB
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
* @author Sergio De Falco aka SGr33n <sgr33n@ircaserta.com>
* @link http://www.ircaserta.com/

-----

Hi People,

This my new phpBB Forum integration plugin for Elgg 1.2.

It make possible to use a phpBB forum in conjuction with Elgg.

It is at the beginning stage, it doesn't login automatically yet,
anyway if it is possible I'll do.

Read the installation guide and post your feedbacks on the plugin
page on http://community.elgg.org.

Feedbacks and ratings are really apreciated, the only thing
I ask in exchange :)

TO-DO
-----

- Requesting password reset doesn't affect phpbb
- Unique login
- Holding the phpbb session active during Elgg navigation
- Holding the phpbb session active during phpBB navigation
- Elgg Topbar on phpBB (to have notifies, check messages etc.)
- Widgets to show last posts and forum statistics on your profile page and your dashboard


INSTALLATION
-----

- phpBB

Install your phpBB in any directory on any domain (probably
in a future version I'll force to install it on the same directory
of Elgg, in order to deal with cookies).

Go on the phpBB administration panel and:

General > User registration settings > Account activation = Disable
Posting > Private message settings > Private messaging = no (you can
enable it if you want, but there is always the elgg messaging)
System > User Control Panel > Profile > Disable "Edit Profile" and
"Edit account settings"

- Elgg

Copy the phpbb_integration directory in your /mod and activate it.
On the same page, click on "more info" and insert your phpBB's
table prefix (sorry, now works just with phpbb_ prefix)

- Add-On

If you installed phpBB in some directory of your Elgg site, you
can replace your phpbb memberlist.php with the one provided in the
forum directory, in order to link phpBB usernames to their Elgg
profile Page.

IMPORTANT NOTE:

If you're upgrading from =< 0.11 lease run this query on your mysql server
selecting the elgg database:

UPDATE phpbb_users SET username_clean = LOWER(username);

Please test the draft of the user synchro tool and make me know if
does it work. It should show all unsynchronized users.
 

That's all :)

UPDATES
-----

phpBB Integration Plug-in 0.12
- Some fix
- memberlist.php for your phpBB forum
- a "draft" of the user synchro tool

phpBB Integration Plug-in 0.1
- First release


-----
Sergio De Falco aka SGr33n

www.ircaserta.com

  • @antifmradio
    This plugin is still being developed, the sync tool doesn't work yet.

  • dear SGr33n ,

    is ther a specified time to show the new release?

  • @antifmradio - the link to your forum will not show up with this plugin...

    this plugin merely creates accounts for new users on both the forum and the elgg database...so the users login details will be the same on both without them having to create two seperate accounts...

    i had to make my own plugin that simply displays "forum" in the tools menu...

    hope this helps...

  • Is this plugin still being developed?  I'm thinking of starting my own but don't want to re-invent the wheel if I don't have to.

  • Hi I am new to this elgg. And i installed this plugin in my site and tried sync the phpbb users. But nothing happens.

    Is this plugin works fine or still in development?

    If it is in development, when this will be ready to use?

    I am eagrly waiting for this.

    Thanks!.

  • can anyone upload the forum link to the tools menu plugin please :-)

     

    and would be possible to get the latest posts/threads shown in the river? also pfofile links should be redirected to elgg

     

    thx

  • anyone looking to add the forum link to the tools menu, i have just uploaded the very basic plugin that i made to do this.

    http://community.elgg.org/pg/plugins/chrishide87/read/100897/basic-link-plugin

    just edit the start.php file with the details of your forum/link.

    any news on syncing users yet?

    if anyone knows how to do this manually (without a plugin), let me know!

  • I'm getting an error message when I try and sync users:

    DatabaseException

    Table 'fre0906908533973.phpbb_users' doesn't exist QUERY: SELECT elgg_users_entity.guid, phpbb_users.user_id FROM elgg_entities LEFT JOIN elgg_users_entity ON (elgg_entities.guid = elgg_users_entity.guid) LEFT JOIN phpbb_users ON (LOWER(elgg_users_entity.username) = phpbb_users.username_clean) WHERE type = 'user' AND phpbb_users.user_id IS NULL

    Is this a PHPBB problem? This is a brand new install of PHPBB and the only user is the admin/me. I'm using ELGG version 1.5. Any ideas to what's wrong?

  • the sync tool doesn't work yet...

  • i had an similar error, when i had the phpbb inside an different database and the files not in the elgg directory

  • Sorry guys, I read that the sync tool doesn't work. But I am also getting that error message when I added another test user to the ELGG site. I'm sure the error is because the software is trying to "talk to one another." But what is the recommended cure? Do we deactivate PHPBB until the plugin is complete? Is the error affecting anything else?

  • Steven, can you explain that further?

     

  • Doesn't seem to work with the Site Access Mod enabled

  • are you upgrading from version 0.11? if so do the mysql mentioned in the description. 

    if this fails maybe try leaving the prefix at the default value..

  • Any update on this plugin? I'm in the process of setting up my own network and would like to include a Forum in it...

  • Okay, since I'm not seeing much additional work being done on this forum, I'm going to post a suggested solution from a high level point of view and, if it makes sense, I'll pursue it a little further.

    I come the world of Single Sign On and a common theme is to use a central repository for authentication and then pass session information from one app to another. So I'm wondering, does it make sense to set up Elgg and phpBB3 to authenticate against a LDAP repository, map the two user tables in the LDAP repository, and then use the CAS plugin installed in both Elgg and phpBB3 to allow the passing of authentication information from Elgg to phpBB?

    Your users could register through either Elgg or phpBB, though you could redirect both the registration and the login links to the Elgg locations if someone went directly to the phpBB resource.

    The end result is that the LDAP server is a centralized authentication source for both Elgg and phpBB3 (in essence, an Enterprise Authentication Server). Anyone wanting to use the phpBB in the future are automatically populated into the LDAP server, which is also the authentication source for Elgg. The CAS plugins allow for the passing of session information from one resource to another.

    3 components to the solution but it should work. The CAS plugin and the LDAP_auth plugin for Elgg can be found through the search. The CAS Plugin for the phpBB is athttp://www.phpbb.com/community/viewtopic.php?f=16&t=399977 . Install OpenLDAP as your repository and everything should work (at least in theory).

    Does this make sense? I'm going to try it out and I'll let everyone know how it goes ...

  • Turns out the phpBB plugin is more for provisioning (passing account information) from the Elgg repository to the phpBB repository. 

    The solution that I'm working on right now, based on the plugins that are available, is to set up a stand alone OpenID Server and then implement OpenID Client plugins in both Elgg and phpBB. The OpenID Server should detail what the trusted applications are so that Elgg and phpBB can pass login information to each other. Then, by redirecting the phpBB registration to the Elgg solution, all users are part of Elgg rather than distributed over both Elgg and phpBB.

    It looks promising so far...

  • I looked at a number of different OpenID server solutions and they all seem to be either alpha or beta in nature. There are two that seem to be the furthest along; communityid and simpleid. There are others but they seem to be more for single user rather than multiple users and I want multiple users using my elgg and phpBB installations. After trying to install the communityid server, I ran into a number of issues so rather than try to fix them, I backed out and then tried to do the install with simpleid. The simpleid install was much smoother (though not without it's hitches). One thing about the simpleid install is that the directions associated with the www folder are misleading. Make sure you choose the correct www folder for install.

    I now appear to have an OpenID Server up and running. Next step is to install the elgg OpenID client.

    Note: I'm wondering if I have to point users to the OpenID logon page or whether I can use the elgg logon. The question comes from a lack of understanding of the logon process. I'll try to figure it out tomorrow by looking at the OpenID standard/process...

  • Tried setting up the OpenID Client with my elgg test server and it worked fine. The problem is that the user has a choice of login in with either the Elgg credentials or the OpenID credentials. So if I want people to be able to access the phpBB forum, I will need to force people to login using OpenID - which is NOT what I want. I want to have a single sign on and then pass that credential to phpBB.

    Second issue is that the OpenID Client asks to specify the location of the user to login with http://<openID server location>/%s/ where the %s represents the identity of the user. Problem with that is that the SimpleID installation recommends that the location of the identity data be located in a NON web location whereas the OpenID Client is looking for a web accessible location. From a security point of view, the SimpleID configuration is more secure.

    So, if I want to use the OpenID solution with Elgg, I have a couple of decisions to make:

    1). Do I place the identity information in a web accessible location?

    2). Do I want to force users to login using the OpenID credential (which they could get from someone else) or do I want to give them an option of either or ...

    I'm not a big fan of either answer so I'll look at other options outside OpenID (see my next post)

  • So my options are as follows:

    - try to implement a CAS solution so that the phpBB forum trusts the elgg authentication (meets my requirement of using the Elgg authentication mechanism)

    - make my phpBB forum open to all without having to login (anonymous enabled). The Basic_Link plugin works fine to get from the Elgg site to another site). If I don't publish the phpBB forum information, then the only way users can find it is by going through the Elgg site and seeing the forum link in the header. This removes the SSO issue but there is a high probability that the forum will become available through other means and I wouldn't be able to manage the forum as easily as I would like.

    Based on those two options, I'd prefer a passing of credentials so I'm going to try the CAS Plugin based solution next.

    Just as an FYI, I tried Kevin's Vanilla plugin this morning and it works fine. This may be another solution to integrating a forum into Elgg except the Vanilla forum isn't as feature rich as phpBB.

  • Right. My problem is that I have an active community on PHPBB already and it would be too much of a hassle to start everything over again on Vanilla just because there isn't a working plugin for Phpbb yet. I consider my resolution to be easier than full integration (which would be nice but I can wait easily until that becomes available.) I mainly want the "sync users" function to work. I need the current user info to be transferred to Elgg so that users don't have to sign up again (its not a community that is expected to grow so just transferring the current members would be fine) There are several plugins that allow you to upload users, but phpbb passwords are encoded and therefore not so *simple* to upload as users.

    i.e the upload user plugins want a password in the form of "insertsomething123" instead of "$Ablahblah$blatidah814"

    I briefly tried just adding users directly into the database with the hash and salt thingies but they obviously don't use the same authentication and I'm *not* smart enough to figure it out, honestly. I'm clever but I realize my limits.

    In closing I really hope that this project or one like it is picked back up.

  • I've installed the Ldap_auth plugin in elgg and set up the Ldap authentication with the phpBB. Setting up the phpBB ldap authentication was fairly straight forward and is easily able to authenticate against the LDAP. I'm having a little trouble setting up the ldap_auth plugin with the elgg server in that I can't be sure if the authentication is going against the ldap or against the original database. I've noticed if you have bot the site access plugin and the default 'uservalidationbyemail' mod installed and enabled, there is a conflict and you get multiple emails and issues with the registration. So I'm wondering if I have to disable the ability to store new registrations in the MySQL database so that it is forced into the LDAP server. 

    If I can get the elgg to authenticate against the LDAP Server, then I have both phpBB and elgg authenticating against a common repository - that's half the job right there ...

  • Following with much anticipation.... some sort of sync would be awesome

Stats

  • Category: Third Party integrations
  • License: GNU General Public License (GPL) version 2
  • Updated: 2014-11-17
  • Downloads: 4659
  • Recommendations: 3

Other Projects

View SGr33n's plugins