Skip to content
README.txt 6.57 KiB
Newer Older
Drupal for Facebook
-------------------
http://www.drupalforfacebook.org, http://drupal.org/project/fb
Dave Cohen's avatar
Dave Cohen committed

Primary author and maintainer: Dave Cohen (http://www.dave-cohen.com/contact)
Do  NOT contact  the  maintainer  with a question  that  can be  easily
answered with a web search.  You may not receive a reply.
Branch: master (version 3.x for Drupal 7.x)
This file is more current than online documentation.  When in doubt,
trust this file.  Online documentation: http://drupal.org/node/195035,
has more detail and you should read it next..
To upgrade from Drupal 6 to Drupal 7:
- Upgrade your D6 version to RC7 or later.  Run update.php and make sure everything seems to work.  Then upgrade drupal and all modules to D7 branch.

To upgrade from on D7 version to the next:
Dave Cohen's avatar
Dave Cohen committed
- Read the upgrade instructions: http://drupal.org/node/936958
Dave Cohen's avatar
Dave Cohen committed

To install:
Dave Cohen's avatar
Dave Cohen committed

- Make sure you have a PHP client from facebook (version >= 3.1.1).
  The 2.x.y versions are not supported by this version of Drupal for Facebook.
Dave Cohen's avatar
Dave Cohen committed
  Download from http://github.com/facebook/php-sdk.
  Extract the files, and place them in sites/all/libraries/facebook-php-sdk.
  If you have the Libraries API module installed, you may place the files in
  another recognised location (such as sites/all/libraries), providing that the
  directory is named 'facebook-php-sdk'.
  Or, to manually set the location of the php-sdk in any other
  directory, edit your settings.php to include a line similar to the
  one below. Add to the section where the $conf variable is defined,
  or the very end of settings.php. And customize the path as needed.
Dave Cohen's avatar
Dave Cohen committed
  $conf['fb_api_file'] = 'sites/all/libraries/facebook-php-sdk/src/facebook.php';
  See also http://drupal.org/node/923804

- To support canvas pages and/or page tabs, url rewriting and other
  settings must be initialized before modules are loaded, so you must
  add this code to your settings.php.  This is done by adding these
  two lines to the end of sites/default/settings.php (or
  sites/YOUR_DOMAIN/settings.php).
Dave Cohen's avatar
Dave Cohen committed

  include "sites/all/modules/fb/fb_url_rewrite.inc";
Dave Cohen's avatar
Dave Cohen committed
  include "sites/all/modules/fb/fb_settings.inc";
  (Change include paths if modules/fb is not in sites/all.)
- Also for canvas pages, see http://drupal.org/node/933994 and search
  for "P3P" to avoid a common problem on IE.

- Go to Administer >> Site Building >> Modules and enable the Facebook
  modules that you need.
Dave Cohen's avatar
Dave Cohen committed
  Enable fb.module for Social Plugins.
Dave Cohen's avatar
Dave Cohen committed
  Enable fb_devel.module and keep it enabled until you have everything
  set up. You should disable this on your live server once you are
  certain facebook features are working. (Note this requires
Dave Cohen's avatar
Dave Cohen committed
  http://drupal.org/project/devel, which is well worth installing
  anyway.)

  Enable fb_app.module and fb_user.module if you plan to create
  facebook applications.

  Enable fb_connect.module for Facebook Connect and/or
  fb_canvas.module for Canvas Page apps.

  Create a new Text Format that does not restrict/clean HTML tags and use it
  in blocks and nodes. Other Text Formats (formerly called Input Formats in D6)
  like the built-in Full HTML Text Format actually mangle FB tags like <fb:like>.

  Pages at http://drupal.org/node/932690 will help you decide which
  other modules you need to enable for your particular needs.
To support Facebook Connect, Canvas Pages, and/or Social Plugins that
require an Application, read on...
- You must enable clean URLs. If you don't, some links that drupal
  creates will not work properly on canvas pages.
- Create an application on Facebook, currently at
  http://www.facebook.com/developers/createapp.php. Fill in the
  minimum required to get an apikey and secret. If supporting canvas
  pages, specify a canvas name, too.  You may ignore other settings
  for now.
- Go to Administer >> Site Building >> Facebook Applications and click
  the Add Applicaiton tab.  Use the app id, apikey and secret that
  Facebook has shown you.  Hopefully other settings will be
  self-explanitory.  When you submit your changes, Drupal for Facebook
  will automatically set the callback URL and some other properties
  which help it work properly.
Dave Cohen's avatar
Dave Cohen committed
Troubleshooting:
Reread this file and follow instructions carefully.
Read http://drupal.org/node/933994, and all the module documentation
on http://drupal.org/node/912614.
Dave Cohen's avatar
Dave Cohen committed
Enable the fb_devel.module and add the block it provides (called
"Facebook Devel Page info") to the footer of your Facebook theme.
fb_devel.module will catch some errors and write useful information to
Drupal's log and status page.
Use your browser's view source feature, and search page source for any
<script> tag which includes facebook's javascript,
"http://connect.facebook.net/en_US/all.js".  fb.js will include this
for you.  Including it too soon will break many features.  So remove
it from any block, node, template or whatever that adds it to the
page.  Similarly, do not include any <div id="fb-root">.

Disable Global Redirect, if you have that module installed.  Users
have reported problems with it and Drupal for Facebook.  Any module
which implements custom url rewrites could interfere with canvas page
and profile tab support.
On the facebook side, make sure your application is not in "sandbox
mode".  This is known to have unwanted side effects.  Also, don't use
a test account. If you've used a test account, ever, even for another
application, clear all your browser's cookies.  Try to reproduce the
problem not in sandbox mode, and not using a test account.

Dave Cohen's avatar
Dave Cohen committed
Bug reports and feature requests may be submitted.
Here's an idea: check the issue queue before you submit

If you do submit an issue, start the description with "I read the
README.txt from start to finish," and you will get a faster, more
thoughtful response. Seriously, prove that you read this far.
Below are more options for your settings.php. Add the PHP shown below
Dave Cohen's avatar
Dave Cohen committed
to the very end of your settings.php, and modify the paths accordingly
(i.e. where this example has "sites/all/modules/fb", you might need
//// Code to add to settings.php:
Dave Cohen's avatar
Dave Cohen committed
/////////////////////////////////
Dave Cohen's avatar
Dave Cohen committed
 * Drupal for Facebook settings.
Dave Cohen's avatar
Dave Cohen committed
 */

if (!is_array($conf))
  $conf = array();

$conf['fb_verbose'] = TRUE; // debug output
//$conf['fb_verbose'] = 'extreme'; // for verbosity fetishists.
Dave Cohen's avatar
Dave Cohen committed
// More efficient connect session discovery.
Dave Cohen's avatar
Dave Cohen committed
// Required if supporting one connect app and different canvas apps.
//$conf['fb_id'] = '123.....XYZ'; // Your connect app's ID goes here.
Dave Cohen's avatar
Dave Cohen committed
// Enable URL rewriting (for canvas page apps).
include "sites/all/modules/fb/fb_url_rewrite.inc";
Dave Cohen's avatar
Dave Cohen committed
include "sites/all/modules/fb/fb_settings.inc";
Dave Cohen's avatar
Dave Cohen committed
// end of settings.php