My forum uses a fork of SMF (heavily modified by myself) that implements paid subscriptions along with some other features I needed (post moderation, improved notifications, a couple other things). I discovered Drupal some time after coding all this, and I'm adding this to my site. There have been a few obstacles to overcome:
(1) There are serious name collisions between SMF and Drupal. Since my copy of SMF is so heavily modified I'd never do a standard upgrade again anyway, I just changed the variable names on the SMF side. That took an hour or two and it's working fine now.
(2) I managed to integrate the two interfaces by making a custom SMF theme that uses frames. My regular navigation bar from SMF is on the left, and Drupal is the page content on the right. I coded the SMF navigation links to target _parent so it breaks out of the frame if a non-Drupal link is clicked. I made this look virtually identical to the other pages on my site by making a custom Drupal theme using straight PHP. I needed the flexibility of straight PHP, and that's easier for me that learning an engine. I use the SMF header and suppress the Drupal header. I used Drupal's primary links to duplicate the buttons across the top of each page on my site. The only way you can tell the frame version from the non-frame version is that the navigation bar for the frame version has a scroll bar.
(3)...
I'm on step three now - getting Drupal to accept SMF login for authentication. I imagine this will be fairly straightforward since Drupal has hooks for modifying how the login works, but I'm not familiar with this API and I haven't written Drupal mods before. Could someone point me to the correct modules to look at, and alert me to any potential problems I may not be aware of?
Thanks.
Comments
I'm curious if you've made
I'm curious if you've made any progress with getting SMF and Drupal to play together?
Thanks, Bryan
Drupal Blog (on WordPress) at:
Like that Idea
New SMF Site:
WebCMS Forum
smf integration
I am very interested of SMF integration as I think many user (because I use SMF for a long time and I think forum of drupal is very ... well, how to say, "less powerfull".
SMF is recognized as a very good forum and has api connections now from version 1RC2.
So if someone know coding it will be very helpfull for everyone.
AND I NEED IT!
Thanks
Alpha Drupal-SMF bridge
Was released today:
http://www.simplemachines.org/community/index.php?topic=71467.0
Looks pretty interesting, though I haven't got it to work yet :)
david
David Geilhufe
Social Source Foundation
Try CiviCRM http://www.civicrm.org/
Update!
Followings are more information with some updates:
All,
I'd like to present you my first SMF-Drupal bridge. The code can be downloaded from SourceForge at http://sourceforge.net/projects/embient . Since this is the alpha version, there is not much user documentation available. Anyway, there're some development documentation, generated by Doxygen here: http://embient.sourceforge.net.
I'm setting up the demo and issue tracker site for this project. Unfortunately, I'm being rushed with a lot of job at the few weeks. Therefore, I'd like to use this topic as the issue tracker for a while, until my own project site is ready.
Requirements:
-------------
* Drupal 4.7.0 Beta4
* SMF 1.1 RC2
* DOMIT! the DOM XML Parser (http://sourceforge.net/projects/domit-xmlparser)
Installation:
-----------
* Extract the file into a separated subdirectory (from your document root is an excellent choice).
* Extract the DOMIT into the "domit" directory under the directory you just created.
* Use the browser to call "http://install.php"
BoogieBug
-----
Update:
--------
I've found some bug in the installation script. The following is the work-around to fix it:
* File modules/embient.module - fix the path name to an absolute path to your embient installation (e.g., /home/public_html/embient)[/li][/list]
* SMF's Settings.php - fix the path name in the line of:
$integration = array( 'integrate_pre_include' => '[path]smf.php',Let the path point to your embient installation.
Another concern is the age of cookie and TimeZone in SMF setting. Misconfiguration of these 2 parameters may cause the cookie expire immediately and the login on SMF will not work.
Also, you may found that the module generate a lot of debug message, to disable the debug message, you can comment out all the lines with function "embient_debug()" in file embient.plugin.php.
I'll fix the installation script in the next version.
Cool!
Looks cool! Thank you for contributing your work. I have to try it but first I need to upgrade to SMF 1.1 rc2.
What exactly does it do? Shared registration, shared login and shared sessions? Does it use SMF as Drupal's login or the other way around?
I'd call it share cookie session.
I'd call it the cookie session sharing. For the database side, it make a direct inject into the database.
- When user create an account, the module injects the data to both system.
- When user change password or email, the module updates both database.
- When user login, it use the same cookie id to store the required information.
So, only the cookie session is shared.
has anyone instaled this
has anyone instaled this with a already installed active drupal and had success? I have tons of members on drupal and don't want it to crash or anything.
thanks
-Danny
Some notes with the version I downloaded
It requires that you install domit (a free xml parser) into the \embient\ directory. The install will fail if you dont, just google it and extract the file into your install directory before you upload. It used to say this in earlier versions, like the notes above this post, but the actual release doesnt mention it till you get the install error.
It doesnt say anywhere that you have to provide information to \embient\config.xml - dont forget to fill it out.
My installation did not install the embient.module into drupal which caused me a certain amount of trouble. You will see that the install.xml shows the contents of this file, so if you're missing it like i was you can just make a new file called "embient.module", and paste this in it:
Replace the path with your full path, if you get any errors with it try swapping the " " for ' '. Also if your using a Linux svr the slashes need to be the other way as in / not \.
That said, this project is very well programmed, you will see that the code is very clean, and abstracted well. The project appears to have expansion plans to support any number of bridges in a single unified plugin format. I will be interested to see how this progresses! Congratulations to the author of this, just one thing -- sort your website out, at least to the point of letting people post their own notices, as this is the only place I could find to share my experiences with other potetial users. ;)
Looks interesting
Looks like an interesting project I'd like to keep an eye on. Thanks for putting it together.
smf module and drupal 4.6.5
well I just take several days to install drupal 4.6.5 and lots of modules ... Does smf module could work with drupal 4.6.5 ?
4.6.5
I would also like to see it working with 4.6.5. This is very exciting news. I didn't know of this module until just now ;-)
I have a whole bunch of modules running and therefore I do not plan to update to 4.7 until it is stable.
Is there going to be a 4.6.5 version?
Andre
-------------------------------------------------
http://www.opentravelinfo.com
http://www.aguntherphotography.com
There's a chance
There's a chance to have 4.6.5 version. However, I cannot commit the schedule. Perhaps, after I can release current version. Anyway, I'll keep this in the wishlist.
Cool
Thanks. I checked out the demo and I was impressed. I was wondering if it would be possible to run SMF on a Drupal page (with a sidebar generated by Drupal)?
I think there are still much more people running on 4.6.5 anyways.
Andre
-------------------------------------------------
http://www.opentravelinfo.com
http://www.aguntherphotography.com
smf module and drupal 4.6.5
Thanks ! I will wait with great hope for that !
Modules and CivicSpace
I think a lot of people will delay updating to 4.7 until it is not only stable, but a lot of modules are updated. The new form API is breaking a lot of the old modules. Plus, even though CivicSpace is trying to keep up with the 4.7 release, all of the core modules that are part of that distro will have to be updated and working together before that group of installations can move beyone 4.6.5
Installed and works well.
As a pretty non-techie guy, I figured out how to get it installed and working. Works as advertised!
Great contribution.
David Geilhufe
Social Source Foundation
Try CiviCRM http://www.civicrm.org/
On 4.7 Beta 6?
You're talking about a successful install on 4.7 Beta 6, correct?
This ia going to be a very handy addition.
shared database required?
Were you using the same database for drupal and smf? More generally, does anyone know if embient currently requires SMF and Drupal to share the same database? I have them in different databases and based on the error messages generated, I think that may be why I'm having trouble getting embient it to work.
Solution found
In case it helps anyone, here is a description of a problem I had using embient and the solution I found.
The problem: I installed SMF and Drupal in separate databases, but used the same database username and password to connect to them. This caused both systems to fail after calling embient because the connection to the database was automatically set to the other database. Because, (quoting a comment in php.net):
As has been already commented, opening multiple connection handles with:
causes the connection ID/handle to be REUSED if the exact same parameters are passed in to it.
For example, if logging in to drupal, embient would be called to access the SMF database. This changed the connection to the SMF database, and upon return from the embient code, drupal would fail because it would be trying to access the drupal tables in the SMF database.
The Solution: Use different database users for the two systems. (i.e. have the SMS database user be different than the Drupal database user). This prevents the connection ID/handle from being reused.
I just tried it on a fresh
I just tried it on a fresh 4.7.0.b6.
I have installed it in xampp on my windows machine and everything seemed to work nicely until I went to admin/modules and got this error:
The embient.module reads:
which seems to be correct!
Is this a drupal problem?
Andre
-------------------------------------------------
http://www.opentravelinfo.com
http://www.aguntherphotography.com
Double quotes
Replacing the double quotes with single quotes got me past this error.
does this works with 4.7RC1 ?
Does this integrations works now for 4.7RC1 and does the login is common between smf and drupal (I mean once logged in SMF the same account is created or used in drupal) ?
Is it stable enough for large forum (50 000 topics) ?
thanks
It works with drupal 4.7.0 and smf 1.1rc2
I have done steps suggested by Jefft (Drupal: 4.7.0, SMF: 1.1rc2). But what I am experiencing is:
1. Almost every time I log into SMF, I will have one more error log in my "Maintanence" Panel in SMF "Admin":
2. When doing operations like reading posts or posting new posts or adding forums in Admin panel, either using admin or registered accounts, I accidentally get the following error messages showing on the top of the output page, but refreshing the page always fix the problem:
And at the same time a new error log in SMF reads:
Am I alone to this problem? Anyone knows a solutions to this?
Cannot modify header information
I have this error, too, besides some other issues (no access to administer -> modules ... blank page appears). See the post at SMF Board for more details.
I'm working on this now
Just thought I'd post to say that I've just downloaded Embient and got it working. The installer failed - due to lots of symlinks in my file system I think - but I was easily able to install by hand.... it essentially only involves modifying two files (modules/embient.module and (smf/Settings.php) with the code contained in install.xml.
I also had to manually modify the two paths mentioned in the install post above.
Further to that, in the file
smf.plugin.php, I had to move the functionembient_smf_parse_url(...)within the definition of the classEmbientSMFand make the references to it withinLogin()andLogout()methods on the object (i.e.$this->embient_smf_parse_url(...)). Forgive my lack of OO knowledge if I have used the wrong terminology anywhere here!!! I am using php5, so perhaps this explains it, but I was getting errors becauseembient_smf_parse_url()tries to reference$this->conf[boardurl]...which doesn't really make any sense unlessembient_smf_parse_url()is a method on an object!Ok... it's taken me about 3 hours... but I appear to have a bridge working between Drupal 4.7.3 and SMF 1.1RC3 now!
Y'a du neuf ?
Any news ?
Any update for the 5.0 beta?
Any update for the 5.0 beta?
see:
see: http://drupal.org/node/112116