variables

The File Window displaying multiple keywords per row.

Tune Your File Window Layouts

The File Window in IMatch can be customized in many ways using file window layouts. You have full control over whether you use a thumbnail or a tabular layout and over the data to be included for each file.

File window layout customization in the digital image management system IMatch.

This know-how article explains some tricks which you can use with custom templates in conjunction with variables.

See the File Window Layouts help topic in the IMatch Help system for a full overview of all available features and many examples.

Custom Templates and Layouts

When creating a custom layout, you usually just pick the IMatch data elements and metadata tags to display in the file window. Maybe also change the font size, alignment or color. This already gives you a lot of control over the data you see for each file.

Even more options are available when you switch the layout element to use a custom template. This allows you to use IMatch Variables and all related functionality, plus a subset of XAML formatting to control font sizes, colors and other aspects of the output.

You can use custom templates for each of the four headers and 8 footers, mixing them freely with standard elements. In the following example we configured Header 2 left to display the XMP headline. We also changed the font size and the color:

The File Window Layout Editor
The file window layout editor.

The resulting file window layout displays the contents of the XMP headline tag under the file name, in a bigger font and a orange color:

Screen shot of the file window.
We could use any other variable, or multiple variables in the template. Whatever is needed to produce the output you want.

Displaying Lists

Some variables return lists of elements, e.g., the XMP hierarchicalKeywords variable or the Categories variables. IMatch separates list elements with the list separator character configured for Windows (usually ; or , ) . This results in values like “vacation;summer;family;holiday;Hawaii”.

IMatch offers a wide variety of variable functions, which allow you to manipulate the results of variables. By using the replace function, we can replace the default list separator ; with something different.

For example, if you want to display each keyword in a separate row, replace the ; with a line feed {lf}:

{File.MD.hierarchicalkeywords|replace:~;=={lf}}

Note that we use the short code for the variable instead of the full variable name ({File.MD.XMP::Lightroom\hierarchicalSubject\HierarchicalSubject}). The output is identical, but using the short code makes it easier to read.

To make room for the keywords, we increased the height of the footer to 120 pixel. If there are more keywords than there is room in the thumbnail panel, IMatch automatically crops the excess keywords.

The File Window Layout Editor showing the template for the custom footer.

The resulting file window layout displays the keywords assigned to the file in the footer, with one keyword per row:

The File Window Layout with Keywords.
A file window layout which displays XMP hierarchicalSubject values (keywords) in a ‘one keyword per row’ layout.

 

An Alternative: Let It Wrap

The approach to put each keyword on a single line may be a waste of screen space when you increase the thumbnail size. In this case there is likely enough room to fit multiple keywords per row.

To allow for that, we replace the ; separator with something like ,<blank> (a comma followed by a SPACE character). This allows the file window layout engine to fill the available space, automatically wrapping at the SPACE to create additional rows as needed. This variable

{File.MD.hierarchicalkeywords|replace:~;==, }

yields the desired result:

The File Window displaying multiple keywords per row.
The same file window, but with larger thumbnails. This makes room to fit multiple keywords per row. The layout engine in the digital asset management IMatch automatically re-formates the keywords to fill the available space, wrapping into separate lines as needed.

Displaying IMatch Attribute Data

Attributes allow you to create your own database inside the IMatch database. They are used to store custom data for each file, independent from the file format or the supported metadata. Attributes are great for purposes like keeping notes per file, submission tracking, billing, etc.

You can store any number of Attribute records per file. The corresponding variables return all values for a given attribute in a list semicolon-separated, just like the XMP hierarchicalSubject variable we used in the examples above.

In a recent post in the photools.community, a user asked how he can display this data in the file window. There may be multiple records per file, and each record may have multiple attributes.

For this example, we use a typical submission tracking Attribute Set. The IMatch user keeps track of which stock photo agencies (or web sites) he has submitted a file to, the state of the submission and the revenue. In the IMatch Attributes Panel, this looks like this:

The IMatch Attribute Panel
A submission tracking Attribute Set in the Attribute panel. Click for a larger view.

See the Attributes topic in the IMatch help system for detailed information about the IMatch Attribute database. The Submission tracking is used there as an example as well.

The file used in the screen shot above has 3 attribute records, each keeping data about one submission. If you want to display this data (or some of it) inside the file window, you can use the same method described in the keywords example above: You use a custom template for the file window layout, and control the data to display with IMatch variables.

But how to deal with the multiple records per file? When we just use the variable

{File.AT.Submissions.Client}

IMatch returns a list of all values for the Client Attribute, separated with a semicolon : DaguckstDu Stock Fotos;Bright Eyes Stock Photography;Whoa! Stock. The same happens for {File.AT.Submissions.Amount}: 280,00 $;450,00 $;250,00 $. Not really helpful. We would like to see the client, the date the file was submitted and how much money we made from it next to each other, in the same row, somehow.

The Trick: Indexing Variables

To achieve this, we use the index variable function, which allows us to access individual elements (aka records) in the variable. For example:

{File.AT.Submissions.Client|index:0}

returns the name of the Client from the first record (variables start counting at 0). With index:1 we get the second record, and so on. Now, after making some experiments in the awesome Var Toy App which is included in IMatch (see the App Panel and the IMatch help), we created this:

{File.AT.Submissions.Client|index:0}↵
{File.AT.Submissions.Date submitted|format:YYYY-MM-DD;index:0}↵
{File.AT.Submissions.Amount|index:0}

We use three variables to access the Client, the Date Submitted and the Amount attributes. With index:0 we tell IMatch to return only the first record. The resulting output is:

DaguckstDu Stock Fotos  2015-04-06  280,00 $

which is exactly what we want. Now, we just duplicate this variable group a number of times to access the 0, 1, 2, 3 and 4th record (we assume that we don’t sell each image more than five times):

{File.AT.Submissions.Client|index:0} {File.AT.Submissions.Date submitted|format:YYYY-MM-DD;index:0;prefix:(;postfix:)}{File.AT.Submissions.Amount|index:0;prefix: : }

{File.AT.Submissions.Client|index:1} {File.AT.Submissions.Date submitted|format:YYYY-MM-DD;index:1;prefix:(;postfix:)}{File.AT.Submissions.Amount|index:1;prefix: : }

{File.AT.Submissions.Client|index:4} {File.AT.Submissions.Date submitted|format:YYYY-MM-DD;index:4;prefix:(;postfix:)}{File.AT.Submissions.Amount|index:4;prefix: : }

Each of these variable groups produces one row in the file window. If a file has only 1 or 2 records (or none), IMatch automatically suppresses the output of the remaining variables., no rows are emitted. Which is of course exactly what we want.

We used the prefix and postfix functions to add ( and ) around the date instead of just adding them as literal text. This means that the parentheses will not show when the variable itself is suppressed.

This may look a bit complicated, but it really isn’t. It’s just variables, but with a neat twist in order to create this advanced example. To give this a try, we created a tabular file window layout and the five groups of variables from above to a custom template:

The digital image management system IMatch upports file window customization.

Each submission is displayed with the name of the client, the date of the submission and the amount of money created from that submission. Awesome!

Summary

File Window Layouts in IMatch enable you to control the data displayed in the file window. You can easily control the attributes or metadata to display, and also choose font sizes and colors.

If you need more advanced layouts, or you want to have fine control over the data to display, and how this data is formatted, you can use custom templates. In combination with IMatch variables this gives you a lot of options to work with.

Tune Your File Window Layouts Read More »

Fun With Custom File Window Layouts

The File Window in IMatch offers a wide range of customization options. From simple things like font size or color to custom templates based on IMatch variables, XAML formatting instructions and more. All this is controlled via file window layouts. And you can create custom file window layouts to display exactly the the information you want to see, and how you want to see it.

This article shows you some of the things that can be achieved using custom layouts and IMatch variables. Make sure you read the File Window layouts topic in the IMatch help for general information about how to use File Window layouts.

Displaying A Keyword Counter

Sometimes it might be useful to see how many keywords you have added to a file right in the File Window.  We use a Custom Template for this purpose and fill it from the variable containing the hierarchical XMP keywords of the current file (Click on the … button next to the input field to select the variable):

Setting up a custom file window layout.
The File Window layout editor. Open it directly from the File Window toolbar.

The Count Formatting Function

The trick is to combine the hierarchicalSubject variable with the count formatting function. This function calculates the number of elements in the variable and returns a number:

{File.MD.XMP::Lightroom\hierarchicalSubject\HierarchicalSubject\0|count:true}

The count formatting function can be used with all repeatable tags to count the number of elements.

The Result

The result of this custom template displays the number of keywords in the left thumbnail panel footer:

Your custom file window layout with keywords.

Displaying All Keywords

If we want to see the actual keywords instead of a count, we use the same variable. But this time, we use a replace function to replace the single ; character used as the keyword separator keywords with ,<space>. The extra space after the comma allows the File Window to wrap the keywords into multiple lines.

We also increase the Size property of the footer to 60 pixels in order make room for multiple rows of keywords:

How to display a wrapable list of keywords
How to display a wrapable list of keywords

The variable we used (for easy copy/paste):

{File.MD.XMP::Lightroom\hierarchicalSubject\HierarchicalSubject\0|replace:~;==, }

Note that ; has a special meaning in IMatch variables so we have to escape it with a leading ~

This custom layout now shows all keywords assigned to the file right below the thumbnail:

im5_fw_key_4

More Custom Formatting

The file layout above uses some other variables to display more custom information.

The file name is displayed in the top left header, but using a larger font for easier reading.

In the right header we show the first letter of the file extension in upper case. This leaves room for longer file names, but is still sufficient to identify the file format. We achieve this by using a Custom Template together with an IMatch variable:

{File.Ext|substr:0,1;to_upper}

The {File.Ext} variable returns the file extension. We use substr:0,1 to extract the first letter, and to_upper to convert the extension to upper case.

See the IMatch help topic Variables for detailed information about variables and the available formatting functions.

Camera Settings

The bottom right header displays the camera model, shutter speed and aperture used for the photo in a custom format. Again, a mix of variables was used to render this information. We used these variables:

{File.MD.Exif::Main\272\Model\0|replace:NIKON ==}

The Model variable contains the camera name as written by the camera. Since Nikon writes strings like ‘NIKON D4’ into this tag, we use a replace formatting function to strip out the leading ‘NIKON<blank>’.  This gives use the model name only: D4.

{File.MD.Composite\ShutterSpeed\ShutterSpeed\0|value:formatted}

By default, the shutter speed variable returns the raw value (e.g. 0.02 for 1/200). By using the value formatting function, we tell IMatch to output the formatted value instead: 1/200.

{File.MD.Composite\Aperture\Aperture\0}

We use the aperture variable as-is, but add a bit of XAML formatting (see the IMatch help for details) to output an italic f in front:

<Italic>f</Italic> {File.MD.Composite\Aperture\Aperture\0}

Summary

You can just use the standard IMatch File Window layouts to display your files. Changing attributes like font size, color etc. is simple. And if you want to display custom information, special metadata tags, maker notes or Attribute data, you can do that by using custom templates in combination with one or more IMatch variables.

Fun With Custom File Window Layouts Read More »

Using the Copy Data App with Your Office Application

 

Exchanging data with other applications is one of the key features for an digital asset management system like IMatch.

If you want to transfer data from IMatch to your Office application, e.g., Microsoft® Excel, you can use the  Text Export Module to output the data to a file on disk. See the IMatch help on the Text Export module for detailed information.

An alternative is to use the neat Copy Data App. This App allows you to quickly copy arbitrary formatted data into the Windows clipboard and then you can insert it into your Office or other application. For this know-how article we use Microsoft Excel as the receiving application.

The Copy Data App in IMatch. Three files are selected in a File Window.
The Copy Data App in IMatch. This App comes pre-installed and with full source code.
(Click for a larger view)

Open an App Panel if none is visible: View menu > Panels > App Panel or press <F9>,<1>.

What to Copy?

The Copy Data App uses a mix of free text and IMatch variables to specify which data to copy. This makes it easy to produce exactly the format you want to use in your other application. The special [tab] token can be used to insert a tabulator character (09hex) and by pressing <Enter> you start a new line.

For this example, we want to copy the fully qualified file name, the file date in DD.MM.YYYY format, the XMP headline and the XMP description. Since we want to copy into Microsoft Excel, we separate each variable with a [tab]. This ensures that Excel automatically arranges the four values into separate columns.

We are using a free mix of text and variables to specify what to copy.
We are using a free mix of text and variables to specify what to copy.

Copy the text from below into the Copy Data App input field if you want to try this yourself:

{File.FullName}[tab]{File.DateTime|format:DD.MM.YYYY}[tab]
{File.MD.XMP::photoshop\Headline\Headline\0}[tab]
{File.MD.XMP::dc\description\Description\0}

Copy the Data

When we now click on the Copy button in the App, IMatch copies the requested data for all selected files into the Windows clipboard. From there we can insert it into the receiving application.

The data in Microsoft Excel
The data in Microsoft Excel. Click for a larger view.

Using the Copy Data App with Your Office Application Read More »