Currently there are 3 (big) Facebook integration modules for Drupal: fb, fbconnect and fboauth. Fb module does a rather different thing: Facebook apps. It leaves fbconnect and fboauth in the battle.

I only found fboauth after I digged in fbconnect issue queue. It looks like that fboauth is lighter, cleaner and it uses Drupal native functions instead of the official Facebook PHP SDK (I don't know if it is an advantage or an inconvenient). I raise this question to know that if we should support both modules or not. There are a few choices so that we won't waste our time:

- Deprecate fbconnect, migrate the stream_publish and invite submodules as fboauth submodules (by submodule, it could be on independant projects).
- Deprecate fboauth, make fbconnect more extensible.
- Keep both developed, make some lines between them.

Let's discuss.

Comments

Priority:Normal» Critical

Thanks for the link. I just tried fboauth and have to admit that I do like its simplicity. In a perfect world, I want fboauth's simple login & fbconnect's invite & stream_publish, but I'll provide more feedback after testing both modules out extensively.

Fboauth seems to do the job for logging in, but it has some issues with authentication token renewal, so after 15 minutes of logging in it would need to renew the authentication somehow. #1440758: How does the module handle if an access token expires?

Fbconnect is important since with it you get access to the javascript sdk and I think it detects better if your fb session expires.

since fbml is being deprecated and facebook focuses on javascript I think the fb module wont be necessary in the long run. Facebook seems to be pushing the javascript sdk the most and iframe apps.

Having used both modules extensively, here is my feedback so far:

I say go for (#3 maybe for now and) #1 (eventually). If people just need the login function, they can use fboauth (which works flawlessly). If they need more, they can use fbconnect. I will probably use fboauth for now, as I needed this module like yesterday for my music startup. Then if I see fbconnect launch a stable version, I can always switch later (or better yet, use #1 like you said with the submodules and keep using fboauth). Here's the problem with fbconnect so far:

A) Friends Invite & Stream Publish features don't work. I will see what other members have posted and reply wherever more relevant, but with repeated tests that I have done so far, they won't work at all.

For example, I have two accounts at Facebook. When I create a test account at my own website using one of the Facebook accounts, I can't see from my second Facebook account that my first account created the test account. I don't see anything in the stream whatsoever.

Then using my test account, I am able to send an invite to any of my Facebook friends and was delighted. But after sending an invite (to my second Facebook account), I don't actually get the invitation (neither in my Facebook messages nor my Facebook email).

B) Libraries dependency. I'm not the most technical person, but from what I've read so far, it seems that fbconnect has issues every time Facebook updates their API. Whenever that happens, it seems that fbconnect and/or libraries need updates. It shouldn't be this way (I hope I confused this with something else and that I'm wrong).

C) It works, but it's buggy as hell. Of the three major features (login, invite & stream), fboauth does login perfectly (I did not have problems with authentication token renewal so far). It might be better use of your time to focus on #1 and build fboauth submodules for invite & stream instead of trying to get rid of bugs for fbconnect login (which is redundant).

From a desperate user's point of view, I absolutely need all three features and will gladly provide more feedback as I'd love to see this project done.

If fboauth used the Facebook SDK, I'll go with it (#1) without hesitation. If we use the correct version, there is not any problem. It makes life easier, as giorgio79 pointed out.

I could spend time (as I'd planned) fixing fbconnect, those bugs are not extremely hard to fix, so "buggy" does not really weight. But only if the module worths fixing.

Well if fboauth ain't the best solution, then please fix fbconnect. I needed this module yesterday, so yes it's very important to me and absolutely worth fixing. I'm currently testing a working prototype of my music startup and want to launch an alpha version this month, so I will gladly use this module and help promote it. From a seriously interested user's point of view, here is an initial list of what needs to be fixed first before anything else, in order of importance(tested using Google Chrome):

1) Login feature (which finally works, yay!) needs to be bug-free first and also simple (meaning less clicks). For example, fboauth is just one click, or sometimes two. One, click the "f Connect" button. Two, click the typical Facebook "Accept" button that's actually not a popup but embedded (I don't have a preference) into the screen (sometimes I get this screen and other times not). Then I get a "Welcome to MyWebsite. Basic information has been imported from Facebook into your account. You may want to edit your account to confirm the details and set a password." message with a link to my new account. That's it. This is how it should be (I have it set up so that new users don't even have to validate their emails).

a) Initially, I see the "Sign in using Facebook" with "f Connect" button in the User login block. After I click on the button, now I see the "Sign in using Facebook Hello Jay Lee Login to this site using your Facebook credentials." with "f Login" button. This is the first problem and needs to disappear. It should be just one click, not two. Anyway, then the familiar Facebook popup window with the "Accept" button sometimes pops up and I have to press it. Other times it pops up for a split second and then automatically disappears. This is similar to fboauth so I guess it's a Facebook thing and thus no need to worry about for now.

b) The next screen is http://mywebsite.com/fbconnect/register/create, the account registration page. This is the second problem and needs to disappear. The account should automatically be created, just like fboauth. If this screen can be bypassed, it also automatically takes care of the next problem, which happens after I click the "Create new account" button (I get an "Access denied" error). By this time, the new account has already been created, but the user experience has already been ruined.

2) Change "f Connect" button to "f Log In" for anonymous users. This is how it should've always been from day one (but I think Facebook came up with this idea not too long ago so just needs to be implemented) and is explained more in #6 of http://drupal.org/node/1334630.

3) Friends Invite & Stream Publish features (explained in my #4 post) need to work (fix whatever is easier first).

There are more bugs, but the above is the current deal breaker for me. You are a hero if you can get these fixed first. I wish I can help with coding, but I am still a Drupal newbie so the best I can do is provide as much feedback as possible. I will also ask my front-end designer to give additional feedback as well (he's a very good UX guy). We'll do this as long as needed. Thanks in advance for all your hard work.

Just wanted to further complicate things to point out that drupal.org/project/fb does indeed support authentication, of the three options (I've used them all) it probably supports the widest range of features (stream will be landing there soon as well) and it by far has the longest most consistent development history.

If your needs are simple, best to go with fboauth, as requirements get more complicated look at the other two modules.

Fbconnect was originally created by someone that wasn't happy with how complicated the setup was for for fb, which seems to be the original goal for fboauth as well. Fbconnect seems to have grown far outside of the simple use case implied by its name, and of the 3 options its the one I have a hardest time envisioning a future for. I get the impression that quicksketch doesn't want to see the use case for fboauth mushroom so that is not as likely to happen there.

See http://drupal.org/node/1103958 for more details about fb module duplication etc. I learned a lot through that exchange.

Would anyone be up for turning all this information into a comparison chart? I know we're not the only ones asking these questions, and I'm pretty sure there are some other less well known facebook modules hiding out there as well.

http://groups.drupal.org/similar-module-review

Status:Active» Fixed

@mrf thanks for the link to the application. I think then I'll continue to commit to this project.

jscisio one thing worth considering would be to use the same authmap as fb module does so the modules could be used interchangeably or even side by side...

Recommended it for fboauth as well #1472684: Mimic / Share / Reuse Drupal for Facebook auth table to increase compatibility I checked their authamps and the tables are only called differently but have almost the same structure.

Posted http://groups.drupal.org/node/215918 would love some help updating that.

jcisio, one more idea.

http://drupal.org/project/fb also has an fbconnect module. Perhaps it would be a good idea if you and Dave Cohen have a chat whether he would deprecate his fb connect in favor of this one.

Status:Fixed» Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.

Tim.plunkett pointed me to http://grasmash.com/article/connecting-facebook-drupal-easy-way

To clarify:
- I always think use Facebook SDK is better than implement the API ourself and have to keep up with it. Two points: stability and code reuse.
- I planned to use Facebook in a product and started some work with it. However, there are now more priorities and the Facebook integration part has been stopped. I don't work on this module at the moment.

We are holding an Abstracting Social Networking functionality in Drupal sprint at Drupal Developer Days Barcelona 2012 where we will be tackling issues such as this. There's also a competition to win a free ticket to the whole event.

If you can't make physically you can join us on the Abstracting Social Networking functionality in Drupal wiki page.

Having used both now I think we should concentrate on fboauth - it just works whereas fbconnect will give you grey hair. The only advantage of fbconnect is that it sometimes manages stream / all post but that is usually blocked by the popup blockers.

Fboauth is the quick elegant solution and stream post can be added to it.