I was procrastinating this morning from doing any real work and stumbled on a feature request in the RSS Bandit feature request database on Sourceforge requesting that we support adding links to http://del.icio.us from RSS Bandit. For those who are unfamiliar with the site, del.icio.us is a social bookmarks manager. It allows you to easily add sites you like to your personal collection of links, to categorize those sites with keywords, and to share your collection not only between your own browsers and machines, but also with others

Since RSS Bandit supports the IBlogExtension plugin interface I thought it would make more sense to implement this as a plugin that should just work in any .NET Framework based RSS aggregator that supports it. It took about two hours to put it together and now you can simply drop the DeliciousPlugin.dll file in the plugin folder of RSS Bandit, SharpReader or NewsGator and get the ability to post item links to http://del.icio.us.  

Download it from here: DeliciousPlugin.zip

The first thing you have to do is configure the plugin by specifying your username and password. There is also the option of changing the del.icio.us API URL which isn't needed at the current time. The only reason that is there is because the del.icio.us API documentation states that the URL will change in the near future. The screenshots below should show how what this looks like

and this is the configuration dialog

Posting Links
The dialog box for posting enables you to edit the URL, description and associated tags before submitting to the site. If any of these fields isn't filled then this is considered an error and no submission is made. Below is a screenshot of the post dialog.

Known Issues
There seems to be a problem posting URLs that contain the '#' character. The website accepts the links without error but they don't show up in your inbox. I'd appreciate any pointers from anyone who can tell me what I did wrong.


Tuesday, November 23, 2004 3:56:12 AM (GMT Standard Time, UTC+00:00)
Without having looked at the code I'm just guessing, but if you did

[code]Uri theUri = new Uri(theUriStringContainingAHash);[/code]

then that's likely the problem. Try

UriBuilder ub = new UriBuilder(theSite);
ub.Path = thePathPartOfTheUriBeforeTheHash;
ub.Fragment = theUriStringAfterTheHash;
Uri theUri = ub.Uri;


You might also have luck with one of the other Uri constructors. I always hated this class -- it's very nonintuitively designed.
Comments are closed.