WPBook.net has been moved to a new server. We anticipate this move to vastly improve the performance of this site. As always, let us know if you see anything strange on the site.
By John Eckman on June 19, 2012
As someone who’s put a lot of work into two WordPress Facebook integration plugins (WPBook and WPBook Lite) over the last several years, I have to confess I had mixed emotions about the launch. On the one hand, it felt a bit like the proverbial 800lb gorilla had just sat on my head: how could we (I’m the lead developer but by no means the only contributor) compete with the combined development teams of Facebook and Automattic? Did they just make the plugins I’ve worked on redundant, or unnecessary?
On the other hand, I’ll admit, I felt a bit of relief. Supporting a plugin like WPBook or its simpler cousin WPBook Lite is no easy task. There are many complex variations in how people have configured WordPress, there are many possible ways to configure a Facebook application, and both keep changing all the time. Just keeping up with the Facebook roadmap and the constant changes to their settings interface is a challenge. Combine that with sometimes less-than-grateful users and a full-time job (not to mention a life outside web development), and it’s quite tempting to just declare the WPBooks closed and move on.
I think, however, there’s still a need (at least for now) for WPBook and WPBook Lite.
- WPBook provides a Canvas Page view of the blog as an application inside Facebook, as well as a Page Tab view. The new Facebook plugin for WordPress doesn’t do this (so far as I could see).
- WPBook and WPBook Lite both import comments from Facebook into WordPress, when those comments are made in response to an excerpt cross-posted to Facebook by the plugin. I don’t believe the new Facebook plugin does this either
The new Facebook plugin also, of course, does things WPBook and WPBook Lite do not do:
- Enable mentions of friends and pages in the updates posted to Facebook
- Enable different messages on personal profile than on page for cross-posting
- Provide numerous Facebook widgets (activity, recommendations, like buttons) to the WordPress blog
- Provide Facebook Open Graph metadata to WordPress blog
- Enable use of Facebook Comments in WordPress
Screenshot of options for the new Facebook plugin
With the exception of the first two items in this list (mention of friends and pages, separate messages for cross-posting), I’ve generally taken the approach that other plugins can do these other things, and keep the core of WPBook lighter – but then that does raise complications with conflicting Facebook libraries and such. I can see the appeal of an “all in one” type solution.
It also seems (from looking through the code) that they’ve taken the approach of storing the access token per user, so different users could be cross-posting to different profiles and pages. I’m not sure if I prefer that or not, though I can see how a multiuser blog could want all authors to be able to post to one page but preserve their individual profiles.
Finally, it seems they are one step ahead of me on the transition to removing “offline_access” – they automatically renew access tokens in the background, so that they never need to expire and alert the user. That’s a great approach and one I’ll
steal leverage in the next release of WPBook and WPBook Lite.
I’d love to hear from current, former, or prospective users of WPBook, WPBook Lite, and WordBooker, Steve Atty’s plugin which also does comment importing (and has a great many other interesting options) but uses one centralized Facebook application to simplify setup. (Honestly that’s what I expected Automattic and Facebook to do as well, but they still ask each user to set up a Facebook app).
What do you all think of the new competitive landscape? Does the entry of Facebook and Automattic change your decision about which plugin(s) to use?
By John Eckman on May 19, 2012
Facebook’s developer roadmap is always changing. The latest change that impacts WPBook and WPBook Lite is the removal of the “offline_access” permission, coming in July:
The offline_access permission is deprecated and will be removed July 5, 2012. Until then, you can turn this change on or off using the “Remove offline_access permission” migration. On May 2, 2012, we will automatically turn the migration to “enabled” for all apps. If this breaks your app, you can turn the migration back to “disabled” until July 5, 2012 when it will be permanently “enabled” for all apps.
If that wasn’t confusing enough, check out the “Removal of offline access permission” page, which explains that:
While we are removing the use of the offline_access permission, through a migration setting in the Developer App, we are now allowing the option to use access_tokens with a long-lived expiration time that can be renewed each time the user revists your app (see exceptions below). For existing apps that are not using the offline_access permission, there are no changes required for your app, but you should consider using the new endpoint that allows the longer expiration time.
To translate a bit and summarize:
- On May 2nd, 2012, Facebook changed the setting for all existing apps so that the “remove offline_access” permission was enabled – but allowed users to change it back to disabled if this broke their applications
- As of July 5th 2012, the offline_access permission will disappear forever for everyone
- At some other point (I don’t know when) Facebook changed the migration’s name from “remove offline_access” to “deprecate offline_access” and linked the setting to these “long-lived” tokens
Ultimately, as I read the docs, this means you have to make a choice: you can either keep “deprecate offline_access” disabled, and use offline_access tokens, OR you can set “deprecate offline_access” enabled, and use “long-lived” tokens.
Long Lived tokens live for two months (60 days) and then the user has to re-authorize the application to get a new long-lived token.
I’ve updated WPBook (2.5.2) and WPBook Lite (1.4) to work with long-lived tokens. The apps will no longer ask for offline_access, and will check for token validity, flagging in the admin when a token is invalid.
If you already have a Facebook application set up and working with either WPBook or WPBook lite, you don’t need to do anything. Your tokens, which were granted under the old “offline access” regime, will keep working, for now. Per Facebook:
After the offline_access removal date, currently set for 7/5/2012 (see roadmap for exact date), all existing offline_access access_tokens will have their expiration time truncated to 60 days. This truncation will be transparent to the user and your app will continue functioning normally; Facebook will send an updated message through the weekly developer round-up when this truncation will occur.
If you don’t yet have a Facebook application, and are setting up a new one, you should start with “deprecate offline_access” enabled, and WPBook / WPBook Lite will be fine, but you will need to re-authenticate every 60 days.
Ultimately everyone will end up having to re-authenticate every 60 days.
These implementations are just the first pass to ensure that WPBook and WPBook Lite keep working. Next step will be to actually store the expiration returned with the token and be able to inform the user before the token becomes invalid, not just let them know after the fact.