This to me is a serious flaw, but one that AFAIK all programs that attempt to be a DAM suffer from.
How can you make a system that is robust against changes made by external programs? In the Bad Old Days this would be impossible. Now it's merely difficult. The open source program fswatcher is available for Linux, *BSD, OS-X and Windows -- admittedly with somewhat different capabilities. fswatcher is invoked with a top level of a directory tree to monitor. It can monitor when a file is created, modified, moved, renamed deleted, and what process did the deed. So: run this tool as a helper application and have it watch whatever set of directories you've given DT to take care of. Have DT also have a helper app that handles the created events. Event: User uses Finder or Explore to rename an image file and leaves it in same directory. FSWatcher: Detects the event, and queues it for action. Helper: Checks that metadata files are renamed to match the image file, as well as thumbnails. Updates database with new name. FSWatcher sees Helper's actions, but it knows about Helper so doesn't log anything. Event: User uses finder and moves file to new directory, also under DT purview. FSWatcher sees the two changed directory entries. Helper: Updates the path information for the primary file. Moves the auxilary files accordingly. Event: User askes DT to open file in Photoshop or GIMP. FSWatcher sees file creation. Helper moves this event to it's own watch list, and waits for the file to be closed. FSWatcher sees file close. Helper checks that name is the same (except for suffix) as original image. Helper extracts preview image from .PSD file and adds it to database. Helper notes that this file is derived from master file XXXX in appropiraite field in database. Photoshop crops and saves for web outside DT directories. FSWatcher doesn't see this, since it's not watching the destination. User realizes his mistake and saves again inside DT directories. FSWatcher sees the new file creation. Helper creates thumbnails, notes that this file is derived from master file XXXX in appropiraite field in database. *** I suggest that fswatcher and helper be different programs for several reasons: * Due to implementation differences fswatcher will have to be substantially different to parse the observed events into a standard format. * You want at least fswatcher to run all the time even when DT isn't running. This will build a large queue of changes to be monitored, but it will keep DT in sync with the file system. * As a small tight program it's easy to keep debugged, quicker to update with changes in OS, and more likely not to encounter some race condition and miss events. Regards Sherwood On Wed, 11 Mar 2020 at 23:57, Juha Lintula <[email protected]> wrote: > Hi, > > I'm interested if something is missing. Those skulls represent something > you have had and potentially worked on and now they have disappeared. Is it > on purpose or by accident? It's like do you care where your wallet is if > you still have money on your bank account. > > -Juha > > On Wed, 11 Mar 2020 at 23:10, Dr. A. Krebs <[email protected]> wrote: > >> Dear August, Dear Gray Card, Dear Patrick: >> >> thank you for so quick response. I wasn't able to find this explanation >> so quickly. >> >> If such visual representations for missing files as "skulls" seem not to >> bear extremely relevant information, I like to suggest to run those >> mentioned scripts (chapter 2.2.3.2, Gray Card, and the script, Patrick >> mentioned, automatically triggered in background. >> >> What would be the advantage to know, if there is s.th. missing? >> >> Instead of dealing with missing file, I prefer caring about existing ones. >> >> Thanks again, >> >> >> Axel >> - >> Am 11.03.20 um 21:33 schrieb Patrick Shanahan: >> > * Dr. A. Krebs <[email protected]> [03-11-20 16:13]: >> >> Hi, >> >> >> >> I use darktable 3.0.1. 64 bit under Linux. >> >> >> >> Instead of picture-previews, I can see only cryptic icons (attachment). >> >> What do these icons mean? >> >> How can I avoid these? >> >> >> >> Is it necessary to "maintain" the darktable database? >> >> Or: Is this done automatically? >> > >> > they are not "cryptic icons" but representations of missing images in >> your >> > library. Images which you have relocated or deleted outside of dt and >> now >> > dt has no knowledge of them. Utilize dt to perform these actions and you >> > will not experience "cryptic icons". >> > >> > there exists a shell script to remove them from your library: >> > /usr/share/darktable/tools/purge_non_existing_images.sh >> > and from your cache: >> > /usr/share/darktable/tools/purge_from_cache.sh >> > >> > >> >> ____________________________________________________________________________ >> darktable user mailing list >> to unsubscribe send a mail to >> [email protected] >> >> > ____________________________________________________________________________ > darktable user mailing list to unsubscribe send a mail to > [email protected] > ____________________________________________________________________________ darktable user mailing list to unsubscribe send a mail to [email protected]
