forked from GNUsocial/gnu-social
54 lines
2.2 KiB
Plaintext
54 lines
2.2 KiB
Plaintext
|
This plugin enables RSSCloud (http://rsscloud.org/) publishing and
|
||
|
subscription handling for RSS 2.0 profile feeds (i.e:
|
||
|
http://SITE/PATH/api/statuses/user_timeline/USERNAME.rss). When the
|
||
|
plugin is enabled, StatusNet acts as both the publisher and hub ('writer' and
|
||
|
'cloud' in RSSCloud parlance), but only for local StatusNet feeds. It's
|
||
|
not possible to use it as a general purpose hub -- for instance you can't
|
||
|
subscribe and get updates to a Wordpress feed from StatusNet.
|
||
|
|
||
|
To use the plugin, add the following to your config.php:
|
||
|
|
||
|
addPlugin('RSSCloud');
|
||
|
|
||
|
Enabling the plugin will add a <cloud> element to your RSS 2.0 profile feeds
|
||
|
that looks like this:
|
||
|
|
||
|
<cloud domain="SITE" port="80" path="/main/rsscloud/request_notify"
|
||
|
registerProcedure="" protocol="http-post"/>
|
||
|
|
||
|
Aggregators may subscribe by sending a proper REST RSSCloud subscription
|
||
|
request (the optional 'domain' parameter with challenge is supported).
|
||
|
Subscribing aggregators will be notified ('pinged') when users they have
|
||
|
subscribed to post new notices. Currently, REST is the only protocol
|
||
|
supported for notifications.
|
||
|
|
||
|
Deamon
|
||
|
------
|
||
|
|
||
|
There's also a daemon for offline processing of queued notices with
|
||
|
RSSCloud destinations, which will start automatically if/when you run
|
||
|
scripts/startdaemons.sh.
|
||
|
|
||
|
Notes
|
||
|
-----
|
||
|
|
||
|
- Again, only RSS 2.0 profile feeds may be subscribed to, and they have
|
||
|
be the ones with user names in them, like:
|
||
|
http://SITE/PATH/api/statuses/user_timeline/USERNAME.rss
|
||
|
- Subscriptions are deleted after three notification failures in a row
|
||
|
(not sure this is optimal).
|
||
|
- The plugin includes a dummy LoggingAggregator class that can be used
|
||
|
for end-to-end testing. You probably don't want to mess with it.
|
||
|
|
||
|
TODO
|
||
|
----
|
||
|
|
||
|
- Figure out why the RSSCloudSubcription can't ->delete() or ->update()
|
||
|
- Support pinging via XML-RPC and SOAP
|
||
|
- Automatically delete subscriptions? Point of reference: Dave's hub
|
||
|
implementation auto-deletes them after 25 hours. WordPress never deletes them.
|
||
|
- Support additional feed URL addresses for the same feed (e.g.: by numeric ID,
|
||
|
?user_id=xxx, etc.)
|
||
|
- Support additional feeds that make sense (e.g: replies)?
|
||
|
- Possibly use "rssCloud" (like Dave) instead of "RSSCloud" everywhere
|