Summary
As of version 0.9.0 xmpp-ftw now supports the Superfeedr XMPP API. If you don’t know what Superfeedr is then read this shamelessly stolen description from Crunchbase:
Superfeedr fetches and parses RSS or Atom feeds on behalf of its users and then pushes them the new entries in these feeds. Superfeedr implements most of the current Real-time technologies and guarantees an entry detection time inferior to 15 min. Superfeedr has both an XMPP and a PubSubHubbub API.Read more: http://www.crunchbase.com/company/superfeedr#ixzz2T6A0Grml
The XMPP-FTW interface to Superfeedr is built off their documentation which can be found here: http://superfeedr.com/documentation#pubsubhubbub.
Example data
At the bottom of this post I’ve included two gists. One is a push from superfeedr about a commit I pushed to github. The first part of the gist is the raw XMPP stanza with the second part being the JSON message that XMPP-FTW pushes to clients. To jump straight there click here.
Supported actions
XMPP-FTW currently supports five actions when working with Superfeedr. These are:
- Subscribe to a feed (xmpp.superfeedr.subscribe)
- Unsubscribe from a feed (xmpp.superfeedr.unsubscribe)
- Retrieve a list of current subscriptions (xmpp.superfeedr.subscriptions)
- New item notifications (xmpp.superfeedr.push)
- Item retrieval (xmpp.superfeedr.retrieve) *
* Currently the Superfeedr team are rewriting the item retrieval functionality so it isn’t available. Therefore XMPP-FTW is coded against documentation but is currently untested. Once its back up and functional I’ll give it a proper test and fix any issues. Until then it is suggested you use the HTTP API.
Parsing posts
For this work I’ve started to build a translator from an XML based document format to a JSON representation for XMPP-FTW. Currently it supports (some of) ATOM (RFC-4287) but as requests (or pull requests!) come in then it will support extensions and additional formats. I plan on breaking this out of XMPP-FTW in future in case its useful to other projects.
As always feedback is very welcome, it would also be great to hear if you are using XMPP-FTW in one of your projects. Thanks to Julien who has been very helpful in answering questions about Superfeedr’s XMPP API whilst I was building this.