Program Details Window

The program details window displays the full configuration for any particular program variant selected from the programs window. For definitions of the terms "Program Version", "Program Variant", "Program Family" see the Programs Window Documentation.

In the main Programs Window each line represents a single program variant. When double-clicked, the Program Details window will open with its window title composed from the name and variant fields together. At the top left of the details window, the family identifier is shown with a variant mask underneath which determines how finely the family is split into separate variants. The details window actually lists all family members on the left while displaying details for the selected variant on the right (see the diagrams below).

KeyServer chooses the Name to use for each variant based on the first discovery of a Sample File which fits the variant definition. Generally, this sample file's internal name will be appropriate for the variant but in some cases you may want to customize it, perhaps to make it conform to a specific program naming convention. Whenever a variant is displayed in KeyConfigure, the Name always has the "variant" field appended so normally the value of the Name field should be kept the same for all variants in the family. The Name together with the variant field will distinguish among family members to exactly the desired level of detail.

The variant field can be empty (so the variant includes all versions in the family) or it can be the complete version information for a specific program file – but typically the variant field is set to show digits up to the first decimal point, and occasionally up to the second. The level of version detail included in the variant field is determined by how far the "variant mask" has been moved to the right. When the variant mask is set at the first decimal, the variant is sometimes called a "major version" while the masked out digits can be used to reference "minor revisions".

Program Details Window            

Left Side diagram - click to enlarge.
Program Detail Diagram

Right Side diagram - click to enlarge.      
Program Detail Diagram

Left Hand Side - Program Family, Version Mask, Variants

Even though the Program details window is opened by double clicking a specific selected line in the Programs window, the left hand side of the window shows a list of all variants comprising the entire Program Family – the one clicked on is highlighted. This lets you see whether and how the family has been split according to the digits exposed in the variant mask and/or through the creation of "keyed variants". Detailed information and configuration options for the selected variant are displayed on the right.

Often the entire program family may be represented by just one undistinguished variant. Suppose, for example, that iTunes version for Windows has been discovered by an audit of some client computer. The undistinguished iTunes family variant will appear in the Programs window and double-clicking will bring up the details window showing this one variant – it will be selected in the left column. But rather than treat all versions in the same way, you may want to distinguish iTunes versions 9.x.x.x. Slide the version mask to the first decimal point, and additional variants may appear. The Variant column will display “9.x”, since version has been discovered, and it may also display “10.x” if some version beginning with 10. has also been discovered. In this example, when the details window is saved with the new mask position, the Programs window will display both the 9.x and 10.x variant records in place of the undifferentiated single variant representing the entire iTunes family.

Mask set to “Full left”   Mask set to the first decimal, "Major version"


The Program Details window will initially display information about the specific variant that you double-clicked in the Programs Window. There may be just one or many specific versions of the program belonging to the variant. The expansion icon lets you show or hide the aggregated specific versions that have been discovered so far on client computers – but for most purposes these need not be opened for view. The left hand side is not terribly interesting in the case of a family with only a single variant, so you may want collapse the left side of the window in this case (slide the column separator to the left). However, when there are multiple variants in a family, it is useful to see the other family members along side the selected one, and to then easily inspect how each one is being managed.

Whenever the program family has more than one member, just one will be selected and highlighted in dark gray on the left. You can view details of any other variant in the family simply by selecting it in the list - you don't have to go back to the Programs Window. In fact, going back to the Programs Window and double clicking on a sibling will just bring up this same details view but with a different variant selected. If you have made configuration changes, you will be prompted to save them before you switch to a different variant. Remember, it is only the variant selected in gray that will be affected by options configured in the right hand side of the window.

The version mask appears to the right of the words “Selected Variant” and looks something like: "x.x.x.x+size". By clicking on one or more of these x's, starting from the left, you control how many digits of version information are unmasked in order to separate a program family into distinct variants. Regardless of how the program mask is set, keyed program versions (if any) must be managed as distinct "singleton" variants within the program family. Therefore, if there are any keyed program versions, they will appear below a horizontal separating line and they will be unaffected by mask changes.

Initially, programs are added to the Programs window with variant mask full-left (notice the gray vertical line to the left of the first x) so all versions are aggregated together. All version information will be masked out of view so there will be exactly one 'non-keyed' variant. But note: there may still be 'keyed' variants in the family and these will have all version digits exposed (plus the § symbol) regardless of how the variant mask is set. Keyed variants, if any, will be displayed below a line separating them from the non-keyed variant(s). If a Product record is created that references a program (as a component) then typically the program family will become split to the first decimal, since most product releases are defined by which "major program version" (i.e. variant) is included.

Dragging the mask to the right will make the mask more specific, dividing the program family into multiple variants distinguished by one or more digits of version information. If you slide the mask to a new position and let go, the list of variants will show how the family will be split - but the consequences of such mask changes won't actually take effect until you do a Save (or close the window). Whenever a change to the variant mask actually results in the creation of new variants (which are split out from the family) these new items will be added to the Programs Window detail window is saved. Note: the Programs Window should really be called the "program variants window" because the line items being displayed are neither wholly aggregated program families nor wholly differentiated program versions. They are "variants" which can be thought of as aggregating minor versions together or as splitting apart the program family to some significant level of precision.

The aggregated individual program versions (discovered by KeyServer audits etc.) are hidden within each variant's expansion icon. Clicking on the icon to the left of the variant name will expand the variant, revealing all known program versions within the program variant. Use the context menu "Expand All" if you want to see full detail showing all discovered versions and how the mask setting aggregates them into variants. Use "Collapse All" to see just the variant names as they will appear in the Programs window (and in the Program Family window).

If you expand the current variant (the dark gray line), you will notice a small arrow icon next to one of the versions. This indicates the particular version (based on a Sample File) which currently has additional details displayed in the Information pane. Click to the left of a different version and the small arrow will move - the Information pane updates to show details for this other version's Sample File.

When experimenting with moving the variant mask to the right, notice how newly created variants inherit the list of Products from their parent. Its not always so obvious what happens when variants collapse together with a mask moving to the left. Fortunately these subtleties are usually academic since for most purposes the variant mask remains either full left or is moved only to one decimal point, thus differentiating the family into "major" versions (e.g. variants).

Right Hand Side

Although the display on the left may list several variants with icons indicating that more than one are in products, configuration changes on the right side have no effect beyond the selected variant - the one highlighted in gray.

Products Pane

This is in one sense the most important pane in the program details window since it shows what Products are associated with the Program. Configuring a Product which contains a program is the only way to do anything “interesting” with the program. Programs which have no Product association will not appear in any of the traditional reports, nor will KeyServer ever observe or manage usage of the program.

When there are multiple products associated with this one program, then the one listed with the longest blue bar at the left will be searched first. That is, when a user attempts to launch the program, KeyServer will first attempt to find policies for the product with the longest blue bar - and any relevant policies it finds will be the first it tries to use. If this fails (e.g. perhaps all of the licenses in those policies are in use), it will move on and attempt to find policies for the product with the second longest bar, etc. When there are multiple products in the list, they can be dragged relative to one another so that you can change the search order. Products can also be dragged directly from the products window into this list and positioned in the desired order.

Information Pane

This pane shows general information about the program variant. The top few lines show information relevant to the entire variant (i.e. all versions within the variant have this information in common). Click the Variant Installs button to show all computers that have the program variant installed (e.g. some version aggregated within the variant is installed).

Further details displayed at the bottom of the information pane are gleaned from a specific sample program whose version is included within the variant. In the left hand side of the detail window, when you use the expansion icon to expand the gray selected item from the list of variants, notice the small black arrow pointing to a specific version within the variant - this is the specific “sample file” whose sample information is being displayed. Click to move the black arrow to a different specific version and you will see some details change in the bottom of the information pane - e.g. Version, Creation Date, Discovered date, or Sample Install information. You can also change the sample file using the pop-up menu in the Information pane. The Version Installs button will show the computers that have the precise program version (pointed out by the black arrow) installed.

For a Windows application, our “Official Version” is text taken from an application's properties. It is the “File Version” text from the “Other ...” section under the Version tab. Our “Version” is an abbreviated form (stored as a long integer) that comes from the top of the Version tab in properties, where it is labeled “File version”.

For a Macintosh bundled application (.app), the version information comes from the embedded Info.plist. Our “Official Version” is the text from the CFBundleShortVersionString (or CFBundleVersion if the short version is undefined) - the Finder displays this string as the “Version’ in the application's Get Info window . Our "Version" is just an abbreviated form of the Official Version based on our attempt to parse out and remove verbose or extraneous data.

Custom Message Pane

This pane allows you to configure a custom message to be displayed on client computers when a program launch attempt is within the scope of a policy, and it is launched, denied, or queued. You can choose to display the message on every launch or only once. Note: this pane is only active if the program is in at least one product which has at least one policy. If the policy that ultimately allows the managed program to launch (or denies it) also has a custom message defined, then only the message defined for the program will be displayed.

The following macros may be placed in the custom message, and KeyAccess will replace them with the appropriate values:

name of the currently running program
date on active KeyServer
date on local (KeyAccess) computer
"KeyAccess" (name of client software at start up time)
network name of active KeyServer
time on active KeyServer, shown in local (KeyAccess) time zone
time on local (KeyAccess) computer
name of user
name of program user is waiting for, if any
single caret ("^")

Notes Pane

This pane contains a single item, which is a free-form text field. You can use it for any information you want. It can be seen here in the KeyConfigure interface, and can also be used in reports. Some sites have found it useful to specify a rigid format for data entered here so that the effect of multiple custom fields can be achieved and then parsed by custom built reports.

Policies (inherited from Products) Pane

This pane contains shows a list of Policies which ultimately will apply when this Program is launched. This list, as well as the order of the list, is computed based on the Products this Program is part of, the precedence of those Products as specified in the Products pane, and the Policies for each of those Products. You cannot change the order in which Policies apply - that must be done by changing the order of Products in the Products pane, and Policy order within each Product Details window.