OPML hack for del.icio.us
This is moving a hundred miles an hour…the other day I was talking about making Link Lists from my del.icio.us account into OPML, I was lamenting that each del.icio.us tag didn’t have an OPML URL.
Why I want to do this is to be able to pass around selections of my del.icio.us archive, or have an outline view, and even showcase them on the sidebar of my blog.
At the moment there is a hack to make a Reading List from a del.icio.us user tag/s, but what if the bookmarks are not feeds, how do you make a Link List.
Well, Adam Green, has just pointed me to OPML Utils…read about it here.
Now I can make Link Lists from del.icio.us…at the moment you can only make a list for a user name, but soon you will be able to choose a user level tag, tag bundles, and tag combinations.
Step 1. Enter your username and password
Step 2. This will take a while to convert if you have a large del.icio.us account
Step 3. You will get a blank screen, but View>Source and paste the code into OPML Workstation, and save it…now your OPML has a URL.
What I did was just took a sample, I highlighted a bunch of bookmarks and pasted that into OPML Workstation, but also remembering to include the:
</body>
</opml> tags at the end.
With RSS you can re-syndicate the latest bookmarks, del.icio.us has the linkroll tool built in…but now you can showcase your whole archive with the power of OPML.
Here is my raw OPML.
Here is the outline.
Here it is in Optimal (OPML Browser/RSS Reader)
Here it is in Bitty (OPML Browser/RSS Reader for your blog sidebar)
I wonder if Adam Green could hack this further to annotate each bookmark with the tags assigned.
Where’s the dynamics?
Now this is fine but the problem will never be totally resolved fully till del.icio.us have inbuilt OPML URL’s…why?
If I bookmark a new document in my del.icio.us it won’t appear in the OPML I just made above because I made that OPML at OPML Workstation…the new bookmark will only appear if I add it as an item to my OPML Workstation outline…so you see this is doubling up.
The ultimate is to grab some inbuilt OPML user level tags from del.icio.us (one day hopefully), and add these OPML URL’s as items in an outline I create at OPML Workstation…this way I’m using the OPML at OPML Workstation as the root OPML, which I can include other OPML’s as items…kind of like a directory made up of heaps of OPML URL’s.














I’m working on something a little more dynamic. Not “real-time” though, because I’m using MySQLicious to mirror my del.icio.us bookmarks to a local database (for several good reasons).
In any event, I can generate a tag-categorized OPML on-the-fly from the database data. Here’s the results.
You can setup the mirroring to take place fairly frequently, so it’s pretty dynamic.
Comment by Dan MacTough — March 9, 2006 @ 7:54 am
I think I’ve lost the plot now… aren’t you just using OPML rather than RSS to syndicate/read stuff?
If the OPML file is syndicating lists of feeds, I can see the point (eg i can use an opml file to pass around links from several different sets of delicious or simpy tagged link collections, by putting the rss feeds from those collections into the opml file). But if the OPML file is passing links around - why?
Aaahhhh - i guess if i have bookmarked an rss feed and use rss to syndicate the links, then it might be neat to display the links contained in that bookmarked feed and opml will let me do that - ie the opml reader will a) display links; b) chase links down from feeds and then display them…
i need to think about the user model of this a bit more…i can see it going fractal like, as you suggest, if you’re not careful!
Comment by Tony Hirst — March 9, 2006 @ 2:19 pm
Dan,
That’s awesome, you have an outline version of your del.icio.us account…and by mirroring it seems you mean that when you add a bookmark to del.icio.us it will appear in your OPML which isn’t even hosted at del.icio.us.
Tony,
By using a mirror Dan is accomplishing as close as you can get to del.icio.us having an inbuilt OPML URL…amazing.
What happens is that when you add a new bookmark it will appear in the OPML outline.
Now if your OPML outline has the RSS feeds of the del.icio.us tags instead of the HTML page of the del.icio.us tags as items in your OPML then you don’t need a mirror site, all you have is resyndication of the latest bookmarks in your OPML when you read it at Optimal…but what this does lack is an archive of all your bookmarks, instead all it has is the latest posts.
So Dans hack not only has the latest posts but also every bookmark in your del.icio.us account, basically an outline version of your del.icio.us account.
So now you can pass around your whole del.icio.us archive, not just the latest posts in each tag.
Then a Reading List is different again…this is when all your bookmarks are RSS feeds, and you convert your del.icio.us tag to a reading list.
Comment by Johnt — March 10, 2006 @ 2:52 am
John, if I understand your comment, you are absolutely right. Let me clarify.
MySQlicious is basically a PHP script that will use the del.icio.us API to keep a synchonized copy of all your del.icio.us bookmarks in a MySQL database. The limits of del.icio.us are the limits of MySQlicious: you can only work with your own bookmarks, and you can get throttled or banned for excessive use. For my purposes, I run a mirror every four hours.
Once you have that local copy, through, you can mash and re-mash it as much as you want.
If you want a feed of your latest del.icio.us posts, or you want the latest posts with a particular tag, tag combo or tag bundle, then you should just use the RSS feed from del.icio.us.
@Tony - Say you’ve got your local mirror of your bookmarks. And say that you tag everything that’s a feed with the tag “rss” (or whatever you like). Now you can query your local mirror for all links in your mirror with the tag “rss” and know that they are not links but feeds, and you can generate an OPML file with the correct type attribute for feeds. Now it’s a Reading List (or directory or whatever you want to call it).
Comment by Dan MacTough — March 10, 2006 @ 4:41 pm
Dan,
So via Utils we can view our del.icio.us archive as an OPML outline,
(each item in this OPML are HTML links)…and this OPML will be as current as all the items in your del.icio.us account (give or take 4 hours).
Why when I try the same thing with the Top 10 Sources OPML (for Browsers), do I not see a whole archive, but just the last several entries.
They also have another OPML (for RSS Readers), but the content is the same, just the last several posts for each feed…although this can be used as a Reading List in an RSS Reader, whereas the former can’t as the items are just HTML links.
See my post for more.
In the future if an RSS feed contains an archive of every item (eg. feedcatch), then, I imagine, you could use Utils to generate an OPML from the RSS feed of a del.icio.us account or tag, instead of the HTML URL, as they will both have an archive of all items, with the latest item listed first.
The benefit of using the RSS feed version (Reading List) instead is that this OPML can then also be used in RSS Readers as a Reading List.
OPML for OPML Browsers
OPML for RSS Readers. (Optimal can read this one too
Comment by Johnt — March 13, 2006 @ 8:03 am
Del.icio.us to OPML + Mash
…John Tropea posted last week about an OPML hack for del.icio.us to which I responded with a more dynamic example and to which another reader asked, “Why bother?” Fair enough quesiton, and here’s a better answer by way of example….
Trackback by Yabfog — March 14, 2006 @ 12:53 am
Hi John,
Just got your comment.
OpmlUtils (which now has a new home at http://www.opmlutils.com) will be able to easily handle Raw Sugar. It is built from the grounds up to be very extensible and flexible.
At its base, it does not perform any caching or mirroring. However, I fully intend this to be a layer I will be adding on top for the next release. That is, instead of generating it afresh everytime as it will do at first, it will transparently be able to produce cached results.
When this new version goes live, with it goes up a spec on how to write plugins for it. Very simple to do, almost everyone who isn’t afraid of looking at XML in a text editor should be able to create plugins.
That idea is that I will be able to take ANYTHING that’s even vaguely semi-structured (for example, scraping blogrolls) and throw it into OPML. And the best: TOGETHER with everything else. It’s not just one delicious account/tag at a time. It will be as many as you want, as many flickr tags/accounts, different blogrolls, etc. etc.
And with the new “include” type in the OPML 2.0 spec, the possibilities are endless!
I’m really a Semantic Web guy at mind, and this is the closest I can bring the concepts I have of future to a consumer-level today.
Mike.
Comment by Mike Katsevman — March 30, 2006 @ 5:35 am