friendica-addons/twitter
Tobias Diekershoff 41e1527c6d Twitter: CSS cleanup for the config form 2013-01-13 13:07:54 +01:00
..
view Twitter: added App name config to admin panel 2013-01-13 12:24:17 +01:00
lighter.png permission change 644 to 755 for addons 2012-01-21 15:19:22 -08:00
README Twitter: added App name config to admin panel 2013-01-13 12:24:17 +01:00
twitter.css Twitter: CSS cleanup for the config form 2013-01-13 13:07:54 +01:00
twitter.php Twitter: typos 2013-01-13 12:32:31 +01:00

____ Twitter Plugin ____
By Tobias Diekershoff
   http://diekershoff.homeunix.net/friendika/profile/tobias
   tobias.diekershoff(at)gmx.net

With this addon to Friendica you can give your user the possibility to post
their *public* messages to Twitter. The messages will be strapped their rich
context and shortened to 140 characters length if necessary. If shortening of
the message was performed a link will be added to the Tweet pointing to the
original message on your server.

The addon can also mirror a users Tweets into the ~friendica wall.

There is a similar addon for forwarding public messages to
"StatusNet":http://status.net [[StatusNet Plugin]].

Online version of this document: http://ur1.ca/35mml

___ Requirements ___

To use this plugin you have to register an application for your friendica
instance on Twitter with
  * read and write access
  * don't set a callback URL
  * we do not intend to use Twitter for login
The registration can be done at twitter.com/apps and you need a Twitter
account for doing so.

After you registered the application you get an OAuth consumer key / secret
pair that identifies your app, you will need them for configuration.

The inclusion of a shorturl for the original posting in cases when the
message was longer than 140 characters requires it, that you have *PHP5+* and
*curl* on your server.

___ Where to find ___

In the Friendica git repository /addon/twitter/, this directory contains
all required PHP files (including the Twitter OAuth library [1] by Abraham
Williams, MIT licensed and the Slinky library [2] by Beau Lebens, BSD license),
a CSS file for styling of the user configuration and an image to _Sign in with
Twitter_.

[1] https://github.com/abraham/twitteroauth
[2] http://dentedreality.com.au/projects/slinky/

___ Configuration ___

__ Global Configuration __

If you enabled an administrator account, please use the admin panel to configure
the Twitter relay. If you for any reason prefer to use a configuration file instead 
of the admin panels, please refer to the Alternative Configuration below. 

Activate the plugin from the plugins section of your admin panel.  When you have
done so, add your consumer key and consumer secret in the settings section of the 
plugin page.

When this is done your user can now configure their Twitter connection at
"Settings -> Connector Settings" and enable the forwarding of their *public*
messages to Twitter.

__ Alternative Configuration __

To activate this addon add @twitter@ to the list of active addons in your
.htconfig.php file 

$a->config['system']['addon'] = "twitter, ..."

Afterwards you need to add your OAuth consumer key / secret pair to it by
adding the following two lines

$a->config['twitter']['consumerkey'] = 'your consumer KEY here';
$a->config['twitter']['consumersecret'] = 'your consumer SECRET here';


__ User Configuration __

When the OAuth consumer informations are correctly placed into the
configuration file and a user visits the "Plugin Settings" page they can now
connect to Twitter. To do so one has to follow the _Sign in with Twitter_
button (the page will be opened in a new browser window/tab) and get a PIN from
Twitter. This PIN has to be entered on the settings page. After submitting the
PIN the plugin will get OAuth credentials identifying this user from the
Friendica account.

If this first step was successful the Twitter configuration will be changed
on the "Plugin Settings" page displaying two check boxes. One to enable/disable
the forwarding of *all public* postings to Twitter and one to clear the
personal configuration from the Twitter credentials.