We've finished our move from .Mac to our very own domain name: http://www.brettgrossphotography.com/ .

Woo hoo!




One of Aperture's strongest features is it's 'soft' hierarchical keywords. This allows you to have a keyword such as "Eagle" that is contained by "Bird" which is contained by "Wildlife" which is contained by "Animal" and have the image behave as if you had applied all of those keywords without actually doing so. Not only does this save you the time & effort of applying those subordinate keywords (the image is of an eagle, after all), but it also allows you to change the hierarchy without causing any grief. You can. say, add "Raptor" between "Bird" and "Eagle" and all of your "Eagle" images will automatically also be "Raptor" images. But I digress...

My point here is to show how you can use AppleScript to add a keyword to an image that is within a hierarchy:

-- ------------------------------------------------------------------------------------------------
tell application "Aperture"
set theSel to selection

set img1 to item 1 of theSel
tell img1

make new keyword with properties {name:"Deep Keyword", parents:"Test demo keyword"}

end tell
end tell

Use the above AppleScript to add a keyword that is a part of a hierarchy to an image. Those are tabs between each term in the parents property. Also note that the parents property is read 'backwards' to make the hierarchy - first item is lowest in the hierarchy.

page35_1

The scripters out there will wonder why I had to tell the image version to add the keyword instead of telling Aperture to add it to the image version. It is either a namespace collision (both the app and image versions have a different 'keyword' property) or just plain weird scripting on Aperture's part. In either event, this method works so you can use it. 

Neat, huh?