Hi all,<br><br>Like it have been reported in this room more than one time in the pass, especially by Daniel Bauer, we have a problem to store the digiKam tags in pictures metadata.<br><br>*** THE PASS ***<br><br>digiKam from KDE3 branch only support IPTC has user friendly photograph metadata. IPTC/IIM to be more precise, only support officialy non UTF-8 characters encoding and have a lots of restriction about strings size to embed in metadata.
<br><br>digiKam from KDE3 branch only store Tags Path list as IPTC keywords (ASCII + 64 char size). The tag name is never saved as well somewhere.<br>To be clear a Tags Path is the list of path to describe Tags assigned to a picture. For example :
<br><br>Places/pyrénées<br>gilles/adrien<br>gilles/adrien/testphoto<br>Dynax 5D<br>Places/pyrénées/pic du midi<br>Tests Pictures/holidays<br><br>This way is used to restore a picture tags tree on database during import (like comments, rating, date).
<br><br>But this way provide a problem when you export a picture to flickr for ex, when the IPTC keywords are interpreted as well like tag item. The whole path name will be used as Flickr tag name.<br><br>*** THE FUTURE ***
<br><br>Now, with digiKam for KDE4, we support XMP !<br><br>I have solved this issue in my computer to store the all Tags Path in a dedicaced Xmp namespace named... digiKam. <br><br>The Tag name will be store in a standard Xmp tag (not listed in example below, because it's not yet implemented in my computer (:=))), and the Tags Path list in a private Xmp tag (see below). There is a screenshot of digiKam running with this issue :
<br><br><a href="http://digikam3rdparty.free.fr/Screenshots/digikamKDE4_11.png">http://digikam3rdparty.free.fr/Screenshots/digikamKDE4_11.png</a><br><br>The Xmp resume is given below :<br><br>File name: photo-000048.jpg (XMP Schema)
<br><br>>>> xmp <<<<br>Create Date : 2006:12:29 11:36:26<br>Creator Tool : digiKam-0.10.0-svn<br>Metadata Date : 2006:12:29 11:36:26<br>Modify Date : 2006:12:29 11:36:26<br>Rating : 3<br><br>>>> dc <<<
<br>Description : Photo taken at "Pic du Midi"<br><br>>>> digiKam <<<<br>TagsList : Places/pyrénées, gilles/adrien, gilles/adrien/testphoto, Dynax 5D, Places/pyrénées/pic du midi, Tests Pictures/hollidays
<br><br>>>> exif <<<<br>DateTimeOriginal : 2006:12:29 11:36:26<br>PixelXDimension : 3016<br>PixelYDimension : 2008<br>UserComment : Photo taken at "Pic du Midi"<br><br>>>> photoshop <<<
<br>DateCreated : 2006:12:29 11:36:26<br><br>>>> tiff <<<<br>ImageLength : 2008<br>ImageWidth : 3016<br>Make : KONICA MINOLTA<br>Model : DYNAX 5D<br><br>And the raw Xmp data are :<br><br><?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<br><x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 4.1.1"><br> <rdf:RDF xmlns:rdf="<a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#">http://www.w3.org/1999/02/22-rdf-syntax-ns#
</a>"><br> <rdf:Description rdf:about=""<br> xmlns:xap="<a href="http://ns.adobe.com/xap/1.0/">http://ns.adobe.com/xap/1.0/</a>"<br> xmlns:tiff="<a href="http://ns.adobe.com/tiff/1.0/">
http://ns.adobe.com/tiff/1.0/</a>"<br> xmlns:exif="<a href="http://ns.adobe.com/exif/1.0/">http://ns.adobe.com/exif/1.0/</a>"<br> xmlns:photoshop="<a href="http://ns.adobe.com/photoshop/1.0/">http://ns.adobe.com/photoshop/1.0/
</a>"<br> xmlns:dc="<a href="http://purl.org/dc/elements/1.1/">http://purl.org/dc/elements/1.1/</a>"<br> xmlns:digiKam="<a href="http://www.digikam.org/">http://www.digikam.org/</a>"<br> xap:CreatorTool="
digiKam-0.10.0-svn"<br> xap:ModifyDate="2006:12:29 11:36:26"<br> xap:CreateDate="2006:12:29 11:36:26"<br> xap:MetadataDate="2006:12:29 11:36:26"<br> xap:Rating="3"<br> tiff:ImageWidth="3016"
<br> tiff:ImageLength="2008"<br> tiff:Make="KONICA MINOLTA "<br> tiff:Model="DYNAX 5D"<br> exif:PixelXDimension="3016"<br> exif:PixelYDimension="2008"<br> exif:DateTimeOriginal="2006:12:29 11:36:26"
<br> photoshop:DateCreated="2006:12:29 11:36:26"><br> <exif:UserComment><br> <rdf:Alt><br> <rdf:li xml:lang="x-default">Photo taken at "Pic du Midi"</rdf:li>
<br> </rdf:Alt><br> </exif:UserComment><br> <dc:Description><br> <rdf:Alt><br> <rdf:li xml:lang="x-default">Photo taken at "Pic du Midi"</rdf:li><br> </rdf:Alt>
<br> </dc:Description><br> <digiKam:TagsList><br> <rdf:Seq><br> <rdf:li>Places/pyrénées</rdf:li><br> <rdf:li>gilles/adrien</rdf:li><br> <rdf:li>gilles/adrien/testphoto</rdf:li>
<br> <rdf:li>Dynax 5D</rdf:li><br> <rdf:li>Places/pyrénées/pic du midi</rdf:li><br> <rdf:li>Tests Pictures/hollidays</rdf:li><br> </rdf:Seq><br> </digiKam:TagsList>
<br> </rdf:Description><br> </rdf:RDF><br></x:xmpmeta><br><br>As Xmp use UTF-8 endoding nothing is lost ! Also, the strings size are not limited ! The only limitation (for JPEG only) is the JFIF APP1 section used to store Xmp packet wich is limited to... 64Kb (PNG chunk and TIFF tag don't have this limitation.)
<br><br>Nota : With the new future Database structure, we will store certainly more private informations in Xmp digiKam namespace... Marcel, we can do what we want (:=))) Xmp rock...<br><br>But i have a question about how to save the a tag path. Currently the separator is a '/'. This can be a problem if user use this character in a tag name because it will break the tags tree in a future import (backup/restore). If somebody has an alternative to prevent this problem, let's me hear...
<br><br>Thanks in advance for you constructive remarks...<br><br>Gilles<br><br><br><br>