synchronising files and darkroom catalogues

hi, is there any liklihood that future iterations of darktable will have a synchronise option for file management so that there’s a one-click option for keeping your computer’s file systems and darktable’s catalogues aligned? in the process of re-organising my photo archives and considering migrating from Lightroom when my current contract is due and this is a feature of lightroom I find very useful. I’m still exploring darkroom so might have missed where this functionality is accessed.

The DT database is really just a list of file locations…these are set when you import…but nothing is really “imported” you are just creating a location entry… now if you manage deletions and moves from within DT then everything stays in sync but if you make file location changes outside of DT then you need to “re-import” or you can also search for a folder location if it has moved and update that from within DT… DT doesn’t scan folders for changes though and sync them manually or automatically…

This is not correct. The db also has all the images processing parameters and tags and…

Sorry I meant with respect to file locations of course you are correct……

This was a gross oversimplification and might be misleading… my apologizes I made an assumption based on the content of the question.

@Iant this is a little older and some of this info might be in the manual but this is where and how things are managed in DT wrt configuration and databases…

The configuration and operation files of darktable.pdf (183.9 KB)

@Iant : Be aware that darktable can’t deal with Lightroom’s edits. Some elements can be transferred (like crops, iirc), but many cannot, as dt can’t know all the algorithms used by lightroom.

So to keep your Lightroom edits, you’ll have to save/export the files as TIFF or PNG (if you want lossless compression), or jpeg (if the lossy compression isn’t an issue).

One thing I liked about LR and therefore miss in DT is the ability to create individual catalogs that I could locate on the external drives that I use for my backups. Maybe there is a way of having individual DT databases stored on each of my external hard drives to achieve this but I am unaware of how to achieve and manage this. I was also able to create individual catalogs for different purposes such as teaching, family holidays, a specific wedding or family portrait shoot.

This is not a deal breaker for me as DT editing capabilities for me are superior and more fun and creative than LR’s black box edits where you just move a slider.

I’m quite certain you are familiar with the --library parameter; does it not fit the purpose?

1 Like

I think at some point we should make the invocation of the database (and database location) to be from the GUI instead of the command line. Too many folks (and mainly windows user) dont know how to use the command line.

I am one of those Windows users. This would be great improvement to the useability of DT for dunderheads like me.

You presumed wrong. Where is this located? A screen shot might be helpful. Thanks.

In the manual and via darktable --help

https://docs.darktable.org/usermanual/4.6/en/special-topics/program-invocation/darktable/

1 Like

@g-man thanks for the information. I really like your idea of the GUI rather than command line.

The database location can also be specified in darktablerc. Either --library on the command line or database in darktablerc can be used to specify the database location. But IIRC these are only checked at darktable setup. I would think that changing the location in the gui would be much more useful if the location change took effect immediately instead of requiring a dt restart.

I think a restart will be safer. I think that’s how Lightroom used to do it (if recall correctly).

If it is already in darktablerc, adding the field to preference should be trivial.

Yeah, the change could be pretty simple if a restart is required. I was just thinking, based on the reasons given in this thread for wanting the functionality, that there might be a desire to change to a different library and get to work right away. I’m not personally affected regardless because I use database=:memory:

It’s worth noting that some of the developers seem to be quite opposed to adding anything more to preferences.

For now, you could create a number of batch files, maybe.

That “a restart is required” is perhaps an issue. I can already see the bug reports “I changed the catalogue in the setup, but darktable keeps using the old one. I even tried re-installing.”

Or you’d have to “fake” a restart if any of the changed options requires it (with confirmation dialog perhaps).

Also, if you allow several databases this way, it’s not really a matter of setting up the program anymore. Changing databases becomes a normal everyday part of program use. That means it should be a module (or a "supermodule, with the collections and filter modules within it?), which has to handle the change of database… Not trivial.

Not sure if that refers to some of my comments as well, but I’m not one of the developers. Just a user who doesn’t really like complex setup dialogs (wading through 4+ screens to find the option I want to change is not fun). Especially when some options could reasonably in two or three places, so until I figure out the logic behind the choices, I will guess wrong…

Also, “just add a setting to the setup” is used rather (too) easily, I think. Switches and options that can be changed as part of everyday operation shouldn’t be in the settings dialog. See my remarks concerning the databases above.

LR has to do a restart and all LR users get very use to that. Even better if a restart is not required but I don’t see it as a deal breaker if DT does a restart.

As a user I don’t have any problem with the number of preferences available. I only change a few myself and it is easy enough to do. I actually see the preferences as a plus point for DT as it is giving the user the ability to customize the program to there own needs rather than constraining the user. Command line is off putting for many users, including myself.

As a user this idea sounds appealing. I don’t understand the implications for the developers of the code.

It would be great if DT did get the ability to select multiple databases. A DAM brilliant improvement.

If one could add a list of databases, which then could be stored in config (either in a new file, e.g. catalogues.txt (probably catalogs.txt, I know) or whatever, or in the main darktablerc), and then a drop-down list were made available that selects from that list, and then updates the database location in darktablerc, requiring a restart to switch to the other DB, you would not need a ‘supermodule’.

However, things can get complicated, if the different ‘catalogues’ contain overlapping images, modifying XMP files; users would need to enable ‘look for updated XMP files’ when switching between them. One way to solve that would be to add a ‘previous_library’ entry to darktablerc, which would force the update, if it does not match the current library path; after that, it would be updated to the current library path. Of course, then users who keep their DBs carefully separated would be punished, only to protect those who make a mess. :stuck_out_tongue:

I kind of think people who want to work with multiple DBs could really write simple batch files, but that’s only me.

@Terry
Save this without the .txt extension, edit in Notepad, change the path. In the script, Windows will replace %USERPROFILE% with C:\Users\your-user-name, so you should only care about the part that comes after that.
dt-another-library.cmd.txt (103 Bytes)

If you want completely disjoint instances (configuration, configured shortcuts, styles, tags…), you’d replace

"C:\Program Files\darktable\bin\darktable.exe" --library %USERPROFILE%\another-darktable-library.db

with

"C:\Program Files\darktable\bin\darktable.exe" --configdir another-darktable-configuration-directory

The ability is there. All you have to do is start darktable using the flags per the manual. I suggest making it easier.

I’m not sure we need a whole new module for this. Again, using commercial software as a references, it is done in the settings (I think the last version of lightroom I used was 3.5). Most users would not need different databases (aka catalogs).

I do some photography work for a non-profit. Those images have a different set of tags, import settings, etc. I keep a separate config file for it and invoke it via the command line. A GUI solution would be nice if I had more than 2 databases to keep track.