I plan to use DigiKam to scan for faces and add tags to my original photos.
They are already scanned and copied by PhotoStructure.
I have read the docs for syncing and rebuilding, but I still don’t understand if either of these jobs will update the metadata in PhotoStructure’s library. Or do I have to run DigiKam on both the originals and the PS library?
When assets are “re-tagged” by sync, PhotoStructure re-reads the tags (and sidecars) from all asset file variations, so editing any variation may work, but it depends on the tag.
For “singular” tags that only have one value, like Make, Model, and captured at, PhotoStructure uses “first one in wins”, where “first” is based on variation ordering: so if you edit the Make of the non-primary variation, that edit will be ignored.
For “aggregate” tags, like Keywords, PhotoStructure aggregates all the keywords it can find from all variations, so if you delete a keyword from only one of the variations, the keyword will still show up.
(This is one of the sticky bits that I just solved with v2.0: it’s really irritating to, say, remove a tag from an asset, import an old backup drive that has an old copy of that image, and have those changes quietly “undone.” v2.0 adds a new AssetRevision model that records whenever you make changes via the PhotoStructure UI so it can remember “user intent” and avoid these gaslighting moments)
As always, if you find that PhotoStructure isn’t working correctly for you, please tell me and we can look at what’s going on!
Yup! Digikam spews face names into seven tags, and with different paths for different tags. It was an “interesting challenge” to deduplicate the mess it makes result of using DigiKam…
Note that there are a ton of keyword-related settings: keywordTags is especially relevant:
# +---------------+
# | keywordTags |
# +---------------+
#
# PhotoStructure should look in the following tags for keywords. Note that
# these values are case-sensitive.
#
# environment: "PS_KEYWORD_TAGS"
#
keywordTags = [
"CatalogSets",
"Categories",
"HierarchicalSubject",
"Keywords",
"LastKeywordXMP",
"Subject",
"TagsList",
"XPKeywords"
]
(I’ll be using the Region tag to pre-populate names when I implement face tagging)