Looking at a JPG file in different programs for viewing metadata, just for example, specifically at the what shows up as "Tags" in Everything.
Exiftool shows the same value at two different locations:
"[JPEG-APP1-XMP] Subject" (shows up as "[XMP-dc] Subject" if I select the -G1 option)
"[JPEG-APP13-Photoshop-IPTC] Keywords" shows up as "[IPTC} Keywords" if I select the -G1 option)
Now this same value shows up in the Windows Property System as:
System.Keywords (Canonical Name) or Tags (Display Name)
also System.Photo.TagViewAggregate
And it the same value shows up in the Everything "Tags" property.
I can include both the Everything Tags property as a column, and the Windows Property System Tags property as a column. There is a slight difference in the formatting of the value. The Everything Tag column shows each Tag separated by a semicolon with no space in between. The WPS column separates each tag with a semicolon and a space. The Exiftool separated the tags with a comma and a space. Maybe the three systems are just formatting the same extracted data differently.
Looking at Exiftool, I assume these both Everything and the WPS extracts this property by reading the designated segment of the JPG file, as indicated in the Exiftool output above - as opposed to an alternate data stream or something else.
Moreover, I'm guessing that Everything is extracting this property independently of the WPS, because in the Properties section of this forum it's indicated that the WPS is used as a fallback.
Am I understanding this correctly?
I saw a post elsewhere in this forum that Everything extracts from EXIF, it does not from XMP, but that maybe that wasn't correct or is no longer. It seems that Everything might have extracted its Tags property from the XMP segment of the JPG file?
There is a practical reason for wanting to understand this, because when I'm using other programs to set metadata for images (and other files), I want to be setting those metadata fields that will be recognized by other programs, and specifically Everything and the WPS.
Just as another relevant example, these seem to be corresponding tags/properties between the programs:
Exiftool: "[JPEG-APP1-XMP] Region Person Display Name" also shown as "[XMP-MP] Region Person Display Name"
WPS: System.Photo.PeopleNames, displayed as "People"
Everything: People
I set these people names a long time ago using Windows Live Photo Gallery. I assume that WPS and Everything are extracting their "People" properties from this JPEG XMP tag but I might not be right about that.
Everything Properties, Windows Property System properties, Exiftool
Re: Everything Properties, Windows Property System properties, Exiftool
well maybe the answer is here -
from viewtopic.php?t=10215
"Everything has native support for EXIF.
If any property is unknown, Everything will fall back to the Windows Property System.
What you see in Everything should be the same as in Windows Explorer. (well that's the goal anyway)
Everything does not understand XMP files.
I will consider adding support for this.
Currently, If XMP properties are only shown in Everything if they are shown in Windows Explorer."
So maybe Everything is getting its property not directly from the XMP tag, but from the Windows Property System property - it is the WPS which is getting its property directly from the XMP tag?
from viewtopic.php?t=10215
"Everything has native support for EXIF.
If any property is unknown, Everything will fall back to the Windows Property System.
What you see in Everything should be the same as in Windows Explorer. (well that's the goal anyway)
Everything does not understand XMP files.
I will consider adding support for this.
Currently, If XMP properties are only shown in Everything if they are shown in Windows Explorer."
So maybe Everything is getting its property not directly from the XMP tag, but from the Windows Property System property - it is the WPS which is getting its property directly from the XMP tag?
Re: Everything Properties, Windows Property System properties, Exiftool
A little has changed since that post.
Everything will now use the WPS to gather Exif/XMP tags.
If WPS doesn't return any properties Everything will fallback to its builtin Exif/XMP property reader.
The ; (with or without space) is just for display formatting.
Internally it is a multi-string value.
Windows uses ; with a following space to separate strings.
Everything will use a single ;
Everything does this so your searches match what is displayed.
for example:
tag:abc;123
You can also access the WPS properties in Everything by selecting the Windows Property System at the bottom left of the property select dialog.
Everything will now use the WPS to gather Exif/XMP tags.
If WPS doesn't return any properties Everything will fallback to its builtin Exif/XMP property reader.
They are the same raw values.There is a slight difference in the formatting of the value. The Everything Tag column shows each Tag separated by a semicolon with no space in between.
The ; (with or without space) is just for display formatting.
Internally it is a multi-string value.
Windows uses ; with a following space to separate strings.
Everything will use a single ;
Everything does this so your searches match what is displayed.
for example:
tag:abc;123
You can also access the WPS properties in Everything by selecting the Windows Property System at the bottom left of the property select dialog.
Re: Everything Properties, Windows Property System properties, Exiftool
Thank you for that info Void.
Being interested to see how JPEG IPTC/XMP metadata fields map to the WPS and Everything properties, I found some interesting pages on the Microsoft website. I just googled the canonical name of some WPS properties, and found pages that described the "policies" for these properties. I think these policies describe the locations in the internal file structures (e.g. a JPG file) where WPS reads data into its properties, and also writes data.
Just for example, for the System.Keywords property, the "read paths" in a JPEG file are:
1 /xmp/<xmpbag>dc:subject unicode
2 /app13/irb/8bimiptc/iptc/keywords
3 /app1/ifd/{ushort=18247} unicode_bytes
4 /app1/ifd/{ushort=40094} unicode_bytes
System.Keywords Photo Metadata Policy - Win32 apps | Microsoft Learn - https://learn.microsoft.com/en-us/windo ... m-keywords
I think these paths describe internal locations in a JPG file. I think WPS collects the data in these locations, and maybe processes it a bit, and the result is the value of the "System.Keywords" aka "Tags" property for a JPG file. These policies also describe where in the file data is written when the WPS property value is written.
For System.Photo.PeopleNames the Read Path is: "/xmp/<xmpstruct>MP:RegionInfo/<xmpbag>MPRI:Regions" - I guess this is a data structure in a JPG file that somewhere contains the names of the people in a photo.
Being interested to see how JPEG IPTC/XMP metadata fields map to the WPS and Everything properties, I found some interesting pages on the Microsoft website. I just googled the canonical name of some WPS properties, and found pages that described the "policies" for these properties. I think these policies describe the locations in the internal file structures (e.g. a JPG file) where WPS reads data into its properties, and also writes data.
Just for example, for the System.Keywords property, the "read paths" in a JPEG file are:
1 /xmp/<xmpbag>dc:subject unicode
2 /app13/irb/8bimiptc/iptc/keywords
3 /app1/ifd/{ushort=18247} unicode_bytes
4 /app1/ifd/{ushort=40094} unicode_bytes
System.Keywords Photo Metadata Policy - Win32 apps | Microsoft Learn - https://learn.microsoft.com/en-us/windo ... m-keywords
I think these paths describe internal locations in a JPG file. I think WPS collects the data in these locations, and maybe processes it a bit, and the result is the value of the "System.Keywords" aka "Tags" property for a JPG file. These policies also describe where in the file data is written when the WPS property value is written.
For System.Photo.PeopleNames the Read Path is: "/xmp/<xmpstruct>MP:RegionInfo/<xmpbag>MPRI:Regions" - I guess this is a data structure in a JPG file that somewhere contains the names of the people in a photo.