Skip to main content
Participant
July 22, 2006
Question

metadata not saved in xmp, but in bridge cache

  • July 22, 2006
  • 4 replies
  • 6197 views
I have a script that sets the metadata for the following fields:

GPSLatitude
GPSLongitude
GPSAltitudeRef
GPSAltitude

and the data shows as having been applied in the Bridge Application, but the data is not in the sidecar XMP file, nor DNG files. If I move the file out of bridge the metadata goes away.

Is there something I'm doing wrong when setting these values?
This topic has been closed for replies.

4 replies

Varun Varshney
Adobe Employee
Adobe Employee
October 15, 2018

Hi All,

 

We have released a new version of Adobe Bridge (CC 2019) on 15th October 2018. The new version build number is 9.0.0.204. This version is available to install via Adobe Creative Cloud application.

 

This Bridge update contains support for editing capture time of images (Edit the image capture time).

Please check following link to know about all new features in Adobe Bridge CC 2019 - What's new in Bridge

 

You may need to update the Creative Cloud application and restart your computer to see the updated installer.

 

Thanks,

Varun Varshney

Participant
September 7, 2021

Bridge 11.1.1.185

 

Still does not read XMP sidecar files correctly, or updates keywords and metadata correctly. 

Legend
September 8, 2021

Please post your SPECIFIC problem as this post was originally about Bridge 1.0

Participant
December 18, 2007

Perhaps some of the trouble with editing EXIF data is due to the complexities of the field format - the EXIF offset is different and has to be calculated each time any field changes length or is added or deleted. Changing this offset may prevent compatibility of the file with the original source (i.e. camera).

 

 

I am having trouble getting Bridge CS3 to recognize the updated EXIF fields I've editing with another utility.

I shot an event with two cameras, one set to the wrong time (forgot to adjust for DST). I want the files to sort into their correct order based on Date/Time Created, regardless of filename. I batched processed all the files that were an hour late to reflect the correct hour nit heir EXIF. Windows Explorer recognizes the change and lets me sort them correctly. Bridge does NOT, and still shows the original WRONG time from the camera. Re-running the batch utility shows the EXIFs were changed.

What is Bridge reading to determine the Date/Time? Why won't it re-read the edited EXIF on a refresh or a purge of the folder's cache? Will future versions of bridge have [better] editing, and batch editing, of more EXIF/XMP fields to correct for common mistakes such as this or facilitate better organization of our photos?

Chris Rakoczy
Rakoczy Photography

Rakoczy Photography | Hartford Event Photographer

Known Participant
December 18, 2007

I know I'm late to the thread, but...

I have to recommend exiftool (ExifTool by Phil Harvey) if
you have to do things with metadata (exif, iptc, xmp, etc...) that just aren't
possible with Bridge CS3 or the XMPScript lib. It handles just about everything.
The only problem is that it is an external app (actually, a bound perl script)
so you end up having to do a File.execute() somewhere along the way which can
result in less-than-elegant code. But it will work.

-X
--
for photoshop scripting solutions of all sorts
contact: xbytor@gmail.com

Participant
December 18, 2007

Yes, I am aware of this tool and use it quite frequently (great software), but a disadvantage of this that you have to rebuild the Bridge cache, to see the changed fields within Bridge.

For GPS specific EXIF fields I prefer the more user friendly RoboGEO, with that same disadvantage as exiftool.

Still I think it would be nice to have a feature in Bridge or the scripting, to update (some) exif fields, particulary GPS, creation time and copyright fields.

Participant
September 18, 2007

Hi Omar,

I also was trying to insert GPS data in the XMP files, and came on to the same problem you encountered. I also don't understand why specific EXIF fields cannot be updated. I know they shouldn't be updated (in an user interface), but sometimes there are some exception, like we can find in this thread here.

However, I finally did find a solution, but it need some more testing to say it really works under all circumstances. Perhaps it can also be of any help on ohter EXIF fields.

Here is my solution:

1) Create a new XMPMeta object and fill in your GPS fields
2) Get the current XMP metadata from the selected thumbnail
3) Use XMPUtils.appendProperties to combine the two meta data objects
4) Write the appended metadata to the XMP file
5) Write the appended metadata back to the current thumbnail

I've used the following script snippit:

 

var xmp = new XMPMeta();

xmp.setProperty(XMPConst.NS_EXIF,'GPSLongitude',longitude);
xmp.setProperty(XMPConst.NS_EXIF,'GPSLatitude',latitude);
xmp.setProperty(XMPConst.NS_EXIF,'GPSAltitude',altitude);
xmp.setProperty(XMPConst.NS_EXIF,'GPSMapDatum','WGS-84');

var md = thumb.synchronousMetadata;
var xmp2 = new XMPMeta(md.serialize());

XMPUtils.appendProperties(xmp,xmp2,XMPConst.APPEND_ALL_PROPERTIES | XMPConst.APPEND_REPLACE_OLD_VALUES | XMPConst.APPEND_DELETE_EMPTY_VALUES);

var xmpFile2 = new XMPFile(thumb.spec.fsName,XMPConst.FILE_UNKNOWN, XMPConst.OPEN_FOR_UPDATE);

if (xmpFile2.canPutXMP(xmp2))
xmpFile2.putXMP(xmp2);
xmpFile2.closeFile();

var xml = xmp2.serialize(XMPConst.SERIALIZE_OMIT_PACKET_WRAPPER | XMPConst.SERIALIZE_USE_COMPACT_FORMAT);

thumb.metadata = new Metadata(xml);


I have not tested this with JPG and TIFF files. I have tested a bit with existing and non existing XMP files.

Any suggestions are very welcome!

Erwin

Known Participant
April 17, 2007
I am having the same problem (albeit with different metadata fields). Altered metadata does get permanently saved in JPEG and TIFF files but not in raw image files that store their metadata in XMP sidecar files (didn't try DNG files yet); instead the new data will float around in Bridge's cache only.

You can force Bridge to write the altered metadata from the cache down into the XMP sidecar file by opening the File Info dialog, navigating to the "Extended" panel, and then pushing the "Save ..." button. Unfortunately you can save only one file's metadata at a time this way; it's virtually impossible to do it for hundreds or thousands of files at once :(

-- Olaf
dfranzen_camera_raw
Adobe Employee
Adobe Employee
April 27, 2007
Olaf,

For which different metadata fields are you seeing this problem?

Thanks,
David Franzen
Adobe Bridge Quality Engineer
Adobe Systems, Inc.
dfranzen_camera_raw
Adobe Employee
Adobe Employee
May 28, 2007
David Franzen wrote:
> Bridge writes back some of the EXIF properties
> to the native EXIF but not all. All the properties
> changed are updated in the file's XMP.

No, they're not. Actually they (or at least some of them) are updated in Bridge's cache only but not in the XMP file on disk. Meanwhile I have also tried DNG files---they don't get updated properly, too, even though they don't have sidecar files. By the way, the updating does work fine for all fields if the image file is a JPEG or a TIFF file. Updating is incomplete if the image file is a raw or a DNG file.

It must be considered a serious bug when Bridge does not properly update any altered EXIF, IPTC, or XMP metadata properties! After all, the File Info dialog is customizable. But what's the point in customizing it when only those properties will properly get updated that were editable in the original (i. e. non-customized) dialog?

And I really don't like those "meaningless" UTC offsets mindlessly added to the date-and-time tags! Please make them meaningful (and editable), or remove them altogether! Wrong offsets are much worse than no offsets at all.

-- Olaf

Olaf,

Please try turning off the "Prefer Adobe Camera Raw for JPEG and TIFF" preference and trying again. The following sample should write some of the EXIF properties to XMP.

 

#target bridge
if( ! app.preferences.ACRForJpegTiff ) {
	// Make a JPEG file for testing
	var bitmap = new BitmapData(100,100);
	var testJpg = new File( new File($.fileName).parent.fsName + "/test_xmpfiles.jpg" );

	bitmap.exportTo( testJpg );

	// Create a Thumbnail
	var testThumb = new Thumbnail( testJpg );
	var md = testThumb.synchronousMetadata;
	// Use synchronousMode to make multiple changes to the Metadata object
	app.synchronousMode = true;

	md.namespace = "http://ns.adobe.com/exif/1.0/aux/";
	md.SerialNumber = "1234556"
	md.Lens = "50 mm f/1.4";

	md.namespace = "http://ns.adobe.com/tiff/1.0/";
	md.Make = "SnazzyBrand";
	md.Model = "WizzBang 3000";

	$.writeln( testJpg.name );
} else {
	$.writeln("ACRForJpgTiff is on");
}


-David