smf+joomla 1.5

Started by Apllicmz, January 29, 2008, 11:33:42 PM

Previous topic - Next topic

Apllicmz

hello
where can finder bridge joomla1.5+smf114



Kindred

you can not. it does not, and will not exist...
Сл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."

erlend_sh

Ehm, not exactly:
Joomla!-thread
Creator's Site

Read down from here if you wanna read about the licensing issues they are discussing regarding SMF.

Orstio

#3
QuoteRead down from here if you wanna read about the licensing issues they are discussing regarding SMF.

QuoteThis is indeed a simple way of integrating the Joomla and SMF. However, you might run into problems by breaking the license of SMF. When you call a complete software from Joomla, you are in essence creating a new product and SMF strictly forbids this. This "include smf/index.php" was also done by the Joomla-SMF bridge that was withdrawn after legal consultation.

He's got that backwards.  Joomla's interpretation of the GPL forbids it because the SMF license is not compatible with the GPL.

The SMF license does not forbid connecting with GPL products.

erlend_sh

Still, a bridge created with the help of this Joomla! component would still abide the rules right? In other words, there can and most probably will be a bridge for SMF and Joomla!

Orstio

QuoteStill, a bridge created with the help of this Joomla! component would still abide the rules right?

Not if it is including SMF's index.php, no.  The person who did that was correct in saying that as long as he does not distribute it, it does not violate the interpretation of the GPL.

QuoteIn other words, there can and most probably will be a bridge for SMF and Joomla!

The JFusion concept is nothing new.  I suggest you do a search on Joomla for com_connector, which applied the same approach for Joomla 1.0.x.

my evil twin

Just a stupid question, as i'm not getting it...

In case i pay somebody to write such a bridge for me, and then not redistribute it but use it by myself, is this also violating the license?

Because i'm in need for such a solution.. i do not want to switch to a different cms or forum, but i'm willing to pay for a working bridge..

Thanks for your answer.

Orstio

QuoteIn case i pay somebody to write such a bridge for me, and then not redistribute it but use it by myself, is this also violating the license?

No, that is work for hire.  As long as there is no distribution, there is no violation.

Apllicmz




sid little

As far as I am aware the JFusions bridge does not touch SMF files.  The older bridges however did change smf core files.

There are also other new bridges for Joomla! 1.5 that basically do the same, ie - RokBridge buts thats for phpbb3.

Kindred

the official SMF bridge did not touch SMF files... nor did it touch joomla files.
the Joomlahacks bridge did... but that was not the bridge we supported here.

The problem with the bridge (as has been discussed ad infinitum) was that the license issues prevent a distribution of integration that USES any of the joomla functions or SMF functions together.

Personally, I think that the JFusion component is eventually going to hit the same point. After all, how do you wrap SMF in joomla without calling the mainframe function?  How do you sync users without... blah blah blah...

Сл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."

mariusvr

#11
Quote from: Kindred on January 30, 2008, 04:59:37 PM
Personally, I think that the JFusion component is eventually going to hit the same point. After all, how do you wrap SMF in joomla without calling the mainframe function?  How do you sync users without... blah blah blah...

Hi All,

I am the developer of JFusion and might be able to shed some light on the license compliance of JFusion. No SMF include or SMF require_once statements are used in JFusion and no changes are made to SMF at all.

JFusion does it magic through synchronising user data through standard SQL calls.This ensures that SMF users are automatically also Joomla users (with the same username/password). Wrapping is done using a html frame (no code is directly called), or SMF can run in a window without Joomla. We have put our model forward to the FSF and they have replied to us that they can not see any problems with JFusion and licensing. :)

JFusion is already working with SMF 1.1.4 However I would really appreciate if someone from the SMF community could assist with the further development of the JFusion SMF plugin.

Thanks,

Marius
JFusion developer
www.jfusion.org


Orstio

QuoteHowever I would really appreciate if someone from the SMF community could assist with the further development of the JFusion SMF plugin.

What do you need?

mariusvr

Thank you very much for your reply Orstio. I could imagine that after all your coding efforts and licensing problems you would not be able to hear the Joomla word  ;D

I would like for JFusion to generate a SMF cookie upon a Joomla user login. This way a user can be logged into both softwares when he/she logs into Joomla.  With the JFusion-vBulletin plugin, it was possible for Jfusion to generate a login cookie and vbulletin automatically created a new session cookie for the user. 

Would it be possible for JFusion to generate a SMF cookie and therefore implementing a dual login?

Thank you so much, Marius

Orstio

QuoteWould it be possible for JFusion to generate a SMF cookie and therefore implementing a dual login?

It won't be possible for JFusion to generate it, because you would need to either copy SMF code, which would vioalte the SMF license, or include SMF code, which would violate Joomla's interpretation of the GPL.

There are at least two ways around that, however.  I'm not sure if it fits into your plugin structure, but here it is anyway:

1)  (Not recommended, but already done by other integrations) You can submit the username and password to SMF's Login2 function via $_GET:

http://www.forumurl.com/index.php?action=login2&user=username&passwrd=password

2) You could populate a form upon the event of the JFusion login, and auto-submit the same information as above via $_POST.

mariusvr

On the SMF login page, the password is hashed with javascipt before it is posted to the SMF php login page. Do I need to apply password hashing to the password before submitting? If yes, would you have some sample code on how to do this?

Thanks, Marius

Orstio

#16
You can, but you don't have to.

If you submit the hash to Login2, you need to do it with the hash_passwrd instead of passwrd.

The hash can be created like this:

sha1(strtolower($user) . htmlspecialchars_decode(stripslashes($passwrd)))

erlend_sh

Why don't you two put up a channel at freenode already and speed up your conversation by about 500%? :P Not that I mind watching the progress of this topic, as I'm very eager to see how far you get, but I would like it even more if a lot more had been done with every new post made. Just a suggestion, maybe it doesn't work that well for you.

Still, I find myself wondering why SMF haven't got an IRC channel somewhere for general chat and support.

mariusvr

Quote from: Sadr on January 30, 2008, 08:26:30 PM<br />Why don't you two put up a channel at freenode already and speed up your conversation by about 500%?<img src="http://www.simplemachines.org/community/Smileys/simple/tongue.gif" border="0" alt="" title="" onresizestart="return false;" id="smiley_1_tongue.gif" />

That is a very polite way of telling us to get a room  8) However I don't use these channels at all sorry.

Thanks for the hash code Orstio. I would prefer to use this, as most people would not have setup SSL connections and I prefer not to post clear text passwords.

The problem is that JFusion only has access to the clear text password during Joomla's authentication process. Redirects during this process aren't really practical and I want to have multiple integrations in the future. I am looking into posting with PHP, extracting the cookies in the header and echo'ing these to the user. Similar to:

http://au2.php.net/file_get_contents [nofollow]

Will have the disadvantage of not being able to IP-block users (as the Joomla site is doing the submitting of username/password). But will have the advantage of not worrying about the many cookie settings (path, domain, login times, etc) and it is easier for other people to write something similar.

Thanks for the tips and I'll be testing out posting the username/password to SMF.

Marius




vdrover

If a bridge like joomlahacks is released and distributed under the GPL, I don't see the issue as long as all the code is GPL.

What i mean is that com_smf from joomlahacks is GPL. So there is no violation in distributing it.

If I download this GPL extension and then connect it to SMF (not GPL compatible), then again there is no license violation since I am not distributing the combined work. Even if you argue that due to the viral nature of the GPL, the combined work must all be GPL, this is moot unless distribution of the combined work occurs.

Am I missing something?

Orstio

QuoteWhat i mean is that com_smf from joomlahacks is GPL. So there is no violation in distributing it.

Incorrect.  Function calls are made to SMF, which is not GPL, and data structures are shared in both the bridge and SMF, so there is a violation.

QuoteIf I download this GPL extension and then connect it to SMF (not GPL compatible), then again there is no license violation since I am not distributing the combined work. Even if you argue that due to the viral nature of the GPL, the combined work must all be GPL, this is moot unless distribution of the combined work occurs.

Am I missing something?

Yes, you are.  It doesn't matter if it is together at the time of distribution.  The GPL explicitly states that if it is a combined work at runtime it must all be GPL.

Kindred

yes you are.
Please search for the threads in which this was discussed.
Connecting a nonGPL software with a GPL software, where they share data structures and functions (as com_smf does) is not allowed, according to the Joomla and FSF interpretation of the GPL.

Distributing the bridge creates a combined work because com_smf calls SMF-specific (non-GPL) functions and data structures.


Orstio beat me to it...
Сл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."

JoeP

#22
Quote from: Orstio on January 30, 2008, 07:22:20 PM
QuoteWould it be possible for JFusion to generate a SMF cookie and therefore implementing a dual login?

It won't be possible for JFusion to generate it, because you would need to either copy SMF code, which would vioalte the SMF license, or include SMF code, which would violate Joomla's interpretation of the GPL.

There are at least two ways around that, however.  I'm not sure if it fits into your plugin structure, but here it is anyway:

1)  (Not recommended, but already done by other integrations) You can submit the username and password to SMF's Login2 function via $_GET:

http://www.forumurl.com/index.php?action=login2&user=username&passwrd=password

2) You could populate a form upon the event of the JFusion login, and auto-submit the same information as above via $_POST.
I've been struggling with this for several hours now and have hit a bit of a stumbling block... After doing a little reading I figured out how to use CURL to do the login and get the cookie info into a text file on the server, but I cannot seem to be able to figure out how to serve up those cookies to the client.  I know I could use another CURL call to go back to the other page with the newly retrieved cookies, and then serve up the resulting content, but this still doesn't get the cookies onto the client if I'm not mistaken.
Any pointers would be much appreciated.
joe

Update:
Using a modified version of a code snippet from here http://svetlozar.net/page/free-code.html, I now have cookies in an array.  I think that using this to later set the cookies on the client will be fairly straightforward.

vdrover

Quote from: Orstio on January 31, 2008, 12:47:50 PM
It doesn't matter if it is together at the time of distribution.  The GPL explicitly states that if it is a combined work at runtime it must all be GPL.

I could not find this in the GPL or in the GPL FAQs. Do you have a specific quote?

vdrover

So I was doing some more reading. This is stated in the GPL:

QuoteA compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

And this follow-up from the GPL FAQs:
QuoteAn "aggregate" consists of a number of separate programs, distributed together on the same CD-ROM or other media. The GPL permits you to create and distribute an aggregate, even when the licenses of the other software are non-free or GPL-incompatible. The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that the each program's individual license would grant them.

These both deal with combined works. I don't see where it is illegal to combine a GPL app with a GPL-incompatibe app for my own personal use (i.e. i do not convey the aggregate). Please point this out to me :)

In reference to plugins, there is this from the FAQs (emphasis mine):

QuoteIf the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.

This is the bit the FSF uses for their justification of a derived work. Again, the key here is distribution. If I don't distribute com_smf with smf, what's the illegal part?

Kindred

if you distribute com_smf at all... (and com_smf only works with SMF and joomla as a combination), then you are in violation.

However, you can do anything you want for your PERSONAL use...
Сл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."

Orstio

While I see your point, vdrover, and agree with you, I will say again, as I have in the past, that should it come to the point of litigation, I would not be willing to go to court over what I do for a hobby.  It is fairly apparent that at least some of the people who disagree with your statement above would be willing eager to do just that.  I understand that there are people in this debacle who have their livelihood at stake, and I do sympathize with that.  But, I don't earn anything with the bridge -- I have nothing at stake, nothing to lose, nothing to gain by fighting against the interpretation of those who hold the copyright to that software.

Again, I would rather just pull the bridge, and suggest alternatives than risk going to court over a hobby.  For me, and the SM team, it is a fight not worth fighting when there are alternatives just as, if not more, viable and welcoming than that one.

This debate has been flogged to death several times here already.  No more need to bring back the dead.  This topic is locked.

Advertisement: