Thursday, December 04, 2008

Creating your own top commenters widget for blogger

Some time ago I added a top commenter widget to the blog, based on a tip from Blogger Buster. However it started acting up, so I decided to roll my own using Yahoo Pipes!. Below you will find a short tutorial on how to do it, as well as the ready-made pipe, based on the idea that "if you teach a man how to fish...".

The steps performed by the pipe are the following:

  1. It takes the blog URL from the user
  2. It removes the beginning ("http://") and end ("/") of the URL. This is much easier than requiring the user to enter the URL in a particular format :-)
  3. It builds the URL for the comment feed of the given blog. We only fetch the summary of the last 500 comments to conserve bandwidth.
  4. It fetches the given feed.
  5. You can specify a given user who should not be shown (probably your own nick)
  6. It filters out comments made by anonymous and by the specified user
  7. It aggregates the comments based on the author names
  8. It sorts the result in descending order based on the number of occurances
  9. Puts the author name in the title and the author link in the link field for the resulting feed.
  10. Finally it appends the count to each title

You can access the pipe here and create your own, customized version (different blog URL, different user to filter out).

To add it to your own blog, add a "Feed" widget with the resulting RSS feed (you can obtain the address of the feed by going to "More options" -> "Get as RSS")

Update: I can't figure out how to make the Blogger RSS fetcher to update the complete feed. Until I figure out, you can use the the alternative solution described here.

2 comments:

  1. Anonymous12:50 PM

    Somethings wrong with your plugin. It's Kurt Wismer 5 times stated instead of 5 different commenters

    ReplyDelete
  2. Yes, it is a known problem. Until I figure out all the details, please use the workaround I describe here (I also updated the article to contain this link).

    Best regards.

    ReplyDelete