Managing your environment - the AppControl.xml file

over 7 years ago

When the StarTeam Server is installed and a configuration created, an AppControl directory is also created with the configuration, This directory contains a file called AppControl.xml.

StarTeam administrators should put this file to good use, both requiring that only clients with a certain minimum build or version number, in conjunction with an SDK of a specified build number, be allowed to connect to the StarTeam server.

This has the side effect of preventing older (potentially unauthorized and unsupported) clients from connecting. The use case is particularly relevant after a large server upgrade, where it is quite possible that most users are still on a very old client. 

AppControl.xml has 2 recognized elements "AppDefault" and "AllowedApp" and 4 recognized attributes "Name", "MinimumSDKVersion", "WorkStationID" and "UserName".

Element "AppDefault" holds default values for all the attributes except "Name". "Name" cannot have a default value. The attributes specified here will be used against those attributes not specified for "AllowedApp" element.

Attributes "Name", "WorkStationID" and "UserName" can contain a specific string to be compared with, or a string with asterix("*"). The asterix in the string will match any pattern in that string.

Attributes "WorkStationID" and "UserName" can be empty or not specified at all. This will accept any Workstation ID or any username.

"AllowedApp" must include attribute "Name" and can have any of the other attributes. Missing attributes other than "Name", will either use values from AppDefault attributes if it exists or will assume the value "*"

Attribute "MinimumSDKVersion" corresponds to SDK version and has a specific format.
It is composed of 4 part dot-noted positive numbers "w.x.y.z". (w, x, y and z are positive numbers separated by dot ). This attribute specifes minimum version acceptable. If any of the parts is skipped, any version for that part will be accepted.
e.g. a> MinimumSDKVersion="14" will accept but will not accept
b> MinimumSDKVersion="" will not accept any version less than the exact one specified
c> MinimumSDKVersion="14.0" will accept or but will not accept

for example

<AllowedApp Name="CPC 14.0.2-28" />  ## requires that the Cross Platform Client CPC version 14.0.2-28 (or later) connect to your StarTeam server, but no earlier build.

<AppDefault MinimumSDKVersion="14.0.2" /> ## defaults to accepting any SDK version with first part 14.0.2 or greater, again, no earlier build.

When putting together your AppControl.xml file, first carefully analyze the server log and check to see which applications are connecting, and should be allowed to connect, to your starteam server.

Typically, these will be the cross platform client, the StarTeam Eclipse or StarTeam Microsoft Visual Studio Integration, the StarTeam Command Line client (stcmd), Notification Agent, Agile, Rio, the Web Client, etc.

You may also have custom SDK applications developed in house which connect. These applications should correctly identify themselves by name (see com.starteam.Application.{get/set}DefaultName from the SDK namespace.

<unknown application> entries will typically result from custom applications that have been written but without having a name specified.

Once you know which applications to expect, create and save all the entries in the appControl.xml file.

The server should pick them up within 30 seconds without a restart.

Before this control is set in place, ensure that the latest approved client(s) are available to all users in your organization, for download and install. 

Note that once the control is set in place, users with older versions of the clients (rejected by AppControl.xml) will be prevented from connecting to your StarTeam server.


How To-Best Practice
Comment List
Related Discussions