Skip to content

Archive newsfeeds in DEVONthink Pro via NetNewsWire

Newsfeeds provide an invaluable service: direct access to content of specific interest. NetNewsWire has long been my preferred newsreader, and the recent addition of synchronized online access makes it, for me, the clear best-in-class news client. Yet although NetNewsWire does a fine job aggregating news feeds, it’s a poor long-term information management solution.

Enter DEVONthink Pro, a highly reviewed research tool/information manager.

The NetNewsWire > DEVONthink bridge is a logical one, so it’s no surprise that DEVONthink Pro comes with preloaded scripts to archive information directly from NetNewsWire. (Sorry, DEVONthink Personal doesn’t include scripting support.) But the feature I really needed – the ability to archive entire RSS feeds into DEVONthink – is not included in these scripts.

To fill this gap, I wrote a script to archive entire newsfeeds (or subsets thereof) to DEVONthink Pro.

This script saves items from your selected feed (or folder of feeds) to DEVONthink Pro as web archives, with the following options:

  • From the selected feed, folder, or smart folder, save:

    • All items

    • Flagged items

    • Unread items

    • Read items

  • Archive options:

    • Feed saves just the content of the news item (typically the best option if the site provides full-text feeds)

    • Site saves the content of the item’s target website (this should be the whole article – particularly useful if the newsfeed is truncated)

    • Site/Print goes to the item’s target website and looks for a link that includes the string “Print”. If one exists, it saves the print-ready page to DEVONthink. If none exists, reverts to “Site” behavior.

  • Perform post-archive actions: mark read, unflag, or do nothing. This action occurs after DEVONthink has archived the article, so you can see archive progress in action and ensure you don’t double-archive an article

  • Optional: introduce a random time delay between archiving articles if using “Site” or “Site/Print”. (Useful if the site you’re reading from has countermeasures to prevent content scraping. Read: if they’re trying to keep you from saving their content for later use.)

My personal workflows for this script:

  • Flag items of interest from all newsfeeds. Then run this script periodically to import all flagged items into DEVONthink. Archive target: Flagged items (feed); Post-archive action: Unflag.

  • Save full-text content of a magazine I subscribe to but don’t want to keep hard copies of. Run this script every week, when the magazine’s RSS feed is updated. Archive target: unread items (Site/Print); Post-archive action: Mark as read.

Get the script here.

Update 2008-08-12: Added an additional Growl-free script to the download for users who don’t have Growl installed. The only difference is that the lines referencing GrowlHelperApp are commented out. Same download link applies.

10 Comments

  1. Great script! Thanks! Good tip about the unread magazine articles, too – I have, um, several of those.

    Posted on 12-Aug-08 at 5:58 am | Permalink
  2. Sergio MORA

    Thanks for that awesome piece of code. I’ve made a little modification, to add the headline into the body of the HTML, in the feed archiving option.

    set seldescription to “” & seltitle & “” & sel_description

    I don’t know hot to know the number of the line into the script, I just know I’ve placed it after the line containing this instruction “set sel_description to description of i”.

    Thanks!

    Posted on 13-Aug-08 at 3:48 pm | Permalink
  3. Sergio MORA

    Bad code formating… againg

    set seldescription to “” & seltitle & “” & sel_description

    Posted on 13-Aug-08 at 3:49 pm | Permalink
  4. Sergio MORA

    Sorry, it does not work pasting Applescript code here…

    Posted on 13-Aug-08 at 3:50 pm | Permalink
  5. Thank you very much for this handy applescript. Saves me a lot of time when archiving news-feeds.

    Greetings

    Posted on 02-Oct-08 at 2:08 pm | Permalink
  6. Hi Dan,

    I recently adapted this (excellent) script to do Batch Archiving of feed items into Evernote and thought you might be interested: NNW to Evernote — Batch Archiving

    I also wrote a different script geared toward moving items one at a time — geared towards filing stuff away while you’re reading through your news items: NNW to Evernote — Headline/Tab Archiving

    Take a gander and, naturally, any suggestions or improvements would be appreciated.

    Finally, I wanted to thank you for your work on the DEVON script. I’ve enjoyed reading through the code you wrote and, even more, getting my NNW stuff into DEVONThink properly with a minimum of effort. ;)

    Kind Regards, Justin

    Posted on 21-Oct-08 at 9:32 am | Permalink
  7. I installed the script, and running it, I keep getting a “Can’t get every > of >.”

    I am using Devonthink Pro 2 and NeNewsWire 3

    Posted on 18-Jan-09 at 3:54 pm | Permalink
  8. Stan—that sounds like the sort of error AppleScript throws when it can’t get a selection. Check to make sure you have a newsfeed selected in NetNewsWire (and that the focus is on the subscription pane, not the headlines pane).

    Posted on 17-Feb-09 at 7:48 am | Permalink
  9. Jacob

    I’m getting an error too: “The variable sel_description is not defined.”

    This is an excellent, excellent idea, by the way.

    Posted on 27-Aug-09 at 3:23 am | Permalink
  10. Chris

    Same “sel_description not defined” error here. Any suggestions what to do?

    Thanks!

    Posted on 13-Oct-09 at 2:52 am | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*
FireStats icon Powered by FireStats