Lightroom SDK: complete keyword management functions

  • 5
  • Idea
  • Updated 7 years ago
I've not thought about details in a long time, but from the top of my head, and in addition to allowing plugins to readily keep an updated table of keywords (keyword events would help in this regard, since polling the entire set for changes can be very time consuming for a plugin), functions to:

- delete keywords
- move/rename keywords (set-attribute can not rename as document suggests: that's a bug in the SDK or the documentation).
- determine if a keyword exists, without adding it.
- manipulate all keyword properties.

This would allow plugin authors to make better keyword editing/restructuring plugins..., this 'Idea' would go well with some more sophisticated UI capabilities too, e.g. drag 'n drop, scrolling, ... also, 'twould also be nice if these plugins could be non-modal and live in the panels..., or at least be invokable in an instant in a deterministic fashion on both platforms (e.g. plugin menu that doesn't mix hotkeys for different plugins together, and is available on Mac too).
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 382 Reply Likes

Posted 7 years ago

  • 5
Photo of Ronald May

Ronald May

  • 12 Posts
  • 6 Reply Likes
Rob, thanks for fleshing out the details of my previous discussion about keyword editing - much appreciated. I would hope that in your point - "manipulate all keyword properties", you would include the ability to designate a parent for a new keyword in a more elegant fashion than using the "child>parent" construct that is currently available. Being able to "click" on a keyword and have, as part of a context menu, something that would allow the assignment of that keyword to a parent would be quite helpful...of course this would mean that part of the result would be a rearrangement of the keywords to reflect the updated "hierarchy". I would also like to see the automatic assignment of the parent keyword to the image as well as the child keyword previously assigned - this could be an option to be set as parameter of some sort - global or local(?) - don't know, for me it would be global.

Quite frankly, I would hope that Adobe might be paying attention to some of these discussions and add some significant amount of "keyword editing" capability to Lightroom 4. It is very good ad managing my image assets, but it could be so much better.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 382 Reply Likes
I would be surprised if Adobe did not include a fair amount of keywording improvements in Lr4, but ya never know. If the tools are given in the SDK then plugins will come..., but I'm realizing more and more that people mostly prefer not to use plugins unless absolutely necessary...

But yes - the ability to alter ancestry should be included...

However, I'm not sure why you would want a photo to be assigned a parent as well as a child keyword. The parent will be included automatically upon export, and a photo is considered to "have" the parent keyword in Lightroom even if not explicitly assigned, so to me, no up-side, only a down-side that one can't tell how many photos are assigned the "uncategorized" version of the keyword. KeywordConsolidator has a feature to remove parental assignment, but not a feature to add it.

In other words, if I have a photo assigned

Bird -> Swallow, it is findable as a bird or a swallow, and exported as such too. I don't want it assigned explicitly to the bird keyword, since that is reserved for birds whose kind has not been determined.
Photo of Ronald May

Ronald May

  • 12 Posts
  • 6 Reply Likes
As far as keywording improvements in LR4 - we can always keep our fingers crossed...and I would also prefer not to use plugins unless that is all that is available to me - just another piece of software to keep up to date.

As far as parent-child relationships go, to use your example, if I assigned the keyword "swallow" to an image, then I would also want the keyword "Bird" to be assigned as well - maybe it doesn't work that way, I don't know, but by applying the keyword "swallow" I am implicitly assigning the keyword bird to it as well, unless it is possible to have two keywords "swallow" - one that is a bird and one that isn't(?). I don't think that this should be permitted, because in my mind "keywords" are just that "key words" and thus are the "keys" to finding very specific images and should have unique assignments, much like "keys" in a relational database - there I've gone and given away my background in IT and corporate data management processes.

With "implicit" assignment of the "parent" keyword, then all my swallows would show up in a search that just included the keyword "birds", along with all my other birds as well...but, if I am only looking for birds, then that is what I would expect. For example, I might want to search for images of birds that were taken in the state or province that I live in, thus I would get the whole suite of birds that meet that criteria. This is just an example, but sometimes when I shoot birds, particularly in a new geographic area, I don't know what they all are except that they are birds (and I assign that keyword to them), so I would want to do a search for all the birds that I shot on my recent trip to, say, New Mexico, I could then determine which ones I had identified properly and which ones I still had to work on, having an implicit "parenting" would mean that I could simply type in the names of birds that I knew, but when I went after all the birds from my shoot in New Mexico, all of them would come up. Maybe this doesn't make sense to everyone, but it serves a useful purpose for me...I am sure there are probably other ways to do this sort of keywording using collections, but for me this is the easiest way to go, at least with my limited knowledge of how all this keyword stuff works.
Photo of Rob Cole

Rob Cole

  • 4831 Posts
  • 382 Reply Likes
Quoting Ronald: "...if I assigned the keyword "swallow" to an image, then I would also want the keyword "Bird" to be assigned as well - maybe it doesn't work that way, I don't know, but by applying the keyword "swallow" I am implicitly assigning the keyword bird to it as well, ..." - it *does* work that way.

However the "unique key" is the path, not the child, i.e.

bird -> swallow is the unique key. You can still have:
swallow, or
drink -> swallow

There is a thread devoted to keywording you may want to cast your .02 into - there are so many little issues with keywording that it kinda became the miscellaneous keywording improvement thread:

http://feedback.photoshop.com/photosh...
Photo of Ronald May

Ronald May

  • 12 Posts
  • 6 Reply Likes
Rob, point taken. Thanks for the URL, I will go and have a look and see if my 0.02ยข is relevant.