Use of System.Image.ImageID

Jan 20, 2010 at 9:38 PM

Looking at the source code, it appears the System.Image.ImageID field is used to store the Flickr photo ID in the local copy of the image.  It is my understanding that Windows Live Photo Gallery also uses this field to keep track of the original, un-edited version of a picture.  So it appears either FlickrMetadataSynchr or Windows Live Photo Gallery could lose their data.  Am I missing something? 



Jan 21, 2010 at 8:56 AM
Edited Jan 21, 2010 at 9:01 AM

Yes, by default the System.Image.ImageID field is used to store the Flickr photo ID in the local copy of the image. I am aware it is also used by Windows Live Photo Gallery (WLPG) for keeping track of previous versions when editing images. The ImageID field is not essential for the matching that FlickrMetadataSynchr does, but it does help in situations where the datetime taken is not unique or has been edited.

I don't edit pictures anymore with WLPG after I upload them to Flickr and consider them "final". It also means I am not that interested in any copies before edits kept by WLPG. I prefer having the best possible match between the local files and the files on Flickr through the Flickr ID. By the way, if you edit pictures after they have been uploaded and synchronized, WLPG can use the new ImageID based on the Flickr ID, just fine and can restore a previous version.

However, I do recognize that others might feel different about this. You can apply a configuration setting to the configuration file of the application. Add this to the <applicationSettings><Yorrick.FlickrMetadataSynchr.Properties.Settings> section in the file FlickrMetadataSynchr.exe.config:

<setting name="FlickrIdBehavior" serializeAs="String"><value>AddOrUpdate</value></setting>

The default value is OverwriteOrUpdate if this setting is not present. Other possible values are DoNothing and Remove. With AddOrUpdate it only adds the Flickr ID as the ImageID if no ImageID is present. And it only updates the Flickr ID if the previous ImageID is used for storing the Flickr ID.