forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			123 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Twitter Bridge Plugin
 | 
						|
=====================
 | 
						|
 | 
						|
This Twitter "bridge" plugin allows you to integrate your StatusNet
 | 
						|
instance with Twitter.  Installing it will allow your users to:
 | 
						|
 | 
						|
    - automatically post notices to their Twitter accounts
 | 
						|
    - automatically subscribe to other Twitter users who are also using
 | 
						|
      your StatusNet install, if possible (requires running a daemon)
 | 
						|
    - import their Twitter friends' tweets (requires running a daemon)
 | 
						|
    - allow users to authenticate using Twitter ('Sign in with Twitter')
 | 
						|
 | 
						|
Installation
 | 
						|
------------
 | 
						|
 | 
						|
OAuth 1.0a (http://oauth.net) is used to to access protected resources
 | 
						|
on Twitter. To use Twitter bridging you will need to register your
 | 
						|
instance of StatusNet as an application on Twitter (http://twitter.com/apps).
 | 
						|
During the application registration process your application will be assigned
 | 
						|
a "consumer" key and secret, which the plugin will use to make OAuth requests
 | 
						|
to Twitter. You can either pass the consumer key and secret in when you
 | 
						|
enable the plugin, or set it using the Twitter administration panel.
 | 
						|
 | 
						|
When registering your application with Twitter set the type to "Browser"
 | 
						|
and your Callback URL to:
 | 
						|
 | 
						|
    http://example.org/mublog/twitter/authorization
 | 
						|
 | 
						|
(Change "example.org" to your site domain and "mublog" to your site
 | 
						|
path.)
 | 
						|
 | 
						|
The default access type should be "Read & Write".
 | 
						|
 | 
						|
To enable the plugin, add the following to your config.php:
 | 
						|
 | 
						|
    addPlugin(
 | 
						|
        'TwitterBridge',
 | 
						|
        array(
 | 
						|
            'consumer_key'    => 'YOUR_CONSUMER_KEY',
 | 
						|
            'consumer_secret' => 'YOUR_CONSUMER_SECRET'
 | 
						|
        )
 | 
						|
    );
 | 
						|
 | 
						|
or if you want to set the variables from the website's administration panel:
 | 
						|
 | 
						|
   addPlugin('TwitterBridge');
 | 
						|
 | 
						|
After saving your configuration file, please run 'php scripts/upgrade.php'
 | 
						|
and also restart the background daemons if they are active on your instance.
 | 
						|
 | 
						|
Administration panel
 | 
						|
--------------------
 | 
						|
 | 
						|
To access the administration panel, you'll need to use a user with the
 | 
						|
"administrator" role (see: scripts/userrole.php).
 | 
						|
 | 
						|
Sign in with Twitter
 | 
						|
--------------------
 | 
						|
 | 
						|
GNU social optionally allows users to register and authenticate using their
 | 
						|
Twitter credentials via the "Sign in with Twitter" pattern described here:
 | 
						|
 | 
						|
    https://dev.twitter.com/web/sign-in
 | 
						|
 | 
						|
The option is _on_ by default when you install the plugin, but it can
 | 
						|
disabled via the Twitter bridge administration panel, or by adding the
 | 
						|
following line to your config.php:
 | 
						|
 | 
						|
    $config['twitter']['signin'] = false;
 | 
						|
 | 
						|
Daemons
 | 
						|
-------
 | 
						|
 | 
						|
For friend syncing and importing Twitter tweets, running two
 | 
						|
additional daemon scripts is necessary: synctwitterfriends.php and
 | 
						|
twitterstatusfetcher.php.
 | 
						|
 | 
						|
In the daemons subdirectory of the plugin are three scripts:
 | 
						|
 | 
						|
* Twitter Friends Syncing (daemons/synctwitterfriends.php)
 | 
						|
 | 
						|
Users may set a flag in their settings ("Subscribe to my Twitter friends
 | 
						|
here" under the Twitter tab) to have StatusNet attempt to locate and
 | 
						|
subscribe to "friends" (people they "follow") on Twitter who also have
 | 
						|
accounts on your StatusNet system, and who have previously set up a link
 | 
						|
for automatically posting notices to Twitter.
 | 
						|
 | 
						|
The plugin will start this daemon when you run scripts/startdaemons.sh.
 | 
						|
 | 
						|
* Importing statuses from Twitter (daemons/twitterstatusfetcher.php)
 | 
						|
 | 
						|
You can allow uses to enable importing of your friends' Twitter
 | 
						|
timelines either in the Twitter bridge administration panel or in your
 | 
						|
config.php using the following configuration line:
 | 
						|
 | 
						|
    $config['twitterimport']['enabled'] = true;
 | 
						|
 | 
						|
The plugin will then start the TwitterStatusFetcher daemon along with the
 | 
						|
other daemons when you run scripts/startdaemons.sh.
 | 
						|
 | 
						|
Additionally, you will want to set the integration source variable,
 | 
						|
which will keep notices posted to Twitter via StatusNet from looping
 | 
						|
back.  You can do this in the Twitter bridge administration panel, or
 | 
						|
via config.php. The integration source should be set to the name of your
 | 
						|
application _exactly_ as you specified it on the settings page for your
 | 
						|
StatusNet application on Twitter, e.g.:
 | 
						|
 | 
						|
    $config['integration']['source'] = 'YourApp';
 | 
						|
 | 
						|
* TwitterQueueHandler (daemons/twitterqueuehandler.php)
 | 
						|
 | 
						|
This script sends queued notices to Twitter for user who have opted to
 | 
						|
set up Twitter bridging.
 | 
						|
 | 
						|
It's not strictly necessary to run this queue handler, and sites that
 | 
						|
haven't enabled queuing are still able to push notices to Twitter, but
 | 
						|
for larger sites and sites that wish to improve performance the script
 | 
						|
allows notices to be sent "offline" via a separate process.
 | 
						|
 | 
						|
StatusNet will automatically use the TwitterQueueHandler if you have
 | 
						|
enabled the queuing subsystem.  See the "Queues and daemons" section of
 | 
						|
the main README file for more information about how to do that.
 |