• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers

Finding by sublocation

New Here ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

In the find panel, Bridge gives options for searching under a number of metadata items, but the list is not complete.  In particular, I need to search for a term under sublocation - I can't use the "all metadata" because the term I am searching for is in one of the copyright fields, and ALL of my photos thus have that term in the metadata.  Is there any way to add additional fields to the find panel?

Views

772

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

I’ll have more time to reply in depth later (with alternative solutions), however this should work:

criteria.png

In my test, both images contained the keyword red – however one contained the sublocation blue and the other green. So they shared one metadata entry, however another metadata entry was not shared.

The results of the find only returned the image with the blue sublocation entry, the green sublocation was excluded.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

Thanks, Stephen - that is an interesting approach, but it isn't working in my situation.  It turns out that the term I need to search for is in more than one field in the metadata.  I need to find all the photos I took in my city.  It would be easy if I could just search for it in the city field (forget sublocation for a moment, it turns out city is a bigger problem)  If I search under all metadata I get the records for everything in the city (city field), and any picture which has the Creator:City field filled in (basically all of them, so even if I took a picture in Peru it's linked back to my home city - not to mention Creator: Address and even my email!). The easy thing would be for Bridge to have ALL of the IPTC core items in the search menu.  I mean, it lets me search by altitude but not by city???  Anyway, thanks for the attempt.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

Can you provide exact metadata samples or files?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 25, 2017 Jul 25, 2017

Copy link to clipboard

Copied

Here goes:  I've deleted a lot of the extraneous material.

File 1, which I don't want to turn up, the search string I need to use is highlighted:

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01        ">

   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

      <

         <xmp:CreatorTool>Adobe Photoshop CC 2017 (Windows)</xmp:CreatorTool>

         <dc:format>image/jpeg</dc:format>

         <dc:creator>

            <rdf:Seq>

               <rdf:li>Dave McShaffrey</rdf:li>

               <rdf:li xml:lang="x-default">Copyright 2017  by Dave McShaffrey - All rights reserved</rdf:li>

             <rdf:Bag>

               <rdf:li>Coenagrionidae</rdf:li>

               <rdf:li>Odonata</rdf:li>

               <rdf:li>Insecta</rdf:li>

               <rdf:li>Enallagma geminatum - Skimming Bluet</rdf:li>

            </rdf:Bag>

         </dc:subject>

         <aux:SerialNumber>052021001662</aux:SerialNumber>

         <aux:LensInfo>100/1 400/1 0/0 0/0</aux:LensInfo>

         <aux:Lens>EF100-400mm f/4.5-5.6L IS II USM</aux:Lens>

         <aux:LensID>747</aux:LensID>

         <aux:LensSerialNumber>3030000737</aux:LensSerialNumber>

         <aux:ImageNumber>0</aux:ImageNumber>

         <aux:ApproximateFocusDistance>242/100</aux:ApproximateFocusDistance>

         <aux:FlashCompensation>0/1</aux:FlashCompensation>

         <aux:Firmware>1.0.2</aux:Firmware>

         <aux:DistortionCorrectionAlreadyApplied>True</aux:DistortionCorrectionAlreadyApplied>

         <aux:LateralChromaticAberrationCorrectionAlreadyApplied>True</aux:LateralChromaticAberrationCorrectionAlreadyApplied>

         <aux:VignetteCorrectionAlreadyApplied>True</aux:VignetteCorrectionAlreadyApplied>

         <photoshop:DateCreated>2017-07-14T12:54:20-04:00</photoshop:DateCreated>

         <photoshop:AuthorsPosition>Professor of Biology and Environmental Science</photoshop:AuthorsPosition>

         <photoshop:City>Canal Fulton, Stark County </photoshop:City>

         <photoshop:State>Ohio</photoshop:State>

         <photoshop:Country>USA</photoshop:Country>

         <photoshop:LegacyIPTCDigest>4754828227166C1EF4E7D284338E7ACB</photoshop:LegacyIPTCDigest>

         <photoshop:ColorMode>3</photoshop:ColorMode>

         <photoshop:ICCProfile>Adobe RGB (1998)</photoshop:ICCProfile>

         <xmpMM:DocumentID>adobe:docid:photoshop:c58eab2b-6f2a-11e7-ab54-fba5409d9dfd</xmpMM:DocumentID>

         <xmpMM:OriginalDocumentID>50FC69DA7B776504657E51DD228088EA</xmpMM:OriginalDocumentID>

         <xmpMM:InstanceID>xmp.iid:403373e2-4e4a-a545-9e02-390033b08e0a</xmpMM:InstanceID>

         <xmpMM:History>

           

            </rdf:Seq>

         </xmpMM:History>

         <xmpMM:DerivedFrom rdf:parseType="Resource">

            <stRef:instanceID>xmp.iid:65eabbf2-64d2-004b-b65e-3ffd0fa79cc0</stRef:instanceID>

            <stRef:documentID>xmp.did:09952aea-f95b-8449-886a-b7e872f994de</stRef:documentID>

            <stRef:originalDocumentID>50FC69DA7B776504657E51DD228088EA</stRef:originalDocumentID>

         </xmpMM:DerivedFrom>

         <xmpRights:Marked>True</xmpRights:Marked>

         <Iptc4xmpCore:Location>Lock 4 Park</Iptc4xmpCore:Location>

         <Iptc4xmpCore:CreatorContactInfo rdf:parseType="Resource">

            <Iptc4xmpCore:CiAdrExtadr>Biology Department Marietta College</Iptc4xmpCore:CiAdrExtadr>

            <Iptc4xmpCore:CiAdrCity>Marietta</Iptc4xmpCore:CiAdrCity>

            <Iptc4xmpCore:CiAdrRegion>OH</Iptc4xmpCore:CiAdrRegion>

            <Iptc4xmpCore:CiAdrPcode>45750</Iptc4xmpCore:CiAdrPcode>

            <Iptc4xmpCore:CiAdrCtry>USA</Iptc4xmpCore:CiAdrCtry>

            <Iptc4xmpCore:CiTelWork>740-376-4743</Iptc4xmpCore:CiTelWork>

            <Iptc4xmpCore:CiEmailWork>mcshaffd@marietta.edu</Iptc4xmpCore:CiEmailWork>

            <Iptc4xmpCore:CiUrlWork>www.marietta.edu/~mcshaffd</Iptc4xmpCore:CiUrlWork>

         </Iptc4xmpCore:CreatorContactInfo>

       

         <lr:hierarchicalSubject>

            <rdf:Bag>

               <rdf:li>Insecta|Odonata|Coenagrionidae</rdf:li>

               <rdf:li>Insecta|Odonata</rdf:li>

               <rdf:li>Insecta</rdf:li>

               <rdf:li>Insecta|Odonata|Coenagrionidae|Enallagma geminatum - Skimming Bluet</rdf:li>

            </rdf:Bag>

         </lr:hierarchicalSubject>

       

      </rdf:Description>

   </rdf:RDF>

</x:xmpmeta>

                                                                                                   

  ------------------------------------------------                                                                                                 

  File 2 - this is the one I want to look for:

<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c137 79.159547, 2016/07/07-11:39:24        ">

   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

    

         <dc:creator>

            <rdf:Seq>

               <rdf:li>Dave McShaffrey</rdf:li>

            </rdf:Seq>

         </dc:creator>

         <dc:rights>

            <rdf:Alt>

               <rdf:li xml:lang="x-default">Copyright 2016 by Dave McShaffrey - All rights reserved</rdf:li>

            </rdf:Alt>

         </dc:rights>

         <xmp:CreatorTool>Version 1.0</xmp:CreatorTool>

         <xmp:ModifyDate>2016-09-04T10:40:03-04:00</xmp:ModifyDate>

         <xmp:CreateDate>2016-08-31T07:24:02</xmp:CreateDate>

         <xmp:Rating>0</xmp:Rating>

         <xmp:MetadataDate>2016-09-04T10:40:03-04:00</xmp:MetadataDate>

         <aux:SerialNumber>BHG222521</aux:SerialNumber>

         <aux:FlashCompensation>0/256</aux:FlashCompensation>

         <aux:DistortionCorrectionAlreadyApplied>True</aux:DistortionCorrectionAlreadyApplied>

         <aux:LateralChromaticAberrationCorrectionAlreadyApplied>True</aux:LateralChromaticAberrationCorrectionAlreadyApplied>

         <photoshop:DateCreated>2016-08-31T07:24:02-04:00</photoshop:DateCreated>

         <photoshop:AuthorsPosition>Professor of Biology and Environmental Science</photoshop:AuthorsPosition>

         <photoshop:City>Marietta</photoshop:City> Note: The files I need will have this attribute

         <photoshop:State>Ohio</photoshop:State>

         <photoshop:Country>USA</photoshop:Country>

         <photoshop:LegacyIPTCDigest>67E6308E05EEA340600D1B6750C62025</photoshop:LegacyIPTCDigest>

         <photoshop:ColorMode>3</photoshop:ColorMode>

         <photoshop:ICCProfile>Adobe RGB (1998)</photoshop:ICCProfile>

       

         </xmpMM:DerivedFrom>

         <xmpRights:Marked>True</xmpRights:Marked>

         <Iptc4xmpCore:Location>Marietta</Iptc4xmpCore:Location>

         <Iptc4xmpCore:CreatorContactInfo rdf:parseType="Resource">

            <Iptc4xmpCore:CiAdrExtadr>Biology Department Marietta College</Iptc4xmpCore:CiAdrExtadr>

            <Iptc4xmpCore:CiAdrCity>Marietta</Iptc4xmpCore:CiAdrCity>

            <Iptc4xmpCore:CiAdrRegion>OH</Iptc4xmpCore:CiAdrRegion>

            <Iptc4xmpCore:CiAdrPcode>45750</Iptc4xmpCore:CiAdrPcode>

            <Iptc4xmpCore:CiAdrCtry>USA</Iptc4xmpCore:CiAdrCtry>

            <Iptc4xmpCore:CiTelWork>740-376-4743</Iptc4xmpCore:CiTelWork>

            <Iptc4xmpCore:CiEmailWork>mcshaffd@marietta.edu</Iptc4xmpCore:CiEmailWork>

            <Iptc4xmpCore:CiUrlWork>www.marietta.edu/~mcshaffd</Iptc4xmpCore:CiUrlWork>

         </Iptc4xmpCore:CreatorContactInfo>

         <crs:RawFileName>083116_3144.ORF</crs:RawFileName>

        

      </rdf:Description>

   </rdf:RDF>

</x:xmpmeta>

------------------------------

                                                                                                   

So, basically, I need to search through over 30K files taken over 15 years and pick out the files which have the City attribute set to "Marietta" while ignoring the string "Marietta" in other attributes as virtually every image will have "Marietta" set in one place or another.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 25, 2017 Jul 25, 2017

Copy link to clipboard

Copied

Thanks Dave, a couple of 1x1 pixel images with intact metadata would have been more helpful, however I think I can try to make a representative sample to test…

Please correct me if I’m wrong:

I have two images, I have populated half a dozen random metadata fields with the term “Common” in both files. The City field in File-1 is also titled “Common” while the City field in File-2 is titled “Unique”.

When I run a search using the following criteria:

Find.png

The only file that is returned is the File-2 where the City field is titled “Unique”. Even though 6 other metadata entries also used the term “Common” in both files, both files were not returned in the Find due to the way that I have specified two sets of criteria that both have to match a certain condition (if all criteria are met).

Even if I change “Common” for “City” I still have the same result, only the file with a unique city is returned, all of the false positives that contain the common entry are ignored.

This simplistic test would appear to achieve what you are looking to do (however it is late and I may be missing the obvious)…

Otherwise, as shown in my post #4, ExifTool is more than capable of searching for an exact metadata field and term and then marking the file with a metadata entry, or writing the result to a CSV file with the path to the file etc (there are many possibilities).

With luck somebody that can script will see you post here or at the other Adobe site and provide a script, however unless I am missing something my find suggestion should isolate the exact images that you are looking for.

Please test and let me know how you go!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jul 25, 2017 Jul 25, 2017

Copy link to clipboard

Copied

Thanks - Steven.  That would solve my problem if I am searching for any other city - something that will no doubt turn out very useful.  My problem right now is that I need to pull out the files from common city!

I'm a bit leary of running exif on over 30K files in hundreds of directories, though that would certainly solve the problem.  I can also start embedding location data in the keywords.

I did put in a request for Adobe to look at this - once I figured out how to do that.  Wish I knew how to pust images to the forum!

Of course, in the meantime I found the image I needed.

Dave

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 25, 2017 Jul 25, 2017

Copy link to clipboard

Copied

Hi Dave, yeah, there is not much that can be done with the out of the box tools offered. It would come down to scripting or third party tools.

Sadly, the Find command does not like strings that use the < > symbols, otherwise one could search for the entire string:

<photoshop:City>Marietta</photoshop:City>

Regarding ExifTool… By removing the -r or -recursive argument in the ExifTool command, only the targeted/top level folder/files will be scanned. ExifTool is fast as there is no GUI. The command is conditional, so only files that match the condition will actually be re-written with the label or star rating. That being said, you are wise to exercise caution and one should always work on duplicated files for testing.

The ExifTool output to .CSV file option is safe as it is not rewriting files, just scanning them and writing the results to text.

To output all City entries, then you can use a spreadsheet program to sort or filter the City column to find specific entries:

exiftool -r -csv -city 'PathToInputFolder' > '/PathToOutputFolder/exiftool-dump.csv'

Or simply use a conditional, to only output the image/path that contains the target keyword, in this case “CityName” is the search term:

exiftool -r -csv -city -if '$city =~ /CityName/' 'PathToInputFolder' > '/PathToOutputFolder/exiftool-dump.csv'

You can then copy the path/filename out of the CSV file and paste it into the Path Bar in Bridge to navigate to the file/folder:

path-bar.png

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

Ideally an existing Adobe Bridge script could be modified, however I can’t script and I don’t have time at the moment to try hacking an existing script. Methods would be to create a new Smart Collection based on the results of a search, or to add a label or rating etc.

I can offer some solutions with ExifTool that will be visible in Bridge…

For example, if the City metadata contained the key word “Mickey Mouse”, then label the file with a Review label.

exiftool -r -overwrite_original -if '$city =~ /Mickey Mouse/' -label='Review' 'pathToFolder'

Or if the City metadata contained the key word “Mickey Mouse”, then add a 5 Star Rating to the file.

exiftool -r -overwrite_original -if '$city =~ /Mickey Mouse/' -rating='5' 'pathToFolder'

For Windows users, simply change out the ' straight single quotes for straight " double quotes and put in the full system path to the top level folder (C:\MyWork\MyFolder etc). Or swap $city for $sub-location to search using a different field.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 26, 2017 Jul 26, 2017

Copy link to clipboard

Copied

Paul Riggott has posted a script here:

https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Find%20In%20Field.jsx

Bridge: Ability to search by city | Photoshop Family Customer Community

To install: right click on the file and save copy/move the file to the relevant folder, this can be found by going to th Bridge preferences - Startup Scripts then click “Reveal My Startup Scripts” this will open the folder where the script is to be placed. Close and restart Bridge and accept the new script, this will show in the tools menu as "Find In Field"

RackMultipart20170725-63928-lhlozu-FIF_inline.jpg

This example will search the City field for Leeds Harrogate or London

If any are found a new collection will be created and this collection will be selected.

// https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Find%20In%20Field.jsx

#target bridge

if( BridgeTalk.appName == "bridge" ) {

findInField = new MenuElement("command", "Find In Field", "at the end of tools");

}

findInField.onSelect = function () {

var Fields=["Keywords","Description","Headline","Title","Instructions","State","Job ID","Caption Writer","Location","City","Country","Author","Event"];

var win = new Window("dialog","Find by field");

g = win.graphics;

var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);

g.backgroundColor = myBrush;

win.alignChildren="row";

win.g10 = win.add('group');

win.g10.orientation = "row";

win.title = win.g10.add('statictext',undefined,'Find by field');

win.title.alignment="bottom";

var g = win.title.graphics;

g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);

win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});

win.p1.alignChildren="fill";

win.g5 =win.p1.add('group');

win.g5.spacing=10;

win.g5.st1 = win.g5.add("statictext", undefined,"Select Field");

win.g5.dd1 = win.g5.add("dropdownlist", undefined,Fields);

win.g5.dd1.selection=0;

win.g10 =win.p1.add('group');

win.g10.spacing=10;

win.g10.st1 = win.g10.add("statictext", undefined,"Enter text to find...");

win.g10.et1 = win.g10.add("edittext");

win.g10.et1.preferredSize=[250,20];

win.g20 =win.p1.add('group');

win.g20.spacing=10;

win.g20.cb1 = win.g20.add('checkbox',undefined,'Case Insensitive');

win.g20.cb1.value=true;

win.g100 =win.p1.add('group');

win.g100.spacing=10;

win.g100.bu1 = win.g100.add("button",undefined,"Process");

win.g100.bu1.preferredSize=[200,30];

win.g100.bu2 = win.g100.add("button",undefined,"Cancel");

win.g100.bu2.preferredSize=[200,30];

win.g100.bu1.onClick=function(){

if(win.g10.et1.text == ""){

    alert("You have not entered anything to find!");

    return;

    }

win.close(0);

var thumbList = [];

app.document.deselectAll();

var items = app.document.getSelection("jpg,tif,gif,psd,pcx,png,eps,crw,cr2,tiff,raw,rw2,dng,nef,orf,erf,mos,dcr,raf,srf,pef,x3f");

if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");

if(win.g20.cb1.value ) var patt = new RegExp (win.g10.et1.text.toString(),"i") else  var patt = new RegExp (win.g10.et1.text.toString());

for(var a in items){

var md = items.synchronousMetadata;

var xmp =  new XMPMeta(md.serialize());

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","Keywords") && win.g5.dd1.selection==0){

var Keywords = md.read("http://ns.adobe.com/photoshop/1.0/","Keywords").toString().replace(/,/g,';');

if(patt.test(Keywords.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://purl.org/dc/elements/1.1/","dc:description") && win.g5.dd1.selection==1){

var Description =  md.read("http://purl.org/dc/elements/1.1/","dc:description").toString().replace(/\n/g,'-');

if(patt.test(Description.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","photoshop:Headline") && win.g5.dd1.selection==2){

var Headline = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:Headline");

if(patt.test(Headline.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://purl.org/dc/elements/1.1/","dc:title") && win.g5.dd1.selection==3){

var Title = md.read("http://purl.org/dc/elements/1.1/","dc:title");

if(patt.test(Title.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","photoshop:Instructions") && win.g5.dd1.selection==4){

var Instructions = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:Instructions");

if(patt.test(Instructions.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","photoshop:State") && win.g5.dd1.selection==5){

var state = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:State");

if(patt.test(state.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","photoshop:TransmissionReference") && win.g5.dd1.selection==6){

var jobID = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:TransmissionReference");

if(patt.test(jobID.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist( "http://ns.adobe.com/photoshop/1.0/","photoshop:CaptionWriter") && win.g5.dd1.selection==7){

var cWriter = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:CaptionWriter");

if(patt.test(cWriter.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist("http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/","Iptc4xmpCore:Location") && win.g5.dd1.selection==8){

var Location =  md.read("http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/","Iptc4xmpCore:Location");

if(patt.test(Location.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist("http://ns.adobe.com/photoshop/1.0/","photoshop:City") && win.g5.dd1.selection==9){

var City = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:City");

if(patt.test(City.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist("http://ns.adobe.com/photoshop/1.0/","photoshop:Country") && win.g5.dd1.selection==10){

var Country = md.read("http://ns.adobe.com/photoshop/1.0/","photoshop:Country");

if(patt.test(Country.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist("http://purl.org/dc/elements/1.1/","dc:creator") && win.g5.dd1.selection==11){

var Author = md.read("http://purl.org/dc/elements/1.1/","dc:creator");

if(patt.test(Author.toString())) thumbList.push(items);

}

if( xmp.doesPropertyExist("http://iptc.org/std/Iptc4xmpExt/2008-02-29/","Iptc4xmpExt:Event") && win.g5.dd1.selection==12){

var event = md.read("http://iptc.org/std/Iptc4xmpExt/2008-02-29/","Iptc4xmpExt:Event");

if(patt.test(event.toString())) thumbList.push(items);

}

}

if(thumbList.length > 0) {

var name =Fields[Number(win.g5.dd1.selection)];

var Col = app.createCollection(name);

app.addCollectionMember(Col,thumbList);

app.document.thumbnail = Col;

}

    }

win.show();

};

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 24, 2017 Jul 24, 2017

Copy link to clipboard

Copied

The easy thing would be for Bridge to have ALL of the IPTC core items in the search menu.  I mean, it lets me search by altitude but not by city???

Yes, it would be helpful if the Find command and other areas of the program supported a “wildcard” feature where one could set a metadata value that was not hard coded into the program (which is more flexible than having to program in every possible case, just give users the ability to specify what they need). I made a similar request for such a feature in Bridge’s Batch Rename, however it would also be good in Find as well.

mockup_inline.png

Bridge Batch Rename Using Any XMP Data | Photoshop Family Customer Community

So I would envision something like this, where one would type in the custom metadata and the value that should be searched for:

mockup_find.png

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Jul 27, 2017 Jul 27, 2017

Copy link to clipboard

Copied

Paul Riggott has posted an advanced script here:

Bridge: Ability to search by city | Photoshop Family Customer Community

https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Expert%20Search.jsx

RackMultipart20170727-73308-nsns6a-Expert_inline.jpg

//This script is for expert users only!

// https://raw.githubusercontent.com/Paul-Riggott/PS-Scripts/master/Expert%20Search.jsx

#target bridge

if( BridgeTalk.appName == "bridge" ) {

expertSearch = new MenuElement("command", "Expert Search", "at the end of tools");

}

expertSearch.onSelect = function () {

if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript");

var ns = [];

var xmp = new XMPMeta("");

ns= XMPMeta.dumpNamespaces();

ns =ns.split("\n");

var NameSpaces =[];

for(var a in ns){

  if(a == 0) continue;

  var parts = ns.split("=>");

  if(parts.length == 2) NameSpaces.push([[parts[0].toString().replace(/^\s+|\s+$/,"")],[parts[1].toString().replace(/^\s+|\s+$/,"")]]);

  }

var win = new Window("dialog","Expert Find");

g = win.graphics;

var myBrush = g.newBrush(g.BrushType.SOLID_COLOR, [0.99, 0.99, 0.99, 1]);

g.backgroundColor = myBrush;

win.alignChildren="row";

win.g10 = win.add('group');

win.g10.orientation = "row";

win.title = win.g10.add('statictext',undefined,'Expert Find');

win.title.alignment="bottom";

var g = win.title.graphics;

g.font = ScriptUI.newFont("Georgia","BOLDITALIC",22);

win.p1= win.add("panel", undefined, undefined, {borderStyle:"black"});

win.p1.alignChildren="fill";

win.g5 =win.p1.add('group');

win.g5.spacing=10;

win.g5.st1 = win.g5.add("statictext", undefined,"Prefix");

win.g5.dd1 = win.g5.add("dropdownlist");

win.g5.dd1.preferredSize=[100,20];

win.g5.st2 = win.g5.add("statictext", undefined,"NameSpace");

win.g5.dd2 = win.g5.add("dropdownlist");

win.g5.dd2.preferredSize=[300,20];

for(var a in NameSpaces){

  win.g5.dd1.add("item",NameSpaces[0].toString().replace(/:/g,""));

  win.g5.dd2.add("item",NameSpaces[1].toString());

  }

win.g5.dd1.selection=0;

win.g5.dd2.selection=0;

win.g5.dd1.onChange = function(){

win.g5.dd2.selection = win.g5.dd1.selection.index;

  }

win.g5.dd2.onChange = function(){

win.g5.dd1.selection = win.g5.dd2.selection.index;

  }

win.g7 =win.p1.add('group');

win.g7.spacing=10;

win.g7.st1 = win.g7.add("statictext", undefined,"Enter Field Name...");

win.g7.et1 = win.g7.add("edittext");

win.g7.et1.preferredSize=[250,20];

win.g10 =win.p1.add('group');

win.g10.spacing=10;

win.g10.st1 = win.g10.add("statictext", undefined,"Enter text to find...");

win.g10.et1 = win.g10.add("edittext");

win.g10.et1.preferredSize=[250,20];

win.g20 =win.p1.add('group');

win.g20.spacing=10;

win.g20.cb1 = win.g20.add('checkbox',undefined,'Case Insensitive');

win.g20.cb1.value=true;

win.g100 =win.p1.add('group');

win.g100.spacing=10;

win.g100.bu1 = win.g100.add("button",undefined,"Process");

win.g100.bu1.preferredSize=[270,40];

win.g100.bu2 = win.g100.add("button",undefined,"Cancel");

win.g100.bu2.preferredSize=[270,40];

win.g100.bu1.onClick=function(){

if(win.g7.et1.text == ""){

  alert("No Field Name has been entered!");

  return;

}

if(win.g10.et1.text == ""){

  alert("No Text to Find has been entered!");

  return;

  }

win.close(0);

var thumbList = [];

app.document.deselectAll();

var items = app.document.getSelection("jpg,tif,gif,psd,pcx,png,eps,crw,cr2,tiff,raw,rw2,dng,nef,orf,erf,mos,dcr,raf,srf,pef,x3f");

if(win.g20.cb1.value ) var patt = new RegExp (win.g10.et1.text.toString(),"i") else var patt = new RegExp (win.g10.et1.text.toString());

var patt2 = new RegExp (win.g7.et1.text.toString(),"i")

for (var p in items){

  var md = items

.synchronousMetadata;

  var xmp = new XMPMeta(md.serialize());

  iter = xmp.iterator(0, win.g5.dd2.selection.text);

  while((prop = iter.next()) != null) {

  if(prop.path != null) {

  if(patt2.test(prop.path.toString())) {

  if(patt.test(prop.value.toString())){ thumbList.push(items

);

  }

  }

  }

  }

  }

if(thumbList.length > 0) {

var name =win.g7.et1.text;

var Col = app.createCollection(name);

app.addCollectionMember(Col,thumbList);

app.document.thumbnail = Col;

}

}

win.show();

};

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 30, 2020 Mar 30, 2020

Copy link to clipboard

Copied

Dear Adobe,

I share Dave's frustration that simple tasks like this are very difficult to do in Adobe products.  As a DAM manager, I also want to search by different IPTC metadata fields with similar issues, and also want to see multiple metadata fields in a list view that I can sort and search on.  Usually Description/Caption is the item surprisingly missing in a list view.  For photographers who are required to send in photo shoots with captions, this often gets them in trouble as they can't see easily the files missing captions/ or poorly filled in captions to fill in before sending the shoot to the client.  Same thing goes for QCing images coming into a DAM.  I want to make sure certain metadata fields are filled in, and it is very difficult to click on each images, espcially if you have thousands.

 

Please put a solution into development for all of your photo software products where this would make sense- ie lightroom and bridge.

 

Sincerely,

Christina

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 30, 2020 Mar 30, 2020

Copy link to clipboard

Copied

Sadly you will need to make a separate post here as this forum is generally not monitored by engineers or product managers:

 

https://feedback.photoshop.com/photoshop_family/categories/photoshop_family_bridge

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 31, 2020 Mar 31, 2020

Copy link to clipboard

Copied

LATEST

You may want to hire a developer to write a more complex script for this.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines