mirror of
				https://git.friendi.ca/friendica/friendica-addons.git
				synced 2025-11-04 12:17:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			102 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
____ 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.
 |