After much deliberation, I have decided to give Facebook Connect a shot on Snipe.Net. Those of you who read this site regularly may remember that I had quite a lot to say about using Facebook Connect last month, so it may seem odd that I’m making this decision. I’ll explain.
But… but you said….
It appears a few of my concerns from my previous article were addressed – at least in part. Unlike a month ago, it seems that Facebook has improved their security, so that if someone has their privacy locked down tightly, their name no longer appears on the site. When I tested with my own Facebook login, my picture was the default Facebook user icon and my name was listed as Facebook User. This is a big improvement in my eyes.
My main argument against using Facebook Connect on a site is using it as the only way to login, giving your users the choice of Facebook Connect, or not commenting. On Snipe.Net, we do not require a login of any kind, so this is less of an issue. If a user doesn’t want to use Facebook Connect but wants to comment, they are still free to do so. They can opt to use Facebook Connect if they want comment noted in their Facebook newsfeed. If they don’t, that’s fine too.
I am a firm believer in having specific goals for implementing new technology – not simply using it because it exists *cough*ajax*cough*. My goals here are simple – to encourage more Facebook users to visit the site. Generally speaking, regular readers of Snipe.Net tend to be of the somewhat geeky persuasion, with the exception of the random person who found the site by way of Google because they were having a specific problem that we’ve addressed here. Geeky people tend to have other geeky people as their friends – so this is an opportunity to share the joy and light that is Snipe.Net with more geeks.
It could be argued that most “real” geeks wouldn’t be caught dead on Facebook – but if that’s the case, no harm no foul. Nothing has been comprimised by adding it, even if nothing has been gained.
Making it happen
Making a website using Facebook Connect from scratch requires a little programming know-how. Making a WordPress blog Facebook Connect-enabled doesn’t, since there is a handy little plugin for it already. It appears the plugin is actually Facebook sanctioned, as the WordPress plugin documentation is available right from the Facebook developers wiki.
All you have to do is insert:[source=’php’]< ? php do_action('fbc_display_login_button') ?>[/source]
into your comments.php file. Couldn’t be easier.
As a simple example, the comments.php snippet would look something like this, noting that the new line of code appears outside the else/if loop that checks if the user is logged in:[source=’php’]<? php if ( $user_ID ) : ?>
<? php else : ?>
<? php endif; ?>
< ? php do_action('fbc_display_login_button') ?> [/source]
The installation was a breeze – and although I’m still testing things out, all I had to do was add a line of code to the comments file in my WordPress theme. I opted to be a little more creative with it, and stack the “normal” WordPress comment form next to the Facebook Connect prompt, so as not to make the comment form area any longer or more unwieldy than it already is.
D’oh! Something’s borked!
One gotcha – and I don’t know if this is a bug on my end, or a plugin conflict, or what yet – but after activating the Facebook Connect plugin, my edit post functionality in the admin seems to be borked. When I try to edit a specific post, the page stops loading after the:[source=’html’] [/source]
Still looking into this issue, and once I figure out what the cause is, I’ll update this post. As it stands now, I have to deactivate the plugin in order to edit posts, and then re-activate it. A pain in the ass, and if I don’t find a solution soon, my Facebook Connect experiment is going to go away real quick. I’ll start by disabling some of my admin plugins and see if that helps. More to come.
Update: I disabled the Fluency Admin plugin and everything seems to be working fine. Pity, I like that admin skin. But the improved admin in WordPress 2.7 is certainly usable enough. Problem solved.