[Digikam-devel] How to apply changes in digikams IPTC settings to all tagged photos?

Caulier Gilles caulier.gilles at kdemail.net
Tue Jan 23 12:32:24 GMT 2007


Le mardi 23 janvier 2007 13:18, Daniel Bauer a écrit :
> On Tuesday 23 January 2007 11:24, Caulier Gilles wrote:
> > Le mardi 23 janvier 2007 10:02, Daniel Bauer a écrit :
> > > On Monday 22 January 2007 21:20, Caulier Gilles wrote:
> > > > Hey guy !
> > > >
> > > > The new Batch tool to sync all pictures metadata with digiKam
> > > > database is in svn (:=)))...
> > > >
> > > > Please test it and give me a feedback.
> > >
> > > How and what does it sync? Does it...
> > > - write all IPTC/EXIF info into the database?
> >
> > no. this task is dedicaced to another part.
> >
> > > - or write all infos from the database into IPTC/EXIF?
> >
> > yes
> >
> > > - add database content to IPTC/EXIF (or vice versa?)?
> >
> > yes, from DB to metadata
> >
> > > - or overwrite the existing?
>
> After a few short tests I see some inconsistency here:
>
> - it *overwrites* IPTC Copyright, Credit, Byline, Byline Title (don't know
> if also other fields) with info from database
> - it *adds* tags to IPTC keywords
>
> (see my suggestions below)
>
> > > - remove (for example) keywords from IPTC/EXIF if not tagged in
> > > database (or vice versa?)?
> >
> > This must be tested. normally yes. The function is the same than Comments
> > & Tags metadata update functions. It just do the same thing but on all
> > albums at the same time.
>
> it does *not* remove "untagged keywords"
>
> I tested it like this:
> - added tags/keywords to a file
> - outside digikam: saved a copy of that file to another directory
> - removed the tags/keywords within digikam from that file
> - closed digikam, overwrote the file with the previously backed-up one
> - opened digikam again
> - now the Metadata was here again of course, but the tags were not checked
> - run the sync tool - keywords remained untouched in Metadata
>
> So, this is not a "real synchronisation", because there still remain
> differences between database contents and metadata...

The sync depend of Metadata settings from digiKam config pannel. This problem 
can be a bug or uncomplete code in new MetadataHub class from Marcel. Need to 
investiguate.

>
> I think these are very complicated tasks, and this is why I still really,
> really think, that the "advanced metadata handling" should be swapped out
> completely from the sidebar options, so that they can be left simple and
> easy and usable by "everybody", while the complicated stuff will be in a
> independend tool. Then this tool can be developped further without changing
> the behaviour of digiKam itself. It would also make it much easier to
> achieve and maintain a consistent behaviour thruout the sidebars because
> added functionalities in the "advanced tool" don't have to be in the
> sidebars too and they can be left untouched even if fantastic new options
> are added to the "advanced tools" in future.
>
> - - - - - - -
>
> For the sync tool, I would suggest some options that the user can choose
> from before starting it:
>
> - overwrite Metadata with the values, that are set in digiKam settings
> (like Copyright etc.)
> - OR leave these Metadata unchanged
>
> - overwrite keywords in Metadata with tags from database (which also means,
> keywords will be removed/overwritten with empty space when there are no
> tags) -- OR add tags to existing keywords (as it does now)
>
> Then, when choosing "overwrite mode" for both options there will be a
> complete, real synchronisation between database and metadata. On the other
> hand the user can decide to leave some inconsistency if this better suits
> his/her needs.

Hum, Marcel give me your viewpoint... Personally, I prefer a simple tool where 
picture metadata are exactly the same than DB content, following setup of 
course.

>
> If it's possible, I'd also wish an option:
> - apply to all images in all albums (as is)

done 

> - only to actually displayed album

done (today (:=))). checkout svn...

> - eventually: only to selected images

yes. the code is ready to be used. 

Marcel, you just need to call the new class :

BatchSyncMetadata(QWidget* parent, const ImageInfoList& list)

... with the current selected images list from album, and the dialog will 
appear. I think than this dialog is mandatory if more than one image is 
selected to be synced because it can take a while. Without the dialog, the 
user don't have any progress feedback...

>
> - - - - - - -
>
> during these tests I also (re-)found some other stuff, don't know if
> already mentioned in bugs/wishes:
>
> - when a file is copied into an album folder and that file contains
> Metadata keywords that do not exist as tags yet, then digiKam creates tags
> for these keywords, but the tags are not checked
> - if you then check those tags, the keywords get duplicated
> (this also happens with the new sync tool, because it adds tags to the
> Metadata even if they same tags already exist as keywords - could be solved
> with the "overwrite"-option suggested above)

For these one, this can be a bug in KIO-Slave. Right Marcel ?

>
> - when Metadata is changed by applying/removing a tag in the Comments/Tags
> sidebar and you then open the Metadata sidebar you still see the old,
> unchanged Metadata. The Metadata display is only updated after clicking in
> another image and back again. This is confusing, because actually the
> Metadata *has* been changed, but when you look at it, you think it remained
> unchanged.

A signal is missing to handle the gui.

>
> - When deleting a tag in the Comments/Tags sidebar the sidebar gets greyed
> out and remains greyed out even if you click into it. You have to click in
> the album preview again (like select the already selected picture again).

probably the same than previous one.

Gilles



More information about the Digikam-devel mailing list