Bug 127583 - keywords, copyright, photographer info not saved to IPTC tags.
Summary: keywords, copyright, photographer info not saved to IPTC tags.
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Metadata-Iptc (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-18 14:15 UTC by Daniel Bauer
Modified: 2017-08-13 07:31 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.9.2


Attachments
digistart.txt (9.79 KB, text/plain)
2006-05-19 15:34 UTC, Daniel Bauer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Bauer 2006-05-18 14:15:50 UTC
Version:           0.9.0 svn (using KDE KDE 3.5.2)
Installed from:    SuSE RPMs
OS:                Linux

In the 0.9.0 svn version I've downloaded yesterday evening (May 17, 2006 - sorry, don't know how to find out the version number...) keywords are not saved as IPTC tags into the file anymore.

In the version I've downloaded a few days before, it worked (adding a keyword to the picure saved it to the IPTC, and this data is still there now, but I cannot do the same again with other pictures in the latest version)

Also the photographer/copyright info is not saved in IPTC. (Don't know, if it did before, have not tried with "older" version).

I have doble-checked that the settings of digikam are correct.

b.t.w.: I have also noticed that in the last version the program-name (digikam 0.9.0) was saved to IPTC, and now with the latest version it is in the EXIF data. I don't care about that, but maybe when changing this something went wrong with the IPTC handling???
Comment 1 caulier.gilles 2006-05-18 16:13:45 UTC
Actually, only JPEG file can be tagged with IPTC. TIFF and RAW will be supported later when Exiv2 provide this feature.

Gilles
Comment 2 Daniel Bauer 2006-05-19 13:24:08 UTC
rating and keywords are saved in jpg IPTC, but photographer, credits, copyright information are not (I've downloaded latest svn 10 Min. ago)

Daniel
Comment 3 caulier.gilles 2006-05-19 15:12:01 UTC
IPTC 'keywords' are created in image when you edit digiKam tags from 'Comments & tags' side bar from main interface (in case of image editor I need to perform final tests).

You set all IPTC tags rules using setup/metadata dialog.

photographer and (c) rules work fine here. have you some messages when you start digikam from a console and you reproduce a pictures downloading ?

version ITPC tags is just a text tags to identify witch digiKam realase has changed something in the image.

Gilles
Comment 4 Daniel Bauer 2006-05-19 15:34:23 UTC
Am Freitag, 19. Mai 2006 15:12 schrieb Gilles Caulier:
> ------- IPTC 'keywords' are created in image when you edit digiKam tags
> from 'Comments & tags' side bar from main interface (in case of image
> editor I need to perform final tests).
>

It seems to me that sometimes it takes the keywords, sometimes not, I haven't 
found ourt why...

> You set all IPTC tags rules using setup/metadata dialog.


I checked everything there for these tests.
>
> photographer and (c) rules work fine here. 


it never saved this here. 

> have you some messages when you 
> start digikam from a console and you reproduce a pictures downloading ?


I attach the output of a fiew clicks after staring in console. There are many 
messages (especially at the end), Maybe my svn-install is still not really as 
it should be?

> version ITPC tags is just a text tags to identify witch digiKam realase has
> changed something in the image.
>
> Gilles



Created an attachment (id=16173)
digistart.txt
Comment 5 Daniel Bauer 2006-05-25 17:30:00 UTC
Am Freitag, 19. Mai 2006 15:12 schrieb Gilles Caulier:
> ------- IPTC 'keywords' are created in image when you edit digiKam tags
> from 'Comments & tags' side bar from main interface (in case of image
> editor I need to perform final tests).
>
> You set all IPTC tags rules using setup/metadata dialog.
>
> photographer and (c) rules work fine here. have you some messages when you
> start digikam from a console and you reproduce a pictures downloading ?
>
> version ITPC tags is just a text tags to identify witch digiKam realase has
> changed something in the image.
>
> Gilles


I've noticed that the behaviour of saving the identity tags into a JPEG 
differs depending on how you add a keyword. This seems very confusing and 
illogical to me and there is no information to the user about those 
differences:

- when editing digiKam tags from 'Comments & tags' side bar from main 
interface: all tags incl. photograpger and (c) rules etc. are saved perfectly

- when adding a keyword to a photo with right-click/context menu in album view 
only "keywords", "program" and "programVersion" are saved to IPTC, but no 
photographer/copyright etc. data, analogous  applies if you click a rating in 
the contect menu

- when adding a keyword by draging it from the keywords-filter sidebar to a 
picture in the album nothing gets saved into IPTC

- if you just want the "default IPTC identity informations" to be added to a 
picture, you have to go to the 'Comments & tags' side bar, selecting a 
keyword (or rating star) and deselect it again (at least this is the only 
method I found)

My proposals:

- keywords/ratings:
harmonize the way they are added to IPTC, so that there is no difference 
regardless of the method how the user adds it, i.e. adding keywords to IPTC 
too, when draging them from keywords-filter sidebar 
(or then make the method with the 'Comments & tags' side bar to the *only* one 
and drop the "halve-saving" when adding with right-click; in this case give 
information about this behaviour to the user in the Metadata settings)

- Identity: 
add select boxes to the identity settings for
[ ] always save to new pictures (= default)
    (i.e. only to pictures that are saved with "save as" in digikam)
[ ] save only when adding tags from 'Comments & tags' side bar
    (i.e. that is as it is now)
[ ] always save if not existing 
    (i.e. add identity info to all pictures in all albums, except if there      
    already are existing identity tags in the picture)
[ ] always overwrite with digikam informations (=dangerous!!! use with care)
    (i.e. always add the info from digikam settings to all pictures in all 
    albums, eventually overwriting existing tags) 

plus eventually I'd suggest (regarding 2nd option above):
displaying identity info in the Comments & tags' side bar (deluxe alternative: 
make this editable, but only for the actual picture(s) without changing 
digikam identity settings)

Finally (I hope I'm not too annoying..):

I miss a method to add IPTC-Data to a range of selected pictures. With the  
'Comments & tags' side bar I can add it to one single picture only. 

One can easily add a keyword to many selected pictures by draging it from the 
"keywords-filter" side bar - I often use this - but as said above, then it is 
not saved to IPTC. I have not found a possibility to add ratings or comments 
to several pictures with one action only.

regards

Daniel
Comment 6 caulier.gilles 2006-08-24 07:36:41 UTC
*** Bug 132806 has been marked as a duplicate of this bug. ***
Comment 7 Marcel Wiesweg 2006-09-22 20:25:47 UTC
*** Bug 134485 has been marked as a duplicate of this bug. ***
Comment 8 Daniel Bauer 2006-12-20 10:07:18 UTC
I still see these inconsistency here:

- assigning a tag by right clicking in the album view, inserts the keyword into IPTC, but it does *not* insert the copyright notes

- drag and drop a keyword from Tag Filters to an image in album view inserts *nothing* into IPTC

- assigning a tag by checking it in the Comments/Tags right side bar inserts keyword plus copyright/credits into IPTC (this is the expected behaviour)

In these examples the user always does the same: assigning a keyword to a picture, but he gets 3 different results in regard of IPTC. It is not transparent to the user why these differences exist.

So I still strongly recommend to harmonize the way data is added to IPTC, so that there is no difference regardless which method the user chooses. I think, as it is, it is confusing. 

It should also be visile somehow in the Metadata sidebar, if the actual file format can or cannot save tags/copyright... etc. into IPTC, as for example jpg versus tiff, while of course I wished, copyright could be saved into tiffs also, because this still is a very widely used format in printing. 

I also still whished that default photographer/credit/copyright are saved into IPTC (provided appropriate settings are checked) when saving a file with "save as".

kind regards

Daniel
Comment 9 Birkir A. Barkarson 2006-12-20 10:48:44 UTC
Yes, I agree with this.  This really needs to be fixed, the inconsistancies are quite glaring and should be considered a bug.  I have voted for this bug, how many votes are needed to make this a priority?
Comment 10 Bram Schoenmakers 2006-12-20 16:59:23 UTC
With 60 votes the bug has a status change from UNCONFIRMED to NEW. That doesn't mean it is fixed next week, it depends per project how much value a vote has.
Comment 11 caulier.gilles 2007-01-22 21:06:26 UTC
SVN commit 626305 by cgilles:

digikam from trunk : New batch tool to sync all pictures metadata (EXIF/IPTC) with digiKam database contents (comments, tags, rating, date, etc...)

This tool use the new MetadataHub class from Marcel (great implementation!). 
THis tool use the Metadata setup (thrue MetadataHub).
There is a new option in Tools menu named "Sync Pictures Metadata".
Test and feedback are require...

CCBUGS: 127583, 136254, 137503
BUG: 130017



 M  +26 -0     digikam/digikamapp.cpp  
 M  +3 -0      digikam/digikamapp.h  
 M  +1 -0      digikam/digikamui.rc  
 M  +2 -1      utilities/batch/Makefile.am  
 A             utilities/batch/batchsyncmetadata.cpp   [License: GPL]
 A             utilities/batch/batchsyncmetadata.h   [License: GPL]
 A             utilities/batch/imageinfojob.cpp   [License: GPL]
 A             utilities/batch/imageinfojob.h   [License: GPL]


--- trunk/extragear/graphics/digikam/digikam/digikamapp.cpp #626304:626305
@@ -88,6 +88,7 @@
 #include "imageattributeswatch.h"
 #include "dcrawbinary.h"
 #include "batchthumbsgenerator.h"
+#include "batchsyncmetadata.h"
 #include "digikamview.h"
 #include "digikamapp.h"
 #include "digikamapp.moc"
@@ -801,6 +802,10 @@
                 this, SLOT(slotRebuildAllThumbs()), actionCollection(),
                 "thumbs_rebuild");
 
+    new KAction(i18n("Sync Pictures metadata..."), "reload_page", 0,
+                this, SLOT(slotSyncPicturesMetadata()), actionCollection(),
+                "sync_metadata");
+
     // -----------------------------------------------------------
 
     // Provides a menu entry that allows showing/hiding the toolbar(s)
@@ -1644,6 +1649,27 @@
     mView->applySettings(mAlbumSettings);
 }
 
+void DigikamApp::slotSyncPicturesMetadata()
+{
+    QString msg = i18n("Sync pictures metadata with digiKam database can take a while.\n"
+                       "Do you want to continue?");
+    int result = KMessageBox::warningContinueCancel(this, msg);
+    if (result != KMessageBox::Continue)
+        return;
+
+    BatchSyncMetadata *syncMetadata = new BatchSyncMetadata(this);
+    
+    connect(syncMetadata, SIGNAL(signalComplete()),
+            this, SLOT(slotSyncPicturesMetadataDone()));
+
+    syncMetadata->exec();
+}
+
+void DigikamApp::slotSyncPicturesMetadataDone()
+{
+    mView->applySettings(mAlbumSettings);
+}
+
 void DigikamApp::slotDonateMoney()
 {
     KApplication::kApplication()->invokeBrowser("http://www.digikam.org/?q=donation");
--- trunk/extragear/graphics/digikam/digikam/digikamapp.h #626304:626305
@@ -160,9 +160,12 @@
     void slotEditKeys();
     void slotConfToolbars();
     void slotToggleFullScreen();
+
     void slotDatabaseRescan();
     void slotRebuildAllThumbs();
     void slotRebuildAllThumbsDone();
+    void slotSyncPicturesMetadata();
+    void slotSyncPicturesMetadataDone();
     
     void slotChangeTheme(const QString& theme);
 
--- trunk/extragear/graphics/digikam/digikam/digikamui.rc #626304:626305
@@ -71,6 +71,7 @@
       <Separator/>
         <Action name="database_rescan" />
         <Action name="thumbs_rebuild" />
+        <Action name="sync_metadata" />
       <Separator/>
         <ActionList name="album_actions"/>
       <Separator/>
--- trunk/extragear/graphics/digikam/utilities/batch/Makefile.am #626304:626305
@@ -3,13 +3,14 @@
 INCLUDES = -I$(top_srcdir)/digikam/digikam \
 	   -I$(top_srcdir)/digikam/libs/dialogs \
 	   -I$(top_srcdir)/digikam/libs/dimg \
+	   -I$(top_srcdir)/digikam/libs/dmetadata \
 	   -I$(top_srcdir)/digikam/libs/thumbbar \
 	   -I$(top_srcdir)/digikam/libs/widgets/common \
 	   $(all_includes)
 
 noinst_LTLIBRARIES = libbatch.la 
 
-libbatch_la_SOURCES = batchthumbsgenerator.cpp 
+libbatch_la_SOURCES = batchthumbsgenerator.cpp batchsyncmetadata.cpp imageinfojob.cpp 
 
 libbatch_la_LDFLAGS = $(all_libraries) $(KDE_RPATH)
 
Comment 12 Marcel Wiesweg 2007-02-10 17:45:41 UTC
SVN commit 632313 by mwiesweg:

Write metadata to file when saving from ImageEditor

CCBUG: 127583


 M  +12 -0     imagewindow.cpp  


--- trunk/extragear/graphics/digikam/utilities/imageeditor/editor/imagewindow.cpp #632312:632313
@@ -766,6 +766,11 @@
     // put image in cache, the LoadingCacheInterface cares for the details
     LoadingCacheInterface::putImage(m_savingContext->destinationURL.path(), m_canvas->currentImage());
 
+    // Write metadata from database to file
+    MetadataHub hub;
+    hub.load(d->imageInfoCurrent);
+    hub.write(d->imageInfoCurrent->filePath(), MetadataHub::FullWrite);
+
     // notify main app that file changed
     emit signalFileModified(m_savingContext->destinationURL);
 
@@ -824,7 +829,14 @@
 
         d->urlCurrent = m_savingContext->destinationURL;
         m_canvas->switchToLastSaved(m_savingContext->destinationURL.path());
+
         slotUpdateItemInfo();
+
+        // Write metadata from database to file
+        MetadataHub hub;
+        hub.load(d->imageInfoCurrent);
+        hub.write(d->imageInfoCurrent->filePath(), MetadataHub::FullWrite);
+
         // If the DImg is put in the cache under the new name, this means the new file will not be reloaded.
         // This may irritate users who want to check for quality loss in lossy formats.
         // In any case, only do that if the format did not change - too many assumptions otherwise (see bug #138949).
Comment 13 caulier.gilles 2007-02-10 18:10:20 UTC
*** Bug 141479 has been marked as a duplicate of this bug. ***
Comment 14 juan ferrer 2007-03-01 18:06:55 UTC
I wish it were as Daniel (#5) said.
It is very important, since many people use different programs, and since i can move a carpet (directory) with another program and loosing my database.

You need many time , hours, days, weeks for tagging thousands of photos. and its very annoying when you loose it because a false move (other program, SO, disk, etc). I think it is very important the ability to syncronize the complet tags database with in the file itpc, because that is that only thing that will last after years.

Please i was very happy when i saw the option "ITPC Actions: -Save image tags as "keywords" tags".
Maybe should not be as default, but it is very important.

I'm sorry for my bad english.
and thank you for making so a great program.
by far, better als f-spot and picasa.

Juan
Comment 15 caulier.gilles 2007-03-06 09:51:39 UTC
Marcel,

Since you have implemented the MetadataHub class with 0.9.1 release, this file can be considerated solved ?

Gilles
Comment 16 Marcel Wiesweg 2007-03-06 18:50:02 UTC
This wish from comment #5 is missing:
"- Identity: 
 add select boxes to the identity settings for 
 [ ] always save to new pictures (= default) 
     (i.e. only to pictures that are saved with "save as" in digikam) 
 [ ] save only when adding tags from 'Comments & tags' side bar 
     (i.e. that is as it is now) 
 [ ] always save if not existing 
     (i.e. add identity info to all pictures in all albums, except if there       
     already are existing identity tags in the picture) 
 [ ] always overwrite with digikam informations (=dangerous!!! use with care) 
     (i.e. always add the info from digikam settings to all pictures in all 
     albums, eventually overwriting existing tags) 
 
 plus eventually I'd suggest (regarding 2nd option above): 
 displaying identity info in the Comments & tags' side bar (deluxe alternative: 
 make this editable, but only for the actual picture(s) without changing 
 digikam identity settings)"

But the original bug is fixed, so I think I can close this file