[Digikam-users] Metadata

Jean-François Rabasse jf at e-artefact.eu
Sun Jun 30 13:17:58 BST 2013

On Sat, 29 Jun 2013, Elle Stone wrote:

> I'm not sure exactly what Ander's goals are, but you just described
> exactly what I do when I'm tagging. I go to the
> settings/configure/metadata panel and *un*check write to the image, or
> sidecar in my case. Then I tag. The tags are only written to the
> database. When I'm done tagging I re-enable writing to the sidecar
> files (the image files are all read-only) and sync the sidecars with
> the database. It's cumbersome and I wish there was an option to make
> it happen automatically, just as you described, so there was just one
> "sync now" button to push instead of disabling/re-enabling writing to
> the files.

I think many users work more or less that way, for already stated
reasons. (The major reason beeing to avoid the overload raised by the
update process.) 
And this is militant in favour of delayed update. Also it should be
kept in mind that Digikam doesn't use/need metadata from files (except
in some special cases, images import or new images scan at startup,
where metadata will be extracted once to setup an initial database state.)
So, clearly, files or sidecars update is never urgent, as long as the
database reflects the current state.

Remco pointed out the inconvenients of doing delayed asynchronous updates.
Yes, it's a difficult to implement stuff, if one wants to avoid data losses,
data overwrites, deadlocks, etc. So delayed update should probably take
place at end of session, not while working.

There's however a small inconvenient : when updating at once (i.e. the 
current implementation), concerned images are known for it's the current 
selection to which tags, titles, rating, where applied.
When delaying update to end of session, this information is lost and all 
what could be done is to issue updates for all images.
But in case of a collection of, say, 10000 images, with 20 or 30 having 
metadata modified, the whole process is far from being optimal.

A possible solution could be to associate with each image some kind of
state flag, a « dirty bit », that would be set when DK updates the database
with metadata (after the « Apply » click.)
So, when exiting Digikam, the user could be warned. « Warning: you have
modified metadata. Should the images/sidecars be updated now ? Y/N »
And only the concerned images could be processed for update.
(And, of course, have their flag reset.)


More information about the Digikam-users mailing list