I think I’m actually ready to file a bug report, but I’m interested in knowing what people think is the right answer.
Yes, I understand some of you hate drag-and-drop for keywords, but I’m far as I’m concerned, the right answer is not to disallow it (and it’s unlikely that DxO would remove a feature).
Start with keyword hierarchies A|B|C and D|E. Tag a JPG with ‘C’ with “whole hierarchy” selected in Preferences.
PL will create a DOP file with the following:
Keywords = {
{
"A",
}
,
{
"A",
"B",
}
,
{
"A",
"B",
"C",
}
Now, drag-and-drop ‘C’ onto ‘E’. What I would expect is:
Keywords = {
{
"D",
}
,
{
"D",
"E",
}
,
{
"D",
"E",
"C",
}
What I actually get is:
Keywords = {
{
"A",
}
,
{
"A",
"B",
}
,
{
"D",
"E",
"C",
}
Of course, they only promise to select the entire hierarchy when assigning keywords, not when moving them around, so maybe this should be feature request. I can’t imagine why anyone who has chosen the “whole hierarchy” preference would want drag-and-drop to work this way.
Checking the JPG, it has subject keywords A, B, C, D, E and hierarchies A, A|B, D|E|C. In other words, it conceptually matches what is in the DOP file.
The workaround is to search for all files with hierarchy D|E|C. These will be the same files as were originally A|B|C. Then select all the files found by the search. Deselect C and re-select it. This will enable hierarchies A and A|B. With the same images selected, deselect A and A|B.
@RobiWann talked about LR having a new notation, where the original entry would only include hierarchy A|B|C and the new entry would only include D|E|C. This would fix the problem only if a search for “D|E” also finds all files tagged with "“D|E|C” (which might be true for LR, but is not true for PL and might not be true for other tools).
Unchecking “whole hierarchy” allows PL to write equivalent entries. The problem isn’t in the entries, but in how a search for a keyword is performed. In any case, explicitly including the parent keywords might be the best option for maximum compatibility with other tools.
@Joanna also mentioned that a hierarchy of just “A” under lr:hierarchicalSubject is an error. However, to the extent that I am reporting a problem with the DOP files, which store keywords in their own way (i.e. no dc:subject or lr:hierarchicalSubject tags), this is irrelevant. In any case, that should probably be a separate bug report (and may already well be).