friendica-addons/statusnet
Tobias Diekershoff 9f9b42cfe8 StatusNet: CSS cleanup for config form 2013-01-13 13:12:47 +01:00
..
view revert addon Smarty3 templates to non-variable-based includes 2012-12-25 13:25:09 -07:00
README small change in my contact informations in the addon files 2012-04-07 09:21:49 +02:00
signinwithstatusnet.png permission change 644 to 755 for addons 2012-01-21 15:19:22 -08:00
statusnet.css StatusNet: CSS cleanup for config form 2013-01-13 13:12:47 +01:00
statusnet.php statusnet/twitter: Post were fetched at the first fetch because of a misspelled variable ... 2013-01-08 00:50:59 +01:00

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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This addon is currently under development. If you have any problem       !!
!! with it, please contact the Author.                                      !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

With this addon to Friendica you can give your user the possibility to post
their public messages to any StatusNet instance (like identi.ca for example). 
The messages will be strapped their rich context and shortened to to the character
limit of the StatusNet instance in question if necessary. If shortening of the
message was performed a link will be added to the notice pointing to the
original message on your server.

There is a similar plugin to forward public messages to Twitter: Twitter Plugin.

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

___ Requirements ___

Due to the distributed nature of the StatusNet network, each user who wishes to
forward public messages to a StatusNet account has to get the OAuth credentials
for themselves, which makes this addon a little bit more user unfriendly than
the Twitter Plugin is. Nothing too geeky though!

The inclusion of a shorturl for the original posting in cases when the message
was longer than the maximal allowed notice length requires it, that you have
PHP5+ and curl on your server.
Where to find

In the Friendica git repository /addon/statusnet/, 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 StatusNet.

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

___ Configuration ___

__ Global Configuration __

If you have configured an admin account, you can configure this plugin from
the admin panel. First activate it from the plugin section of the panel.
Afterwards you will have a separate configuration page for the plugin, where
you can provide a set of globally available OAuth credentials for different
StatusNet pages which will be available for all users of your server.

If you don't use the admin panel, you can configure the relay using the
.htconfig.php file of your friendica installation. To activate the relay add
it's name to the list of activated addons.

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

If you want to provide preconfigured StatusNet instances for your user add the
credentials for them by adding

$a->config['statusnet']['sites'] = array (
   array ('sitename' => 'identi.ca', 'apiurl' => 'https://identi.ca/api/',
     'consumersecret' => 'OAuth Consumer Secret here', 'consumerkey' => 'OAuth
     Consumer Key here'),
   array ('sitename' => 'Some other Server', 'apiurl' =>
     'http://status.example.com/api/', 'consumersecret'  => 'OAuth
     Consumer Secret here', 'consumerkey' => 'OAuth Consumer Key here')
);

to the config file.

Regardless of providing global OAuth credentials for your users or not, they
can always add their own OAuth-Key and -Secret thus enable the relay for any
StatusNet instance they may have an account at.

__ User Configuration __

When the addon is activated the user has to aquire three things in order to
connect to the StatusNet account of choice.
 * the base URL for the StatusNet API, for identi.ca this is
   https://identi.ca/api/
 * OAuth Consumer key & secret

To get the OAuth Consumer key pair the user has to (a) ask her Friendica admin
if a pair already exists or (b) has to register the Friendica server as a
client application on the StatusNet server. This can be done from the account
settings under "Connect -> Connections -> Register an OAuth client application
-> Register a new application".

During the registration of the OAuth client remember the following:
 * there is no callback url
 * register a desktop client
 * with read & write access
 * the Source URL should be the URL of your Friendica server

After the required credentials for the application are stored in the
configuration you have to actually connect your Friendica account with
StatusNet. To do so follow the Sign in with StatusNet button, allow the access
and copy the security code into the plugin configuration. Friendica will then
try to acquire the final OAuth credentials from the API, if successful the
plugin settings will allow you to select to post your public messages to your
StatusNet account.