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

Darktable ist not like LR really usable as an image manager. It is more a raw developer.

Looks like a pretty old feature request: https://redmine.darktable.org/issues/9641

And nobody was found to implement it. I never missed in the last 5 years.

1 Like

+1 on this one for me.
I remember the days I was making use of Adobe bridge. You could move images around in a custom way. It made comparing easier, but was also handy ordning images in the order you want to use them in an album for example.
Moving to Mac and saying farewell to Adobe for multiple reasons, I’ve been searching for an imagebrowser that does that. They are rare and anyway : it would be great if my rawconverter could do this trick, so I have no need for a different browser.
So if there is a chance of implementing this in darktable…

1 Like

Fine, but it’s a simple feature that could be there. Given all the others given. Cheers.

It could be there, that is true. And a young smart man could be able to put it there. Sorry, cheers.

2 Likes

I would find such a feature useful and was writing about its usefulness already in at least one thread here. The difficulty is to find an implementation that fits into the darktable philosophy. One aspect I did not find a solution for is that it should be a feature that is not solely reflected in the database but could be restored from the xmp files. An idea would be to give every picture a unique ID and when resorted every picture could hold entries of the next element in the list. That way, it could be represented in the xmp, probably some error recovery strategies would be required if the xmp state is not reflecting something useful and what should happen if an image is physically moved and no longer available (e.g. moved to an external harddisk). However, that whole feature would only be really useful if a “collection” feature is implemented first, otherwise it would just link several images together and be nothing else as an ordered grouping feature. The collection would specify the context in which a special custom sorting would be used. Therefore, one picture could hold several custom sorting sets that relate to different collections. The special sorting should then be added to the standard sorting options whenever a collection is selected. Something like that:

Picture: a
UID: 0815
Collection: "photobook" next 4711
Collection: "presentation" next 4712

Picture: b
UID: 4711
Collection: "photobook" next 4712

...

Hope this makes sense. However, I am not a dev and therefore not capable of implementing something like that, but I think it should be possible based on tags if a namespace for it is defined in the tags (probably a subfolder of darktables own tag namespace). If images have to be moved around with the mouse, the UI implementation would probably require to be solved in darktable directly and not e.g. with a lua script. Same for the sorting itself.

The more I think about, the more I think these are even two independent features, the sorted groups and the sorted collections, probably there’s a need for both of them …

I don’t see how that would work. Your idea relies on fixed, named collections. darktable’s lighttable is build on the idea of flexible collections, limiting the set of images to what you want to see right now. Those could easily overlap with your named collections, you could even see images from two such collections at one. What if you drag an image now? Add a new named collection automatically and remember the new order just for that? Or also update the simpler named collections that were there before?
The only way I could imagine such a thing as rearranging the order of images is by removing the collect module and only show single folders. Which we obviously don’t want. So I don’t see any chance to introduce something like this.
Unless someone comes up with a sound plan how to do it.

1 Like

Thanks for your feedback! I was thinking about this in a different direction, coming from the application and with the strong impression it would be extremely useful. This leads to a different model:

With that feature in place, collections would be on top of the filters, meaning that you would be able to view only one collection within the collection paradigm. Something like an additional module/entry/whatever “above” the filters of the collect module to select a collection to view and having only one such an entry. Default is no collection selected. The filters of the collect module would default to AND with the named collection, but OR could be selected to allow to show additional images, maybe for adding to that collection. With OR activated, the collection would no longer be sorted but the default sorting would apply, with the collection’s images having another frame colour to highlight that they are part of the selected collection. With a collection selected, you would have two additional sorting options “collection order” and “reverse collection order”. If a collection is created out of a set of images, the default order would be by date, if pictures are added to an existing collection, a dialog would ask if it should be placed at the beginning or end or between the closest subsequent date pair of the collection (or only the first two options).

I would either not allow dragging images when not in a collection view, or, have a second paradigm for that, ordered grouping. The latter is not thought about carefully enough (at least not by me), so I would start with the first one.

This is of course not an option. I hope my description how things could work together above makes sense :smile:.

Guys, or girls, I’ve lost you long ago, yet happy to have contributed somehow to the “drag&drop” debate.

:slight_smile:

Just a thought…rather than trying to get a custom collection ordering tool into darktable, how about creating a separate project whose sole purpose is organizing any collection of files into a custom order? Such a tool might be useful for other projects as well, not necessarily just in the photography realm.

What if one day you decide you’d prefer to use RawTherapee or any of the other great apps instead of darktable? Then the tool that got added to darktable won’t be helping you any more!

2 Likes

While I appreciate the idea and would love such a tool, it has its benefits to have everything in one tool in the case of photo asset management. Especially, iterative workflows would benefit from an integrated solution, which better fits my working style. So it’s not an “or”, it’s an “and” :wink:.

However, I am not able to implement either of those, so it’s more a “good luck” question :smile:.

Drag & Drop within Lighttable would be perfect feature. Ideally with the possibility to rename all pictures afterwards. See this in old Google Picasa:)
Please come back to ticket https://redmine.darktable.org/issues/9641

I thought again about this topic, and the more I think about, I find that it is pretty natural for photographers to wish a feature that allows to sort and combine photos in a way similar to what you would do in an album or printed portfolio.

Therefore, any comment on my thoughts, @houz? What do I miss, where is the gap in my “vision”, besides the requirement that somebody has to implement it?

1 Like

I still don’t see how any of that would work.

This might be a dumb suggestion if it’s already available (I’ve never used darktable :blush:), but how about a temporary display order? So you could drag and drop for a quick comparison, but this information is not persisted.

The main problem is a sort order is not stored in the file system, only sorting by name/date/extension. There’s no mechanism for that so it must either be by a particular program (e.g. in the database) or by some other file system meta (a file per directory where sort order has been specified, some meta in each file?). In general it’s horrible and ugly!

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).

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

2 Likes

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.

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: