Month: August 2009

Atom Entries Generator

Posted by on 20-Aug-2009

Recently there are a lot of tools to test the receiving part of your webhooks. I’m personally using http://www.postbin.org/ for my tests. I couldn’t find however a good way to “feed” my webhooks with a constant stream of fresh entries. There is a Superfeedr Simpulator, but it’s to much bound to their service. I needed a more general solution, so I created AtomGen - Infinite Atom Entries Generator.

The application providing two feeds. First one generating Atom entries every minute and the second one - every 5 minutes. The one minute feed is protected by a secret token in the end of the URL.
If your application is installed for example on URL http://example.com/ , the two feeds will be:

http://example.com/feed/1/YouSecretHere    (1min feed)
http://example.com/feed/5                  (5min feed)

The application is currently deployed on Google AppEngine. You can use the 5 minutes feed for your tests - go to
http://pubsubhubbub.appspot.com/subscribe and subscribe for the http://atomgen.appspot.com/feed/5 topic. This will send to your subscribers a new valid Atom entry every 5 minutes.

There is also a FriendFeed group, which is already subscribed to the 5 minutes feed. You can use it to gen notifications via IM etc.

The feeds have atom:link[@rel="hub"] element and the 5 minutes feed is pinging the hub on feed generation. By default the Google’s reference implementation is used.

I tried to make the atom generator a good Internet cityzen by setting up the proper HTTP headers (‘Last-Modified’, ‘ETag’ etc.). ‘Etag’ header contains the ID of the last entry, cryptography signed, like suggested in
http://code.google.com/p/pubsubhubbub/wiki/PublisherEfficiency

The current implementation does not use Google Datastore. Feeds are kept only in the memcached object caching system.