Today I'm going to give you a few tips on customizing the output format of the Export List plug-in. Of course it would be  impossible to come up with a single format that fits every single user's needs. There's always going to be either too much information or too little, or the data items would be listed not in an ideal order. On the other hand, implementing a UI to customize the output within the plug-in would be a challenging and a time consuming task (just due to certain limitations of the SDK). Nevertheless, the output of the Export List plug-in can be easily customized to display only the data items you need and in the order you need, if you have a basic understanding of HTML, CSV, or any other output format you need. And here is how... In the plug-in folder where you installed the plug-in you'll find a file called ExportList.ini. At the top of the ini file there's a FORMATS section where the available output formats are listed. For example:
[FORMATS]
Plain Text=txt
HTML (Tabular)=tabular.html
HTML (Itemized)=itemized.html
CSV (MS Excel)=csv
The text before the equal sign is what you see in the Output Format dropdown list. What follows after the equal sign is the name of the template file used to generate the output. Those template files are located in the templates folder. The template name format allows to define multiple variations of the same output format (for example, different HTML templates).  Note the two different HTML templates, named "tabular" and "itemized" respectively. Let's review the contents of the txt.template file as the easiest one to understand. The meat of the template is represented by the "foreach" block:
${foreach photos Photo No:       ${index}
Export Path:    ${exportPath}
Catalog Path:   ${catalogPath}
Exposure:       ${exposure}
Aperture:       ${aperture}
Date Taken:     ${dateTime}
Library Folder: ${folderName}
Keywords        ${keywordTags}
--------------------------------------------------------------------------------
}

What it does, essentially, it instructs the plug-in to repeat the text block for every photo in the export queue. The highlighted text must remain unchanged as it's a programming construction used by the plug-in to cycle the output. The remaining text is yours to modify - it contains arbitrary text (except that you can't use curly brackets) and data placeholders (or fields) that get substituted with actual values during the export. There are two categories of data fields: System Fields
${index} Contains the number of the current photo in the export queue, starting with 1
${exportPath} Contains the full path of the exported photo
${catalogPath} Contains the full path of the photo in Lightroom catalog
Metadata Fields These fields are populated directly from photos' metadata, as defined by Lightroom
${keywordTags} The list of keywords as shown in the Keyword Tags panel (with Enter Keywords selected)
${keywordTagsForExport} The list of keywords as shown in the Keyword Tags panel (with Will Export selected)
${fileName} The leaf name of the file (for example, "myFile.jpg")
${copyName} The name associated with this copy
${folderName} The name of the folder the file is in
${fileSize} The formatted size of the file (for example, "6.01 MB")
${rating} The user rating of the file (number of stars)
${label} The name of assigned color label
${title} The title of photo
${caption} The caption for photo
${croppedDimensions} The cropped dimensions of the photo
${dimensions} The original dimensions of file (for example, "3072 x 2304")
${exposure} The exposure summary (for example, "1/60 sec at f/2.8")
${shutterSpeed} The shutter speed (for example, "1/60 sec")
${aperture} The aperture (for example, "f/2.8")
${exposureBias} The exposure bias/compensation (for example, "-2/3 EV")
${flash} Whether the flash fired or not (for example, "Did fire")
${exposureProgram} The exposure program (for example, "Aperture priority")
${meteringMode} The metering mode (for example, "Pattern")
${isoSpeedRating} The ISO speed rating (for example, "ISO 200")
${exposureProgram} The exposure program (for example, "Aperture priority")
${focalLength} The focal length of lens as shot (for example, "132 mm")
${focalLength35mm} The focal length as 35mm equivalent (for example, "211 mm")
${lens} The lens (for example, "28.0-135.0 mm")
${subjectDistance} The subject distance (for example, "3.98 m")
${dateTimeOriginal} The date and time of capture (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${dateTimeDigitized} The date and time of scanning (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${dateTime} adjusted date and time (for example, "09/15/2005 17:32:50") Formatting can vary based on the user's localization settings
${cameraMake} The camera manufacturer
${cameraModel} The camera model
${cameraSerialNumber} The camera serial number
${artist} The artist's name
${software} The software used to process/create photo
${gps} The location of this photo (for example, "37°56'10" N 27°20'42" E")
${gpsAltitude} The GPS altitude for this photo (for example, "82.3 m")
Just look at the wealth of information that can be included! For example, if I wanted to modify my text template to remove keywords and library information, and include camera and lens information above exposure, I'd modify the txt.template file as follows:
--------------------------------------------------------------------------------
${foreach photos Photo No:       ${index}
Export Path:    ${exportPath}
Catalog Path:   ${catalogPath}
Camera:         ${cameraMake} ${cameraModel}
Lens:           ${lens}
Exposure:       ${exposure}
Aperture:       ${aperture}
Date Taken:     ${dateTime}
--------------------------------------------------------------------------------
}

${PLUGIN_INFO}
I hope the above gives you a starting point for modifying the default templates included with the plug-in, or even developing your own templates. If you come up with a cool layout or a handy format (PDF anybody?), please send me your template so I can package it with the plug-in and share it with the community.
(Visited 145 times, 1 visits today)