A month ago I filed a bug against digikam because apparently no contact info was written into jpg-files by all versions greater than 2.6 (https://bugs.kde.org/show_bug.cgi?id=309254). As it turned out, the contact information actually is written into the pictures but in a different manner than in digikam2.5 due to fixing a bug. They can be seen in digikams metadata viewer as well as using exiv2. Nevertheless they can't be accessed through the kipi metadata editor. The respective fields are greyed out. And when I add the contact info using the kipi plugin a second set of tag is added to the jpg- file. This holds true for the plugin coming with digikam3.0.0 (compiled from git sources) as well as for the one used by gwenview 2.8.4. . Reproducible: Always Steps to Reproduce: 1. write contact info from template into a jpg-file using digikam3.0.0 2. view metadata in metadata viewer of digikam -> it's there 3. open kipi metadata editor (image/metadata/edit all metadata) -> contact info is missing 4. add contact info in kipi metadata editor 5. view metadata in digikam -> it appears a second, slightly different, set of tags containing the contact informat Actual Results: Got a second set of xml tags. Expected Results: Would expect that digikam and kipi plugins use the same set of meta tags. Nevertheless tags written with older version of digikam (2.5 and less) should be visible and editable in kipi metadata editor as well.
Created attachment 84473 [details] Test image with metadata added by digikam I have tested version 3.4 and the same issue is still coming up, Contact Info tabs are written at the root level rather then nested. I opened a bug on Launchpad before seeing this here: https://bugs.launchpad.net/ubuntu/+source/digikam/+bug/1266289
The properties that should be written to are: Xmp.iptc.CreatorContactInfo/Iptc4xmpCore:CiAdr* Currently, metadataedit is writing to: Xmp.iptc.CiAdr* This can happen because exiv2 does not enforce correct XMP nested properties, but allows XMP properties and XMP classes to be interchanged at will by applications.
Created attachment 84478 [details] Quick patch to use nested properties A quick Find & Replace on xmpcredits.cpp resulted in the attached diff. Should work, no?
Created attachment 85155 [details] Improved patch to nest xmp.iptc tags This patch is tested and working. It writes the full nested tags by default. It reads the first of the non-nested and nested tags that already exist in an image. What it does not do is replace the non-nested with a correct nested tag. To do that, the user needs to uncheck the field for the tag and then rewrite it.
Created attachment 85313 [details] Prefers nested tags, removes non-nested This version allows the correct nested tags, if they exist, to be preferred. It also deletes the non-nested tags and writes the nested version.
Created attachment 86179 [details] Patch to prefer nested tags and replace non-nested
As Knut indicated, the change in Digikam happened between version 2.5 and version 2.6. https://bugs.kde.org/show_bug.cgi?id=287267 - IptcCore tags are written incorrectly.
Created attachment 86224 [details] MetadataEdit XMP Credits nested version Tested using kipi-plugins package built for Ubuntu Trusty on https://launchpad.net/~alan-pater/+archive/dwc It reads nested and/or non-nested tags. It writes only nested tags and converts non-nested tags to nested.
Git commit 6414115e0f9d8f28240fb75180d0353938eb30c4 by Marcel Wiesweg. Committed on 30/06/2014 at 21:02. Pushed by mwiesweg into branch 'master'. Apply patch by Alan Pater M +101 -14 metadataedit/xmp/xmpcredits.cpp http://commits.kde.org/kipi-plugins/6414115e0f9d8f28240fb75180d0353938eb30c4