How to organize my images? Digikam?

I’ve never used Lightroom. Tell me, how do nested collections work and what are their benefits?

I had a few top level collections - 1)Family 2) Trips 3) Photowalks etc…Inside these I had further collections based on event or time. Like under “Family” I had “2010 Kid’s 1st Birthday”, “2011 Kid’s 2nd Birthday” etc. One photo could be in multiple collections, like in “Family” and also in “Trips”.

Then I used a LR plugin to export all these as jpgs, making folders based on the collection hierarchy. Any changes could be easily updated with only the relevant files getting updated.

With all my jpgs organised into folders based on the collection, I did not need any DAM software. I just used faststone image viewer and browsed by folder.

There are two ways of emulating what you want. If it is not important to have the same photo in several nested collections you could put your original photos in a folder structure that mimics your collections. Ie Persons/Greg/ etc

You could then use the folder structure when exporting. Set the export path to dollarsign(FOLDER)/dollarsign(FILE_NAME)

Only works with one level deep nesting.

Another way is to create hierarchical tags and then use the subtags and sub-subtags when exporting.

Ie assume you create a tag “Persons|Family|Greg” and tag all your photos of Greg with that tag.

If you then use the following export path Darktable will export to


That will export your pictures to “Exports/Persons/Family/Greg/file_name.jpg” in your Pictures folder

dollarsign(CATEGORY0(Persons)) adds a commaseparated list of the subtags to the supertag “Persons”.

Cool. I’ll read up more about this. Never used tags before.

edit: The 1st method won’t work cause all my raw files are in year/date folders.

I’m new to Digikam, so let’s see if I understood it.
In Digikam’s words, I would add a new collection (collection 1) from the the attached HD. Once finished, I would attach the HD to the NAS and add a “new” collection (collection 2) in Digikam pointing to the NAS. Is this what you’re suggesting?

If for some reason I need to reattach the HD to my workstation (for example, to load a new big bulk set of images), then Digikam would be looking at collection 1 and would update its database with the new photos. Then I would reattach the HD to the NAS, and Digikam would automatically update collection 2 database. Does it sound ok?

No, that won’t work: As it’s a new collection it will start the scan all over. However I think there’s a (pretty well hidden) option to move a collection: Go to Settings>Configure digiKam>Collections and on the collection for the HD, click the button that looks like “refresh”, next to the delete button. It will first ask you what type and then for a path to the new collection location. I have never done this myself though.

1 Like

I am just running a 2nd test right now with a folder with about 22000 images on the USB3 external HDD. Initial scan will probably take 1 hour, which I find quite OK.

The db is external MariaDB 10.* on the same notebook. I installed winNMP on the notebook. To my surprise, the whole Maria and Digikam setup was totally smooth.

Is it possible, while exporting, to auto create folders like this -

/All JPGs/{Tag level 0}/{Tag level 1}/{yymmdd} {custom} {filename}.jpg

All the tags after level 1 will be used only inside darktable to search for photos quickly. Or maybe in my jpg browser if I use one which supports tags. These extra tags will not affect the folder structure or filenames.

Hope I’ve understood this correctly.

Yes and no. Hierarchical tagging and using the hierarchies when exporting is a feature that is new to Darktable 3.0. The manual is unfortunately not updated yet, and I’m not a developer of Darktable. So I had to find out this feature by trial and error. And as far as I understand it you can either use the flattened hierarchical tags as a file name (ie Persons|Family|Greg becomes “Persons,Family,Greg.jpg”) or the subtags under the root tag as file names (ie “Family” or “Greg” in this case).

So if you want to achieve the output you specified you have to

  1. Create ONE FIXED root tag for each type of export. E.g. ExportTags or “ExportsByPerson” etc.
  2. Create subtags to that root tag. Eg. ExportTags|Persons|Greg
  3. Specify the supertags in your export path. In your case it would be “All JPGs/ExportsTags/dollarsign(CATEGORY0(ExportTags))/dollar-sign(EXIF_YEAR)-dollar-sign(EXIF_MONTH)-dollar-sign(EXIF_DAY)-dollar-sign(TITLE)”. The file ending is added automatically. Replace “dollar-sign” with the actual dollar-sign (this forum translates dollar-signs into LaTeX markup).

If you need to export to more than one root directory you can create export presets, one for each root directory

Hmm…I’ll wait for the manual, and then do trial and error. Anyway all this can wait, as I still have to properly learn to edit my photos :grin:

I recommend thinking carefully about how to organize your photos, because once you’ve chosen a particular workflow/system it can be painful to reorganize your photos according to another system.

Speaking from personal experience here…

1 Like

Doh! I started Digikam before WinNMP (with mariaDB etc.) I had to delete the digikamrc file to get Digikam starting again. It took a few attempts, be careful!

How, exactly, are you using MariaDB?

I use Windows 10
I installed WinNMP in same PC (it domes with MariaDB, HeidiSQL, nginx etc)
In Digikam I chose “DB from external source”

In HeidiSQL you need to create a user/password to be used by Digikam. Test if it can connect, and the rest is automatic.

Was that your question?

1 Like

Just a question: Anybody using NAS storage with Digikam?

I got a Synology DS216 via LAN, it has MariaDB 10.*, so I can put the DB on the NAS. I just wonder what sort of speed I will get out of it? DS216 has just 512Mb RAM and is rather sluggish.

And I wonder how much speed I get via the internet (remote access)

I could get a DS718+ (has 2Gb RAM and can be upgraded).

512mb of ram seems a bit slim to run mysql and the whole operating system.

512Mb (soldered, of course) is quite typical for home use NAS. I have one as file server in the office and it’s fast enough for that. But for i.e. phpMyAdmin, photostation, NextCloud it’s really slow. No fun at all.

And my home DS212j NAS has a modest 256Mb

I use RPi 3B+ with a USB drive as a network storage over SMB. It is slow but okay for still images. I often copy them on a local machine, then cull, organize, process, etc. and then move them back to my slowmoNAS :slightly_smiling_face:

Would you mind to give more details on that, like OS, how many hard drives connected to the pi, and your workflow?
Thanks in advance

I have a Raspberry Pi 3B+ with the regular Raspbian OS. An external HDD is formatted ext4 and shared to my local network via SMB. I store my family pictures and videos there and access them from either KDE Neon or Windows 10 machines. I organize my media with digiKam, edit selected raws with mainly darktable and sometimes RawTherapee, edit selected videos with kdenlive. I also use GIMP and Krita occasionally.
I hardwired the RPi but the connection is still pretty slow. I wish it had SATA interface not just USB. I think its Ethernet port sits on the USB bus too which is a bottleneck for sure.