Joomla / SMF / Community Builder Integration - Seeking Donations

Started by Gregorius, December 10, 2005, 08:39:29 PM

Previous topic - Next topic

rlhenson

Just a couple of points:

As a plug-in it would not be compatible with any bridge. A full plug-in includes both the bridge and the integration, that is the purpose of the plug-in.

As to having the same things in the profile as SMF. The whole purpose of CB is that it becomes the central point for the profile, the login, the registration and the integration. Most of the things that integrate with CB that also have profile links are pointed back to CB. Seems kind of silly to have 4 or 5 different profiles scattered all over the place, keep it all centralized.

CB is more than just a profile extender though. I see all the time people saying that they can do the same thing by just adding a few fields in a forum. The fields that can be added in CB are a lot more powerful. The field types currently supported are:


  • Checkbox (single)
  • Checkbox (multiple)
  • Date
  • Dropdown (Single Select)
  • Dropdown (Multi-Select)
  • Email Address
  • Editor Text Area
  • Text Area
  • Text Field
  • Radio Button
  • Web Address

Through the use of plug-ins the fields can be manipulated in many different ways. You can very easily create lists based on, sorted on, filtered on these different fields.

Another cool thing would be if everyone supported this as a central point for registration, login then all of the things that require login would be handled by this. In other words you could login through CB and you would simultaneously be also logged into Joomla/Mambo, SMF, your favorite picture gallery, Private Messages, Blogs, etc, etc. The sky is the limit.

It also has a nice registration work-flow, so if you want all emails validated that is done automatically. If you want to manually validate each registration then this is also available.

It also allows for connections to other users within your community. These connections can be set up where anyone can connect to anyone or you must get approval from the person you want to connect with. These connections can be private or public.

What I have listed above is just a small snippet of all the features of CB. I know that I have gone on a bit but I just get tired of people trying to say that CB is not really needed and can be replaced by extending something in a forum, nothing could be further from the truth. That is not to say that everyone will want or need it, but for those of us that do it can not be done with anything else currently available.

Just my 2 cents,

Rick
Rick

Gregorius

Thanks for the heads-up Rick...

Does anyone know the extent of the JoomlaBoard / Simpleboard integration with CB, and where SMF falls short of that level?

Kindred

So, essentially what you are asking for (Rick) is that the CB replace the SMF profile...   which works for some things, but not for all, since the SMF profile also handles the avatar, theme selection, usernames and passwords (among other things)

So, unless CB also can handle all the SMF fields, I think that the CB fields that also exist in the SMF profile need to be dupliucated in SMF, and CB can not be a full replacement...
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

geeffland

That should be workable.  I have not personally seen Orstio's bridge for Joomla but the Joomla hacks bidge did work nicely with CB before RC2.  Having peeked around at plugin code for other BBs with RC2 I can't imagine that it would be to difficult to make a SMF plugin.

The joomlahacks version merged the smf_users database with joomla's but it left the rest of the database tables alone.  As far as the fields you mentioned the only one that might need to be seperate would be the forum theme... since Joomla has its own theme.  The nice thing about CBs fields, if your interested, is that they are totally customizable... want a field for favorite sock color... just add it no coding required... no hack required... want to make it mandatory to register... then just select that option for that field... easy as can be with no worry about unpatching, updating, and repatching when a new version comes out.  Other than that Rick named quite a few so I won't repeat those again.

I had heard the Orstio's bridge was better than the Joomlahacks so I was interested in seeing his "in progress" version when it gets released.  (not rushing you here, or whining)

But after all of this negative feedback I need to know that it was out of being annoyed with the question.  If thats the case there are better ways to handle it then p-off the customers (even if its a free product).

chadness

Quote from: geeffland on December 16, 2005, 10:00:04 AMBut after all of this negative feedback I need to know that it was out of being annoyed with the question.  If thats the case there are better ways to handle it then p-off the customers (even if its a free product).
That's absolutely it, from what I can see.  And remember that the people being annoyed are just other end users like you. :)

Good luck on getting this going!

Kindred

geefland...

the problem with configuring CB to handle the avatars, etc is that those fields (form the SMF profile) are used throughout the SMF code...
So, essentially, what you are askign for (with a CB replacement for the SMF profile) is a complete re-write of SMF...

And, as far as I know, the joomlahacks version does not merge the user tables...  like Orstio's bridge, it copies the pertinent data from one table to the other.
Слaва
Украинi

Please do not PM, IM or Email me with support questions.  You will get better and faster responses in the support boards.  Thank you.

"Loki is not evil, although he is certainly not a force for good. Loki is... complicated."

chadness

[quote author=Kindred link=topic=60118.msg421596#msg421596 date=1134748605]
the problem with configuring CB to handle the avatars, etc is that those fields (form the SMF profile) are used throughout the SMF code...
So, essentially, what you are askign for (with a CB replacement for the SMF profile) is a complete re-write of SMF...

Could something be done like the bridge registration, where there is a seperate module or component that copies the makeAvatarChanges function?  You might run in to problems trying to get all of the settings like I do with the discussbot, but there's some possibilities.

Profile.php is huge - there would be a lot to duplicate if this route is taken.

QuoteAnd, as far as I know, the joomlahacks version does not merge the user tables...  like Orstio's bridge, it copies the pertinent data from one table to the other.
I think it has that ability, but I think what it usually does is register and login the users in both at the same time, like Orstio's does.  Just to make sure we're clear for geefland.

Orstio

QuoteThe joomlahacks version merged the smf_users database with joomla's but it left the rest of the database tables alone.

That's not at all what it did.  It accomplished migrating user data from Mambo to SMF by sending the data via the query string, which, first, I would never recommend (unencrypted passwords should NEVER be sent via query string), and second, won't even be possible in SMF 1.1 RC2, because the login form does not accept input via $_GET because of an annoying little XSS issue.  So, that method is neither recommended (for security reasons), nor will it work in future versions of SMF.

I have talked with Cowboy about the query string issue, and I believe he has a better solution for the latest versions.

geeffland

I stand corrected.  I re-looked at the databases and you are correct  there still is a smf_members table.

Thanks to both Orstio and Kindred for positive responses this time.

Orstio I am interested in your comment about passing password thru query strings.  I assume they are MD5 before transfer (assuming Joomla and SMF both use MD5).  What is your feel for security of that versus when users register (using Joomla's scheme)... it passes username and password through the post parameters... I tried to verify whether SMF did that as well... Don't see the same stuff... is it doing a quick redirect or do you have some other magic method for logging in and registering that bypasses post parameters?

Also Kindred don't worry I would never ask to rewrite SMF just to fit in with a component.

Do either of you two have a high level map of what should take place during the following events (assuming it is not a SMF trade secret and you would be willing to share it)
1) User Registration and approvals
2) Starting sessions (user logging in)
3) Ending Sessions
4) Blocking or deleting users

(would save time digging through the code)

CB RC2 has some nice events that happen before, during, or after most of those events that would be nice to connect them together at that phase.  The database tables could remain seperate with the plugin handling synchronization of the tables.

I have read about the SSI that SMF includes... Could you gentlemen point in the direction of a good example of how that could be used to help synchronize from the SMF side as well?

Orstio

QuoteOrstio I am interested in your comment about passing password thru query strings.  I assume they are MD5 before transfer (assuming Joomla and SMF both use MD5).  What is your feel for security of that versus when users register (using Joomla's scheme)... it passes username and password through the post parameters... I tried to verify whether SMF did that as well... Don't see the same stuff... is it doing a quick redirect or do you have some other magic method for logging in and registering that bypasses post parameters?

$_POST is more secure than query strings.  Query strings are visible to anyone who can see HTTP_REFERER, so if a password happens to be in a query string, and one clicks on a link, it shows up in the referral link.  Instead of using $_POST and $GET and trying to code by remembering which method is used where, you'll find that $_REQUEST is used, which is basically just $_POST + $_GET.

SMF 1.0.x uses a salted MD5, and SMF 1.1 uses SHA1 encryption, so neither of them is the same as Joomla's.  Fortunately, the MD5 can be passed to SMF, and SMF will return a message to the user "Password security has recently been upgraded, please try again".

QuoteDo either of you two have a high level map of what should take place during the following events (assuming it is not a SMF trade secret and you would be willing to share it)
1) User Registration and approvals
2) Starting sessions (user logging in)
3) Ending Sessions
4) Blocking or deleting users

Doing these from a CB plugin is probably best to do in a similar fashion to what I've done with the bridge, except the opposite.  The bridge uses SMF's integration hooks to write data directly to the Joomla database, instead of using Joomla's native functions, because some of those functions have redirect calls as they end.  You'll probably need your CB extension to write information to the SMF database, and return to CB, rather than ending in some SMF redirect, so you'll want to write your own function to do that rather than using a native SMF function.

As far as the registration is concerned, it will probably be the easiest part.  See my post here:

http://www.simplemachines.org/community/index.php?topic=48220.0

SMF sessions are easy, and they are started upon a call to SSI.php.  The cookies are set/unset with a function in Subs-Auth.php called setLoginCookie():

Quotevoid setLoginCookie(int cookie_length, int ID_MEMBER, string password = '')
      - sets the SMF-style login cookie and session based on the ID_MEMBER
        and password passed.
      - password should be already encrypted with the cookie salt.
      - logs the user out if ID_MEMBER is zero.
      - sets the cookie and session to last the number of seconds specified
        by cookie_length.
      - when logging out, if the globalCookies setting is enabled, attempts
        to clear the subdomain's cookie too.

Blocking and deleting users, again, should be handled directly in the database, rather than trying to use SMF native functions.

kawika

I'm one of the developers from the Joomla forums working on integrating Joomla, Virtuemart, CB, Docman, JACLPlus, and someday SMF to create multi-tiered membership sites. Joomlahacks SMF Bridge breaks Virtuemart and JACLPlus in that environment so we're not close to including SMF much less integration it with CB.

The membership system thread is here: hxxp:forum.joomla.org/index.php/topic,1111.msg145886.html#msg145886 [nonactive]

The integration information site is here: hxxp:www.joomlapalooza.com [nonactive].
Kawika Ohumukini
hxxp:www.joomlapalooza.com [nonactive] - Joomla solutions

rlhenson

kawika,

Thats great info. Please keep us informed and if you have any kind of a timeline that would be awesome. You might want to drop us a note over at Jommlapolis as well.

Thanks
Rick

geeffland

Orstio,

Thanks for that last post.  I see how the login cookies (and assumed database session) are started and I think the example you have for createuser should be good enough to dig into and figure out... but on the sessions  I am still a little unclear...

Looks like you do the setLoginCookie to get a session variable and cookie.  This function appears to do no validation.

What about the login2 and LogOut functions... login2 appears to have a redirect in it which I assume is what you were referring to earlier about not using SMFs built in functions...

Anyway you can probably tell I am chasing my tail on the sessions part...

Aravot

What happend to this donation thingy or finding developer?

geeffland

I have this on my "to do" list but there are many things in front of it at the moment (no donation required)... Might be a while if you wait on me...  If someone else wants to start I can share info about how to make the plugin work.  As discussed earlier in the thread (if I remember correctly)... I was a tester for a CB plugin for another bb... well that got turned around as the original developer got buried... so I am the lead developer and he is the co-developer...  Once it is completed... and the other things on my plate clear off, I plan on making another version of that plugin that works with SMF... Works pretty good with the other bb at the moment and we are working on import/export for current users...new registrations, updates, and deletes are working in current beta, along with starting and ending sessions

Hope this helps,
Greg

Advertisement: