So, I spent my evening working on a simple Automator workflow to streamline the ‘synching’ of Delicious Library (DL) and LibraryThing (LT) book catalogs. It’s really not ‘synching:’ LibraryThing can ‘synch’ only in the sense that it can compare a DL book catalog (desktop app) with the LT book catalog (web-based app) so that only new entries are imported. In other words, you can add new DL books to your LT account, but I’m not aware of a way to synch your new LT books back to your DL database. I should note that LibraryThing accepts more than just Delicious Library info. It can import from a wide variety of other web-based and desktop apps.
All things considered, I have to say that LibraryThing serves up a pretty good universal import tool (they call it, appropriately, the ‘Universal Import‘).
In order to save some time, I think it would be nice to automate this process. I started down this road after reader brab asked if synching between the two services was possible. I originally responded that it wasn’t possible, only to discover that LibraryThing can, in fact, import with gusto. I should have read the manual!
Then it dawned on me that this is an ideal Automator scenario: create a workflow to expedite the process of exporting Delicious Library book catalog to LibraryThing. LibraryThing accepts DL exported data, so it should be easy, right? Two hours later, and I am ready to punch the little Automator robot.
While I used Automator quite often in Tiger, this was my first use in Leopard. I don’t know if I was just tired (and I’ll try again later to see if it was me) but I did not have a pleasant experience. Automator was very quirky: the steps I created in the process worked great, at first. Then, when I saved my workflow as an application, it suddenly did not work at all.
So, I opened up the automator process as a workflow again to troubleshoot, only to discover that my workflow no longer worked. My main problem: I exported a .txt file from Delicious Library to the desktop. Then I moved that file to my /Documents folder. Then I copied that path. Then I opened up the browser to the LibraryThings import page to paste that copied path. The problem is that Automator insisted that there was an error with copying my file from the desktop to the new location. And Automator had issues with deleting the file from the /Documents folder once I was done with it. I encountered these errors even though the process worked just fine an hour earlier, and despite the fact that I had changed nothing. I was (and am) pulling my hair out. I checked the permissions of this folder, and they are correct.
I then re-created the entire workflow from scratch; still, I could not get it to work again. Sigh. This is just a simple script to export an text file from DL, copy the file name, and paste the file path into the LT web form for import. It shouldn’t take more than a few minutes.
To recap, here is the workflow in a nutshell: open DL, export the book catalog to a desired location (my desktop), move that file to new location (my /Documents folder), copy the new location path to the clipboard, open my browser to the LT import page, tab to the appropriate form field (I used tabs so it was not relative to browser window location), paste the path from the clipboard into the ‘Upload File’ field on the LT import page, then use tabs and returns to activate the form and upload the file. For the last step, I deleted the exported DL file from /Documents.
Pretty simple, or so I thought. But Automator does not like my workflow. I’ll have to try again when I have time…chances are that it’s human error. Still, I’m struck by the fact that I had a working automation an hour ago. Now, an hour later, the same workflow is broken. It’s very odd. My conclusion: Automator is billed as a tool to bring automation to ‘the rest of us.’ In general, I think it hits this target: it’s easy to use and powerful. Yet, I would like to see better hints when an error occurs. For my problem, all I am told is that there is an error with a step in the process. I don’t see any logging information to help me pinpoint why or where that error is occurring.
At any rate, once I get a working Automator workflow I’ll post it in case anyone would like to modify it for his/her use. If I can’t get it to work, I plan to find some Automator user forums to post my workflow. Perhaps then I’ll locate the problem.