FAQ: How to have a Seamless SMF + CB Integration
Posted: Fri Aug 25, 2006 7:46 pm
After experimenting with several options and visiting about half a dozen forums, I think I have finally discovered a workable integration between the Simple Machines Forum (SMF) and Community Builder (CB). Below you will find my notes on how I achieved this on my site www.girlscantwhat.com along with my suggestions on ways it could be improved in the future.
*** Before you attempt anything in this FAQ, please make appropriate backups! ***
Basics
I am running Joomla 1.0.10 and SMF 1.1 RC2.
SMF will need to be installed on the same database as Joomla. If you did not do this when you first setup SMF, use phpMyAdmin to export your SMF data and then import it into the Joomla db.
Download and install the latest version of the Community Builder component from Joomlapolis.com. I am using version 1.01. Configure it to your liking. In the configuration on the user profile tab....make sure that username is set to "no". You do not want your users to be able to change their username. This will hose up their login and links to their profile.
Bridge
You will need to uninstall any bridges you may already have in place. Download and install the latest bridge component from Joomlahacks.com. (At this time I am using version 1.1.4.2). Set up the bridge by following the instructions on the installation tab.
Next, click on the configuration tab. Change the following settings to integrate with CB:
Redirect SMF profile link to CB/CBE: Yes
Registration module to use: CB
Login module to use: JSMF
Save your settings
Login Module
Next you will need to install and publish the JSMF login module which can also be found at Joomlahacks.com. Configure it to your liking – it is highly customizable and there are a lot of options.
Private Messaging
I prefer to use the UDDEIM Component for private messaging because of it's integration with CB. To integrate this into CB, you will need to download and install the UDDEIM component. Again, configure it to your liking after installing it. I am using version 0.5b (build 4).
If you use UDDEIM, you will need to disable the PM functions in SMF. Go to SMF and login the admin area. Under “permissions” select the appropriate group and uncheck the boxes next to “read private messages” and “send private messages”. This will disable the private messaging and remove the links to the messaging system from the SMF menu and the login module.
You will also need to remove the “Private Message Options” link from showing up in the user's SMF profile. To do this, go into your SMF directory and open /Sources/Profile.php. Comment out this line:
You can also have PM links in SMF be rerouted to UDDEIM instead of SMF. I have not had a chance to add this hack yet, but it can be found here.
A Few Tweaks
I wanted a nice compact user “control Panel” of sorts so I setup my own little illusion. If you login on my site you will see the login module on the upper right side. Underneath it you will also see a link for private messages and a link for CB actions pending. These are just the UDDEIM module and the CB module stacked underneath the Login module. I just set the bottom two modules to not display the title so it makes them look as if they are part of the login module. I chose to keep the UDDEIM and CB modules vs. creating links in JSMF module because the UDDEIM and SMF modules will display a count when there are messages or actions pending. This illusion of one module instead of three happens to work with my custom template and my CSS, but will not work for everyone.
One potential glitch I discovered during my initial setup of this integration was finding a way to allow users to edit their forum profile while still having all username links to their profile reroute to CB. Normally, to change their forum profile, a user would click on the profile link from the SMF menu. However, that menu link now points to their CB profile. After some experimenting, I discovered a way to bypass the “rerouting” and get the user to their profile settings so they could change things like their signature and their board preferences. To handle this issue, I created a new link on my custom user menu (a menu module just below the login module that displays to registered users) that I named “Forum Preferences”. Its a simple Link-Url item that points to:
component/option,com_smf/Itemid,298/action,profile/
Now anytime a user sees the word “profile” on my site they will always end up in their CB profile. Only the “Forum Preferences” link points them to the SMF profile to make changes there. Any preferences/editing changes made in the SMF profile will show up in CB via the SMF plugins mentioned below.
Plugins
I have added several plugins to CB. There are 3 new ones that work with SMF. They don't seem to have a home yet, but the updated versions are being posted here (ironically, it was someone else's visit to my site that started that thread)
They are called:
SMF Info – shows basic info from SMF
SMF Profile – pulls in profile data.
SMF Posts – shows recent posts
To see all this in action, visit my site at www.girlscantwhat.com. You will have to register and login to see the CB profiles. My username is gretchen.
Comments
As far as I can tell, everything works smoothly between these components. I do have a suggestion for future development. I would eventually like to be able to make editing changes to the SMF profile fields from CB. Right now there is a link that sends the user to the SMF profile page to make the changes, so it is at least possible for the user to make the changes. It would just be more user friendly if it was uniform.
I have been over and over everything I can think of in testing this both with an admin account and a regular user account. If there is anything I missed, please let me know. I think this is by far the best combination I have seen for a community.
*** Before you attempt anything in this FAQ, please make appropriate backups! ***
Basics
I am running Joomla 1.0.10 and SMF 1.1 RC2.
SMF will need to be installed on the same database as Joomla. If you did not do this when you first setup SMF, use phpMyAdmin to export your SMF data and then import it into the Joomla db.
Download and install the latest version of the Community Builder component from Joomlapolis.com. I am using version 1.01. Configure it to your liking. In the configuration on the user profile tab....make sure that username is set to "no". You do not want your users to be able to change their username. This will hose up their login and links to their profile.
Bridge
You will need to uninstall any bridges you may already have in place. Download and install the latest bridge component from Joomlahacks.com. (At this time I am using version 1.1.4.2). Set up the bridge by following the instructions on the installation tab.
Next, click on the configuration tab. Change the following settings to integrate with CB:
Redirect SMF profile link to CB/CBE: Yes
Registration module to use: CB
Login module to use: JSMF
Save your settings
Login Module
Next you will need to install and publish the JSMF login module which can also be found at Joomlahacks.com. Configure it to your liking – it is highly customizable and there are a lot of options.
Private Messaging
I prefer to use the UDDEIM Component for private messaging because of it's integration with CB. To integrate this into CB, you will need to download and install the UDDEIM component. Again, configure it to your liking after installing it. I am using version 0.5b (build 4).
If you use UDDEIM, you will need to disable the PM functions in SMF. Go to SMF and login the admin area. Under “permissions” select the appropriate group and uncheck the boxes next to “read private messages” and “send private messages”. This will disable the private messaging and remove the links to the messaging system from the SMF menu and the login module.
You will also need to remove the “Private Message Options” link from showing up in the user's SMF profile. To do this, go into your SMF directory and open /Sources/Profile.php. Comment out this line:
Code: Select all
$context['profile_areas']['edit_profile']['areas']['pmprefs'] = '<a href="' . $scripturl . '?action=profile;u=' . $memID . ';sa=pmprefs">' . $txt['pmprefs'] . '</a>';
You can also have PM links in SMF be rerouted to UDDEIM instead of SMF. I have not had a chance to add this hack yet, but it can be found here.
A Few Tweaks
I wanted a nice compact user “control Panel” of sorts so I setup my own little illusion. If you login on my site you will see the login module on the upper right side. Underneath it you will also see a link for private messages and a link for CB actions pending. These are just the UDDEIM module and the CB module stacked underneath the Login module. I just set the bottom two modules to not display the title so it makes them look as if they are part of the login module. I chose to keep the UDDEIM and CB modules vs. creating links in JSMF module because the UDDEIM and SMF modules will display a count when there are messages or actions pending. This illusion of one module instead of three happens to work with my custom template and my CSS, but will not work for everyone.
One potential glitch I discovered during my initial setup of this integration was finding a way to allow users to edit their forum profile while still having all username links to their profile reroute to CB. Normally, to change their forum profile, a user would click on the profile link from the SMF menu. However, that menu link now points to their CB profile. After some experimenting, I discovered a way to bypass the “rerouting” and get the user to their profile settings so they could change things like their signature and their board preferences. To handle this issue, I created a new link on my custom user menu (a menu module just below the login module that displays to registered users) that I named “Forum Preferences”. Its a simple Link-Url item that points to:
component/option,com_smf/Itemid,298/action,profile/
Now anytime a user sees the word “profile” on my site they will always end up in their CB profile. Only the “Forum Preferences” link points them to the SMF profile to make changes there. Any preferences/editing changes made in the SMF profile will show up in CB via the SMF plugins mentioned below.
Plugins
I have added several plugins to CB. There are 3 new ones that work with SMF. They don't seem to have a home yet, but the updated versions are being posted here (ironically, it was someone else's visit to my site that started that thread)
They are called:
SMF Info – shows basic info from SMF
SMF Profile – pulls in profile data.
SMF Posts – shows recent posts
To see all this in action, visit my site at www.girlscantwhat.com. You will have to register and login to see the CB profiles. My username is gretchen.
Comments
As far as I can tell, everything works smoothly between these components. I do have a suggestion for future development. I would eventually like to be able to make editing changes to the SMF profile fields from CB. Right now there is a link that sends the user to the SMF profile page to make the changes, so it is at least possible for the user to make the changes. It would just be more user friendly if it was uniform.
I have been over and over everything I can think of in testing this both with an admin account and a regular user account. If there is anything I missed, please let me know. I think this is by far the best combination I have seen for a community.