[Digikam-devel] Image history in metadata

Marcel Wiesweg marcel.wiesweg at gmx.de
Sun Jun 13 15:06:38 BST 2010


> Hi Marcel,
> 
> Technically, I think storing an XML structure in an XMP text field is
> not a problem, if you don't mind the overhead: First, parse the XMP
> with exiv2 (which uses the expat XML parser), then separately parse
> the embedded XML text (potentially using another XML parser).

Ok Martin. This is getting into details, leading you away from getting the 
whole system to work.
I suggest the following:

- add two methods to DMetadata accepting or returning a DImageHistory object. 
For now, store the XML as a string. For the "better" solution below, I will 
study the details. We can afterwards decide if we stay with the temporary 
solution or the more sophisticated approach.
- commit your results so far to the gsoc-2010 branch. We are looking forward 
to your code!
- during the next week, with the basic DImageHistory code committed by you, I 
will start with the database integration. (We need your XML reader/writer in 
any case for this, regardless how it's stored in metadata)

Marcel

> 
> Alternatively, you can look at specifying the image editing history
> "language" directly in XMP as you said, either within the digiKam
> schema or in a new schema for this purpose. XMP allows for more than
> the common basic types; it also supports things like structures,
> qualifiers and nested types. See here for some examples in an exiv2
> context and to get an idea: http://www.exiv2.org/example5.html and the
> XMP specifications for details: http://www.adobe.com/devnet/xmp/. Of
> the two options, I would prefer this one.
> 
> Andreas

> Andreas,
> 
> for the GSoc project about non-destructive image editing we have come up
> with an XML format in which we would like to store the image history.
> 
> Now thinking about storing this in metadata, we have crossed the problem of
> storing XML in XMP's XML. Alternatively, the structure could be inserted
> directly in XMP, but it is not easily mapped to a single list or map, so
> using bag or other XMP structures appears not easy.
> For reference, see some example XML at the bottom of this mail.
> 
> What is the best way to put this into metadata?



More information about the Digikam-devel mailing list