For a long time, I was perfectly happy with the managed library structure introduced with Aperture 1.0. The simplicity of having the application manage all those pesky RAW files outweighed the fact that they were packaged in an opaque structure. And the ease of use of Aperture Vaults to back data up was the frosting on the cake. Of course, this wasn’t everyone’s cup of tea and I was happy for those people to see the introduction of support for externally referenced masters in Aperture 1.5, released last September. I thought, however, that I would ignore that feature and stick with the managed library. I really did.

Eastern Sierra

But then, in October and November, I had a change of heart. For the first time in a bit over a year, I started printing large format prints again. While the RAW converter in Aperture gives good results in many cases, I much preferred the prints I could make of many of my photographs with different tools, such as Photoshop with ACR or Lightroom. With the RAW files tucked away in the managed library, however, it was a bit of a hassle to use external converters. I was exporting the RAW files out, opening them up in those other tools, and wading through the resulting duplication of files—something that I was glad to get away from when I started using Aperture.

To alleviate this new found pain, I looked again at the new ability of Aperture to handle referenced files and decided to see if this would do the trick for me. And, with absolutely no fuss, it did. I tested out the approach using a few of my projects and everything worked perfectly. Soon, my entire library was externalized. By externalizing my masters, I can work and sort in Aperture to my hearts content and then, when it comes time to take a photograph over to another tool, I can just right-click on it and select the Show in Finder menu item. This pops up a Finder window with the RAW file already selected, ready to drag and drop it onto any tool that’s needed for the job.

Perfect. I still have one library with managed by Aperture, but its accessible to any other tool I want to use. Even better, I can save the resulting rendering from another tool alongside the original RAW file, import it into Aperture, and keep everything sorted together in a stack. This last little bit isn’t as straight forward as it should be—it should be just a drag and a drop into the Aperture library window—but it’s workable for now.

Update: It turns out that you can easily drag and drop to import a referenced file. In the comments, Don Landwehrle noted that you need to Command-Option drag the image into a project. Aperture will import and reference the new file. It’s not as intuitive as it could be, I guess, but it does work nicely.

Furthermore, if in the future I decide to totally change my primary toolset because of changes in the software landscape, I’ll probably be able to leave my library in it’s current structure where everything is sorted into year/month/day subdirectories. Of course, I hope I don’t have to jump through that set of hoops, along with the attendant problem of extracting or reconstructing all that metadata, but it’s always good to take a long view towards photographic data. I’ve been taking pictures since I was a young boy, and I plan to keep on doing it for as long as I can hold a camera. Software will change. Data should be forever.

The main downside to this approach, of course, is that Vaults no longer work as a good backup strategy. Apple’s intention is that if you take the approach of using externally referenced files, you also take on the responsibility for having your own backup strategy. This is a drag, to say the least, but the win I get from having the externally reference files compensates.

WARNING: Command line geekery ahead! Since I know that one of the questions that will be asked is: “So then, how do you backup?”, here’s my answer. But it’s not one for those that are timid of the command line and shell script. This is, however, an O’Reilly site and there are lots of resources in the O’Reilly catalog that can help you get up to speed on this sort of thing if you have the desire. That said, here’s what I do. I have a simple shell script in my ~/bin directory which contains the following line:

rsync -avz --delete --exclude="Desktop DB" --exclude="Desktop DF" --exclude=.DS_Store --exclude=.Spotlight-V100 --exclude=.Trashes /Volumes/Photos/ /Volumes/PhotosBackup/

This syncs up the contents of my primary library disk, /Volumes/Photos (an eSATA RAID array), with an external FW 400 drive, /Volumes/PhotosBackup. I typically give this script a run after I’ve had a session working with Aperture. And, I’ll probably move in the next few weeks to having it run automatically every few hours. The next step after that will be to set it up to sync up with an external disk farm, so that I can get offsite disk backups.