Display progress dialog when updating files due to a keyword structure change

Summary

  1. Display a dialog when a change to the keyword structure would make Photolab appear to freeze. Provide some progress information.
  2. Force all DOP files to be updated relative to a specific folder and all its subfolders instead of having to select specific images (which might require selecting thousands of images

Definition

First, a definition: a keyword structure change is a change to the keyword structure that could potentially affect images that are not currently selected: keyword deletions, renames, and drag-and-drop moves are examples.

The Details

PL tries to keep DOP files synchronized with the database. In theory, if the PL database is deleted at any moment, reindexing all the image files that were previously indexed should result in the same keyword structure as before (minus keywords not associated with any images).

PL maintains this synchronization even if I have “Synchronize Metadata with XMP sidecar files” OFF.

I’m not sure that, in the past, PL did a great job of maintaining this DOP synchronization, but it appears to be more thorough in V8.7.0.

I tried various tests with keywords used by only one image. PL 8.7.0 maintained the DOP in synch through keyword deletions, renames, and drag-and-drops whether the image was selected or not. Then I tried renaming a keyword currently association with 34,304 images.

PL appeared to hang…but not really. I was able to manually track its approximate progress as it moved through DOPs starting from 2017. The point is that PL doesn’t say anything at all about what is happening. It looks like PL is frozen. If I attempt to kill PL, then it puts up a dialog that claims to try to recover something or other (I didn’t take a screen shot). This also appears to freeze. Canceling this, of course, leaves the DOP files out of synch. I’m really not sure what it would have done if I hadn’t canceled.

There are really two feature requests I’d like to make to help prevent these issues.

First, whenever the update takes longer than one or two seconds, a progress dialog should appear. Another possibility is that a dialog could appear saying that the change affects “X” files—do you want to proceed?

At minimum, the dialog should explain what is happening, and could even warn that the process should not be interrupted. More helpful would be if the dialog could display progress. If the total processing time is not predictable, just display the current folder/file that is currently being worked on. This doesn’t need to be updated per file— maybe just every second or so.

This would also be a nice approach for indexing, and I think there has been a feature request for something like this since 2020 .

Additionally, there should be a way to force all DOP files (and all XMP sidecars, if that setting is enabled) to match the database without needing to select the specific images to update. This should be restricted to a folder and all its subfolders (e.g. right-click on a folder in the Folder pane and select “Synch metadata with images”).

To fix the mess made by interrupting PL in the case above, the current approach would be to search for all images tagged with the renamed keyword, select all 34,304 of them (good luck), and then select…well, I’m not sure. I think File → Sidecars → Export might be the right choice if synchronize metadata is OFF, and File → Metadata → Write to Image might be the right choice otherwise. Anything that requires selecting 34,304 files is not ideal.

1 Like

It sounds so funny that it made me skip reading the rest. BTW, for long posts, you’d better put “executive summary” first – something I myself have yet to learn :wink:

1 Like

Good idea, @Wlodek .Done.