New to Digikam - want to use with Darktable

Hey all,

So, for about a year now I’ve been using Darktable and absolutely love it. But using it as a DAM has been a painful experience. I recently heard about Digikam, so thought I would download it and check it out. I really love the way it works and so, for me, finding a DAM and finding an editor, which are both incredibly proficient (and free!) is a massive positive.

Where I am falling down, though, is trying to figure out a workflow which allows me to ingest the images from my card into DK, so that I can do all the culling, rating, metadata work, etc, and then open images up into DT, which reads the metadata accurately, allows me to edit, then go back to DK, where I can see the edits.

Assuming this is done by .xmp, I will not be able to see DT edits in DK, but I can export my images as JPEGs back into the source folders. But, even now, this is starting to sound complex.

Has anyone come up with a great solution to use both at the same time, bearing in mind that I’m not that techie, so would need a little patience with me.

Thanks in advance.

There is an option to enable darktable style xmp file names in the preferences.

But I don’t think you’ll be able to see the edit, as you need to process the file with darktable in order to do that, and digiKam can’t so that as far as I know.

I don’t mind not seeing the edit, really, given that I can set Darktable as the default editor for ‘Image Editor’, and then when I close Darktable back down, I have the open to save the image in DigiKam, then I can see the edit.

I’m just wondering if anyone has a good workflow that will help me understand the entire end-to-end process

A lot of what I’m going to say is personal preference, but maybe you’ll find it helpful.

One thing I change: in Digikam settings, under “Views”, “Preview” tab, “Raw images: Embedded preview.” This way you only see the same preview your camera shows when you look at a raw in Digikam. I don’t like the render that Digikam makes of raw files.

Make sure darktable is set to “look for updated xmp files on startup” if you use a darktable library file (more on that later)*. If you DO check this box, an issue to be aware of is when darktable starts and sees updated xmp files, it will open a second window to have you select and confirm what you want to have happen with them. The main window will not respond to any clicks at all until you do this. If this second window opens behind the main one when it starts, it’s not obvious why the program seems frozen. (At the end here, I’ll talk about how I avoid this whole issue now.)

I do all my managing, culling, tagging, labeling, everything in Digikam. When I want to edit a single photo in darktable, I can right-click the photo directly and select “open with” and pick the editor from the list. If I want to open multiple files, I just have to have them all selected, and make the same action.

(edit to add: if darktable is already running, it will add the new files to the already-open instance, at least on my system)

If they are not already imported into darktable, they will be imported with this action. I never import images within darktable’s interface.

Workflow wise, if I have a large folder with several images, and I want to sort them in a way I can see in darktable, I use color labels. Often what I use this for is, after culling, I’ll pick all the photos I want to develop in one session, and give them a yellow label in Digikam, which darktable can read. In darktable, I sort by color, edit the yellow labeled photos. Once done, I’ll change them to green within Digikam. I think darkable writes to a different part of the xmp file than Digikam does, so they don’t communicate freely back and forth. I just make all the label changes within Digikam. Getting them to do more would require much more coordination between different development teams as there isn’t really a strict standard with how to use xmp, and I don’t think that’s realistic right now. I think we’re lucky that darktable can read what Digikam does in the first place.


When I export from darktable, personal preference is to export into a subfolder of where the image was. You could, if you wanted to, export right back into the same folder, and in Digikam select all the images, right click, “Group” → “Group Selected by…” filename, time, etc., and Digikam will stack images together so you only see the top image of the group (it’s easy to show all grouped images without ungrouping them).


*later:

A little more advanced topic. You can run darktable without a library file at all. I only just recently found this out. If you add the command line argument --library :memory:, darkable won’t write or read from a database. It will rely totally on the xmp files alone. That avoids the “do you want darktable to read from changed xmp files” dialog window annoyance I mentioned above.

It’s like starting with a clean catalog every time you open it. You can do as complex a search and filter as you want in Digikam, select the entire group of photos and open them all in darktable.

Darktable will still read and write xmp files like normal. I love using it this way.

If you need help to add a command line switch, let us know what kind of operating system or desktop environment you’re using and one of us should be able to help you get squared away. That way, it will work directly from the menu instead of having to open darktable from an actual command line.

2 Likes

More, because I can’t seem to stop talking today: I find a large advantage to using Digikam to manage files is it can work with multiple raw editors. All of them have different tricks I like to play with even if I mostly use darktable. Digikam can’t read their sidecars, but it can be told to manage the sidecars along with the photos if you tell it the file extension, so it will keep them together if you move photos or delete them.

In settings: Metadata → Sidecars → Add file types to be added as sidecars.

You can add “pp3” for Raw Therapee, “arp” for ART, etc.

Hi Michael,

Reading your question - first I have to admit I will be of no help for you as I’m using solely darktable. Secondly I started thinking but why has this been such a painful experience?

My background is this:

  • used LR for many many years on what became >100,000 pictures
  • became fed up with LR and considered dt + DK
  • could not find a ‘nice’ workflow and decided to give only dt a go
  • quite satisfied with how it works - but maybe we have very different expectations
  • in dt I have a basic workflow support, an intensive keyword hierarchy and I feel able to find back any picture or group of pictures I wish for

So please do not hesitate to ignore my question above when your mind is set and you are done with dt as a DAM. This might very well be your situation possibly having a very different use-case. Otherwise it may be fruitful to discuss your intended usage.

Whatever you choose to do… have fun!

Kind regards, Jetze

Hey buddy, this is really helpful actually, and I tested the connection between DK and DT, setting an image to 4 stars and a colour label of blue (because I never use blue, i thought it would be a good test!).

So, I’m on MacOS, and think it might be good to open up DT without the library. A quick couple of questions though.

  1. My assumption for my entire photo library, is that I’m just going to have to settle in the knowledge that, unless I go back through all of them and tag, colour-code, etc, then I’m just going to have to leave them untagged and start from this point on?

  2. If I open up DT without the library, would I need to keep changing the export folder to the folder I am working in, or is there a way to simply export back to the source folder?

Personally, I find modifying metadata in dt unpleasant. Selection and searching work just fine for me. So my workflow is basically: import in digikam → cull, add keywords, captions & titles → import in darktable. Once I’m in darktable, I rarely modify anything for that set of images in digikam. If you have to go back, and if you made changes to the metadata in darktable, remember (in digikam) to reread the metadata (sidecars) for those images (no need to re-import).

Keywords, captions, titles and ratings are transferred with no problem (though you may have to set which keyword metadata tags digikam writes, to keep the dt tag tree clean).

Color labels do not transfer between the two programs: the two programs use color labels in a fundamentally different way: dt treats them as flags, so you can have as many as you want on an image, where dk allows at most one color label. Also, darktable has no notion of pick labels, so those won’t transfer either. However, both color labels and pick labels should stay in the XMP for the raw file (a program is not allowed to remove XMP tags it doesn’t understand)

As for the use without library (I’ve rarely done that): iirc, the settings for modules are not stored in the database, so should work the same as when you use an image library. And if you always want to export back to the source folder, check the use of variables in the path designation (see the page on export and the one on variables in the dt manual). I find it handy to have such a setup as a module preset

I’m of course not speaking for @BorisRabit , but what I dislike about modifying metadata in dt is:

  1. the small size of the edit fields for titles and captions. I like a bit more space for that
  2. the way you have to add tags. I just find it unpleasant to use.

Note that that’s only for modifying metadata. Searching on tags etc. works fine in dt.
And digikam also has its issues with metadata editing; e.g. the only way to set rights and contact information is through predefined templates. But as I hardly use those fields anyway, that’s not an issue for me.

1 Like

@rvietor answers this one perfectly. Darktable will still use a config directory like normal, and all your settings, including export settings with the list of variables linked in their answer, persist between sessions.

I’m not sure I follow your other question. Tagging and rating works both ways through the xmp sidecar files. I just tested that I can see tags and star ratings added by either program in the other. It actually works better than I realized.

Even without a library, if you add a tag in darktable it will write that tag to the sidecar file, and if you close the program, and reopen the photo in darktable again, the tag will be there.

Operating without a library file just means if you open darktable cold, it won’t know where your photos are, but as soon as you point it to one, it will reload everything it knows about that photo, including tags, edit history, and even duplicates in the duplicate manager from the sidecar xmp file (or files).

One darktable quirk is that it wants to automatically add a single star to unrated photos on import. That can be changed… Okay, I found it: in the Library, left panel, under “import”, expand “parameters” and change the initial rating to whatever you want (I use zero).

@rvietor gives a pretty good explanation here, but if I can add a little to it: if you add a color label in Digikam before opening the file in darktable, AND that color is one they share (red, yellow, green, blue), darktable will read that and set it appropriately. This communication is one-way, and isn’t reliable when re-opening a photo a second time. I only use them as a sorting tool when selecting photos to edit from Digikam.

(post deleted by author)

Thanks @BorisRabit and @rvietor for the responses, it’s been really helpful to read (and re-read) a few times. So, in terms of a workflow, can you see any issues here. For this example I’m going to use my upcoming trip to Norway:

Process

  1. In Finder, create a folder called “Norway 2026”. Within this folder, create 2 sub-folders named “RAW” and “Export”. The latter holds the processed JPEGS.
  2. Copy files from SDcard to the “raw” folder.
  3. Open DigiKam, refresh the tree to show my Norway folder, 2 sub-folders, and the RAW files.
  4. Do all meta work, culling, rating etc.
  5. Select all images required for editing > right-click + open with darktable.app.
  6. Darktable opens up and SHOULD see meta details, such as star rating and color label, if both applications share the same language.
  7. Edit the images in Darktable and then set the export folder to the “Export” sub-folder.
  8. Export images which should show both the processed JPEGs and Darktables XMP file.

Do I have that about right?

Questions

  1. Would I need to delete those RAW images from Darktable, once done? AFAIK, Darktable remembers the work on the raw files, should I ever want to open file back up.
  2. Have I missed anything, or would you do anything differently?
  3. Anything else I should be aware of?

There’s no need to do that, and disk space savings would be minimal : I have some 30k images in the database, and it takes 400MB. Removibg edited images from the database makes it impossible to search for them

But wouldn’t I be using DigiKam as my DAM and, therefore, search within there? Thinking that I would use DT as the editor only.

Sorry, I forgot about that. I usually use dt for that. The biggest issue with the combination dk/dt is that it’s not easy to get the edits back into digikam (and I don’t export and save edits in archival formats, exports are always for a specific purpose).

OK, so let’s look at that one for a sec because, honestly, it would save me a ton of time.

How do you use DT as a DAM? Do you use folders, film rolls, collections, etc? I’d love to learn how to make life a little easier for myself.

Yes.

OK, for starters, folders are film rolls, as are search results. I’m not sure what you consider a collection within darktable.

What I use exactly depends on what I need. Often it’s a folder, which gets filtered on a tag or a rating. But it can be a search over the whole database, possibly narrowed down with a filter as well.

Yeah, sorry about that. I misspoke. I meant to reference Folders, Film Rolls or Filename. I’m currently using Folders, as it means I can go straight to my photo folders on the SSD.

If it helps…

Use - in dt - folders (in the collections module), most used folders are stored in collection presets. Together and in addition to that use ‘collection filters’ also in presets supporting a.o. search for filename, culling workflow and showing results.

And hardly ever go to my picture folders outside of dt.

Folder structure is basic. Each year is a folder, subfolders are yyyymmdd - description.

Culling is done with reject or 1 up to 3 stars