The obvious: darktable, how to drag and drop (move) an image within a folder

(Peter Cherry) #21

A) What about to reuse IDs? Every imported picture has some ID and there is existing sorting based on IDs. So when I drag & move picture left, ID could be changed. Just a suggestion for brainstorming:)

B) Or the simpliest thing (a kind of workaround) could be to implement file RENAME. I could be able to rename to change order using sorting based on NAME.

C) For me is still the best way drag & drop, combined with bulk rename after the final order is set (in old Google Picasa program).

(Gord) #22

I would not be a fan of renaming files just to change the sequence in which they are displayed.


I agree that with dynamic collections it is not possible to implement a meaningful reorder function. Also keep in mind, that in LR (AFAIK) you cannot reorder pictures within a collection either. The only option for reorder pictures is within physical folders (aka not in collections), where obviously an additional attribute is added to the images, which is used later to display pictures in order, but that attribute make sense only within that folder, nowhere else.

(Mica) #24

Perhaps the easiest and most flexible would be a “sort weight” type of tag, e.g. “sort_weight=1” so you could have multiple “1” (and if they are the same weight, sort them by file name or date or whatever).


Which part would not work and why? Sorry to be persistent but I really want to understand. IMO the problem can be separated:

  1. Named collections
  2. Changing sort order within a named collection
  3. Drag and drop UI

Let’s analyze:

  1. This can already be done by tags, the only additional requirement would be an additional UI element to select a named collection if one wants to work on that collection, plus UI elements to assign and remove images. A named collection can be a tag in a sub namespace of the dt tag namespace.
  2. I outlined an idea how sorting could be implemented, another option would be database-only. UI-wise it would only add another sorting option set “collection” and “reversed collection”.
  3. Drag and drop is not the only option, shift+arrow keys to move images around would be another option.

What do I miss?

Is it just

? Why? Or are there other reasons?

That should not count :wink:


It might work easily if your organising structure was strictly a tree (like a file system without links), but when you involve shared properties e.g. tags/groups it’s messy from a data point of view. If you had something like ‘sorted collections’ which made that sort order available only when viewing that single collection I guess that could work. It depends a lot on the existing database layout, but parsing linked list within files just sounds like a nightmare.

(Mica) #27

I actually have tags for this, Collection|Collection Name :slight_smile:

(Matteo Bertolino) #28

I’m happy the topic goes on.
I mean, to photographers we are talking about a really, really basic and hyper-important feature of the workflow - at least for anyone going beyond “single-image” mind set; and even if you just plan to set up a basic family album you would wish to visualise images in a certain order, let alone for complex narrative and storytelling purposes.
I am sorry I cannot contribute technically to the issue (programming), but I assure you, thousands of photographers out there would be terrifically thankful is such feature could be one day implemented.
Many thanks in advance for when that day will come.

(Martin Scharnke) #29

I actually have tags for this, Collection|Collection Name

Precisely. So do I.

(nosle) #30

Traditionally this feature has been handled by DTP software as a separate step. In many ways it does make more sense to order and layout in the document your are creating as the media, size, margins etc might affect your choices.

I have wished for a visual rename tool for a long time. A tool that displays a grid of thumbnails and allows you to order them and then rename the files by adding a prefix number. It should also be able to open a folder with number-prefixed files and allow for reordering and replacing the prefix number.

Geeqie has a similar feature but instead of renaming files it outputs a text file. It’s not as convenient as a rename.

Since darktable has DAM features, and sort of encouraces a RAW centered workflow, I see the use of being able to create ordered collections. The utility both process and output oriented.

Thinking about your images, planning their display and adjusting settings depending on context and order.

A new export option that prefixes the filename with a number and perhaps the collection tag.


I don’t agree about the importance. IMHO, something like this would be nice to have but although I work with multiple images/series of images quite often, I simply don’t miss such a feature and probably I would rarely use it. Creating consistent edits of images to be presented in a “story” is the most important task I want to achieve in darktable. Defining the order in which I want to be present the images is simply not in the scope of darktable. When the images will be printed, export order dosen’t matter at all. When I create a book or intent to present them online I create the order in the layout tool or content editor.

Nevertheless, I have a few thoughts for a possible implementation, which would not change the known behavior:
It is obviously difficult to persist an arbitrary order within image collections that result from database query on the fly. I think a possibility to solve this might be to allow the assignment of additional meta data to images – let’s call them collection tags. These collection tags would be key value pairs. The key is selected from the set of available tags as we know them. The value maybe an integer.
Moreover, there is an additional sort option (next to the already existing one) that allows to select a specific collection tag to sort for.
If a collection tag is selected for sorting, any selection of images (as we know them) may be ordered as follows: First those images to which the specified collection tag is assigned. Within in this group the images are ordered by the value that is set to the collection tag specifically for each image. Images with equal value are ordered according to the already existing order selection.
Images that are not assigned to the collection tag are placed behind the images with collection tag according to the order specified in the already existing order selection.
When images are sorted by a collection tag, also a drag and drop interaction may be possible, since the values are numbers, which may be shifted when an image is dragged in front or behind of another tagged image.
Anyway, these thought may be incomplete and I have no idea if this would be worth the effort to implement such a thing.

(Christian Kanzian) #32

The same for me. I guess most people sort by date and time for processing. I wonder how to use darktable for presentation of images to others? Yes, there is a slideshow mode and sometimes I used it.

If the extisting tagging features are used this would allow changes with LUA as well. So the feature could be sort by tags and use hierarchical tags like darktable | sorting | number ?


That’s what I outlined. Without that I agree that it would be a mess, it makes only sense within a sorted collection (or maybe in sorted groups as described as well).

As (if I understand correct) generally in darktable, the database would be the source of information while operating on the files, the xmp linked list would only serve as a backup to restore the sorted collection when a directory containing such xmps is imported.


To you it might not be useful, but I find many use cases, some that could be replaced by other features and some that are only possible with the described feature. It seems, @Matteo_Bertolino has some use cases as well. Since the feature is not there, I cannot say in numbers how much it would speed up my workflow, but I would predict a tremendous positive impact on my workflow.

It was the same with the speed tagging lua extension which speeds up my tagging tremendously which I anticipated when it did not exist.

Obvious use cases would be preparing photo books, calendars, portfolio and similar “printed” collections, but there are many other use cases. Some examples:

  • Getting the pictures in order would allow to better assess which images would end up for whatever reason, not only printed work. Especially, it would reduce the amount of pictures edited that do not end up exported. A big impact for all people with a backlog, e.g. me :wink:.
  • Adding to the last point, it would allow to better organize the backlog by importance and therefore edit the most important images first and have a feeling about the current state of the backlog.
  • I sometimes work with images of other photographers and mix them with my pictures from the same event. Usually, the time stamps of the different cameras are way off and therefore the sorting by time does not result in the right order. This could be circumvented by that feature.
  • The same for my scanned old negatives. For most of them, I don’t know the date the picture was taken, and the only thing I can do is putting the photos from one film strip in relation to other scanned negatives. Even if a time stamp correction would be available, it would not help for that use case, only arbitrary sorting would help.
  • Another use case you mentioned yourself already, consistent colour of adjacent photos of a series.

And there may be more.


That would require to change a big portion of the whole list when one image is inserted in an arbitrary position, especially at the beginning. When tags are used, all the xmps would be rewritten every time. Using a linked list based on UIDs in the xmps, as described above, and probably an additional, faster, representation in the data base, only two xmps would have to be rewritten if an image is inserted.

Bonus would be to have the UID for data integrity checks when based on the image contents (i.e., the pixel data).