2010-03-02 08:38:00 +00:00
|
|
|
Facebook Plugin
|
|
|
|
===============
|
|
|
|
|
|
|
|
This plugin allows you to use Facebook Connect with StatusNet, provides
|
|
|
|
a Facebook canvas application for your users, and allows them to update
|
|
|
|
their Facebook statuses from StatusNet.
|
2009-10-21 00:32:30 +01:00
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
Facebook Connect
|
|
|
|
----------------
|
2009-10-21 02:07:03 +01:00
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
Facebook connect allows users to register and login using nothing but their
|
|
|
|
Facebook credentials. With Facebook Connect, your users can:
|
2009-10-21 00:32:30 +01:00
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
- Authenticate (register/login/logout -- works similar to OpenID)
|
|
|
|
- Associate an existing StatusNet account with a Facebook account
|
|
|
|
- Disconnect a Facebook account from a StatusNet account
|
2009-10-21 00:32:30 +01:00
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
Built-in Facebook Application
|
|
|
|
-----------------------------
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
The plugin also installs a StatusNet Facebook canvas application that
|
|
|
|
allows your users to automatically update their Facebook status with
|
|
|
|
their latest notices, invite their friends to use the app (and thus your
|
|
|
|
site), view their notice timelines and post notices -- all from within
|
|
|
|
Facebook. The application is built into the StatusNet Facebook plugin
|
|
|
|
and runs on your host.
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
Quick setup instructions*
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
Install the Facebook Developer application on Facebook:
|
|
|
|
|
|
|
|
http://www.facebook.com/developers/
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
Use it to create a new application and generate an API key and secret.
|
|
|
|
You will need the key and secret so cut-n-paste them into your text
|
|
|
|
editor or write them down.
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
In Facebook's application editor, specify the following URLs for your app:
|
|
|
|
|
2010-05-25 22:08:25 +01:00
|
|
|
- Canvas Callback URL : http://example.net/mublog/facebook/app/
|
|
|
|
- Post-Remove Callback URL : http://example.net/mublog/facebook/app/remove
|
|
|
|
- Post-Authorize Redirect URL : http://apps.facebook.com/yourapp/
|
|
|
|
- Canvas Page URL : http://apps.facebook.com/yourapp/
|
|
|
|
- Connect URL : http://example.net/mublog/
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
*** ATTENTION ***
|
|
|
|
These URLs have changed slightly since StatusNet version 0.8.1,
|
|
|
|
so if you have been using the Facebook app previously, you will
|
|
|
|
need to update your configuration!
|
|
|
|
|
|
|
|
Replace "example.net" with your host's URL, "mublog" with the path to your
|
|
|
|
StatusNet installation, and 'yourapp' with the name of the Facebook
|
|
|
|
application you created. (If you don't have "Fancy URLs" on, you'll need to
|
|
|
|
change http://example.net/mublog/ to http://example.net/mublog/index.php/).
|
|
|
|
|
|
|
|
Additionally, Choose "Web" for Application type in the Advanced tab. In the
|
|
|
|
"Canvas setting" section, choose the "FBML" for Render Method, "Smart Size"
|
|
|
|
for IFrame size, and "Full width (760px)" for Canvas Width. Everything else
|
|
|
|
can be left with default values.
|
|
|
|
|
|
|
|
* NOTE: For more under-the-hood detailed instructions about setting up a
|
|
|
|
Facebook application and getting an API key, check out the
|
|
|
|
following pages on the Facebook wiki:
|
|
|
|
|
|
|
|
http://wiki.developers.facebook.com/index.php/Connect/Setting_Up_Your_Site
|
|
|
|
http://wiki.developers.facebook.com/index.php/Creating_your_first_application
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
Finally you must activate the plugin by adding it in your config.php
|
|
|
|
(this is where you'll need the API key and secret generated earlier):
|
|
|
|
|
|
|
|
addPlugin(
|
|
|
|
'Facebook',
|
|
|
|
array(
|
|
|
|
'apikey' => 'YOUR_APIKEY',
|
|
|
|
'secret' => 'YOUR_SECRET'
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
Administration Panel
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
As of StatusNet 0.9.0 you can alternatively specify the key and secret
|
|
|
|
via a Facebook administration panel from within StatusNet, in which case
|
|
|
|
you can just add:
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
addPlugin('Facebook');
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
to activate the plugin.
|
|
|
|
|
|
|
|
NOTE: To enable the administration panel you'll need to add it to the
|
|
|
|
list of active administration panels, e.g.:
|
|
|
|
|
|
|
|
$config['admin']['panels'][] = 'facebook';
|
|
|
|
|
|
|
|
and of course you'll need a user with the administrative role to access
|
|
|
|
it and input the API key and secret (see: scripts/userrole.php).
|
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
Testing It Out
|
|
|
|
--------------
|
|
|
|
|
|
|
|
If the Facebook plugin is enabled and working, there will be a new Facebook
|
|
|
|
Connect Settings tab under each user's Connect menu. Users can connect and
|
|
|
|
disconnect* to their Facebook accounts from it.
|
|
|
|
|
|
|
|
To try out the plugin, fire up your browser and connect to:
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
http://example.net/mublog/main/facebooklogin
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
or, if you do not have fancy URLs turned on:
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
http://example.net/mublog/index.php/main/facebooklogin
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
You should see a page with a blue button that says: "Connect with Facebook"
|
|
|
|
and you should be able to login or register.
|
|
|
|
|
|
|
|
From within Facebook, you should also be able to get to the Facebook
|
|
|
|
application, and run it by hitting the link you specified above when
|
|
|
|
configuring it:
|
|
|
|
|
|
|
|
http://apps.facebook.com/yourapp/
|
|
|
|
|
|
|
|
That link should be present you with a login screen. After logging in to
|
|
|
|
the app, you are given the option to update their Facebook status via
|
|
|
|
StatusNet.
|
|
|
|
|
|
|
|
* Note: Before a user can disconnect from Facebook, she must set a normal
|
2010-03-02 08:38:00 +00:00
|
|
|
StatusNet password. Otherwise, she might not be able to login in to her
|
2009-10-22 01:53:23 +01:00
|
|
|
account in the future. This is usually only required for users who have
|
|
|
|
used Facebook Connect to register their StatusNet account, and therefore
|
|
|
|
haven't already set a local password.
|
|
|
|
|
|
|
|
Offline Queue Handling
|
|
|
|
----------------------
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
For larger sites needing better performance it's possible to enable
|
|
|
|
queuing and have users' notices posted to Facebook via a separate
|
|
|
|
"offline" process -- FacebookQueueHandler (facebookqueuhandler.php in
|
|
|
|
the Facebook plugin directory). It will run automatically if you have
|
|
|
|
enabled StatusNet's offline queueing subsystem. See the "Queues and
|
|
|
|
daemons" section in the StatusNet README for more about queuing.
|
|
|
|
|
2009-10-22 01:53:23 +01:00
|
|
|
|
|
|
|
TODO
|
|
|
|
----
|
|
|
|
|
2010-03-02 08:38:00 +00:00
|
|
|
- Make Facebook Connect work for authentication for multi-site setups
|
|
|
|
(e.g.: *.status.net)
|
|
|
|
- Posting to Facebook user streams using only Facebook Connect
|
2009-10-22 01:53:23 +01:00
|
|
|
- Invite Facebook friends to use your StatusNet installation via Facebook
|
|
|
|
Connect
|
|
|
|
- Auto-subscribe Facebook friends already using StatusNet
|
|
|
|
- Share StatusNet favorite notices to your Facebook stream
|
|
|
|
- Allow users to update their Facebook statuses once they have authenticated
|
|
|
|
with Facebook Connect (no need for them to use the Facebook app if they
|
|
|
|
don't want to).
|
2010-03-02 08:38:00 +00:00
|
|
|
- Import a user's Facebook updates into StatusNet
|