Bug 432823 - Metadata Panel does not display XMP structs instead displays type="Bag"
Summary: Metadata Panel does not display XMP structs instead displays type="Bag"
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Xmp (show other bugs)
Version: 7.2.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-12 01:07 UTC by José Oliver-Didier
Modified: 2021-02-12 19:33 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.2.0
Sentry Crash Report:


Attachments
DigiKam's XMP Metadata pane displaying type="Bag" (31.79 KB, image/png)
2021-02-12 01:07 UTC, José Oliver-Didier
Details
Sample image containing IPTC Extension Location Created XMP metadata. (217.11 KB, image/jpeg)
2021-02-12 01:08 UTC, José Oliver-Didier
Details
location.png (26.50 KB, image/png)
2021-02-12 06:52 UTC, Maik Qualmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description José Oliver-Didier 2021-02-12 01:07:55 UTC
Created attachment 135606 [details]
DigiKam's XMP Metadata pane displaying type="Bag"

SUMMARY
On DigiKams XMP Metadata pane, struct tags data is not displayed instead the value type="Bag" is displayed when the XMP structure contains content.

STEPS TO REPRODUCE
1. In Digikam set to display a stuctured XMP tag such as LocationCreated - Go to Settins -> Configure. In the Configuration dialog select Metadata -> Views -> XMP Viewer and enable LocationCreated
2. View XMP Metadata - Click on attached sample image in the Thumbnail view and open the Metadata pane and click on the XMP tab.

OBSERVED RESULT
- LocationCreated displays type="Bag".
- Refer to attached screenshot.

EXPECTED RESULT
- Display the full contents within the LocationCreated struct- LocationDetails struct - Refer to https://exiftool.org/TagNames/XMP.html#LocationDetails
- Something like "Location Created" and the tags contain within the bag as a list beneath with tag and values or something like exiftool does which is to list LocationCreated+<Sub tag>
- Reference Link: https://www.exiv2.org/tags-xmp-iptcExt.html
   

SOFTWARE/OS VERSIONS
Windows: Windows 10

ADDITIONAL INFORMATION
- The sample image LocationCreated tag contains the following XMP structure:

 <rdf:Description rdf:about='' xmlns:Iptc4xmpExt='http://iptc.org/std/Iptc4xmpExt/2008-02-29/'>
  <Iptc4xmpExt:LocationCreated>
   <rdf:Bag>
    <rdf:li rdf:parseType='Resource'>
     <Iptc4xmpExt:City>New York City</Iptc4xmpExt:City>
     <Iptc4xmpExt:CountryCode>USA</Iptc4xmpExt:CountryCode>
     <Iptc4xmpExt:CountryName>United States</Iptc4xmpExt:CountryName>
     <Iptc4xmpExt:ProvinceState>New York</Iptc4xmpExt:ProvinceState>
    </rdf:li>
   </rdf:Bag>
  </Iptc4xmpExt:LocationCreated>
 </rdf:Description>
Comment 1 José Oliver-Didier 2021-02-12 01:08:30 UTC
Created attachment 135607 [details]
Sample image containing IPTC Extension Location Created XMP metadata.

Sample file containing IPTC Extension Location Created values.
Comment 2 Maik Qualmann 2021-02-12 06:52:58 UTC
Created attachment 135610 [details]
location.png

I don't see any errors here (see screenshot), all information is available. It is normal for Exiv2 to display the type of container, you can also find this in the face metadata. If you do not see the Country* information, you have set the filter incorrectly.

Maik
Comment 3 Maik Qualmann 2021-02-12 11:42:29 UTC
It is a problem with the filter, which does not know that e.g. Location-City is part of the Bag Location Created.

Maik
Comment 4 Maik Qualmann 2021-02-12 19:33:47 UTC
Git commit de41d0b24657a599aafea5c088a4ba365b41550b by Maik Qualmann.
Committed on 12/02/2021 at 19:32.
Pushed by mqualmann into branch 'master'.

add special case to filter metadata tags in bag containers
FIXED-IN: 7.2.0

M  +2    -2    NEWS
M  +21   -0    core/libs/widgets/metadata/metadatalistview.cpp

https://invent.kde.org/graphics/digikam/commit/de41d0b24657a599aafea5c088a4ba365b41550b