One of the first step of the photographer workflow is to import/copy the photos from the camera or the SD card. We can do that by several ways:
1. Using an external application like Rapid Photo Downloader
2. By hand, create a directory (ex: 201801231_myshots) and copy the photos in it
3. Using the import function included in darktable
4. Proably others crazy methods
For me, the best solution is the function include in darktable, one tool for all steps of the workflow.
My computer is a laptop, which is running on Ubuntu and on Wifi, with a capacity of 250Go, not a lot, and I don't want to have all my photos on my laptop or on a USB hard disk. For that, I have a NAS (Synology) where I have a shared directory mounted on my laptop. I have configured darktable to import/copy my photos directly in this shared directory. The problem with that, it is slow, I have to wait a long time before I can start post processing. But the advantage, my photos are saved on a "safe" area and my synology is configured to start automatically a backup on the cloud.
So what I currently do:
1. I copy the photos on my shared directory with darktable (SLOW step)
2. I do a local copy (SLOW step)
3. I do post processing (could be a long step, but as my photos are saved, if I have a crash of my hard disk with my laptop this is not a problem)
4. I sync my local copies
What I could do to be more efficient is to configure dartable to import my photos on my $(PICTURES_FOLDER):
1. Copy the photos on $(PICTURES_FOLDER) with darktable
2. Post processing (could be a long step, if I have a crash of my hard disk this could be a problem if I don't keep my photos on my SD card)
3. Leave darktable
4. Move the directory on my NAS
5. Restart darktable and change the path of the film roll
This way is ok, but between the step 2 and 4, I am not safe.
What I propose is to add a new setting in the "import images from camera" dialog called "import as local copy". When checked this option, the workflow could be the following:
1. Import the photos on the local copy path in a new directory, the name could be the jobcode
2. When the photos are copied localy, darktable start in background the copy in the right directory (mounted directory). In darktable, we should see the state of photo.
3. Post processing
Of course, several tests should be done between the step 3 and 4 to be sure that the photo exists.
This workflow could be also interesting when you traveling. Indeed, if I travel, my NAS will probably not connected and not mounted. Darktable could detect if the shared directory is mounted and if not darktable copy the photos only in the local copy. A soons as the mounted directory is ok, darktable start the copy if it is not already done.
What do you think?
As a user (only a user, not a developer), I want darktable to concentrate on being the best raw developer possible. I don't think complex file management operations belong in darktable at all, nor would I use them if they were present.
This kind of workflow is best managed by a shell script or another piece of software, like git-annex, which could migrate files from your SD card to your laptop and then to your NAS as those systems became available.