Metadata with darktable

Beside the work made on tags, there is another one in progress to improve the metadata handling in darktable.
Today we have: title, description, creator, publisher and rights.
I don’t talk about exif data which come from camera and are more or less frozen.

So the idea is to add others tags which are missing for most of the users.
With all the respect and kindness for those who work on this I think this is not the best way to go and I would like to explain here why.

This post may be longer than usual, please forgive me, but the subject is really important for dt.

Before migrating from Lr to dt I’ve studied different DAM: digikam, daminion, idimager and iMatch. The one I preferred for its power and flexibility was iMatch. I didn’t move to iMatch because it was just totally dependent on XMP (no way as with dt to disconnect the XMP companion files). A good backup of the database is secure enough not to suffer the burden of these files all the time.
idimager was also attractive but at this time did not seem robust enough.
I’ve found digikam complex and not efficient, and dt, poor but simple, and just enough not to loose too much of my Lr data.

I see two critical aspects for a photographer DAM.
The first one, as an hobbyist or a professional, I need to be able to define and work with the metadata I need, in the simplest way, regardless of the standards or what the other think. How I qualify my images is my stuff. This must be as easy and fast as possible.

The second one is to control the information which leaves dt with my images to the others: personal or public website, customers, partners, images bank, … and obviously, here, we have to deal with the complexity of the wild forest of xmp or other iptc formats.

What I liked in some of the tools above was the ability to translate (more or less efficiently) the hierarchical tags (absolutely free way to describe your personal world) to XMP / IPTC (yes, some tools are still dependent on these ones), formats which allow to communicate with others in a conventional way.

Let’s me take an example. In my hierarchical tags I have a category called “places” structured as :
places|country|region|city|location. You can have a different one, but once defined, you can easily translate this structure into the corresponding IPTC keywords (Country,State, City, Sub-location) or XMP tags (there are several ones for each piece of information). Currently I do this translation using exiftool after having exported my images. In the same way I remove the ones I don’t want to share.

Apart the Exif information (but those are not generated by dt) you can do the same for any other type of data: Author, Copyrights, … and control precisely “the specific” xmp metadata your customer needs.
EDIT: title and description are not good candidates to be treated as tags though. There may be some others like these ones.

To do that what do we need ?

  • tagging tool (+exif, +geotags): dt has.
  • a metadata language (not sure to use the perfect words) or a tool to define the rules which translate the (or some) categories of hierarchical tags into XMP metadata
  • and last but not least, at export time, give the user the ability to select the information he wants to disclose or to share.

Cherry on the cake (sorry English speakers, not sure this makes sense for you), tags are still fully compatible with XMP and those who rely on the companion files are sure to keep / save all their valuable information.

So to me it seems to be a waste of time and energy to develop a complex interface, forcing the user to deal with the complexity of XMP information, a lot of them without interest for him, and at the end not to be able to choose what he wants to export.

I would find more valuable to define an as simple as possible tool to translate hierarchical tags into XMP metadata, letting the user select and use the ones he needs. Some of these rules could be provided with dt as standard presets.
The other aspect which needs to be improved is the selection, at export time, of the metadata the user wants to associate to a specific type of work.

What are your thoughts ?


Allow overriding the dates via the XMP metadata in case one camera had wrong settings and we want to apply a fix via XMP so it is properly time sorted with other cameras.


it seems that geotag module does this already, am I wrong ?

probably based on Geo data?

for me it was a problem that my nikon and fuji had different date settings with lists the images in the wrong order.

not exactly. In fact before let geotag find the geo data in the gpx file, it needs to set properly the date time of the image by the mean of an offset. You can apply the same time offset to a selection of images. If that does the trick it should not be difficult to extend the offset to some days…
EDIT: in fact applying an offset of + or - 36:00:00 hours works perfectly. Should work until 99:99:99 hours …

Not a lot of contribution here … August is not a closed month only in France … :wink:

For those who would like to have a look I’ve made other suggestions in the corresponding PR 2819

I’ve thought about and want a “notes” metadata field. Right now this information lives on post it notes on the side of my computer case.


How do you see this info ? Internal or to be shared with exported images ?

Amongst the possible standard metadata:

Xmp.dwc.occurenceStatus, fieldNotes, eventRemarks

I see it as internal, but that’s just what I’m thinking. I’d use it for recording notes of how I want to process an image.

I personally don’t use any of that proprietary software, so intruding on their tags isn’t something I’d want to do.

How to get rid with the comment “Developed using darktable x.x” added to every file ???
Daktable is not proprietary software…

Concerning metadata management, that would be my “wish list”:

-The ability to discard/keep metadata and GPS information at export,
-A bigger Description field or to add a Notes field with more space.
-The ability to change the date/hour/min of pictures (when importing events pictures from more than 1 camera and forgot to sync beforehand).
-I dont know if necessary, but to be able to choose (with presets? config file?) which metadata is displayed in the metadata window.

And not directly related, but would complement (I know there is already a issue in redmine for that): To be able to sync a folder content in darktable from the hard drive. For now, the only way to do it is to remove the folder and re-add the folder in darktable.


I hope you mean how to optionally get rid of it. Some people may find it useful to know what release of dt they used to do the processing.

Optionnally, of course. But no option found to get (or at least to NOT get) this comment.