With this morning’s comment from martie asking about a crashed hard drive, I got to thinking about making my own Lightroom 2 backup plan a bit more automated and reliable. My general approach is to periodically copy my catalog file and image directories to an external hard drive, but there’s been nothing systematic about it until now.
I’ve previously described a bit of my Lightroom file structure, noting that I import new photos into a single directory per import. As part of a strategy to save space on the MacBook where I do my actual work, I periodically copy those folders to an external hard disk currently named Grundle. This is simply a matter of dragging the folder, in the left-hand directories pane of Lightroom, from one hard drive to another.

While this copying step is manual, the rest of the system is now automated, thanks to this tutorial at MacResearch and a bash script by Aidan Clark. The bash script took just a bit of tinkering to work with Lightroom’s catalog file, which by default will have rsync-breaking spaces in it, and to perform the second backup from the external volume to the iMac. I’ll post those specific and very minor modifications if there is interest.
Here’s the final result: Using OS X’s launchd tool, whenever I mount Grundle on my MacBook, whether via network or direct firewire connection, my Lightroom 2 catalog file is copied to Grundle using rsync. And, whenever I mount Grundle on the upstairs iMac, a similar combination of launchd and rsync copies both the catalog file and the image directories from Grundle to the iMac. This means that in the course of regular use of my two Macs and that external drive, both my Lightroom catalog and folders full of images get backed up.
One caveat to this system is that the backup of the image folders still involves that manual step of moving them from the laptop to Grundle. I could automate this the same way the catalog backup is done, but that could potentially mean trying to backup a gig or more at a time over the wifi network — a time- and bandwidth- consuming process that isn’t really necessary. Now, the obvious down-side is that the newest photos I’ve taken are always the ones most vulnerable to data loss, and that’s obviously not a highly desirable thing. But I’m satisfied with my current workflow of moving folders to Grundle generally when I’m done working with that set of images. I’ll continue to think about this situation and may come up with some additional redundancy for that stage of processing.
Update: Okay, I buckled. A bit more tinkering and I now have my current folders of raw images copied to Grundle. After I relocate the folder using Lightroom, the folder will disappear from the backup directory, so I don’t have redundant backup files stacking up anywhere. Nice and clean, and everything’s safe.
- ()
- This article is dated Saturday November 15, 2008 and is posted to photos, technology
, with tags adobe
adobe lightroom
backup
data
lightroom
tutorials
I’ve noted recently how slick it is to be able to use nested keywords in Lightroom: It’s a piece of cake to select a set of photos, hit cmd-K, and enter “mount humphries > mountains” to assign the “mount humphries” as a child keyword of “mountains”.
However, as noted by a poster to a thread about keywording over on the Flickr Lightroom group, this creates a potential problem: If the child keyword is already used, Lightroom 2 will end up creating a duplicate keyword; you’ll end up with one “mount humphries” without a parent, and one “mount humphries” keyword with the parent of “mountains.” So, by trying to be hierarchical with your keywording, you’ve actually splintered your keywords. Not helpful!
Having already found a fun way to explore relationships between and frequencies of my keywords, it occurred to me that I might have some ready-made tools to help with this situation: The need to find and deal with duplicate keywords.
First I needed to find any duplicates created — potentially — by the ad-hoc nesting of keywords. A quick modification to my keyword frequency script produces a list of dupes:
cp ~/Pictures/Lightroom/Lightroom\ 2\ Catalog.lrcat ~/lightroom.lrdb
/usr/local/bin/sqlite3 -csv ~/lightroom.lrdb 'select ImageCountCache, name from AgLibraryKeyword;' > /Users/alan/lr-keywords.csv
awk -F , '{print $2}' lr-keywords.csv | sort -n | uniq -d
rm ~/lightroom.lrdb
rm ~/lr-keywords.csv
As with the frequencies, this short script makes a backup copy of my Lightroom 2 database, then calls on sqlite3 to extract the list of keywords; the difference is in the 4th line, where I use awk to pull out the tags and then pipe them through two built-in unix functions to print a list of any duplicates. In my case, it yielded the following:

I have a list now — let’s check out if it means what I think it means. Switching back over to Lightroom, I can filter for all photos with the “mount humphries” keyword:

Sure enough, I have 12 images tagged with “mount humphries”, and 11 images with the same tag set as a child of “mountains” (as an aside, I see that I have well over a hundred images with the “mountains” tag that could probably use some more granular tagging).
My first impulse was to try to just drag the non-child “mount humphries” into the “mountains” tag; this works, after all, with other keywords. But in this case, it won’t do the trick, presumably because there is already a “mount humphries” keyword there — Lightroom won’t let me add a same-named child.
To reassign the keyword to the parent, you need to take a few more steps: First, click the right-pointed arrow to the right side of the duplicate, non-child keyword; this will navigate to all images assigned that keyword. Then, in the grid view, simply select all (cmd-A), and then check the child keyword to add it to all of the selected images (the checkbox is to the left of the keyword, and appears when the mouse cursor hovers over the keyword), and you’ll see the count increase accordingly. Next, un-check the duplicate, non-child keyword in the keywords panel. You’ll see its count drop to 0. The order of those two check-uncheck steps is important: If you uncheck the non-child keyword first, you’ll end up with an empty selection and nothing to apply the proper keyword to.

There! My “mount humphries” keyword as a child of “mountains” is now assigned to all 23 original images, and I can delete the duplicate, non-child tag.
So, with an approach like this, ad-hoc keyword nesting shouldn’t be feared: We can identify duplicates created by nesting, and, in a matter of seconds, apply the same nesting to any previously-tagged images. And, once you’ve resolved the duplicate, any further assignment of the focal keyword will always assign it, appropriately, as a nested tag. Pretty slick, I do say.
Note: The script above works with OS X Tiger and requires an upgrade to the default version sqlite. It ought to work with Leopard as long as sqlite is present. Windows? Don’t know; either via cygwin or separate binaries, awk and uniq should be available for Windows, and there is a sqlite for Windows download at the above link.
- ()
- This article is dated Sunday October 12, 2008 and is posted to photos, technology
, with tags adobe lightroom
lightroom
lightroom 2
osx
photography
photos
tips
While Lightroom gets a lot of love from professionals who take a thousand photos at an event and need to manage a paying production workflow, it’s also great for enthusiast-level users like me: I usually work on the scale of a weekend’s or a trip’s worth of photos that need organization, a place to live, some pruning and keywords, and whatever sorts of RAW workup that’s necessary. Last week I wrote up a few general Lightroom tips with some vague intention of documenting a practical workflow; here are two high-level elements of my workflow: Import/File structure and metadata/keywords.
Import and file structure: I shoot in RAW and use Lightroom to import photos directly from the SD card via USB card-reader. Lightroom presents a number of options for storing those imported files: In the past I put imported photos in by-day folders, meaning one directory for each file date. So, for a handful of days’ worth of photos I’d have a hierarchy of directories like 2008-09-01, 2008-09-02, and 2008-09-03. I’ve recently switched to a storage option that, so far, I really prefer: I import photos to a single directory based on import date rather than file date, with a descriptive suffix to that directory. The nice upside to this approach is that a weeks’ worth of photos — a five-day trip somewhere, for example — all end up in a single directory, and can all be viewed and processed as a set (without having to put them all into a collection). Since Lightroom is so handy with metadata, I don’t lose anything by stepping up in granularity from by-day storage to by-import storage. Additionally, having fewer directories hanging around makes it easier both to backup and to browse my photo file tree with other applications.
Below is a screenshot to illustrate the import and directory naming stage:

On import, I assign a metadata preset and whatever keywords are applicable to the entire import set of photos.
After import is a first pass to identify picks and rejects and assign keywords, which I described last time around: Set grid mode to a large-ish preview size, and use shift-P and shift-X in grid mode to mark any clear favorites and rejects. After that pass, it’s keywording/metadata time.
- Metadata: Lightroom has two-dozen or so non-keyword metadata fields that, frankly, I don’t have much use for. I tend to use only a few of them (in the “Image” metadata category) to assign geographic location of photos taken: I have metadata presets for common locations, and I assign the rest on an ad-hoc basis. At export time, some of this metadata is included as keywords, so my exported photos end up with, at least, city and state information attached.
- Keywords: You can keyword forever in Lightroom. I start keywording with a single keyword set that broadly covers my most common uses (The “edit keyword set” function is accessed in the Keyword Set menu in the right-hand Keywording panel): I call this one “Common/Home”, and it contains, among other keywords, “Heather”, “dogs”, “flickr”, and “food” tags. I know the order of these tags and can quickly make assignments with alt-num combinations. With my “Common/Home” set active, alt-7 tags a photo with flickr, alt-8 with Heather, for example. Wondering what your common keywords are? Try exploring your database for common lightroom keywords.
- In Lightroom 2, the related keywords function adds a whole new dimension to commonly-used tags. Once you’ve assigned one or two from a preset menu (as above), you’ll get a set of keyword suggestions, as well. Lightroom 2 really does facilitate both identifying and applying keywords in a useful way.
- On applying keywords: As with metadata, I’ve found it most useful to reduce the size of previews in the grid window and apply keywords in groups to a selected set of images first (as many as possible; ctrl-click (shift-click for a range) or shift-arrow with keyboard to select multiples), and then step through photos one-by-one, adding additional keywords as needed.
- Lightroom lets you display keywords for a given image in a number of ways. I like to keep the keyword display set to “will export” — That’s generally the most complete display of the tags assigned to a given image, including synonyms and parents.
Possible items for next time? Super-basic RAW development, exporting, and collections.
- ( [8])
- This article is dated Saturday October 4, 2008 and is posted to photos, technology
, with tags adobe lightroom
lightroom
photography
tips
I spend a lot of time in Lightroom 2 these days. I’m nobody’s pro, but I shoot a lot of photos, and after having used Lightroom (and now Lightroom 2) for a while now, I think I have a pretty good, simple, enthusiast-style workflow sorted out. I’ll summarize the workflow itself (importing through working up images) in follow-up post. Here are a few general tips that seem to work well for me:
Essentials, or Stuff I use constantly: I use Picks and keywords extensively. Reviewing newly-imported photos, I mark anything that I like right off the bat as a Pick by simply hitting shift-P as I scan through the gallery (and shift-X to immediately mark others as rejects; the shift modifier will mark the current photo and move on to the next shot). As I revisit a set of shots later, I find myself repeating this process; while those subsequent passes primarily identify further Rejects, I do occasionally find more Picks after starting to work up other photos. After each pass through a gallery, I use cmd-DELETE to remove (and delete) all the Rejects.
This has been a nice insight for my process: It means that I am fairly conservative when it comes to Rejects. That is, I don’t mark as Rejected 1) unless a photo is obviously bad (bad focus, blur, composition I really dislike, etc.) OR 2) until I’ve spent some time on photos in a set that I do like right from the get-go. This frequently helps give me a sense for appealing qualities of photos that I might not have noticed or thought of initially.
With a gallery through at least a first pass of identifying Picks and Rejects, I apply keywords. As with many aspects of processing photos, Lightroom has lots of ways to do this. There’s a jobber called Keyword Painting that I don’t use, because it’s always been much faster to simply select sets of photos and then apply keywords to the selection. In Lightroom 2, cmd-K focuses on the keyword entry box, which will auto-complete as you type. Lightroom 2 also has “recommended keywords” functionality, so that as keywords are assigned to a photo or set of photos, a new set of co-occurring keywords is identified and displayed for easy additional assignment.
Although I like to use a large-ish image preview (hit = to increase the size of preview images in the gallery grid) for screening for Picks and Rejects, for keywords I like to shrink the grid size (keyboard shortcut -). This fits more images into the grid and allows me to select larger sets for group assignment of keywords.
Lightroom allows for keywords to be nested, and there’s a great shortcut for accomplishing this: When entering keywords, separate child from parent keywords with a > sign: flickers > birds, for example, or burgers > food.
Simplifying, or Things I don’t use in Lightroom: Beyond keywording, Lightroom has at least a trio of way to identify and categorize photos: You can flag photos as Picks, label them with colors, and rate them with zero through five stars. I don’t use colors or stars at all. They may be highly useful for some situations, but they just clutter the cognitive space where I think about my photos: “Is this a three-star green photo, or a four-star blue one?” So except in the rarest circumstances, I haven’t yet found a use for ratings and color labels.
Indispensable keyboard shortcuts: There are grundles of these, but the shortcuts I use all the time are:
- G, E, D: Gallery, Editor, and Develop modes
- P: Mark as Pick (modify with shift)
- X: Mark as Reject (modify with shift)
- cmd-delete: Remove Rejects (optionally delete from disk)
- cmd-K: Assign keywords
- W: Jump to White Balance selector in Develop mode
- R: Crop tool in Develop mode
- J: Show clipped darks and highlights (Developer only; in gallery, changes display of thumbnails)
- L: Cycle the lights (view on black)
- tab/shift-tab: reveal/hide menu panels
Next time: The library filter, file organization, workflow, and Lightroom+Flickr?
- ()
- This article is dated Sunday September 28, 2008 and is posted to photos, technology
, with tags adobe lightroom
lightroom
mac
osx
photography
photos
software
tips
tools
A question recently came up in one of the Lightroom groups over on flickr about creating images with large borders on just one side — space within a frame to place a title, for example, but just along a single edge of an image. The poster wanted to create images such as those found here, and wondered if it was doable without diving out to an external tool like Photoshop. The first working proposal was to use a graphical frame applied in the print module, but that isn’t an ideal solution for me; it still requires setting up that frame with something like Photoshop, and to apply it you have to switch modes. So I tinkered a while with a photo I took a couple of nights ago, and managed to get what I think is a nice solution via a direct export from Lightroom using the fantastic LR2/Mogrify plugin from Timothy Armes.
The out-of-the-box options for this plugin don’t provide a capability to create different-sized borders to an image, but the underlying engine for the plugin, Imagemagick’s mogrify tool, does — after a fashion. So, in a nutshell, the trick is to use the command line element of LR2/Mogrify in addition to its other features, to add to the picture’s canvas size before performing the other operations.

There are just a couple of tricks to get this to work smoothly using LR2/Mogrify. First is to add the extent command to the mogrify configuation, specifying the resulting size of the image you want to export:

I’ve specified the command -background white -extent 3008×2158 to be prepended to the mogrify command line that LR2/Mogrify will execute for me. I’m exporting an original image that’s 3008×2008, so I’ve specified 2008×2158 to the final image — adding 150 pixels, which will be filled with a white background. Next I use the built-in features of LR2/Mogrify to add the colored frames and the text overlay.

Because the extent command was applied to the beginning of the command line, the borders will be applied to the new image — the one with the bigger lower border created by extent.

The text overlay is just a bit strange. Note that instead of specifying the text to fall at the bottom, I’ve placed it at the top center of the image, with an offset of 2158 pixels. For some reason, directly placing it at the bottom center reverses the position of the new white border — it ends up at the top of the image, through some kink of mogrify that I can’t quite sort. It’s easy enough to compensate with the offset.
Export away, and that’s all it takes. You’ve built an image with a nice broad frame and caption, all right from Lightroom’s export panel. No Photoshop or print module necessary. Fun.
- ()
- This article is dated Sunday August 17, 2008 and is posted to photos, with tags adobe lightroom
lightroom
photography
photos
tips
tools
As it happens, Lightroom 2.0 has just the thing I daydreamed about a handful of months ago. The new version’s data includes a table of keyword co-occurrences that makes it possible to produce things like this:

This graph shows keyword relationships that occur within a hop from my “flickr” keyword — which I use to keep track of photos that I upload there.
Color is a little subjective. The darker blue, the higher the ratio between unique neighbors and total neighbors. That is, darker blue nodes are connected to relatively few unique other neighbors than the lighter blue nodes.
- ()
- This article is dated Wednesday August 13, 2008 and is posted to photos, with tags adobe lightroom
data
graphs
lightroom
network
pictures
tinkering
tools