Bug 450522

Summary: No option to read/write XPTitle and XPComment metadata fields
Product: [Applications] digikam Reporter: José Oliver-Didier <jose_oliver>
Component: Setup-MetadataAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, metzpinguin
Priority: NOR    
Version: 7.5.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In: 8.1.0
Sentry Crash Report:

Description José Oliver-Didier 2022-02-18 14:26:40 UTC
SUMMARY
***
No option to read/write XPTitle and XPComment metadata fields
***


STEPS TO REPRODUCE
1. Launch Digikam
2. From the menubar open the Configuration Dialog ("Settings" -> "Configure Digikam" -> "Metadata")
3. Click "Advanced" tab
4. Select "Caption" in the dropdown - Note displayed options.
5. Select "Title" in the dropdown - Note displayed options.

OBSERVED RESULT
- Under "Caption" no option for Exif.Image.XPComment appears.
- Under "Title" no option for Exif.Image.XPTitle appears.

EXPECTED RESULT
- Options for reading and writing XPTitle and XPComment fields

SOFTWARE/OS VERSIONS
Windows 11

ADDITIONAL INFORMATION
- These fields are legacy Windows XP fields (along with XPSubject, XPAuthor and XPKeywords) which are still read and written by various applications mostly Microsoft based such as: Windows File Explorer, Windows Photo Gallery (no longer supported), Digital Image Suite (no longer supported), OneDrive (Web, Windows Store...), and the most recent version of Microsoft Photos app.
- I would recommend that these fields be available but unchecked by default in Digikam's Metadata Configuration options. 
- Digikam already supports XPKeywords in the Tags dropdown.
Comment 1 Maik Qualmann 2022-02-18 17:58:05 UTC
This has been discussed many times before. Exiv2 cannot write XP* metadata fields. It's a problem with the encoding of the values. Dies problem is for later when we implement additional reading of metadata with ExifTool.

Maik
Comment 2 Maik Qualmann 2022-02-18 17:59:31 UTC
See also Bug 421464

Maik
Comment 3 Maik Qualmann 2022-02-18 18:03:46 UTC
For reading you can add the desired XP* metadata fields yourself in the advanced metadata settings. This is definitely meant to expand it personally. 

Maik
Comment 4 caulier.gilles 2022-02-18 19:59:15 UTC
Sounds like a duplicate/extension of this bug :

https://bugs.kde.org/show_bug.cgi?id=421464

Gilles
Comment 5 Maik Qualmann 2022-03-07 22:02:52 UTC
Git commit 37677c757518d064ecea5cea82771fa8c1ad327a by Maik Qualmann.
Committed on 07/03/2022 at 22:01.
Pushed by mqualmann into branch 'master'.

add reading of "Exif.Image.XPComment" field

M  +9    -1    core/libs/metadataengine/dmetadata/dmetadata_comments.cpp
M  +11   -3    core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp
M  +6    -0    core/libs/metadataengine/engine/metaengine.h
M  +37   -23   core/libs/metadataengine/engine/metaengine_exif.cpp

https://invent.kde.org/graphics/digikam/commit/37677c757518d064ecea5cea82771fa8c1ad327a
Comment 6 José Oliver-Didier 2022-11-02 21:26:29 UTC
Trying out Digikam 8.0.0 and noticed that XPComment appears in the options, but not XPTitle. Did a quick test with ExifTool enabled and it did not write to XPComment.
Comment 7 Maik Qualmann 2022-11-02 21:54:32 UTC
Even when writing with ExifTool, we cannot do without Exiv2. Please note that internally digiKam is completely based on Exiv2. We create an EXV container with Exiv2. This container (practically just metadata without an image) is then synchronized with the actual file by ExifTool. Since Exiv2 does not write XPComment and XPTitle for the known reasons, they are not changed in the EXV container either.

Maik
Comment 8 Maik Qualmann 2022-12-25 10:22:35 UTC
Git commit d71f6605893d5b1b801ebc425756114711c5fc97 by Maik Qualmann.
Committed on 25/12/2022 at 10:20.
Pushed by mqualmann into branch 'master'.

add support for XPTitle and remove XP* metadata when writing
Related: bug 463378, bug 422242, bug 421464

M  +36   -1    core/libs/metadataengine/dmetadata/dmetadata_comments.cpp
M  +24   -10   core/libs/metadataengine/dmetadata/dmetadata_tags.cpp
M  +13   -5    core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp

https://invent.kde.org/graphics/digikam/commit/d71f6605893d5b1b801ebc425756114711c5fc97
Comment 9 Maik Qualmann 2022-12-25 13:42:05 UTC
Git commit 0e93b5344bf740ad0db1ca85532a66f1f472146a by Maik Qualmann.
Committed on 25/12/2022 at 13:40.
Pushed by mqualmann into branch 'master'.

add write support for XP* metadata when Exiftool writing is enabled
By default, the legacy XP* metadata is disabled in a new config.
Related: bug 463378, bug 422242, bug 421464

M  +8    -5    NEWS
M  +22   -2    core/libs/metadataengine/dmetadata/dmetadata_comments.cpp
M  +13   -1    core/libs/metadataengine/dmetadata/dmetadata_tags.cpp
M  +3    -0    core/libs/metadataengine/dmetadata/dmetadatasettingscontainer.cpp

https://invent.kde.org/graphics/digikam/commit/0e93b5344bf740ad0db1ca85532a66f1f472146a