Should File:CurrentIPTCDigest be listed as Composite:CurrentIPTCDigest

Started by wywh, June 27, 2025, 12:59:36 AM

Previous topic - Next topic

wywh

For a while I wondered why I could delete IPTCDigest but not CurrentIPTCDigest...

exiftool -a -G1 -s -Warning -CurrentIPTCDigest -IPTCDigest -Caption-Abstract image.jpg
[ExifTool]      Warning                         : IPTCDigest is not current. XMP may be out of sync
[File]          CurrentIPTCDigest               : 50da7dda60635498ad18dcb40a6198cd
[Photoshop]     IPTCDigest                      : 00000000000000000000000000000000
[IPTC]          Caption-Abstract                : Caption

exiftool -overwrite_original -IPTCDigest= image.jpg
    1 image files updated

exiftool -a -G1 -s -Warning -CurrentIPTCDigest -IPTCDigest -Caption-Abstract image.jpg
[File]          CurrentIPTCDigest               : 50da7dda60635498ad18dcb40a6198cd
[IPTC]          Caption-Abstract                : Caption

exiftool -overwrite_original -CurrentIPTCDigest= image.jpg
Warning: Sorry, CurrentIPTCDigest is not writable
Nothing to do.

...until I realized that "CurrentIPTCDigest is not embedded data. It is a hash created from the current IPTC data. So if you remove all IPTC tags, it is no longer created".

exiftool -overwrite_original -IPTC:All= image.jpg
    1 image files updated

exiftool -a -G1 -s -Warning -CurrentIPTCDigest -IPTCDigest -Caption-Abstract image.jpg

"The values of the composite tags are Derived From the values of other tags. These are convenience tags which are calculated after all other information is extracted."

-> Question: Should CurrentIPTCDigest then be listed in the Composite tags group?

- Matti

Phil Harvey

Hi Matti,

I see your point, but technically this isn't a Composite tag because it is generated from the IPTC data itself as it is being processed, and doesn't rely on the IPTC tag being extracted (as it would if it were implemented as a Composite tag).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).