[Digikam-users] How to remove "left behind" tag tree

Jean-François Rabasse jean-francois.rabasse at wanadoo.fr
Tue Nov 20 18:44:19 GMT 2012


Hello,
a late comment about this issue :

On Mon, 12 Nov 2012, Elle Stone wrote:

> Once all tag-tree information is removed from the image files, if
> digiKam is at least temporarily set up to not write to the image files
> (only to the database), then you can rearrange the tag tree without
> creating left-behind, unwanted tags. Unfortunately, as soon as you
> start writing tags to the image again, then rearranging the tag tree
> will result in image and database again being out of synchronization.

Yes, I had noticed that too.
It appears to me that it's an inconsistency problem inside Digikam.
When writing to image, the database metainformation is written
in « replace mode », i.e. all existing information in the image
is fully replaced by database info. As for tags, if the image had
existing « old » tags, they are removed and replaced with the
current tags list in the DB.

When reading from an image, atomic information (rating, title et al.)
replaces the current database information for that image.
But tagslist are read in « append » mode and added to current tags.
So, if you reorganize tags in Digikam, previous old tags in the image
will be added to current tags, and the mess starts.

Briefly said, the read and write metadata functions are not reversible.
Write synchronizes, DB to image, read doesn't.
And the only solution is what Elle said, write current data to images,
destroy all tags, or even destroy the DB, then restart on a new basis
with metadata rebuilt from images.

IMHO I think this should be either fixed or documented to help users
reorganize their tags.
The « Write Metadata to All Images », in the Tools menu, may help to
resynchronize images from DB. (If writing the tags is checked in the
metadata settings folder.)
And keep in mind that synchronizing DB from images is impossible with
the current implementation.

Hope this could help making things a bit more clear.

Regards,
Jean-François


More information about the Digikam-users mailing list