Summary: | Last tag cannot be removed if only using xmp.lr and xmp.dc | ||
---|---|---|---|
Product: | [Applications] digikam | Reporter: | Bastian <itbastian> |
Component: | Metadata-Xmp | Assignee: | Digikam Developers <digikam-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | minor | CC: | itbastian, metzpinguin |
Priority: | NOR | ||
Version: | 8.0.0 | ||
Target Milestone: | --- | ||
Platform: | Kubuntu | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/digikam/commit/915bddbe5e8c8d104bbd4abd2988b018f0bae718 | Version Fixed In: | 8.0.0 |
Description
Bastian
2022-11-20 17:23:14 UTC
SUMMARY Revised If only Xmp.lr.hierarchicalSubject and Xmp.dc.subject (and optionally digiKam:TagsList) are activated for writing/reading into/from the sidecar file, it is not possible to delete the last tag. With only the digiKam namespace activaded all works fine. Exiv2 internally uses a conversion table to map XMP metadata to Exif and Iptc or vice versa. The entry "Xmp.dc.subject" is associated with "Iptc.Application2.Keywords". Therefore "Iptc.Application2.Keywords" is then written as ""Xmp.dc.subject" in the XMP file. In order not to break the behavior for other users here, they should also enable "Iptc.Application2.Keywords" in the extended metadata. Then the problem no longer occurs. https://exiv2.org/conversion.html Maik OK, that works fine for me. Tested it and found no problems. Maybe it would be enough just to add a hint or a warning in the settings dialog. If I only have those 3 active but when additionally enabling "read all metadata for tags" I encounter the following behavior: Tag structure as before: /a/1 /a/b/1 If I activate /a/b/1 DK creates an additional tag /1 When "read all metadata for tags" is disabled it works fine. The behavior is correct, normally when reading tags, the first entry with tags is aborted, the list is processed from the top down. If all tags are used, "Xmp.dc.subject" will also be read, but this does not contain a tag path, just a keyword. since the "1" is present several times in the existing tag tree, a new entry is created under "/1". Otherwise the single "1" from "Xmp.dc.subject" would be mapped to an existing tag path with the "1". Maik If there is no way to deselect the last tag, it does not seem as "correct behavior" to me. ;) I understand that the algorithm is working as programmed, but my user stories are not satisfied: As a User I want to be able to remove all tags from an image. As a User I want only the specifically created tags to be added (and I do not want the tags to be duplicated on the root level). Git commit 915bddbe5e8c8d104bbd4abd2988b018f0bae718 by Maik Qualmann. Committed on 27/11/2022 at 13:03. Pushed by mqualmann into branch 'master'. add function to remove interacting IPTC Tags FIXED-IN: 8.0.0 M +2 -1 NEWS M +32 -0 core/libs/metadataengine/engine/metaengine_p.cpp https://invent.kde.org/graphics/digikam/commit/915bddbe5e8c8d104bbd4abd2988b018f0bae718 |