Introduction
Return to Introduction
Team Coherence is one of the simplest to use Software Configuration Management (SCM) solution available today. Rather than turning SCM into a black art that requires weeks of training, enforces unacceptable restrictions on developers, and generally interferes with the development and testing processes, we have designed Team Coherence to be as easy to use as possible.

We have spent several years and worked with many development teams to make Team Coherence a real-world solution to what can be a complex process. Regardless of the size of your organization, Team Coherence helps you organize, manage, and protect your software development projects on every level - from storing and tracking changes to individual files, to managing and monitoring an entire development cycle.

This help file contains all the information you should need to guide you while using Team Coherence.

· Guide to Team Coherence Documentation

· Overview
What is Software Configuration Management
Addins
How to Buy Team Coherence
End User License Agreement

· Getting Started
Objects Maintained by Team Coherence
Configuring for the first time
Using Version Manager

· Tasks
Common Tasks
Advanced Tasks

· Scenarios

© 1995-2015 MCN Software


Typographical Conventions
· Bold Italics
Indicates button presses or menu selections required for an action

· Forward Slash /
Separates menus and their associated commands. For example Action / Checkin means select Checkin from the Actions menu

· notes Block Quotation
Emphasizes important information and useful hints

· UPPERCASE
Indicates keys or key combinations you can use. For example, press the ENTER key


Mouse Conventions
· Click
Point to an object with the mouse pointer and press the left mouse button.

· Double-click
Press the left mouse button twice in quick succession.

· Right-click
Press the right mouse button

· Drag
Press and hold the left mouse button while dragging the selected object(s) to another part of the Screen.

· SHIFT+Click
Press and hold the SHIFT key and make a selection, allowing you to select a series of objects.

· CTRL+Click
Press and hold the CTRL key while clicking on objects, allowing you to select objects randomly.

· CTRL+Drag
Press and hold the CTRL key while dragging objects.


What is Software Configuration Management
Software Configuration Management (SCM) is the key to managing and controlling the highly complex software products being developed today. In this section we discuss the various requirements for a typical SCM solution. Needless to say, Team Coherence supports all these requirements:

· Version Control
· Parallel Development Model
· Remote / Internet Access
· Defect and Feature Tracking
· Automated Build Support
· Process Management


Version Control
The key feature of any SCM tool is its ability to identify and control the software and software-related components of a project as they change over time. Individual members of the development team need to be able to undertake the tasks assigned to them without interference from other team members. As each task is completed, the results need to be made available to other team members to assimilate into their own work when required.

Version Control allows the maintenance of a history of the changes to a component as it evolves over time and allows access to any revision of a file, not just the latest.


Parallel Development Model
An important feature of any good SCM tool is the ability to allow multiple users to work on the same component at the same time. This is known as a Parallel Development Model as opposed to the more common Serial Model. With a serial development model, only one user can work on a specific component, locking all others out from changing that component.

The Serial model can create serious bottlenecks in the development process while other members of the team wait to modify a core component.

The Parallel model alleviates these problems by allowing multiple users to work on the same component. There is the problem, however, of incorporating the changes of multiple developers into a single component. This requires the ability to merge changes.


Remote / Internet Access
As many development teams are now dispersed across several locations and even countries, the ability to allow all the members of a development team full access to a project is very important. With most current SCM tools, cut-down access is provided to allow members of the team access to basic functionality.

Ideally, an SCM tool should provide full check in, check out facilities, regardless of the location of the team member.


Defect and Feature Tracking
The ability to integrate Defect and Feature tracking into the SCM solution is also an important feature. Users should be able to track the progress of individual issues and to relate these issues to the components affected.

notes Note that only the Enterprise Edition of Team Coherence supports Defect Tracking as standard, but the TCTracker addin can be purchased as an optional addin for the other versions


Automated Build Support
Building large systems can take hours, or even days. An inefficient build process can waste hours of developer time, particularly during testing where a system may need to be completely rebuilt to test a small change.

As the development / release cycle progresses, the ability to automate the building of older versions of a system become important. As users report bugs and problems with older releases of software, it can be important to be able to extract and build the exact version of the system that was given to the user.

notes Note that only the Enterprise Edition of Team Coherence supports Automated Build as standard, but the TCBuild addin can be purchased as an optional addin for the other versions


Process Management
Many users, particularly those seeking an external quality approval such as ISO 9000, have standard development processes they expect their development teams to follow. Without proper process management support built in to the SCM tool, this can involve considerable bureaucracy which is often resented and ignored by developers.

Properly integrated process management features allow the developer to ensure that components progress through chosen lifecycle phases before being released. An example of this would be to help ensure that testing and quality assurance phases were carried out before release of the product.


What is Team Coherence?
Team Coherence is one of the simplest to use Software Configuration Management (SCM) solution available today. Rather than turning SCM into a black art that requires weeks of training, enforces unacceptable restrictions on developers, and generally interferes with the development and testing processes, we have designed Team Coherence to be as easy to use as possible.

We have spent many years, and worked with many development teams, to make Team Coherence a real-world solution to what can be a complex process. Regardless of the size of your organization, Team Coherence helps you organize, manage, and protect your software development projects on every level - from storing and tracking changes to individual files, to managing and monitoring an entire development cycle.

Team Coherence has been designed with the future in mind. It is easily extendable through addins and has a modular architecture to allow for future enhancement.


Addins
Team Coherence supports a powerful addin interface that allows integration of additional features with the core version management functionality.

The Enterprise Edition of Team Coherence comes with two addins as standard:

· TCTracker - Integrated Bug/Feature Tracking
· TCBuilder - Automated Build utility

The Personal and Professional editions of Team Coherence do not include these addins but they can be purchased separately.


TCTracker
TCTracker provides the ability to record and track bugs and change requests on a project-by-project basis. Information can be gathered about reported bugs including: who reported it, when, when it is to be completed by, a short and long description, which files it involves, and more.

When checking out files, you can associate the files being checked out with an existing or new issue. Issues can be re-assigned to different users, and a history of changes is recorded for later analysis.

tracker

You can define Queries to provide different views of the issues and to restrict what is displayed to the issues relevant to you. Admin users can also define Shared Queries that all users can view.


TCBuilder
For large systems, involving multiple projects, the build process can be very long and complex. TCBuilder gives you the ability to visually create the equivalent of a MAKE file. TCBuilder integrates with Team Coherence to give access to any revision of the files involved in the system to allow you to rebuild any version of your system at the click of a mouse.

builder

Workflow features allow you to specify the order of compilation and what to do in the event of a failure in the build process. Keyword expansion throughout allows you to expand keywords in the compiler directives for each build item. This allows you to, for instance, define and build a specific version resource into each project.


Team Coherence Server
Team Coherence Server is the core of the Team Coherence suite of configuration management tools, and is a required component. It provides secure access to the data managed by Team Coherence either through a Local Area Network, or remotely through a WAN or the Internet.

Team Coherence Server can be run as a Service under Windows NT and 2000, or as a standalone application under Windows 9X and multiple instances of the server can be run on the same machine. Each instance of the server represents a Team Coherence Repository.

Information on installing and running the server can be found in the server documentation.


How to Buy Team Coherence
You can order Team Coherence online directly from our home page.

Home page

www.teamcoherence.com

Email support

support@teamcoherence.com

Post

MCN Software Ltd
6 Suttie Way
Bridge of Allan
FK9 4NQ
Scotland

Fax

+44 (0)1786 834908


A word about licensing
The Team Coherence licensing model is not concurrent. That is: you must have as many licenses installed as you have users that can login to an instance of the Team Coherence Server.

You can have the same licenses installed on any number of servers within your organisation, but each user must be accounted for in the total number of individual licenses.

See also: License Agreement


License agreement
notes See also: A word about Licensing

Copyright Notice

Team Coherence is Copyright © 1995-2013 MCN Software. All Rights Reserved.

License Agreement

GRANT OF LICENSE. In accordance with the terms of this EULA you are granted the following rights:
a) to install and use as many copies of the accompanying proprietary software ("Software"), described as Team Coherence, or in its place, any prior version, as you have valid licenses. You may also make secondary copies for each licensed user for their exclusive use on either a home or portable computer.
b) to store or install a copy of the Software on a storage device, such as a network server, used only to install or run the Software over an internal network. If you wish to increase the number of users entitled to access the Software, you must notify MCN Software Ltd and agree to pay an additional fee.
c) to make copies of the Software for backup and archival purposes.
d) to use the Software strictly in accordance with the provisions of this EULA.

EVALUATION LICENSE. Subject to the provisions contained herein, MCN Software Ltd hereby grants you a non-exclusive 45-day license to use its accompanying proprietary software ("Software"), described as Team Coherence, free of charge for the sole purpose of evaluating whether to purchase an ongoing license to the Software. You may evaluate the software for not more than 45 days. At the end of 45 days you must purchase a license in order to continue using the Software. If you do not fit within the description above, a license fee is due to MCN Software Ltd and no license is granted herein. If you are using an evaluation version of the Software, you will not be entitled to technical support.

SOFTWARE AND DOCUMENTATION. MCN Software Ltd shall furnish the Software to you electronically or on media in machine-readable object code form. If you receive your first copy of the Software electronically, and a second copy on media, the second copy may be used for backup and archive purposes only. This license does not grant you any right to any enhancement or update to the Software and Documentation. Enhancements and updates, if available, may be obtained by you at MCN's then-current standard pricing, terms, and conditions.

RESTRICTED USE. You may not lend, rent, lease or otherwise transfer the Software. The Software is protected by the copyright laws of the United Kingdom and international copyright treaties. This license is valid for only one user, but the same person may use the software on multiple machines.

ACADEMIC LICENSE. If you purchased a license as part of the academic license scheme, use of the Software is restricted to academic projects and may not be used for any commercial purpose whatsoever.
TITLE. Title, ownership rights, and intellectual property rights in and to the Software and Documentation shall remain in MCN and/or its suppliers. This Agreement does not include the right to copy or sublicense the Software and is personal to you and therefore may not be assigned (by operation of law or otherwise) or transferred without the prior written consent of MCN. You acknowledge that the Software in source code form remains a confidential trade secret of MCN and/or its suppliers and therefore you agree not to attempt to decipher, decompile, disassemble or reverse engineer the Software or allow others to do so, except to the extent applicable laws specifically prohibit such restriction. You further agree not to modify or create derivative works of the Software.

CONTENT. Title, ownership rights, and intellectual property rights in and to the content accessed through the Software is the property of the applicable content owner and may be protected by applicable copyright or other law. This License gives you no rights to such content.

DISCLAIMER OF WARRANTY. The Software is provided on an "AS IS" basis, without warranty of any kind, including without limitation the warranties of merchantability, fitness for a particular purpose and non-infringement. The entire risk as to the quality and performance of the Software is borne by you.

Should the Software prove defective, you and not MCN assume the entire cost of any service and repair.
This disclaimer of warranty constitutes an essential part of the agreement. SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU AND YOU MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.

LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL MCN OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL MCN BE LIABLE FOR ANY DAMAGES IN EXCESS OFMCN'S LIST PRICE FOR A LICENSE TO THE SOFTWARE, EVEN IF MCN SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. FURTHERMORE, SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.

TERMINATION. Either party may terminate this Agreement immediately in the event of default by the other party. Upon any termination of this Agreement, you shall immediately discontinue the use of the Software and shall within ten (10) days return to MCN all copies of the Software and Documentation. You may also terminate this Agreement at any time by destroying the Software and Documentation and all copies thereof. Your obligations to pay accrued charges and fees shall survive any termination of this Agreement.

MISCELLANEOUS. This Agreement represents the complete and exclusive statement of the agreements concerning this license between the parties and supersedes all prior agreements and representations between them. It may be amended only by a writing executed by both parties. THE ACCEPTANCE OF ANY PURCHASE ORDER PLACED BY YOU IS EXPRESSLY MADE CONDITIONAL ON YOUR ASSENT TO THE TERMS SET FORTH HEREIN, AND MCN AGREES TO FURNISH THE SOFTWARE AND DOCUMENTATION ONLY UPON THESE TERMS AND NOT THOSE CONTAINED IN YOUR PURCHASE ORDER. If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to make it enforceable, and such decision shall not affect the enforceability (i) of such provision under other circumstances or (ii) of the remaining provisions hereof under all circumstances. Headings shall not be considered in interpreting this Agreement. This Agreement shall be governed by and construed under United Kingdom law. This Agreement will not be governed by the United Nations Convention of Contracts for the International Sale of Goods, the application of which is hereby expressly excluded.

Contractor/manufacturer is MCN Software

Contact:
MCN Software Ltd
www.teamcoherence.com
info@teamcoherence.com


Getting Started
This chapter will briefly describe the different objects maintained by Team Coherence, and will then describes how to configure Team Coherence for the first time.

· Objects Maintained by Team Coherence
· Configuring Team Coherence for the first time
· Using Version Manager

On all new repositories, a user with the name supervisor is automatically created which has full access to all features of Team Coherence. The default password for this user is password. This username and password should be used for initial configuration of a repository and to define Users and Groups. Once you have defined standard users, the password for the supervisor user should be changed to prevent other users from accessing the Team Coherence repository with full access.


Repositories
In Team Coherence, a repository is simply a central location, available to all interested users, where the files archived by Team Coherence are stored. Each repository is controlled by a Server application that contains all the core logic for the Version Control functionality.

To all intents and purposes, the repository can be considered a black box that is used to manage the following items:

· Projects
· Folders
· Files
· Revisions
· Version Labels

Connection to a repository is via standard TCP/IP so the server could, if necessary, reside on the other side of the planet and be accessed using a standard Internet connection.


Projects
Project objects are the root objects in the repository hierarchy. They are used to group related files into a single entity. For example, a project object could contain the files used in a single Delphi project, or could be used to group together the files involved in handling all the communications and work carried out for a single client.

Organization of projects is entirely configurable. To modify the properties of a project once it has been created, you can use the Project Properties dialog box.

notes An important concept to remember is that there may or may not be a direct correlation between a Team Coherence Project and a 'Project' as created by your development tool. A Project in Team Coherence is more of an organizational tool, allowing you to logically group a set of related files.

Projects do not contain files directly, but instead can contain one or more folders.


Folders
Folders are the objects that are used to contain File archives. Each folder can contain files and sub-folders. The files in a folder relate directly to those stored in a local directory, but are not constrained to the hierarchical directory structure found on disks. For example, a sub-folder of a folder can point to a local drive, a remote drive, or a completely different directory.

notes The folder structure in Team Coherence may or may not equate directly to a physical directory structure.

For example, consider the situation where you have several development projects with a single customer. In this case, you may decide to make the Project the Customer, with each separate development project a separate root folder under this main project. Within each root-folder, you may decide to add folders specific to the different areas of the development project. This might lead to a structure similar to the following:

projectstruct

The folder structure you use in Team Coherence is completely up to you. Modifications can be made to the structure at any time using simple Cut & Paste, Drag-Drop and the Folder Property Sheet.

Folders can also be defined as Web Folders. Web folders allow you to quickly publish the latest version of a folder, and the objects it contains, to a live web server using ftp. Web folders can be defined by users that have Access rights to the folder in question. For more information on Web Folders, see the topic Deploying Folders.

As well as containing sub-folders, Folders are used to contain the File Objects themselves.


Files
In Team Coherence, the file objects represent the physical files. A file object maps directly to a file, or files, on disk. File objects are grouped by Folders. A file object may contain several physical files using a concept known as file groups. A file group is a set of files that have the same name, but different extensions, and can be thought of as a logical entity. An example of this would be the Delphi pas/dfm pair: the source unit will not compile without the form unit being present, and vice versa. In this situation, it makes sense to treat the two files as a single entity.

The file object also contains a history of all changes made to the file since it was first archived, allowing you to revert back to or view any previous revision of the file.

Team Coherence can control any type of file including binary files. Associated with each file, are a number of revisions. As each file is modified by users a complete history of when, who, and what the changes were, is built up over time.


Revisions
A revision is a representation of a file at a particular moment in time. The information that is stored against a revision of a file, in addition to the file itself, include the date and time the file was modified, who modified it, and the reasons the file was modified. In this way, a complete audit trail of the file can be built up.

Each revision of a file can also have assigned to it one or more Version Labels.


Version Labels
Version Labels are simply placeholder's (but see below). Any revision of a file can have an unlimited number of Version Labels attached to it. Version Labels are useful when you want to mark a particular revision of a file for use later in the context of multiple files.

For example, consider the situation where you have a project that contains many files. At some point, all the files in that project may reach a stage where you would release something to a client. The problem is that the different files involved at that point are all at different revisions. A Version Label can easily be assigned to the current revision of all the files involved, essentially creating a Snapshot, or Baseline, of the situation at that particular point in time.

The benefit of Version Labels really comes when, at some point in the future, you want to reconstruct that situation. With Team Coherence, this is a simple task.

From Version 7.1.2.62 of Team Coherence Server, you can define security attributes for Version Labels and Labels can be associated with specific Projects. This allows you to better organise labels, and have control over who is allowed to assign and remove labels. For more information on these features, see Creating Version Labels.

As the number of labels increases over time, Version Labels that are no longer required for current activities can be marked as hidden using the Version Label dialog box. This makes Version Label selection quicker while still maintaining existing labels.

Branch Base Label

Each Label in TC can be associated with a Branch Base Label to form a label pair to assist when working on previous versions of a project. When a Label with an associated Branch Base Label is initially assigned to a file, both labels will be attached to the relevant revision. When you subsequently check in changes to this revision of the file (i.e. when working on a previous version), and associate the Label with the checkin, if the Label and Branch Base Label are both attached to the revision being checked in a Branch will automatically be created. This means that changes made to the older version will not be included in the main development stream.


Configuring Team Coherence for the first time
This section takes a look at the initial configuration of the Team Coherence client and how to connect to a repository. The main assumption is that you already have an instance of the Team Coherence Server running somewhere on your network.

For more details on setting up and configuring the server, see the relevant documentation.

· Connecting to a Repository
· Specifying a Username
· Logging in under a different Username
· Integrating Team Coherence with your Development Tools
· Adding your first Project
· Adding a Delphi Project
· Adding files using Drag/Drop from Explorer
· Manually adding files.


Connecting to a Repository
Before you can start the Team Coherence client application you must tell Team Coherence the location of a valid connection to a running repository. This can be done using the Connection Manager.

connectionmgr

To start the connection manager select Start / Programs / MCN / Team Coherence / Connection Manager

The Connection Manager displays a list of known connections to repositories. If you want this dialog to be displayed each time you start Team Coherence, make sure that Prompt at startup is checked. It can also be displayed while running Version Manager by selecting Tools / Connection Manager... from the main menu.

To add a new connection, click on the Add button. To modify an existing connection, click on the Modify button. This will display the properties dialog box for the selected or new connection:

connectionprop

The Connection Properties dialog box allows you to specify the connection parameters to an existing repository. As well as a Name and Description for the connection, used to identify the connection, you must specify:

Host
The host is the address of the computer that is running the instance of the Team Coherence Server you wish to connect to. You can either use the HostName for the machine, or can specify a valid IP address.

Port
The Port is the port that the instance of the Team Coherence Server you are connecting to is listening on. This information will be available from the person responsible for maintaining the server.

Keep Alive
With some connections, particularly dial-up internet connections, the connection will drop after a certain period of inactivity. Checking this option will force Team Coherence to ping the server occasionally to make sure the connection is not dropped. You also need to enter the frequency with which to contact the server.

UUEncode transmitted data
When connecting remotely to the server, particularly when using VPN, binary characters transmitted by Team Coherence can be interpreted as handshake characters by the hardware. This is a known issue with a few routers and checking this option works around the issue by making sure that only ASCII characters are transmitted or received.

As there is an overhead (encoding/decoding the data), this option should only be checked if you have persistent connection issues with the server. For connections within your local LAN, checking this should not be necessary.

Dialup Networking
If you are accessing a remote repository via a dialup connection you can select an existing DUN connection to use from the list. You also need to enter a valid username and password for that connection.

Security
If the Team Coherence Server you are connecting to has had an additional security key assigned to it, you will also need to enter that key in the Security page. The key should be supplied by your system administrator.

Note that this security key is only required if a key has been applied to the server.

Once the parameters have been set for this connection, you can use the Test Connection button to check that the connection is valid. This will try and connect to the server and wait for a valid reply.


Specifying your Username
When you first start up Team Coherence (and also when you connect to a different repository) you will be prompted for a username and password.

On all new repositories, a user with the name supervisor is automatically created which has full access to all features of Team Coherence. The default password for this user is password. This username and password should be used for initial configuration of a repository and to define Users and Groups. Once you have defined standard users, the password for the supervisor user should be changed to prevent other users from accessing the Team Coherence repository with full access.

If you are connecting to a new repository, and a username has not been setup for you, you must get your system administrator to add you to the list of users in the repository.

If you login as an admin user you can add users and groups using the User Manager.


Logging in under a different Username
Team Coherence automatically remembers what username you used when it was last started unless the repository you are connecting to has been setup to require a valid username and password. In order to log in under a different username, select Tools/Login as different user from the main menu.

Enter your name and password in the relevant boxes. You are required to enter a valid password.


Integrating Team Coherence with your Development Tool
Although Team Coherence functions very well as a stand-alone tool for archiving and controlling any type of file, it also integrates directly with a large number of developer and end-user tools.

An advantage with integrating with development tools is that the main functionality of Team Coherence becomes available when you need it, and from within the tool you use.

To integrate Team Coherence with other development tools, select Start / Programs / MCN / Team Coherence / IDE Installation. This will start the IDE installation application:

ideinst

Depending on what tools are installed on your machine, the items above may differ.

Simply check the tools you would like to integrate with and press the OK button. When you next open up any of these tools, you will find a Workgroups menu option to access Team Coherence functionality.

Functionality is generally based on the tool you are integrating Team Coherence with, but will at least contain menu options to handle the basic Version Control actions of Check In, Check Out, and Get. In some development environments, you may also find a Team Coherence toolbar to give you even faster access to the functions.


Adding your first Project to Team Coherence
One of the first things you should do after configuring Team Coherence, is add some files. After all, maintaining files is what Team Coherence is designed for. Once files are archived by Team Coherence, all changes to these files are controlled by Team Coherence.

There are several methods of adding files to a Team Coherence repository. By far the simplest method is to use the IDE interface for whatever product created the files. Several other methods are supported, including:

· Drag / drop from Explorer
· Manually adding files to existing folders

Our initial discussion will deal with how to add a project using the Delphi IDE interface, which is the same process as used by the C++Builder interface, followed by a short discussion of the other methods.


Adding A Delphi Project to Team Coherence
As mentioned above, the same general principles apply to most other supported interfaces. In most interfaces, a new main menu option called Workgroups will be added to the main menu of the specific IDE. This menu option gives access to the Team Coherence specific functions used to access and change files.

If you open a project in Delphi, and it hasn't yet been archived, most of the Workgroups menu items will be disabled. The option Project <projectname> / Check In..., where <projectname> is the name of the currently active Project, will be active to allow you to add this project to version control:

ideaddproject

Selecting Project <projectname> / Check In... will prompt you with the Checkin dialog box:

checkingeneral

The Check-In dialog box allows you to define Comments for the files being checked in, and what to do with the file once it is checked in. The Files page of this dialog box lists all the files that are about to be checked in and you can select/deselect files from this list to control the files being added. We will discuss the other options available in the Check-in dialog box later in this Manual.

When you have entered a comment, press the OK button to continue adding the project to Team Coherence. Team Coherence will create a new Team Coherence Project for the files and create any necessary Folders. Progress will be displayed as it is doing this and, at the end of the check-in process, the results dialog will be displayed.

That's it! All the files in the Delphi project have been archived and, once you press the OK button, the files that are open in the IDE will be updated to reflect the changes.

By default, once a file has been checked in, its local copy will be made read-only to prevent accidental and uncontrolled changes being made to it.

Finally, we can now view the newly added project in Version Manager:

smallarman

When you drop-down the Workgroups menu in Delphi, more options, dependent on the status of the current file, will be available.

If you need to work on an archived file, it is now necessary to Check out the file before it can be modified.


Adding files using Drag/Drop from Explorer
If you are controlling files other than those created by the supported tools, adding them to Team Coherence, again, is a relatively easy task.

Version Manager supports the dropping of files dragged from Windows Explorer onto an existing project. In this case, you must have created a new project for the files, or be dragging files into an existing project.

To create a new project in Version Manager right-click in the left-hand pane and select New Project… or click on the New Project button in the toolbar.

Enter a name for the new project, and that's it.

Now, you can simply drag files and folders from Windows Explorer, and drop them on the new project. The Checkin dialog box will be displayed and selecting the Files page allows you to specify which files to actually add:

addfiles

Once you press the OK button, the files will be added to Team Coherence in the same way as the method above. Team Coherence will automatically create the folder structure for the files based on the underlying disk folder structure, and add the files to the correct folders.


Manually adding files to existing Folders
If you already have an existing project archived, it is sometimes necessary to add new files as they are created.

If you select a Folder in Version Manager, right clicking on the folder will allow you to add files by selecting Add files…

This will display the File-open dialog, with the Folders current local directory selected. Simply select the files you want to add and press the OK button.

Note that a file cannot be archived more than once. In all of the above cases, if a file that you are adding is already archived, it will simply be checked-in if it is currently checked-out, or ignored.

Alternatively, when a Folder is selected in Version Manager, a page in the detail pane lists the files and folders for the currently selected directory that are not already archived. To add any of these files or folders: select them, right-click to display the context menu, and select Add to Version Control.


Visual Elements
The main visual element in Team Coherence is the Version Manager. Version Manager allows you to get an overall view of the projects contained in a repository. It is also where most of the administrative tasks are carried out.

If your development tool does not support integration of Team Coherence, Version Manager can be used directly to maintain archived files.

To access Version Manager, use the link under the Windows Start menu or, if your development tool supports it, select Workgroups/Team Coherence from the IDE menu:

visualelements

The main Version Manager window is split into five areas. The actual contents of these areas may vary based on the current selection.

1) Main Menu / Toolbar
The main menu and toolbar give full access to the features of Team Coherence. Some menu options are dependent on the current selection, and the Action menu is also available as a context menu when right-clicking in some of the other windows.

2) Folder Pane
The Folder Pane is used to display the Projects and Folders contained in a Repository. In addition, it gives access to the Locked Files object and, if you are an Admin user, access to the Recycle Bin. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object in this pane will cause the Files Pane to update based on this selection.

3) Files Pane
The Files pane displays the list of objects directly contained by the object selected in the Folder Pane. Depending on the current selection, this is normally a list of the files and folders contained within this object. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object, or multiple objects, in this pane will cause the Detail and Information panes to update based on this selection.

4) Detail Pane
The detail pane displays details for the currently selected object in the Folder or File pane, depending on which is currently active. It contains a number of pages based on the current selection and may contain pages created by addin applications. Dependent on the selection, the pages include:

· Notes - The notes page allows HTML or notes to be attached to the selected object.
· Revisions - If the current selection is a file, the revisions contained by that file will be listed.
· New Files - If the current selection is a folder, this page will list any files or folders in the local directory associated with that folder that have not yet been archived.
· Issues - If you have installed the TC Tracker addin, any issues associated with the currently selected files will be displayed in this pane.

5) Information Pane
The contents of the Information Pane are based on the current selection in any of the other panes. It gives more details about the currently selected object(s) and also, dependent on the object, provides shortcut links to some of the most common Version Control actions.


Information Pane
The contents of this pane are based on the current selection in any of the other panes. It gives more details about the currently selected object(s) and also, dependent on the object, provides shortcut links to some of the most common Version Control actions.

These actions are in the form of Hyperlinks and are initially displayed closed up to allow more object information to be displayed:

optionsclosed

Clicking on the Options hyperlink will expand the list of actions:

optionsopen

The list of actions will be depend on the currently selected objects, but normally includes:

Get the latest version of this <object>
Clicking this will display the Get dialog box before performing a Get on the selected objects.

Open (& Get) this <object>
Clicking this link will display the Get dialog before performing a Get on the selected objects and opening the files in the relevant editors (based on file extension associations defined in Windows Explorer).

If you do not want the Get dialog to be displayed, and simply want Team Coherence to get the latest version and open the files, then make sure that Show Get dialog when using 'Open' link is unchecked in the Tools/Options dialog box.

Work with this <object>
Clicking this link will display the Checkout dialog before performing a Checkout on the selected objects and opening the files in the relevant editors (based on file extension associations defined in Windows Explorer).

If you do not want the Checkout dialog to be displayed, and simply want Team Coherence to checkout the latest version and open the files, then make sure that Show Checkout dialog when using 'Work with' link is unchecked in the Tools/Options dialog box.

Check your changes in
Clicking this link will display the Checkin dialog before checking the current selection in.

View <object> properties
Displays the property dialog associates with the current selection

View Differences
Displays the relevant difference viewer to show differences between two revisions of a file, or between the latest revision and the workfile.


Locked Files
Selecting the Locked Files icon in the Folder Pane lists all the users created in this repository:

lockedfiles
If you select a user, the Files Pane will list all the files locked by that user. This view is mainly to allow you to see at a glance which files are locked by a user, but the context menu allows you to checkin files that are locked by yourself.


Common Tasks
This section will outline how to carry out some common tasks in Team Coherence. This is by no means an exhaustive list of the features available in Team Coherence, but is meant to help get you up to speed quickly.

In most cases we will use Version Manager to illustrate how things are handled, but obviously many of these tasks can be carried out through the respective IDE interfaces. The respective IDE manuals detail these methods.

A later section called Scenarios will restate some of the topics listed in this section but in the context of working examples.

· Getting Files
· Check-out Files to be Modified
· Check-in Modified Files
· Creating Version Labels
· Baseline a Project or Folder
· Renaming a Project
· Setting Working Paths
· Checking in all your locked files
· Finding Files


Getting Files
Performing a Get on files is the process of getting a local read-only copy of the archived files. This could be to make sure that you are working with the most up to date versions of these files or to get a local copy of a past version of a project.

There are several methods of doing this, including through the IDE of your development tool, but the easiest method is to use Version Manager

· Synchronize
· Get


Synchronize
Synchronizing with the current view is a quick method of making sure that you have the most up to date revision of all the files in the current View.

In Version Manager,

1) Select the project or folder you are working on in the left hand Folder Pane.
2) Right-click, or select Action from the main menu.
3) Select Synchronize with View

Team Coherence will locate all changed and new files for the current selection and will perform a get on the latest revision of these files. This makes sure that you have a local copy of latest revision of all the required files for your project.

By default, Synchronize with View gets the latest versions of files that are marked as Out of Date or Missing. If you want to include files shown as Modified that are not checked out to you, choose Tools/Options/Other and check the Include Modified (not locked) files when Synchronizing checkbox.


Get
Performing a Get on selected files gives you more control over what Revision or Version of the files you are getting, and allows you to assign a Version Label to each file as it is updated.

To perform a Get, select the relevant object(s) in Version Manager and select Action/Get... from the main menu. The Get Files dialog box will be displayed:

getgeneral

The Get Files dialog box is the same as the one used during the Check Out process, but only options relevant to doing a refresh will be enabled.

Revision – Enter a specific revision of the files to refresh. Generally, unless you were getting a single file, it would not make sense to specify a revision.

Version – Select an existing Version Label to get that particular Version of the files.

Check out to – Enter the root directory to get these files to. If this option is disabled, it normally means that the files you are getting do not have a common root directory.

Overwrite writable files – If this option is checked, any local files that are writable will be overwritten with the read-only copy being refreshed. If you check this option you should be aware that, when getting files, Team Coherence does not check the lock status of the files.

Leave the workfile Writable - If this option is checked, the local file will be made writable after the get has been performed. This option is not recommended since the local file can be modified without checking the file out first.

Ignore Locked Files - If checked, TC will not attempt to get files that are already checked out to you.

getoptions

Assign Version during check out – During the process of getting files, you have the option of assigning a new Version Label to the revision of each file that is refreshed.

Check out by Date - Entering a date here overrides the Revision and Version fields in the General tab. If set, only the latest versions of the files checked in on or before this date will be retrieved. Useful to get a copy of the source for a specific day when you can't use a Version Label.

When you press the OK button, the selected files will be refreshed. The actual revision of the files that is refreshed will be based on the criteria you entered in this dialog.

See also: Scenario 2


Check-out files to be modified
Before you can modify a file that has been archived by Team Coherence, you need to check out that file. Checking out a file makes the local copy of the file writable so that you can modify it and also places a lock on the archive. A locked archive does not necessarily stop other developers from modifying the file. Multiple locks can exist for a file if the server has been configured to allow this.

To check out a file from within your development tool (depending on the interface), make that file the current one and select Workgroups / Checkout from the main menu.To check out file(s), folder(s), or a project from within Version Manager, select the relevant objects and right-click, or select Action, and select Checkout.

You will be presented with the check out dialog box to allow you to select the revision or version of the files you are checking out and to specify a location for the files:

checkoutgeneral

Revision – Enter a specific revision of the files to check out. Generally, unless you were checking out a single file, it would not make sense to specify a revision.

Version – Select an existing Version Label to check out that particular Version of the files.

Lock Comments - Enter some text that describes what you are about to do with these files. This enables other users to see the reason why you have checked out these files. In addition, these comments can be used when checking in the files. Right-clicking in this box allows you to retrieve previously entered comments.

Check out to – Enter the root directory to check out these files to. If this option is disabled, it normally means that the files you are checking out do not have a common root directory.

Overwrite writable files – If this option is checked, any local files that are writable will be overwritten with the copy being checked out. If the check out process encounters any writable files, and you already have them locked, they will not be overwritten.

checkoutoptions

Assign Version during check out – During the check out process, you have the option of assigning a new Version Label to the revision of each file that is checked out.

notes The Assign Version list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis (...) to select it

notes If the label being attached has an associated Branch Base Label (see Version Labels), and the Version Label has not yet been associated with the file, both the Label and the Branch Base Label will be applied to the relevant revision.

Version Comments – If you assign a Version Label, you can enter comments to be attached to that Version Label.

Check out by Date - Entering a date here overrides the Revision and Version fields in the General tab. If set, only the latest versions of the files checked in on or before this date will be retrieved. Useful to get a copy of the source for a specific day when you can't use a Version Label.

When you press the OK button, the selected files will be checked out. The actual revision of the files that is checked out will be based on the criteria you entered in this dialog.

See also: Scenario 2


Check-in modified files
Once you have finished modifying files, it is important to check them back in to allow other users to access your changes.

Checking in a file creates a new revision in the archive if the file has been modified, and releases the lock on the file. By default it will also make the local copy of the file read-only so that it can't be modified.

notes Because other developers may use the files you check in, it is important to make sure that they at least compile before checking them in.

To check in a file from within your development tool (depending on the interface), make that file the current one and select Workgroups / Checkin from the main menu. To check in file(s), folder(s), or a project from within Version Manager, select the relevant objects and right-click, or select Action, and select Checkin.

You will be presented with the check in dialog box to allow you to assign a Version Label to the files and to specify what to do once the files are checked in:

checkingeneral

Comments - Enter comments to describe the changes made to the files being checked in. These comments will be applied to all files being checked in. Right-clicking in this box allows you to retrieve previously entered comments.

Version Label – If you want to attach a Version Label to the new revision of the file once it is checked in, select a Version Label using the ellipsis (...) button. The Version selection dialog box allows you to create a new version label.

notes The Version Label list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis (...) to select it

Move existing version label to new revision – If you wish to move an existing Version Label to the new revision, check this box. If the Version Label you are assigning to the file already exists for a file, it will be removed from it's existing revision and attached to the revision created when the file is checked in.

Force Branch on the new revision – If the file being checked in is not to become part of the main development stream, check this box. When the file is checked in, a branch revision will be created.

notes If the Label you are attaching to the new revision has an associated Branch Base Label (see Version Labels), both the 'Move Existing' and 'Force Branch' options will be disabled. This is because branching will be handled automatically.

Prompt for Comments for each file - Checking this option, you can assign comments for each modified file being checked in. If this is left unchecked, the comment entered will be applied to all files being checked in.

checkinoptions

Checkin if Unchanged - If this option is checked (default), all locked revisions will be unlocked whether or not there are any changes to the file. If this is unchecked, all unchanged files will remain locked.

Maintain a Lock on the new revision - If this option is checked, once the file is checked in, the new revision of the file will be locked again. This allows you to check in changes to allow others to get these changes while keeping a lock on the files to continue working on them.

Once Checked in

Leave the local file readonly - Once the file is checked in, the local copy of the file will be made readonly to prevent accidental modification.

Delete the workfile – once checked in, the local workfile will be deleted.

Make the file writable – once checked in, the local workfile will be left writable, but the archive will not be locked.

Default – Check this box to make the current settings in the Options page the default settings for subsequent check in actions.

checkinfiles

Difference - Switching to the Files page of this dialog allows you to check what changes were made to any of the files being checked in. Selecting a file and pressing the Difference button will execute the Difference Viewer against this file.

Pressing the OK button will check in the relevant files. The state of any local workfiles will be dependent on the options you select above.

See also: Scenario 3


Creating Version Labels
Version Labels are simply placeholders. Any revision of a file can have an unlimited number of Version Labels attached to it. Version Labels are useful when you want to mark a particular revision of a file for use later in the context of multiple files.

To modify or create new Version Labels, display the Version Manager dialog by selecting Tools / Version Labels... from the main menu:

versionmanager

This dialog box lists all Version Labels defined in the current repository. In this dialog you can define the visibility of labels using the checkboxes. If a label is unchecked it will not appear in normal Version Label selection boxes, but will still be available for selection through other means. This helps to reduce the number of Version Labels that build up over time being listed, while still maintaining them for historical integrity.

notes Note that only Admin users can change the visibility of labels

Selecting a label allows you to modify its properties by clicking on the Modify... button.

To delete a Version Label, select it and press the Delete button. If you delete a Version Label, this label will be removed from all revisions containing it and, potentially, Views may become undefined.

A new label can be created by clicking on the New... button:

versionproperties

Enter the name for the Version Label. Anything can be entered here, but should describe the purpose of the label. You can also enter a description of the label in the Comments box.

The Label Root field allows you to specify a Project that will be the owner of the Label. Click on the button with the ellipsis (...) to choose an existing project, or click on the G button to make the label Global to the repository. By default, all new labels will be global.

The Label Root field specifies what labels are accessible when labels are assigned. Depending on the scope of the action, only labels within the selected Project, and labels marked as Global will be visible in the drop-down lists.

notes Changing the scope (Label Root) of a label will not affect instances where the label has already been applied outside of the new scope.

The Branch Base Label field allows you to create a special branching label. When the Version Label is initially applied to a file, both the Label and the Branch Base Label will be applied at the same time to the same revision. If, subsequently, this label is applied during a checkin, and both the Label and the Branch Base Label are attached to the same revision, a Branch revision will be created and the Label will be moved to the new revision.

For more information on Branch Base Labels, see Version Labels.

Version Labels can be modified at any time and all changes will be applied to all files containing the Version Label.

The Security page of this dialog box allows you to define who is allowed to Modify the label as well as who can assign or remove the label:

versionpropertiessecurity

By default, the label is created so that All users can carry out all actions. The settings are as follows:

Access: The users and groups listed here can specify who is allowed to do what.

Modify/Delete: The users and groups listed here are allowed to modify the label and can also permanently delete the label.

Assign/Remove: The users and groups listed here can assign the label to files and can also remove/move labels.


Baseline a project or folder
As you develop your project you will reach certain stages where you want to 'remember' the state of the files involved in that project. For example, you would probably want to baseline a beta release of your software so that, if any bugs are reported, you know which revisions of each file were in that particular release.

Once all the files in your project have reached a stage where you want to do this make sure all files are checked in and select the project in Version Manager. Select Action/Assign Version Label… from the main menu, or right-click and select Assign Version Label…

Version Labels can be as descriptive as you like, but normally reflect the status of the project at that time. For example, Beta 1, RC1, etc. You can also add a description for the Version Label.

assignversion

Drop down the Version Label list to select an existing label or press the ellipsis (...) button to create a new Version Label. The comments assigned to the selected label will be displayed in the Comments box.

The Version Label list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis to select it.

If the label is already assigned to a revision in any of the files, and you want to move all instances of this label to the current tip revision, make sure and check the Move existing label checkbox.

When you press the OK button, the Version Label you entered will be added to the latest revision (i.e. the current revision) of all the selected Files.

It is important to remember that Version Labels are attached to a revision of a file as opposed to being related to the timestamp of the file at the time the version was created. This allows you to subsequently move the Version Label or add the same Version Label to a new file at a later date.

When checking a file out, or refreshing the local files, you can enter a Version Label in the check out dialog box to retrieve that particular version of the file. Version handling and Views will be discussed later in this manual.

notes If the label you are attaching has an associated Branch Base Label (see Version Labels), both the Label and the Branch Base Label will be applied to the revision if neither has already been assigned.

See also: Scenario 4


Renaming a Project
By default, the name of a project is defined by the name of the root directory containing the files as they are checked in or, if a project is checked in via one of the IDE interfaces, the project is generally the filename of the main project file. Obviously, this name is not always very descriptive.

As the name assigned to a Project in Team Coherence does not affect the underlying filename of any source files, you can rename any project to a more descriptive name. To rename a Project, select the required project, right-click and select Properties. The Project Properties dialog will be displayed:

projectprops

If you have the correct access privileges, you can rename the project by entering a new name in the edit box and pressing the OK button.


Setting Working Paths
The working path of a folder is the default directory that the files contained in that folder will be checked out or refreshed to. By default, all folders will take on the working path of the files when they were initially added to Team Coherence.

notes It is important to note at this point that the working path for each folder is dependent on the currently selected View. Views will be discussed in a later section.

Individual users have the option of specifying different folders to use as the default. To change the default working path for a folder, select the required folder, right-click and select Properties. The Folder Properties dialog will be displayed:

folderprops

In this dialog, Default is the default path that all users will use if they don't specify another one. It is defined centrally and, if modified, will affect all users who have not specified a User path. You will only be able to change this value if you have the correct privileges.

If you enter a new path in the User edit box, that path will be used as the default path for all actions on the files contained in this folder. Changing this path affects only the current user.

It is also possible to include Environment Variables in either the Default or User paths. To use an environment variable, enclose it with percentage (%) characters. For example: %MSDevDir%\Projects\Team Coherence. When the path is referenced, the environment variable(s) will be expanded.

You can specify several User Defined paths for the same folder by using the Views feature. Views will be discussed later in this manual.

See also: Scenario 2


Checking in all your locked files
If you check out files to modify them and don't check them in before going on to the next file, you can quickly lose track of just which files you have checked out. This is particularly important to other users when changes made to one file depend on changes to another file and only one of the files is checked in when the other users get the latest revision.

Obviously, Version Manager will display the locked files if you view the folder containing these files but, if the project has multiple folders, it can be tedious to locate and check-in individual files.

To help with remembering which files you and others have checked out, you can use the Locked Files view. This view lists, by user, all files that are currently checked out. This gives you a convenient method of checking in all your locked files.

lockedfiles
To check in all or some of the files you have checked out, select your username from the displayed list, select the files you want to check in, and select Actions / Checkin... from the main menu.

You can also use this view to check which files other users have currently got checked out.

See also: Scenario 3


Finding files
In large projects with deep folder hierarchies, it can be difficult to locate a file. For this reason, and to help with a number of tasks, Version Manager utilizes a complex search dialog. To display the find dialog, select Edit/Search from the main menu:

searchclosed

You can specify multiple criteria for your search and the results will be displayed in the search form. A typical search would be to locate all files with a particular extension, modified within a certain period:

searchdate

... currently modified on disk, or out of date files:

searchstatus

...and currently locked by a certain user:

searchadvanced

When you press the Find Now button, the search results will be displayed in a pane below the criteria:

searchopen

The result set can span multiple projects and folders and you have full access to the context menu for the selected files to allow you to check in and out files, view properties, add Version Labels and Promote.


Using Keywords
Team Coherence provides several keyword macros that can be placed in your files. These keywords will be expanded when files are checked in. This useful feature can help document your code and also provides useful information.

Note that keyword expansion will only be applied to files with the extensions recorded in the File Groups dialog box.

The main keyword you can use is $Log:. This keyword provides a method of documenting your code. It will be expanded to include commented Revision and Version information in the file.

Other keywords that can be used are :

· $Revision:$ - is expanded to contain the revision number
· $Version:$ - is expanded to contain the version label
· $Author:$ - is expanded to contain the name of person checking in the revision.
· $RevDate:$ - is expanded to contain the date of the revision
· $RevComments:$ - is expanded to contain the revision comments.
· $ModDate:$ - is expanded to contain the date the file was modified.
· $ProjectName:$ - is expanded to contain the name of the project
· $NoExpand$ - no keywords will be expanded beyond this point for this file

If you have defined a Prefix (see Options/Other) this will be inserted in front of the text that is used in the expansion.

For example, if your prefix is '=', and you are expanding $Revision:$, the result will be:

$Revision:=1.0$

Without the prefix, it would be:

$Revision:1.0$


Command Line
Commandline parameters allow you to create shortcuts to Team Coherence for various scenarios. There is no defined order for the parameters. The following commandline parameters can be passed to the executable:

· /NOSPLASH prevents displaying of the splashscreen during startup

· /M=<ModuleName> selects the relevant module. <ModuleName> can be one of the following:

Version Control
TC Tracker
TC Builder

For example, the following will start up Team Coherence and select the Tracker module:

TCMain.exe /m="TC Tracker"

· /V=<ViewName> selects the view <ViewName> at startup where <ViewName> is the name as it appears in the dropdown list in Version Manager. <ViewName> should be enclosed in Quotes if it contains spaces.

· /R=<RepositoryName> selects the repository <RepositoryName> at startup. The repository name is the name defined in Connection Manager. For example, the following selects the connection that defines the Team Coherence repository:

TCMain.exe /r="Team Coherence"

· /B=<BuildFileName> opens the specified file in the TC Builder module.


Advanced Tasks
This section describes some of the more advanced functionality of Team Coherence

· Checking out a non-tip Revision
· Checking in a non-tip Revision
· Checking out to a Different Location
· Merging Changes
· Promoting Files
· Sharing Files between Projects and Folders
· Using Views
· User Options
· Administrative Tasks


Checking out a non-tip revision
It is common to want to check out a revision of a file other than the tip revision, for example to fix a bug in a previous release of a project. This is made easier if the revision of the files you want to check out have been marked with a Version Label, but it is not necessary to have done so. However, to check out the same revision of multiple files would not normally make sense.

To check out a non tip revision, select the objects in Version Manager and select Action/Check out from the main menu. This displays the Check Out dialog box:

checkoutversion

Enter the revision of the file you want to check out, or select a Version Label from the drop-down box. When you press the OK button, that particular Revision or Version of the file will be checked out.

See also: Scenario 5


Checking in a non-tip revision
There are a couple of scenarios where you may need to check in a non-tip revision. Most obvious is if you have checked out a non-tip revision, but it may also occur if parallel development is enabled. In this case, several users may have checked out the same file and others have checked in their changes before you get a chance.

Since Team Coherence remembers where files were checked out to and which revisions of these files were checked out, it is not necessary to specify a revision when checking in files. Any non-tip revisions that are checked in will result in a branch revision being created if the file has changed.

To check-in files, including non-tip revisions, select the relevant objects in Version Manager and select Action/Checkin:

checkingeneral

Enter a comment for the new revisions and press the OK button. Once the objects have been checked in, the status dialog box will be displayed:

statusbranch

Any files where a non-tip revision was checked in, and a new revision was branched, will be highlighted in the status dialog.

A Branch revision is a revision where a new line of development has begun and is indicated in Version Manager by a new level of revision caption (for example, the first branch of revision 1.1 will be 1.1.1.0):

branch

See also: Scenario 5


Checking out or Refreshing to a different location
It is common to want to check out or get a file to a directory other than the default location. For example, you may want to view code in a previous revision of a file, but have untested changes in the current revision and don't want to check in these changes.

To check out or get files to a directory other than the default, select the object(s) in Version Manager and select Action / Checkout, or Action / Refresh, from the main menu. This displays the check out dialog box:

checkoutgeneral

At the bottom of the dialog you can enter a new path to check the files out to. If this option is disabled, it means that the objects selected do not have a common root directory.

If you change the check out directory, the new path will be used as the root for all the files being checked out. The actual directory structure will be preserved, but under a different root.

Note that, since Team Coherence remembers where a file was checked out to, and you may have multiple versions of a file in different directories, the file can only be checked in from the directory it was checked out to.


Undo Checkout
It is sometimes necessary to abandon changes you have made to a file during development. For example you may want to try out some changes to a file and, if the changes do not work, you need to get back to the files original state.

If you have checked out a file but want to revert the file to the state it was in before you began your changes, select the file and choose Action/Other/Undo check out from the main menu. You will be prompted for confirmation before the action is carried out.

Undo check out is the equivalent of Unlocking the file and performing a Get (with Overwrite Writable checked).

notes This action is not reversible and all changes to the local files will be lost


Merging changes
If a revision has been branched off from the main line of development it may be necessary to apply the changes in that revision to the main line. For example, after checking out an old version of a file to fix a bug, a new branch will be created when that file is checked back in. If the bug fix has to be applied to the main line of development, you will need to merge these changes with the tip revision.

To merge revisions, you can use the Difference Viewer. The Difference Viewer provides a side-by-side view of two revisions of a file, or a specified revision and the current work file. If the work file is writable, the changes in the revision can be applied to the work file.

To merge a branch into the main line of development, first check out the tip revision of the main line:

merge

Then select the branched revision and select Action/Differences/<filename> from the main menu.

notes If there are multiple files in this group (see file groups), the process will have to be repeated for each file.

The difference viewer will be displayed:

diffviewer

The difference viewer can be used to apply changes from one file to another. In this case, we want to apply the relevant changes in the branched revision to the work file. The Difference Viewer will be described in another section but, once the changes have been applied to the work file, closing the Difference Viewer prompts you to save the changes.

Checking in the file, with the changes, effectively applies the changes made in the branch revision to the new tip revision.

See also: Scenario 6


Promoting Files
Promoting a file is the process of moving a particular revision of the file from one stage of the development process to the next. For example, when a developer is happy with a file and it is ready for testing, they would promote that particular version of the file to the Testing promotion level. The person responsible for testing would then refresh all files at the Testing promotion level and run the tests. Meanwhile, the developer could continue modifications to that file.

notes Using Promotional Modeling is a method of guaranteeing that all files involved in a particular release go through certain predefined steps in the development process.

To promote file(s) to the next level in the promotional hierarchy, select the relevant objects in Version Manager and select Action/Promote to <xxx>, where <xxx> is the next higher promotion level.

Before the files are promoted you will be presented with the following dialog box to allow you to review the selection criteria applied to the files you are promoting:

promoteconfirm

In particular, the current View (if any) is displayed along with the selection criteria that that view defines. If you are happy with the criteria, pressing the OK button will promote all selected files to the next promotion level.

In order to promote files from one promotion level to the next, you must have defined and selected a View based on the promotion level below the one you want to promote to. With this view active, selecting Action / Promote to <xxx> will promote the selected files to the next higher level:

promoteconfirmqa

If you need to make changes to a revision of a file that is at a particular promotion level, for example to fix a bug reported by QA, you need to re-promote the fixed files through the relevant promotion levels.

The concept of Views and Promotion Levels can be difficult to grasp so are best described using examples. Real-world examples of how Views and Promotion Levels can be used can be found in the Scenarios section of this manual.

See also: Scenario 7


Demoting Files
It is sometimes necessary to remove files from a promotion level if, for example, they were added in error, or the files have been removed from development.

To demote file(s) from a level in the promotional hierarchy:

· Select a promotion-level View that contains the files.
· Select the relevant objects in Version Manager.
· Select Action/Demote.

After confirmation, the selected files will be removed from all promotion levels.

notes It is important to note that the file will be removed from all promotion levels and, if still needed for a particular build, will need to be re-promoted. If a file contains bugs and needs to be redeveloped, it is better to simply make the changes to the file at the <default> level and to re-promote the changes through the various levels.


Stopping Development of Files
It is sometimes necessary to stop development of certain files. For example when a set of utility functions has reached a stable state, or when modification of a shared file could have an adverse effect on a number of projects. In this case, you can prevent checkout or locking of a file (and subsequent checking in of changes) by Freezing that file.

In order to freeze development of a file you need to be logged in as an Admin user. First of all, make sure that all the relevant files have been checked in and select the files you want to freeze. Choose Action/Other/Freeze from the main menu.

Once completed, it will no longer be possible for users to check out or lock the files.

Thawing files

To reverse the process, and to allow modification of the files, use the Thaw option.


Deploying Folders
Team Coherence supports the concept of Web Folders through the WebDeploy.dll addin. This addin is installed in the client automatically.

Defining a folder as a Web Folder allows you to quickly publish the latest version of the files that are contained by the folder to a web server or another folder. You can define multiple destinations using either network shares or ftp.

Only users with Access rights to a folder can define the Web Folder and deploy the files. To define a folder as a Web Folder, right-click on the folder and select Action / Properties... from the main menu. If you have the correct access rights, an additional page will appear in the dialog:

wdeploy

The folder (and all its contents) will be deployed to the listed locations when the folder is selected and you choose Web/Deploy Folder... from the main menu. When deploying the files, Team Coherence will get the latest versions of the files to a temporary folder before deploying them.

Note that only users with Access rights to the folder will see this additional page in the Folder Properties dialog box.

If a folder has been defined as a Web Folder, it appears with a slightly different icon in Version Manager:

wdeployicon

If you select this folder, the Web/Deploy Folder... menu option is enabled to allow users with the correct access to deploy the contents.

Note that this command is useful in many instances other than Web site deployment; for example, if you have a set of product specification .doc files that you want to publish to a public server.


Sharing Files between Projects and Folders
Sharing files is a powerful method of promoting the reuse of objects. This chapter explains why you would want to do this, and the means of doing it.

· Reason for Sharing Files
· How to Share Files


Reasons for sharing files
There are many situations where you may have some shared code that is used by several projects. The code may be utility routines or components, but exactly the same code is used in each project.

One way of handling this is to have a copy of the shared files in each project, but changes made to one copy of the file will not be reflected in the other copies. A far better method of sharing components is to have all projects share the same copy of the component archives. Thus, any changes will be reflected in all projects.

When defining your project structure in Team Coherence, it is good practice to create a single project that can be used to hold all shared files. When files or components that are likely to be shared by other projects are added to the repository, they should be added to this project (this can also be done retrospectively using drag-drop).

This is all very well, but what do you do when assigning Version Labels and carrying out other actions (for example getting the latest copy of the shared components). In this case, you would have to remember to assign the Version Labels being assigned to a project to the individual shared components it uses (that are contained in another project or folder). This is tedious and prone to errors.

To simplify this process and to associate the shared objects with any project or folder, Team Coherence supports the concept of Virtual Archives.


How to share files
Team Coherence supports the concept of Virtual Archives. A Virtual Archive is an archive that contains no information or revisions, but simply points to the actual archive. A Virtual Archive becomes part of the Project it is contained by, so can be viewed and acted upon as if it was part of that project. There can be any number of Virtual Archives pointing to the same archive and all changes to the Virtual Archive are applied to all other copies.

There are two ways to share a file in Team Coherence:

Copy & Paste

1) Select the files and/or folders you want to share and select Edit / Copy from the main menu. This copies the objects to the clipboard.

2) Select the folder that you want to place the shared files and select Edit / Paste from the main menu.

3) If you answer Yes to the confirmation prompt, new Virtual Archives will be placed in the selected folder.

Drag Drop

1) Select the objects you want to share in the Files pane and start dragging them.

2) As you are dragging the objects, press and hold down the Ctrl key.

3) Drop the objects on the folder where you want to place the shared files.

Shared files display using an extra icon ( sharedimg) to show that the file is shared.

shared

The root of the share is displayed using an extra icon ( sharedrootimg) to show that the file is the root (original) copy of the file:

shareroot

Selecting a shared file in the folder pane will display the details of the actual archive.

Now, when you baseline your project, or get the latest version, etc, it will include the shared file.

notes Note that the Virtual Archive will use the default working path of the folder that contains it.


Using Views
A View is perhaps the most powerful tool available in Team Coherence when it comes to managing multiple versions of a project. At their simplest, Views allow you to filter which projects, files, and revisions are displayed in Version Manager.

Working with previous versions of a project then simply becomes a case of selecting a View. Once defined and selected, as far as the user is concerned they will be working on the latest version of the project. All branching, synchronizing, reassignment of Version Labels, etc are handled automatically by Team Coherence whether working through Version Manager, or your selected IDE interface.

In addition, if required, the default working path for the files in any View can be different for each View, or can be based on the <default> View.

Views are accessible via the toolbar in Version Manager:

viewstool

The drop-down list provides access to all user and shared views. It always contains at least one entry, which is the <default> view. The <default> view cannot be modified as it is the view that displays all projects and all files and represents the most current line of development.

To create or modify a view select the Tools / Views... option from the menu to display the View Manager dialog:

viewmgr

This dialog lists all the defined views for the current user. To modify a View select it in the list and press the Modify... button. To add a new View, press the New button.

There are three types of View you can create:

· Version
· Promotion
· Date

Shared Views are available to all users connected to a repository, however shared views can only be created by Admin users.


Date Based Fiter
When defining a View based on a Date, you are presented with a list of all Projects in the current repository and a calendar control to select the date. Defining the filter is simply a case of checking the projects to be included and the date you want to filter by:

Note that Views based on a Date are read-only.

Making a Project/Date View the current view will force Team Coherence to carry out all actions on the latest revision of the files visible on or before the selected date in the selected projects. When viewing files in Version Manager, only files that match the View settings will be displayed, and only revisions up to and including that Date will be displayed.

Additionally, all folder working paths are specific to that View. Changing the default working path for a folder while a view is active changes it only for that View. In this way, you can work on different versions of a project simultaneously by keeping the working source for each version in a different location.

When a Date based view is active, you cannot check in/out files or lock them.

For more information on Views, and working with multiple versions, check out the Scenarios section of this manual.

See also: Scenario 5 and Scenario 7


Project/Version filter
When defining a View based on a Project/Version filter, you are presented with a list of all Projects in the current repository and all Version Labels that have been assigned to these projects. Defining the filter is simply a case of checking the projects to be included and which version of these projects to view:

viewversion

Note that, with Views based on a Version Label, there is no requirement to select a Version Label. In this case, the filter will default to the tip revision of files in the selected projects.

Making a Project/Version View the current view will force Team Coherence to carry out all actions on that particular version of the files in the selected projects. When viewing files in Version Manager, only files that match the View settings will be displayed, and only revisions up to and including that Version Label will be displayed.

Additionally, all folder working paths are specific to that View. Changing the default working path for a folder while a view is active changes it only for that View. In this way, you can work on different versions of a project simultaneously by keeping the working source for each version in a different location.

When a view is active, check out actions will automatically insert the Version Label that the view is based on in the Check Out dialog box. When checking in modified files, the Version Label will be added to the Check In dialog box, and the Move existing version label to new revision checkbox will be checked to make sure that the new revision is included in the view.

notes From version 7.1.2.98, Version Labels can be associated with a Branch Base Label to improve automatic branching functionality. If a Version Label with an associated Branch Base Label is used in a View, branching is automatically applied from the point where the Label and its associated Branch Base Label are attached to the same revision. This ensures that changes made to a previous version of the software do not overlap (i.e. where the relevant version of the file is both the version being modified and the current tip revision in the <development> View).

For more information on Views, and working with multiple versions, check out the Scenarios section of this manual.

notes If a user selects a View based on a Version Label that they do not have Assign access to, the View will be read-only and the user will not be able to check files in or out.

See also: Scenario 5 and Scenario 7


Promotion Level filter
Views based on a Promotion Level are slightly different from that of a Project/Version filter in that Promotion Level views are read-only. This basically means that, when these views are active, you cannot check out or check in files.

viewpromotion

Promotional views are used to view all files at a particular level in the promotional hierarchy. Users can get a read-only copy of all the files at a particular promotional level but cannot modify them.

Note that not all promotion levels will be visible to all users. For example, developers normally do not require access to the QA or Production levels and similarly, QA do not normally require access to the Testing level.

See also: Scenario 5 and Scenario 7


User Options
There are many configurable options for Team Coherence. To display the Options dialog box, select Tools / Options... from the main menu.

The options dialog box is split into 10 sections:

· General
· Display Options
· Difference Viewer
· File Viewer
· Notes Editor
· Columns
· Check In/Out
· Other
· Addins
· Context Menu


General
The general page allows you to define which panels are visible and the behavior of these panels:

settingsgeneral

Show the Folder panel - The folder panel gives a hierarchical view of the projects and folders in a repository and allows quick access to the Locked Files and Recycle Bin objects.

Show the Detail list - The detail list contains the pages that give additional information about the currently selected object(s).

Include New Files panel - If this is unchecked, the panel that displays the new files found in the folder working directory will not be displayed.

Show the Html detail Panel - This panel displays detailed information about the currently selected objects, in addition to a set of quick links for common actions.

Show 'Options' hyperlinks - this checkbox switches on and off the quick links available when certain objects are selected. These links are in an expandable 'Options' link.

Show a scrollbar in this panel - By default, the scrollbar is disabled for this panel. If you are working on a small screen, or simply want to be able to scroll through the details in this panel, check this box.

Click delay - As you navigate through the folder view and the file view, other panes need to be updated with details for the current selection. To avoid unnecessary refreshing of these detail panes a delay is introduced so that the linked details are only updated when required. The delay is in milliseconds.

Drag Delay - When dragging objects over the folder view the desired folder may not be expanded or visible. This is the delay that you must hover over the folder in order for it to expand. The delay is in milliseconds.


Display Options
Display options control how information is displayed in Version Manager.

settingsdisplay

Version Manager has the ability to display out of date and modified files in a different color. You can specify the colors to use for the various states by double-clicking on the relevant text.

Use Color - If this is checked, Version Manager will display the status of files in the colours specified above.

Highlight Folders containing Out of Date files - If this option is checked, the colour highlighting will be extended to Folders where any of the folders contain Out of Date files. Note, though, that this can affect performance.

Date Format – Enter the date format to use when displaying dates. This is a display option and does not affect the way dates are stored.


Difference Viewer
This page allows you define an external viewer to view differences

settingsdiff

The Difference Viewer page allows you to integrate your own difference viewer with Team Coherence. If you are not using the internal difference viewer, and the one you are using supports command-line parameters, you can enter the details in the following fields:

Program – This specified the full path to the executable of the external difference viewer.

Parameters – Enter the command-line parameters to use when calling the viewer. The $LF, $LD, $RF, $RD keywords will be expanded with the relevant information when the difference viewer is displayed.

Not all file types can be viewed by the same difference viewer. For example, the bundled difference viewer that comes with Team Coherence can only be used to compare text files. If you want to use a different Difference Viewer for other file types, you can do so in the section below the main one.


File Viewer
This page allows you to define which file extensions will be edited by the internal viewer.

settingsfileviewer

By default, the internal viewer supplied with Team Coherence is used when viewing certain file types. The internal viewer provides a simple editor with syntax highlighting for certain file types.

If you have another editor you would like to use for the selected file types, enter the details in the Application and Parameters edit boxes.

The $FILE and $CAPT keywords, if present in the parameters field, will be expanded with the relevant information when the editor is displayed.

To specify which files will be viewed by the internal editor, enter the file extensions of the file types, separated by a semicolon, in the list provided.

All other file types will be viewed and edited by the associated application for that particular file type as defined in Windows.


Notes Editor
By default, Team Coherence uses the built-in editor for editing notes associated with objects. The notes viewer has the ability to display basic HTML or plain text.

settingsnotes

If you would rather use a different editor, enter the details in the Application and Parameters edit boxes.

The $FILE and $CAPT keywords, if present in the parameters field, will be expanded with the relevant information when the editor is displayed.


Columns
This page allows you to select which fields are displayed in the relevant lists in Version Manager:

settingscolumns

Checked fields will be displayed. If you want to change the order of these fields, or their widths, this can be done by dragging and dropping columns in the relevant view pane.


Check In/Out
This page displays options relating to checking files in and out:

settingscheckinout

Update the status of local files when Locking/Unlocking - By default, when locking or unlocking files, Team Coherence will change the attributes of the local file to reflect the locked status. If you do not want this to happen, uncheck this entry. Note that this option does not affect Checkin or Checkout.

Show Checkout dialog when using 'Work With' link - By default, when clicking on the Work With link, Team Coherence display the Checkout dialog box if the file is not already locked by you. If this option is unchecked, Team Coherence will automatically checkout any files that are not already checked out without displaying this dialog.

Show Get dialog when using 'Open' link - By default, when clicking on the Open link, Team Coherence display the Get dialog box before getting the latest version from the server. If this option is unchecked, Team Coherence will Get the latest version of the file from the server, unless it is already locked by you, without displaying this dialog.

Force binary compare on Check in - By default, Version Manager uses a CRC32 calculation to determine whether a file has changed when carrying out certain actions. This enables data transfer between the client and server to be minimized. In some (rare) cases, it is possible that a modified file can have the same CRC as the original. If this occurs, Check this box to force a binary compare when Version Manager needs to find out whether files have changed.

Use matched open/close comments in $Log: - If this option is checked, matched comment pairs will be used when entering the $Log: comments in the source files. Certain editors do not like unmatched comment characters.

Ignore null characters during Keyword Expansion - During keyword expansion on specified file types, the null character (#0) is treated as the end-of-file character. Certain editors can insert null characters in the middle of file streams and these are treated normally by the editor. Checking this option causes Team Coherence to treat nulls in the middle of files as simply another character.

Pre-check files on Checkin - If checked, this option will double-check which files are locked by you before displaying the Checkin dialog box. This means that the Checkin dialog box will only list those files that are locked by you and will improve performance of the actual checkin process. If unchecked, all files selected will be included, whether or not they are locked.

Respect lock context for shared files during CheckIn - When shared files are checked out, they are marked as such for all shared copies. If you check in a file that has been checked out from within another share, the file will be checked in regardless of which context it was checked out under. If you check this option, only shared files checked out within the context of the current checkin context will be checked in.


Other
This page is used for options that don't fit into any of the other categories:

settingsother

Show the Status dialog if all actions are successful - After all actions the status dialog is normally displayed, whether or not all the actions were successful. If you don't want this dialog box to be displayed if all actions are successful, uncheck this box.

Perform background checks for changes - By default, Version Manager queries the server periodically to determine whether the status of any files has been changed by another user. This is done in a background thread but, if you don't want this action to happen, uncheck this option.

Remember last Username when prompted for login - By default, Team Coherence remembers the username you used the last time you logged in. To prevent this name from being used for subsequent logins, uncheck this box.

Allow multiple Instances of Team Coherence - By default, Team Coherence only allows one instance of the main application to run at a time. If this option is checked, you can run multiple instances at the same time. This can be useful, combined with Command-line options, to allow you to create desktop icons for your most frequently used repositories, etc.

Include Modified (not locked) files when Synchronizing - By default, Synchronize with View gets the latest versions of files that are marked as Out of Date or Missing. If this option is checked, Synchronize will also get the latest versions of files that are marked as modified locally as long as they are not checked out to you or writable on-disk.

Double-click to Open File in List - If this option is checked, double-clicking on a file in the file list will cause Team Coherence to perform a Get on the latest version (if it is not already checked out) of the file and to open it in the associated editor. If this option is not checked, the File Properties will be displayed.

Show Select Files Dialog when performing a Synchronize - If this option is checked (default), a dialog listing all the files about to be Synchronized will be displayed before the action occurs. This allows you to uncheck the files you don't want to include. If this option is unchecked, then the Synchronize action will continue without confirmation.

Prefix keyword expansion with the following string - If you enter a string here, it will be used as a prefix to the text inserted into keywords when they are expanded. This allows you a degree of formatting for keywords.


Addins
This page allows you to integrate third-party addins with Team Coherence.

settingsaddins

Team Coherence supports the addition of client-side addins as well as server-side addins. Addins can extend the functionality of Version Manager, including the standard dialogs, and also supports various trigger functions. For sample addins, including source code, visit our web site.


Context Menu
This page allows you to select the items you want to see in the Context (right-click) menu.

settingscontextmenu

In order to allow you to reduce the context menu items to those most frequently used, you can select which items you want displayed. This only affects the context (right-click) menu and all items will still be available in the Action menu.


Defining a Promotional Model
A Promotional Model is a definition of the steps that a project or group of files need to go through to be considered ready for production.

This section discusses how you can use Promotional Modelling to better organise the development lifecycle.

· Promotion Levels
· Defining Promotion Levels


Promotion Levels
A Promotional Model is a definition of the steps that a project or group of files need to go through to be considered ready for production.

When developing software, particularly when multiple projects/versions are involved, it can be quite difficult to define which stage a particular release of a product is at. In particular, when many people are involved, the whole exercise can be quite daunting. Using a combination of Promotion Levels and Views, it is possible to control this process and simplify the development/testing of any project.

Put simply, Promotion Levels define the stages that your software goes through before it can be released to the public. A typical example would be:

· Development – developers work on the software
· Testing – The software goes through initial testing
· QA – the software goes through the QA process
· Production – The software is considered safe to be released

In Team Coherence, there is no need for the Development level as this is defined in the default <default> View.

Obviously, developers are not going to stop development of the software while it is tested. Similarly, the QA process can't start until the Testing process is completed. Without a promotional model, this process can cause bottlenecks and confusion.

This kind of scenario can be handled using Version Labels, but there is huge scope for error since there is no simple method of guaranteeing that a particular department is working with the correct version of the software, especially since the development process is continuing.

Defining Promotion Levels allows you to define, independently of the main development stream, how your project progresses through the various stages. In a simple scenario, if we take the above stages:

promotiondiag
Developers would work using the default view. When happy with the files they are working on, they would assign a Version Label to the files and promote the files to the first stage, Testing, and carry on working.

Testers would select a View based on the Testing promotion level, and test the software. Any bugs found would be reported to the developers who would fix the problem and re-promote the fixes to the Testing level. Once the testers were happy with the results of their tests, they would promote the files at the Testing level to the QA level.

QA would then run their tests on the project and if problems occur the files will be fixed in the <default> level and re-promoted. When happy, QA would promote the final product to Production.

Since Views based on Promotion Levels are read-only, the only way fixes can be applied to any promotion level is to go back to the initial stage and re-promote the problem files through the various stages again.

This ensures that, at the final promotion level, all files have progressed through all the defined stages in development.


Defining Promotion Levels
To define promotion levels you must be an ADMIN user. Select Tools/Promotion Levels… from the main menu:

promotionmgr

Promotion Levels are defined on a repository basis. If you want to use different Promotion Levels for different projects, you should put each project in a different repository.

Promotion Levels are listed from the first stage to the last. There is no need to define a Development level as all revisions in a non-Promotion Level view are considered to be under development.

You can use the Move Up and Move Down buttons to re-organize existing levels.

To create a new level or edit an existing one click the New or Modify buttons. This will display the Promotion Level editor:

promotioneditgeneral

Enter a name and a description for this level. The description is used, when promoting files, to give the user more information.

In this dialog, there is another page called Security. Security is particularly important as it allows you to define who is allowed to promote to this particular level, and who is able to create a view based on this level:

promotioneditsecurity

In general, a user should be able to configure a view at the level they work at and should be able to promote to the next higher level. For example, assuming you had defined user groups around the promotion levels above:

Production
QA Department
Testers
Developers

1) Developers should not be allowed to view any promotion levels but should be able to promote to Testing

2) Testers should be able to view based on the Testing promotion level and to promote only to the QA level

3) The QA Department should be able to view based on the QA promotion level and promote only to the Production level.

Obviously these are only guidelines, but illustrate how the security levels can enforce rules based on the promotional hierarchy you define.

See also: Scenario 7


Users and Groups
One of the first things to do before defining security is to group users into logical groups according to their function. User management in Team Coherence is carried out using the User Manager dialog. This is accessible to ADMIN users by selecting Tools/User Manager…:

usermgrusers

This dialog is split into two pages Users (above) and Groups. The Users page lists all users defined for the current repository as well as the groups they belong to. To modify an existing User, select the user and click the Properties button. To add a user, click the New button. This displays the User Properties dialog box:

userprops

The Name property is the name that the user logs in under. In addition, a valid password is required. If you change the password for a user, they will need to enter the new password the next time they log in.

The Groups page of the User Manager allows you to organize users into logical groups based on their function:

usermgrgroups

Groups can contain other groups as well as users, so care is required when defining the members of a group. To modify an existing group, select the group and click the Properties button. To create a new group and assign users to it, click on the New button:

groupprops

To add and remove members of a group, click the Select button. This displays the Select Users dialog that is also used elsewhere in Team Coherence when defining security:

selectusergroup

To add a user or group to the group, select the item in the upper list and click the Add button. To remove an item, select the item in the lower list and click the Remove button. If you are adding a group, Team Coherence will check for recursion (i.e. Group1 containing Group2 containing Group1) and will disallow the action.

When you have finished selecting the members of the group, press the OK button to save your changes.


Project and Folder security
The main security settings in Team Coherence are on Projects and Folders. Modifying security settings at the Project level applies these settings to all sub-folders. Similarly modifying security settings at the Folder level applies these settings to the Folder and its sub folders.

To define security settings for an entire Project, including its sub folders, select the project in Version Manager and select Action/Properties… to display the Project Properties dialog box:

projectpropssecurity

If the options in this page are grayed out, including the checkbox, you don't have Access privileges for this Project.

Access – users granted Access rights to a project are allowed to define access rights in the fields of this dialog for this project only.

Modify – users granted Modify rights to a project are allowed to modify the Name and default working path of this project and its sub folders.

Check In/Out – users granted Check In/Out access are allowed to check in and out any files in this project or its sub folders.

View - only users granted View access can access this project in any way. The access they are granted depends on the settings above.

When you press the OK button, these settings will be applied to all sub folders in this project.

To override the Project settings, you can define access levels for individual folders. Access to Folder security settings is via the Properties dialog for the folder. To access this dialog, select the folder in Version Manager and select Action/Properties… from the main menu:

folderpropssecurity

If the options in this page are grayed out, you don't have Access privileges for this folder.

Access – users granted Access rights to a project are allowed to define access rights in the fields of this dialog for this folder and its sub folders*.

Modify Folders – users granted Modify Folder rights to a folder are allowed to modify the name and default working path of this folder and its sub folders*.

Check In/Out – users granted Check In/Out rights are allowed to check in and out any files in this folder or its sub folders*.

Other users are only allowed Get access to this folder.

* If you check the Apply changes to security settings to all subfolders checkbox (default), all security settings will be applied to subfolders of this folder. If it is not checked, the changes only apply to this folder.

When you press the OK button, these settings will be applied.


File Groups
A file group is a set of files that have the same name, but different extensions, and can be thought of as a logical entity. An example of this would be the Delphi pas/dfm pair: the source unit will not compile without the form unit being present, and vice versa. In this situation, it makes sense to treat the two files as a single entity rather than have to remember that the link exists.

By default, Team Coherence configures standard file groups for Delphi and C++Builder. If you are an Admin user, you can add or remove groups or change the definition of existing groups by selecting Tools / File Groups... from the main menu:

filegroups

The Header button allows you to define a header to be added to the top of any files defined in the File Groups listed.

To modify a file group, select it and click the Modify... button. To add a new grouping, click the New... button:

filegroupprops

The File Group editor allows you to specify a name for the group and the extensions that group contains:

Name – This is the name of the group and will be used when displaying the file in Version Manager.

Include Extensions – These are the extensions of the files to include in the grouping. The first extension will be the primary extension and the rest should be added, separated by semicolons with no spaces.

Expand keywords in files with the following extensions – List the extensions where you will allow keyword expansion. If you have defined a Header in the File Groups dialog, the header will be added to files with these extensions. Also, when checking in files, Team Coherence will search for keywords in these files and expand them with the relevant details.

Open Comment, Close Comment – Enter the comment characters that Team Coherence can use when embedding text in your files.

notes Note: If you are using a development tool that doesn't support block comments (for example Visual Basic), leave the Close Comment field blank.


Understanding Common Tasks
This section will use scenarios to describe, through real-world examples, how Team Coherence can be used to manage the development process.

Rather than use a completely imaginary company, we will use MCN Software as an example. After all, who has been using Team Coherence the longest? The members of the team, and some of the projects, will be imaginary but otherwise we will be using our real archives.


The Organisation of QSC

The Organisation of MCN
MCN Software (MCN) is a small, but expanding, company and has three developers working on a number of projects for several different clients. They also have a core product, called Team Coherence, that they actively sell and maintain, and a freeware product called GP-Install, which was originally created by one of their developers for internal use.

In addition to the developers, there is one person responsible for the QA process, and another for documentation.

Team Coherence has been under version control for a number of years but GP-Install is not yet archived. GP-Install is becoming very popular and maintenance is now becoming an issue. To allow GP-Install to be maintained by several developers it has been decided to add it to the Product repository.

Client code is maintained in a separate Client repository. The decision to maintain multiple clients in a single repository was made because MCN use a set of common source files to provide certain basic functionality that is used by all the client projects.


The Scenarios
The following scenarios are designed to give an overview of common situations when using Team Coherence. In most cases, Version Manager will be used but many of the tasks listed can be achieved from within the respective IDE interface.

· Adding a new Project to Team Coherence
· Refreshing and checking out Files
· Checking in Files
· Baselining a Project
· Bugfixing a Previous Version
· Applying Bug Fixes to the Current Version
· Using Promotion Levels


Scenario 1 - Adding a new project to Team Coherence
MCN produces an install builder application called GP-Install. GP-Install was originally developed for internal use, but has now been released as freeware to gain the company more exposure. Ewan, the developer of Team Coherence has not had to maintain previous versions of GP-Install, and has done all the development himself. It has been decided to split the workload for GP-Install amongst all developers so it now has to be added to Team Coherence.

MCN has a Product repository used for the maintenance of internal tools and products and Ewan has been asked to use that repository for GP-Install. As GP-Install was written in Delphi, Ewan decides that the easiest way to archive it is to use the Delphi interface.

He starts up Delphi in the usual way and opens the GP-Install project in the IDE.

He is now ready to add GP-Install to Team Coherence. Since this project has not yet been archived, most of the IDE interface menu options and buttons are disabled. He selects Workgroups/Add Project to Version Control from the main menu.

He is presented with the check in dialog box, and enters some comments to indicate the status of the files. As he needs to make some changes to the files he elects to check the Leave it Locked radio button on the Options page of this dialog. Once he has reviewed his settings, he presses the OK button to add the files.

Team Coherence processes all the files and presents the Status Dialog so that Ewan can correct any problems that might have occurred. There were no problems, so he presses the OK button to return to Delphi. As a check to make sure all the files were checked in, he starts up Version Manager by selecting Workgroups / Team Coherence from the IDE menu and checks that the project is archived and that he still has a lock on the files he just added.


Scenario 2 - Refreshing and checking out files
Alan, a developer at MCN, has been tasked with making a minor change to one of the forms used by GP-Install. He has never seen the source for GP-Install before, and doesn't have a copy of it on his PC. He decides to get a copy of the source to review it before making any changes.

Alan starts up Version Manager and looks for the GP-Install project. He selects it and has a look at its folder properties to check the default working directory. He decides that he doesn't want to use the default folder as it clashes with the source of another project he has been tinkering with. He enters a new path in the User field as he knows that this won't affect the settings of other users. This path will now be the default working path whenever Alan works with this project.

He is now ready to get a copy of the project. He selects the project in the left hand pane and selects Action/Get… from the main menu. The Get Files dialog box is displayed. He wants the latest version of the files so he leaves the Revision and Version boxes blank and presses the OK button.

Team Coherence processes all the files and presents the Status dialog so that Alan can correct any problems that might have occurred. There were no problems, so he presses the OK button to return to Version Manager. He looks in the folder that he told Team Coherence to use and, sure enough, the source is now there.

He starts up Delphi and opens the GP-Install project. He notices that the files are marked as read-only in the editor. He needs to make changes to the InstGlobal.pas file to fix a problem with displaying of file sizes so he opens the file in the Delphi editor. The file is read-only so he needs to check it out before modifying it. Before checking it out, he decides to view the status of the file so he selects Workgroups / Properties... from the IDE menu. He notices, in the Archive Properties dialog box, that someone has locked the file. He double-clicks on the locked revision and the Revision Properties dialog box is displayed. This tells him that the file is currently locked by Ewan. He closes the dialog boxes to return to the editor.

He knows that this repository supports parallel development so he selects Workgroups / Checkout... from the IDE menu. This displays the Check Out dialog box. He wants the latest version of the files so he leaves the Revision and Version boxes blank. He decides to enter some Lock Comments so that other users can see the reason he has it locked, and presses the OK button.

Team Coherence checks out the file and refreshes the file in the Delphi editor. The file is now writable so Alan can make the modifications he requires.


Scenario 3 - Checking in files
Alan has had to check out several more files to make the changes he needed. He is now ready to check in his changes. Before doing so, he builds his project to make sure that it compiles correctly and he hasn't introduced any new bugs. He is satisfied that the code he is checking in is OK.

Alan has forgotten which files he has checked out so he decides to check everything in via Version Manager. He starts up Version Manager and selects the Locked Files view. Team Coherence locates all the checked out files and displays them in a list, grouped by user. He selects Alan and displays the files he has locked.

Before checking in the files, he decides to review his changes. He selects each file in turn to display the files locked revision, and right-clicks on the revision. He selects Difference/<filename> from the displayed popup menu to view the difference report for each file.

He is now happy with his changes and selects the project in the left hand pane. He selects Action / Checkin... from the main menu, enters some comments in the Check in dialog box, and presses the OK button to check the files in. Team Coherence checks the locked files in and presents the status dialog to show any errors that might have occurred. Everything checked in without a problem so he presses the OK button.


Scenario 4 - Base-lining a project
Many users are now using GP-Install and, although it is free, it has been decided that each new release will be marked with a different Version Label. In addition, a tailored version is now being sold to several customers. Development of the free version has been stopped, apart from bug fixes, while the current release is still under development.

Joanne has made the changes for the commercial version to a local copy of the code, but has not checked her changes back in yet. The current archived code is still the code used in the free product. Before checking in the code for the commercial version, she decides that it would be a good idea to mark the current free version code with a Version Label to distinguish it from the commercial version.

She decides that the existing, free, code should be marked with the LITE version label. She selects the GP-Install project in Version Manager and selects Action/Version Label… from the main menu. The Version Label dialog box is displayed. She is creating a new label so she presses the ellipsis (...) next to the Version field and creates a new Version Label. This label is automatically selected in the Version Label dialog box and, when she presses the OK button, Team Coherence attaches the LITE Version Label to the latest (tip) revision of all the files in the GP-Install project. Once it is complete, the status dialog is displayed.

Joanne's heart sinks. She realizes that she has already checked in one of the files, and it contains code specific to the commercial release. The file is InstGlobal.pas and contains code that would add too much extra functionality to the LITE version. She knows that she has been the only one working on the commercial release of GP-Install so decides to move the Version Label that has been attached to the InstGlobal.pas file back to the revision that should be included in the LITE version.

She selects the InstGlobal.pas file in the File pane to display its revisions in the Detail pane and sees that the tip revision has been marked with the version label. She is pretty sure that the previous revision is the one that should have the label attached to it so she selects the previous revision and uses the difference viewer to verify that the changes are in the tip revision. Satisfied, she selects the revision with the LITE version label and selects Action/Remove Version Label… from the main menu and enters LITE in the version edit box. She notices that the description for that label is displayed in the Comments box, and presses OK to remove the label.

The label is removed OK, so she selects the revision that the label should have been attached to and selects Action/Version Label… from the main menu. The Version Label dialog box is displayed and she selects LITE from the Version Label drop down list. When she presses the OK button, Team Coherence attaches the Version Label to the selected revision.

Happy, now that the LITE version has been correctly versioned, she checks in the commercial version.


Scenario 5 - Bug fixing a previous version
A fairly serious bug has been reported in the free version, but nobody has yet reported it in the commercial version. Ewan has been tasked with fixing the bug and, if appropriate, applying the fix to the release version.

Knowing that the free version has been marked with the LITE version label, he starts up Version Manager and selects Tools / Views... to display the View Manager dialog box. He clicks on the New... button to create a view based on the LITE version label. The View Properties dialog is displayed and he selects GP-Install in the list of projects, and the LITE version label. He names the view GP-Install LITE, and then presses OK to save the new view, and closes the View Manager.

He selects the view from the drop down list of views to make it current, and browses the folders and files in the GP-Install project to make sure that the view is filtering correctly. Satisfied, he does a refresh on the project to make sure that his local files are those used in the LITE version.

He starts Delphi and opens up the GP-Install project. He does some investigation of the source to determine the location in code where he needs to make the change. Although it is a major bug, the fix is pretty simple, and located in the InstClasses.pas file. He decides to check out the file and make the fix, so he opens the InstClasses.pas file in the Delphi editor and selects Workgroups / Checkout... from the Delphi IDE menu. The check out dialog box is displayed and he notices that the LITE version label has already been placed in the Version edit box. He presses the OK button and the LITE version of the file is checked out and updated in the editor.

He fixes the bug and tests the results of the fix to make sure that he hasn't broken anything by making the fix. Satisfied, he selects Workgroups / Checkin... from the Delphi IDE menu. The check in dialog box is displayed and he notices, again, that the LITE version label has already been added to the Version edit box, and that the Move existing version label to new revision checkbox has also been checked. Happy, he presses the OK button and Team Coherence checks in the file and displays the status dialog box.

He notices that the status dialog box has highlighted the file InstClasses.pas with a warning: A new branch revision was created. He presses the OK button to return to Delphi. Curious, and to check that this is indeed what he wanted to do, he opens Version Manager and selects the file to display the revisions. At the tip revision he sees the new, branched, revision with a Version Label attached. He double clicks the revision to see its properties and notes that the LITE version label has been moved to the new revision.

As another check, he selects the <default> view from the list of views and selects the file again. This time the branched revision is no longer the tip revision but that the tip revision is now the current working revision of the commercial tool.

He decides that this is pretty cool and goes for a beer.


Scenario 6 - Applying bug fixes in a previous version to the current version
A couple of weeks after the fix has been applied to the LITE version, an existing client reports a similar problem. Joanne is tasked with investigating this bug. She remembers that this had been reported in the LITE version and asks Ewan if he remembers what files he changed to fix the bug. He tells her that it was in the InstClasses.pas file.

Joanne starts Version Manager and makes sure that she is using the <default> view. She locates the file in Version Manager and selects it to display the revisions for the file. She sees the Version Label attached to a previous revision and double-clicks the revision to show its properties. It is the LITE version.

She selects the tip revision, which is the one for the current version of the commercial release, and checks it out so she can make the necessary changes. She then selects the revision that has the LITE version label attached to it. She selects Action/Differences/InstClasses.pas from the main menu to display the difference viewer.

There have been a number of changes to the commercial release of the file so she scrolls down the difference display to locate the changes that Ewan made to fix the bug. Luckily he had commented the changes he made, so locating the changes is pretty easy. She selects the lines of code that make up the changes in the left-hand pane and right clicks to display the context menu. She selects Copy Right> to copy the changes to the working file.

Happy that she has applied the correct changes, she shuts down the difference viewer and saves the changes in the process. She decides to test the changes by recompiling the project in Delphi and, happy that the commercial version has been fixed in the same way as the LITE version, she checks in the InstClasses.pas file.


Scenario 7 - Using Promotion Levels
Management has decided that now GP-Install is being released commercially, it should go through some standard processes, similar to the ones used in the Client projects. Ewan, as the development coordinator, has been tasked with setting up and testing these processes.

Ewan defines two promotion levels, QA and Production. In future, only code that has reached the Production level will be included in external builds (i.e. those destined for clients). He has configured the security for each promotion level as followed:

· QA level
Only users in the Development group can promote to this level.
Only users in the QA group can view this level.

· Production level
Only users in the QA group can promote to this level
Only Ewan can view this group

This will be the first time that the QA department have reviewed GP-Install as it had been tested and built by the developers themselves. To put it to the test, Ewan decides that a new build should be created for existing clients.

Ewan, as he is a member of the development group, decides to promote the latest version of the project to the QA level. Before doing so, and so that he can always go back to that version in the future, he attaches the current build number 5.0.2.57 as a Version Label to the entire project. He also defines a view, based on that version label, and makes it current in Version Manager.

He selects the GP-Install project and selects Action/Promote to 'QA' from the main menu. The promotion criteria dialog box is displayed to allow him to check the criteria to be used for this action. He reviews the information and presses the OK button to promote all the files at version 5.0.2.57 to the QA promotion level. He then informs the QA department that they can now begin testing GP-Install.

Christine is a member of the QA department and is asked to test GP-Install. She starts up Version Manager and defines a view based on the QA promotion level. She selects that view to make it current and does a Get on the GP-Install project to get a local copy of all the files at the QA promotion level. She does a build using these files and begins testing.

Christine's testing uncovers quite a few User Interface problems, which must be fixed before the product is re-released. She compiles the list of problems using TCTracker and informs the development team of their existence.

Joanne is tasked with fixing the problems and begins work on the changes. The changes take a couple of days and during that time Christine uncovers more problems. Alan is called in to help with the changes. As Alan and Joanne make the fixes, they promote the individual, fixed files, to the QA promotion level by selecting them in Version Manager and selecting Action/Promote to 'QA' from the main menu.

After a further couple of days, Alan and Joanne are happy they have fixed all reported problems and inform Ewan that this is the case. Ewan tells the QA department that they can re-test the files at the QA promotion level.

Christine opens Version Manager, selects the view based on the QA promotion level and refreshes the GP-Install project. She rebuilds the project and carries out more tests. Joanne and Alan have been working very hard and Christine's testing confirms that the problems she reported have been fixed.

Christine's testing does not uncover any more problems and she is now happy that the code is now in a fit state to be released to the clients. She starts up Version Manager and makes sure that the view she defined, based on the QA promotion level, is current. She right clicks on the GP-Install project and selects Promote to 'Production' from the popup menu. The promotion criteria dialog box is displayed and she presses the OK button to promote the files to production. She informs Ewan that this has been done.

Ewan starts Version Manager, defines a new view based on the Production promotion level, and makes it current. He knows that all files at this level have been passed by QA and are deemed ready for production. He does a refresh to get the revisions of the files that make up the Production level, and does a build. The new release of GP-Install is packaged and sent to the existing clients.


Dialogs


Files to Synchronize
This dialog box is displayed when you perform a Synchronize action on the selected objects. By default all out-of-date and missing files are checked. Uncheck any files you do not want to be synchronized.

question Click What's This? Help in the dialog box for field definitions.


Assign Version
This dialog box is displayed when you assign Version Labels to the selected objects.

The General page allows you to select the Version Label to assign or, by pressing the button with the ellipsis, to create a new version before assigning it.

If you have version 7.2.0.30 or later of the server, a page called Options will also be available. This allows you to assign version labels to revisions based on a specific date.

question Click What's This? Help in the dialog box for field definitions.

See also: Baselining


Change Password
This dialog is displayed when you select Tools / Change password... from the main menu in Version Manager.

To change your password, enter your new password in the two edit boxes and press the OK button. If you were added to Team Coherence as a new user, your initial password will be set to password. Obviously, one of the first things you should do after starting Team Coherence for the first time is change your password.

question Click What's This? Help in the dialog box for field definitions.

See also: Users and Groups


Check in
The check-in dialog box is displayed prior to checking in files and adding files. You can use this dialog to add comments to the file as it is checked in and to assign a Version Label to the files that are checked in.

If you check the Prompt for comments for each file checkbox, Team Coherence will prompt you to enter comments for each file as it is checked in. When you enter these comments, you will also be able to display the changes made to the file.

The Options page of the dialog box gives you control over what happens to the local work-file once the file is actually checked in, and what to do when the file hasn't changed since it was last checked out.

If you have the TC Tracker addin installed, there will also be another page displayed to allow you to associate issues with the files you are checking in.

If you want to show the changes in files being checked in, select the Files tab and use the Differences button, or right-click in the file list for the popup menu.

question Click What's This? Help in the dialog box for field definitions.

notes Views: Views can be used to make the maintenance of previous versions of your projects easier. By setting a View on a previous version of your software, Team Coherence will automatically handle all necessary branching and make sure the Version Label is moved when files are checked in.

See also: Check-in Modified Files


Check out
The check-out dialog box is displayed prior to checking out files for modification. By default, the latest revision of the file is checked out, but you can select a specific Revision or Version to check out instead. If the objects you are checking out have a common root folder, you can also specify where the files will be checked out to.

By default, when checking out or refreshing files, Team Coherence will not overwrite existing files that are writable. If you would like to overwrite any files that are writable, check the option in this dialog, but be careful with this option.

If you have the TC Tracker addin installed, there will also be another page displayed to allow you to associate issues with the files you are checking out.

question Click What's This? Help in the dialog box for field definitions.

notes Views: Views can be used to make the maintenance of previous versions of your projects easier. By setting a View on a previous version of your software, Team Coherence will automatically handle all necessary branching and make sure the Version Label is moved when files are checked back in.

See also: Check-out Files to be Modified, Get


Group Properties
This dialog is displayed when you modify File Group properties. Use this dialog to define the files that are contained within a particular grouping and whether keywords are expanded.

Name – This is the name of the group and will be used when displaying the file in Version Manager.

Include Extensions – These are the extensions of the files to include in the grouping. The first extension will be the primary extension and the rest should be added, separated by semicolons with no spaces.

Expand keywords in files with the following extensions – List the extensions where you will allow keyword expansion. If you have defined a Header in the File Groups dialog, the header will be added to files with these extensions. Also, when checking in files, Team Coherence will search for keywords in these files and expand them with the relevant details.

Open Comment, Close Comment – Enter the comment characters that Team Coherence can use when embedding text in your files.

notes Note: If you are using a development tool that doesn't support block comments (for example Visual Basic), leave the Close Comment field blank.

question Click What's This? Help in the dialog box for field definitions.


File Groups
This dialog is displayed when you select Tools / File Groups... from the main menu. It lists the currently defined File Groups and allows you to add, modify, and delete groupings.

This dialog is only available to Admin users.

question Click What's This? Help in the dialog box for field definitions.


File Properties

Archive Properties
The Archive Property Sheet allows you to view the basic properties of a File Archive, including the revisions and Version Labels associated with it. To access this property sheet:

1. Select the File in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

question Click What's This? Help in the dialog box for field definitions.

The first page displays information about the local file. The second page displays the revision history for the file. You can display revision properties by double-clicking on a revision. A context menu is available on the revisions page that gives you access to the Difference Report for comparing revisions.

If you have the TC Tracker addin installed, there will also be another page showing the issues associated with this archive. You can associate new issues with this file, remove the associations, or select individual Issues and modify their properties.

Note: If Store only Latest Revision is checked, only the file for the latest revision will be stored. The Revision information will be maintained, but it will no longer be possible to retrieve the file associated with anything but the tip revision. This can be useful for large binary files where you do not need access to older versions, or where you simply want to track who changed what.


Folder Properties
The Folder Property Sheet allows you to modify the basic properties and security attributes of a Folder. To access this property sheet:

1. Select the Folder in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

question Click What's This? Help in the dialog box for field definitions.

The Name property of the Folder is the name that is used in Version Manager when displaying this folder.

The Default Working Path is the default path for the files stored in this folder to be checked out to. If a User Working Path is defined, this overrides the default path.

The security page allows you to define which users and groups are allowed to modify the properties of the folder, and also who is allowed to modify the files stored within the folder.

If you have made any modifications to the fields in this dialog box, you will be prompted before the changes are applied.

notes Views: When using Views , each View of the project can have a different User Working Path.


UserGroup Properties

Group Properties
This dialog is displayed when you modify a Group in the User Manager. Use this dialog to define the users and groups that this group contains.

question Click What's This? Help in the dialog box for field definitions.


Header Definition
This dialog is displayed when you press the Header button in the File Groups dialog box. The text entered here will be inserted, as a comment block, at the top of each file type with Keyword Expansion enabled (see File Groups).

The characters used for the comment block will be determined from the File Group settings..

question Click What's This? Help in the dialog box for field definitions.


Login
The Login Dialog box is displayed when you first log in to Team Coherence. By default, Team Coherence remembers your Username and Password for subsequent logins.

To change the username you use to login to Team Coherence, select Tools / Login as Different User... from the Version Manager main menu.

If you are logging into Team Coherence for the first time after installation, or when logging in to a new repository, use the following details:

Username: supervisor
Password: password

This gives you full access to the repository and allows you to create new users and change the default passwords.

question Click What's This? Help in the dialog box for field definitions.

notes By default, there is one user created when Team Coherence is first installed. This user has full access to all functions. The username is supervisor with the default password of password. This user cannot be deleted, but it is advisable to change the password as soon as possible to prevent unauthorised modification of your files.


Promotion Level Properties
The Promotion Level Property Sheet allows you to modify the basic properties and security attributes of a Promotion Level To access this property sheet:

1. Startup Version Manager
2. Select Tools / Promotion Levels... from the main menu
3. Select a Promotion Level
4. Click on the Modify button

question Click What's This? Help in the dialog box for field definitions.

The security page of this dialog is used to define who can promote files to this level and who is allowed to view the files at this promotion level.

If a user doesn't have view rights to a promotion level, they cannot set a View based on this level. Similarly, if a user doesn't have permissions to promote to a particular promotion level, the menu option won't appear in the context menus.

See also: Defining Promotion Levels


Version Label Properties
This dialog is displayed when you modify a Version Label. Use this dialog to enter a descriptive name and description for this Version Label.

Label Root - Setting this field will associate the label with an existing Project to reduce its scope.

Branch Base Label - Selecting a Branch Base label modifies the behaviour of this label to create an auto-branching label. For more information, see Version Labels.

question Click What's This? Help in the dialog box for field definitions.


View Properties
The View Property Sheet allows you to modify the basic properties View. To access this property sheet:

1. Startup Version Manager
2. Select Tools / Views... from the main menu
3. Select a View
4. Click on the Modify button

question Click What's This? Help in the dialog box for field definitions.

There are two types of View:

Project/Version views allow you to view the files and revisions involved in a particular version of the projects, or to limit what is seen in Version Manager to specific projects. These Views are not read-only in that you can check files in/out from within these views.

Promotion Level views are used to allow promotion of files from one level to the next. Since files should not be modified in these views, the view will be read-only.

See also: Using Views


New Folder
This dialog is displayed when you are creating a new folder. To create a new folder, select an existing Project or Folder and select Action / New / Folder... from the main menu.

question Click What's This? Help in the dialog box for field definitions.


Project Properties
The Project Property Sheet allows you to modify the basic properties and security attributes of a project. To access this property sheet:

1. Select the Project in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

question Click What's This? Help in the dialog box for field definitions.

The Name property of the project is the name that is used in Version Manager when displaying this project.

The security page allows you to define which users and groups are allowed to modify the properties of the project, and also who is allowed to modify the files stored within the project. If you have made any modifications to the fields in this dialog box, you will be prompted before the changes are applied.


Promotion Level Manager
This dialog allows you to specify which stages a file should go through to reach production. To access this property sheet:

1. Startup Version Manager
2. Select Tools / Promotion Levels...

question Click What's This? Help in the dialog box for field definitions.

Promotion Levels are listed from the first stage to the last stage. For example:

· Testing
· QA
· Production

See also: Defining Promotion Levels


Remove Version
This dialog box is displayed when you remove Version Labels to the selected objects. It simply prompts for the Version Label to remove.

question Click What's This? Help in the dialog box for field definitions.


Revision Properties
The Revision Property Sheet allows you to view the basic properties of a revision. To access this property sheet:

1. Select the Revision in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

question Click What's This? Help in the dialog box for field definitions.

notes The comments assigned to a revision can be modified, but the modified comments will not be updated in the source file if keyword expansion has been used.


SCC Select Project
This dialog is displayed when the SCC API (i.e. Visual Studio) requests the name of a project for a particular action. Use it to select an existing folder or, if the New Project and New Folder buttons are enabled, to create a new one.

The concepts used by Team Coherence and the SCC API are slightly different in that the SCC API refers to folders as sub-projects, whereas Team Coherence creates a root Project as an identifier and stores the actual archives in sub-folders. For this reason, you cannot select the root object as an SCC project.

If you are adding new files to a project, you have the option of Creating a new project and Folders. The created Folders will have the default working path set to the working path of the files that are being added or checked in.

If the New buttons are disabled this is an indication that the calling application (i.e. Visual Studio) is requesting that you open an existing project.

If selecting an existing folder using this dialog box, the working path for this folder must match the path for the item being added.

question Click What's This? Help in the dialog box for field definitions.


Select Project
This dialog is displayed when adding new files from IDE Integration. If Team Coherence doesn't know the project the files are to be added to, this dialog allows you to select an existing project, or to create a new one.

question Click What's This? Help in the dialog box for field definitions.


Select Users and Groups
This dialog is displayed whenever you need to select a list of Users or Groups, most commonly when defining security settings or defining Groups.

question Click What's This? Help in the dialog box for field definitions.


User Settings
This dialog allows you to set local options such as which columns to display in lists, and which editors to use when viewing notes, etc. To access this dialog:

1. Startup Version Manager
2. Select Tools / Options...

question Click What's This? Help in the dialog box for field definitions.


Status Dialog
This dialog shows the status of any action you take in Version Manager. It lists all files involved in the action, along with the file's status after the action is carried out.

Certain actions can be retried if they have failed. To do this, select the action and right-click to display the context menu.

question Click What's This? Help in the dialog box for field definitions.


User Info
This dialog displays the properties of a User. If you want to modify user info, see the section on Users and Groups. To send an E-Mail to this user, press the E-Mail button.

question Click What's This? Help in the dialog box for field definitions.


User Properties
This dialog is displayed when you modify a User in the User Manager. Use this dialog to specify the properties of a user, including the E-Mail address.

question Click What's This? Help in the dialog box for field definitions.


Version Labels
This dialog is displayed when you select Tools / Version Labels... from the main menu. It lists the currently defined Version Labels and allows you to add, modify, and delete labels.

Labels that are grayed out represent Version Labels that have been marked as hidden. These labels can still be used, but are not normally visible in the various Version Label selection boxes.

question Click What's This? Help in the dialog box for field definitions.


Views
This dialog is displayed when you select Tools / Views... from the main menu. It lists the currently defined Views and allows you to add, modify, and delete Views.

question Click What's This? Help in the dialog box for field definitions.

See also: Using Views


Promotion Criteria Dialog
Before files are actually promoted to the next level, this dialog is displayed to show information about which versions of the selected files will be promoted.

To cancel the promotion of the files, click the Cancel button.

question Click What's This? Help in the dialog box for field definitions.

See also: Defining Promotion Levels


Difference Viewer
This dialog allows you to specify an alternative difference viewer to use when viewing differences between the file types defined in the File Masks edit box.

question Click What's This? Help in the dialog box for field definitions.


Check in Comments
If you checked the Prompt for comments for each file checkbox in the Checkin Dialog, this dialog will be displayed for each file being checked in.

Enter any comments specific to the file. You can use the Differences button do display the changes made to the file. To view the differences made to associated files in the File Group, right-click on this button and select the relevant file.

If you want to use the current comment for the remaining files, check the box titled Use this comment for remaining files.

To cancel the checking in of all remaining files, click the Cancel button.

question Click What's This? Help in the dialog box for field definitions.


Select View
This dialog allows you to select which View to make active and is displayed from within the SCC Select Project dialog.

Select the View from the drop-down list and press OK to make it active.

question Click What's This? Help in the dialog box for field definitions.


.topic 1029
Team Coherence is one of the simplest to use Software Configuration Management (SCM) solution available today. Rather than turning SCM into a black art that requires weeks of training, enforces unacceptable restrictions on developers, and generally interferes with the development and testing processes, we have designed Team Coherence to be as easy to use as possible.

We have spent several years and worked with many development teams to make Team Coherence a real-world solution to what can be a complex process. Regardless of the size of your organization, Team Coherence helps you organize, manage, and protect your software development projects on every level - from storing and tracking changes to individual files, to managing and monitoring an entire development cycle.

This help file contains all the information you should need to guide you while using Team Coherence.

Guide to Team Coherence Documentation

Overview
What is Software Configuration Management
Addins
How to Buy Team Coherence
End User License Agreement

Getting Started
Objects Maintained by Team Coherence
Configuring for the first time
Using Version Manager

Tasks
Common Tasks
Advanced Tasks

Scenarios

.topic 1210
Bold Italics
Indicates button presses or menu selections required for an action

Forward Slash /
Separates menus and their associated commands. For example Action / Checkin means select Checkin from the Actions menu

  Block Quotation
Emphasizes important information and useful hints

UPPERCASE
Indicates keys or key combinations you can use. For example, press the ENTER key

.topic 1220
Click
Point to an object with the mouse pointer and press the left mouse button.

Double-click
Press the left mouse button twice in quick succession.

Right-click
Press the right mouse button

Drag
Press and hold the left mouse button while dragging the selected object(s) to another part of the Screen.

SHIFT+Click
Press and hold the SHIFT key and make a selection, allowing you to select a series of objects.

CTRL+Click
Press and hold the CTRL key while clicking on objects, allowing you to select objects randomly.

CTRL+Drag
Press and hold the CTRL key while dragging objects.

.topic 413
Software Configuration Management (SCM) is the key to managing and controlling the highly complex software products being developed today. In this section we discuss the various requirements for a typical SCM solution. Needless to say, Team Coherence supports all these requirements:

Version Control
Parallel Development Model
Remote / Internet Access
Defect and Feature Tracking
Automated Build Support
Process Management

.topic 1230
The key feature of any SCM tool is its ability to identify and control the software and software-related components of a project as they change over time. Individual members of the development team need to be able to undertake the tasks assigned to them without interference from other team members. As each task is completed, the results need to be made available to other team members to assimilate into their own work when required.

Version Control allows the maintenance of a history of the changes to a component as it evolves over time and allows access to any revision of a file, not just the latest.

.topic 1240
An important feature of any good SCM tool is the ability to allow multiple users to work on the same component at the same time. This is known as a Parallel Development Model as opposed to the more common Serial Model. With a serial development model, only one user can work on a specific component, locking all others out from changing that component.

The Serial model can create serious bottlenecks in the development process while other members of the team wait to modify a core component.

The Parallel model alleviates these problems by allowing multiple users to work on the same component. There is the problem, however, of incorporating the changes of multiple developers into a single component. This requires the ability to merge changes.

.topic 1250
As many development teams are now dispersed across several locations and even countries, the ability to allow all the members of a development team full access to a project is very important. With most current SCM tools, cut-down access is provided to allow members of the team access to basic functionality.

Ideally, an SCM tool should provide full check in, check out facilities, regardless of the location of the team member.

.topic 1260
The ability to integrate Defect and Feature tracking into the SCM solution is also an important feature. Users should be able to track the progress of individual issues and to relate these issues to the components affected.

  Note that only the Enterprise Edition of Team Coherence supports Defect Tracking as standard, but the TCTracker addin can be purchased as an optional addin for the other versions

.topic 1270
Building large systems can take hours, or even days. An inefficient build process can waste hours of developer time, particularly during testing where a system may need to be completely rebuilt to test a small change.

As the development / release cycle progresses, the ability to automate the building of older versions of a system become important. As users report bugs and problems with older releases of software, it can be important to be able to extract and build the exact version of the system that was given to the user.

  Note that only the Enterprise Edition of Team Coherence supports Automated Build as standard, but the TCBuild addin can be purchased as an optional addin for the other versions

.topic 1280
Many users, particularly those seeking an external quality approval such as ISO 9000, have standard development processes they expect their development teams to follow. Without proper process management support built in to the SCM tool, this can involve considerable bureaucracy which is often resented and ignored by developers.

Properly integrated process management features allow the developer to ensure that components progress through chosen lifecycle phases before being released. An example of this would be to help ensure that testing and quality assurance phases were carried out before release of the product.

.topic 1290
Team Coherence is one of the simplest to use Software Configuration Management (SCM) solution available today. Rather than turning SCM into a black art that requires weeks of training, enforces unacceptable restrictions on developers, and generally interferes with the development and testing processes, we have designed Team Coherence to be as easy to use as possible.

We have spent many years, and worked with many development teams, to make Team Coherence a real-world solution to what can be a complex process. Regardless of the size of your organization, Team Coherence helps you organize, manage, and protect your software development projects on every level - from storing and tracking changes to individual files, to managing and monitoring an entire development cycle.

Team Coherence has been designed with the future in mind. It is easily extendable through addins and has a modular architecture to allow for future enhancement.

.topic 1300
Team Coherence supports a powerful addin interface that allows integration of additional features with the core version management functionality.

The Enterprise Edition of Team Coherence comes with two addins as standard:

TCTracker - Integrated Bug/Feature Tracking
TCBuilder - Automated Build utility

The Personal and Professional editions of Team Coherence do not include these addins but they can be purchased separately.

.topic 1310
TCTracker provides the ability to record and track bugs and change requests on a project-by-project basis. Information can be gathered about reported bugs including: who reported it, when, when it is to be completed by, a short and long description, which files it involves, and more.

When checking out files, you can associate the files being checked out with an existing or new issue. Issues can be re-assigned to different users, and a history of changes is recorded for later analysis.

You can define Queries to provide different views of the issues and to restrict what is displayed to the issues relevant to you. Admin users can also define Shared Queries that all users can view.

.topic 1320
For large systems, involving multiple projects, the build process can be very long and complex. TCBuilder gives you the ability to visually create the equivalent of a MAKE file. TCBuilder integrates with Team Coherence to give access to any revision of the files involved in the system to allow you to rebuild any version of your system at the click of a mouse.

Workflow features allow you to specify the order of compilation and what to do in the event of a failure in the build process. Keyword expansion throughout allows you to expand keywords in the compiler directives for each build item. This allows you to, for instance, define and build a specific version resource into each project.

.topic 1330
Team Coherence Server is the core of the Team Coherence suite of configuration management tools, and is a required component. It provides secure access to the data managed by Team Coherence either through a Local Area Network, or remotely through a WAN or the Internet.

Team Coherence Server can be run as a Service under Windows NT and 2000, or as a standalone application under Windows 9X and multiple instances of the server can be run on the same machine. Each instance of the server represents a Team Coherence Repository.

Information on installing and running the server can be found in the server documentation.

.topic 1030
You can order Team Coherence online directly from our home page.

Home page

    www.teamcoherence.com

Email support

    support@teamcoherence.com

Post

    MCN Software Ltd
    6 Suttie Way
    Bridge of Allan
    FK9 4NQ
    Scotland

Fax

    +44 (0)1786 834908

.topic 1051
The Team Coherence licensing model is not concurrent. That is: you must have as many licenses installed as you have users that can login to an instance of the Team Coherence Server.

You can have the same licenses installed on any number of servers within your organisation, but each user must be accounted for in the total number of individual licenses.

See also: License Agreement

.topic 1031
  See also: A word about Licensing

Copyright Notice

Team Coherence is Copyright © 1995-2013 MCN Software. All Rights Reserved.

License Agreement

GRANT OF LICENSE.  In accordance with the terms of this EULA you are granted the following rights:
a) to install and use as many copies of the accompanying proprietary software ("Software"), described as Team Coherence, or in its place, any prior version, as you have valid licenses. You may also make secondary copies for each licensed user for their exclusive use on either a home or portable computer.
b) to store or install a copy of the Software on a storage device, such as a network server, used only to install or run the Software over an internal network. If you wish to increase the number of users entitled to access the Software, you must notify MCN Software Ltd and agree to pay an additional fee.
c) to make copies of the Software for backup and archival purposes.
d) to use the Software strictly in accordance with the provisions of this EULA.

EVALUATION LICENSE.  Subject to the provisions contained herein, MCN Software Ltd hereby grants you a non-exclusive 45-day license to use its accompanying proprietary software ("Software"), described as Team Coherence, free of charge for the sole purpose of evaluating whether to purchase an ongoing license to the Software. You may evaluate the software for not more than 45 days.  At the end of 45 days you must purchase a license in order to continue using the Software. If you do not fit within the description above, a license fee is due to MCN Software Ltd and no license is granted herein. If you are using an evaluation version of the Software, you will not be entitled to technical support.

SOFTWARE AND DOCUMENTATION.  MCN Software Ltd shall furnish the Software to you electronically or on media in machine-readable object code form.  If you receive your first copy of the Software electronically, and a second copy on media, the second copy may be used for backup and archive purposes only.  This license does not grant you any right to any enhancement or update to the Software and Documentation. Enhancements and updates, if available, may be obtained by you at MCN's then-current standard pricing, terms, and conditions.

RESTRICTED USE.  You may not lend, rent, lease or otherwise transfer the Software.  The Software is protected by the copyright laws of the United Kingdom and international copyright treaties.  This license is valid for only one user, but the same person may use the software on multiple machines.

ACADEMIC LICENSE.  If you purchased a license as part of the academic license scheme, use of the Software is restricted to academic projects and may not be used for any commercial purpose whatsoever.
TITLE.  Title, ownership rights, and intellectual property rights in and to the Software and Documentation shall remain in MCN and/or its suppliers.  This Agreement does not include the right to copy or sublicense the Software and is personal to you and therefore may not be assigned (by operation of law or otherwise) or transferred without the prior written consent of MCN.  You acknowledge that the Software in source code form remains a confidential trade secret of MCN and/or its suppliers and therefore you agree not to attempt to decipher, decompile, disassemble or reverse engineer the Software or allow others to do so, except to the extent applicable laws specifically prohibit such restriction.  You further agree not to modify or create derivative works of the Software.

CONTENT.  Title, ownership rights, and intellectual property rights in and to the content accessed through the Software is the property of the applicable content owner and may be protected by applicable copyright or other law.  This License gives you no rights to such content.

DISCLAIMER OF WARRANTY.  The Software is provided on an "AS IS" basis, without warranty of any kind, including without limitation the warranties of merchantability, fitness for a particular purpose and non-infringement.  The entire risk as to the quality and performance of the Software is borne by you.

Should the Software prove defective, you and not MCN assume the entire cost of any service and repair.
This disclaimer of warranty constitutes an essential part of the agreement.  SOME STATES DO NOT ALLOW EXCLUSIONS OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU AND YOU MAY HAVE OTHER LEGAL RIGHTS THAT VARY FROM STATE TO STATE OR BY JURISDICTION.

LIMITATION OF LIABILITY.  UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT, OR OTHERWISE, SHALL MCN OR ITS SUPPLIERS OR RESELLERS BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES.  IN NO EVENT WILL MCN BE LIABLE FOR ANY DAMAGES IN EXCESS OFMCN'S LIST PRICE FOR A LICENSE TO THE SOFTWARE, EVEN IF MCN SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.  THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION.  FURTHERMORE, SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION AND EXCLUSION MAY NOT APPLY TO YOU.

TERMINATION.  Either party may terminate this Agreement immediately in the event of default by the other party.  Upon any termination of this Agreement, you shall immediately discontinue the use of the Software and shall within ten (10) days return to MCN all copies of the Software and Documentation.  You may also terminate this Agreement at any time by destroying the Software and Documentation and all copies thereof.  Your obligations to pay accrued charges and fees shall survive any termination of this Agreement.

MISCELLANEOUS.  This Agreement represents the complete and exclusive statement of the agreements concerning this license between the parties and supersedes all prior agreements and representations between them. It may be amended only by a writing executed by both parties.  THE ACCEPTANCE OF ANY PURCHASE ORDER PLACED BY YOU IS EXPRESSLY MADE CONDITIONAL ON YOUR ASSENT TO THE TERMS SET FORTH HEREIN, AND MCN AGREES TO FURNISH THE SOFTWARE AND DOCUMENTATION ONLY UPON THESE TERMS AND NOT THOSE CONTAINED IN YOUR PURCHASE ORDER.  If any provision of this Agreement is held to be unenforceable for any reason, such provision shall be reformed only to the extent necessary to make it enforceable, and such decision shall not affect the enforceability (i) of such provision under other circumstances or (ii) of the remaining provisions hereof under all circumstances.  Headings shall not be considered in interpreting this Agreement.  This Agreement shall be governed by and construed under United Kingdom law. This Agreement will not be governed by the United Nations Convention of Contracts for the International Sale of Goods, the application of which is hereby expressly excluded.

Contractor/manufacturer is MCN Software

Contact:
MCN Software Ltd
www.teamcoherence.com
info@teamcoherence.com

.topic 5
This chapter will briefly describe the different objects maintained by Team Coherence, and will then describes how to configure Team Coherence for the first time.

Objects Maintained by Team Coherence
Configuring Team Coherence for the first time
Using Version Manager

On all new repositories, a user with the name supervisor is automatically created which has full access to all features of Team Coherence. The default password for this user is password. This username and password should be used for initial configuration of a repository and to define Users and Groups. Once you have defined standard users, the password for the supervisor user should be changed to prevent other users from accessing the Team Coherence repository with full access.

.topic 1340
In Team Coherence, a repository is simply a central location, available to all interested users, where the files archived by Team Coherence are stored. Each repository is controlled by a Server application that contains all the core logic for the Version Control functionality.

To all intents and purposes, the repository can be considered a black box that is used to manage the following items:

Projects
Folders
Files
Revisions
Version Labels

Connection to a repository is via standard TCP/IP so the server could, if necessary, reside on the other side of the planet and be accessed using a standard Internet connection.

.topic 1350
Project objects are the root objects in the repository hierarchy. They are used to group related files into a single entity. For example, a project object could contain the files used in a single Delphi project, or could be used to group together the files involved in handling all the communications and work carried out for a single client.

Organization of projects is entirely configurable. To modify the properties of a project once it has been created, you can use the Project Properties dialog box.

  An important concept to remember is that there may or may not be a direct correlation between a Team Coherence Project and a 'Project' as created by your development tool. A Project in Team Coherence is more of an organizational tool, allowing you to logically group a set of related files.

Projects do not contain files directly, but instead can contain one or more folders.

.topic 1360
Folders are the objects that are used to contain File archives. Each folder can contain files and sub-folders. The files in a folder relate directly to those stored in a local directory, but are not constrained to the hierarchical directory structure found on disks. For example, a sub-folder of a folder can point to a local drive, a remote drive, or a completely different directory.

  The folder structure in Team Coherence may or may not equate directly to a physical directory structure.

For example, consider the situation where you have several development projects with a single customer. In this case, you may decide to make the Project the Customer, with each separate development project a separate root folder under this main project. Within each root-folder, you may decide to add folders specific to the different areas of the development project. This might lead to a structure similar to the following:

The folder structure you use in Team Coherence is completely up to you. Modifications can be made to the structure at any time using simple Cut & Paste, Drag-Drop and the Folder Property Sheet.

Folders can also be defined as Web Folders. Web folders allow you to quickly publish the latest version of a folder, and the objects it contains, to a live web server using ftp. Web folders can be defined by users that have Access rights to the folder in question. For more information on Web Folders, see the topic Deploying Folders.

As well as containing sub-folders, Folders are used to contain the File Objects themselves.

.topic 1370
In Team Coherence, the file objects represent the physical files. A file object maps directly to a file, or files, on disk. File objects are grouped by Folders. A file object may contain several physical files using a concept known as file groups. A file group is a set of files that have the same name, but different extensions, and can be thought of as a logical entity. An example of this would be the Delphi pas/dfm pair: the source unit will not compile without the form unit being present, and vice versa. In this situation, it makes sense to treat the two files as a single entity.

The file object also contains a history of all changes made to the file since it was first archived, allowing you to revert back to or view any previous revision of the file.

Team Coherence can control any type of file including binary files. Associated with each file, are a number of revisions. As each file is modified by users a complete history of when, who, and what the changes were, is built up over time.

.topic 1380
A revision is a representation of a file at a particular moment in time. The information that is stored against a revision of a file, in addition to the file itself, include the date and time the file was modified, who modified it, and the reasons the file was modified. In this way, a complete audit trail of the file can be built up.

Each revision of a file can also have assigned to it one or more Version Labels.

.topic 1390
Version Labels are simply placeholder's (but see below). Any revision of a file can have an unlimited number of Version Labels attached to it. Version Labels are useful when you want to mark a particular revision of a file for use later in the context of multiple files.

For example, consider the situation where you have a project that contains many files. At some point, all the files in that project may reach a stage where you would release something to a client. The problem is that the different files involved at that point are all at different revisions. A Version Label can easily be assigned to the current revision of all the files involved, essentially creating a Snapshot, or Baseline, of the situation at that particular point in time.

The benefit of Version Labels really comes when, at some point in the future, you want to reconstruct that situation. With Team Coherence, this is a simple task.

From Version 7.1.2.62 of Team Coherence Server, you can define security attributes for Version Labels and Labels can be associated with specific Projects. This allows you to better organise labels, and have control over who is allowed to assign and remove labels. For more information on these features, see Creating Version Labels.

As the number of labels increases over time, Version Labels that are no longer required for current activities can be marked as hidden using the Version Label dialog box. This makes Version Label selection quicker while still maintaining existing labels.

Branch Base Label

Each Label in TC can be associated with a Branch Base Label to form a label pair to assist when working on previous versions of a project. When a Label with an associated Branch Base Label is initially assigned to a file, both labels will be attached to the relevant revision. When you subsequently check in changes to this revision of the file (i.e. when working on a previous version), and associate the Label with the checkin, if the Label and Branch Base Label are both attached to the revision being checked in a Branch will automatically be created. This means that changes made to the older version will not be included in the main development stream.

.topic 1400
This section takes a look at the initial configuration of the Team Coherence client and how to connect to a repository. The main assumption is that you already have an instance of the Team Coherence Server running somewhere on your network.

For more details on setting up and configuring the server, see the relevant documentation.

Connecting to a Repository
Specifying a Username
Logging in under a different Username
Integrating Team Coherence with your Development Tools
Adding your first Project
Adding a Delphi Project
Adding files using Drag/Drop from Explorer
Manually adding files.

.topic 1410
Before you can start the Team Coherence client application you must tell Team Coherence the location of a valid connection to a running repository. This can be done using the Connection Manager.

To start the connection manager select Start / Programs / MCN / Team Coherence / Connection Manager

The Connection Manager displays a list of known connections to repositories. If you want this dialog to be displayed each time you start Team Coherence, make sure that Prompt at startup is checked. It can also be displayed while running Version Manager by selecting Tools / Connection Manager... from the main menu.

To add a new connection, click on the Add button. To modify an existing connection, click on the Modify button. This will display the properties dialog box for the selected or new connection:

The Connection Properties dialog box allows you to specify the connection parameters to an existing repository. As well as a Name and Description for the connection, used to identify the connection, you must specify:

Host
The host is the address of the computer that is running the instance of the Team Coherence Server you wish to connect to. You can either use the HostName for the machine, or can specify a valid IP address.

Port
The Port is the port that the instance of the Team Coherence Server you are connecting to is listening on. This information will be available from the person responsible for maintaining the server.

Keep Alive
With some connections, particularly dial-up internet connections, the connection will drop after a certain period of inactivity. Checking this option will force Team Coherence to ping the server occasionally to make sure the connection is not dropped. You also need to enter the frequency with which to contact the server.

UUEncode transmitted data
When connecting remotely to the server, particularly when using VPN, binary characters transmitted by Team Coherence can be interpreted as handshake characters by the hardware. This is a known issue with a few routers and checking this option works around the issue by making sure that only ASCII characters are transmitted or received.

As there is an overhead (encoding/decoding the data), this option should only be checked if you have persistent connection issues with the server. For connections within your local LAN, checking this should not be necessary.

Dialup Networking
If you are accessing a remote repository via a dialup connection you can select an existing DUN connection to use from the list. You also need to enter a valid username and password for that connection.

Security
If the Team Coherence Server you are connecting to has had an additional security key assigned to it, you will also need to enter that key in the Security page. The key should be supplied by your system administrator.

Note that this security key is only required if a key has been applied to the server.

Once the parameters have been set for this connection, you can use the Test Connection button to check that the connection is valid. This will try and connect to the server and wait for a valid reply.

.topic 1420
When you first start up Team Coherence (and also when you connect to a different repository) you will be prompted for a username and password.

On all new repositories, a user with the name supervisor is automatically created which has full access to all features of Team Coherence. The default password for this user is password. This username and password should be used for initial configuration of a repository and to define Users and Groups. Once you have defined standard users, the password for the supervisor user should be changed to prevent other users from accessing the Team Coherence repository with full access.

If you are connecting to a new repository, and a username has not been setup for you, you must get your system administrator to add you to the list of users in the repository.

If you login as an admin user you can add users and groups using the User Manager.

.topic 1430
Team Coherence automatically remembers what username you used when it was last started unless the repository you are connecting to has been setup to require a valid username and password. In order to log in under a different username, select Tools/Login as different user from the main menu.

Enter your name and password in the relevant boxes. You are required to enter a valid password.

.topic 1440
Although Team Coherence functions very well as a stand-alone tool for archiving and controlling any type of file, it also integrates directly with a large number of developer and end-user tools.

An advantage with integrating with development tools is that the main functionality of Team Coherence becomes available when you need it, and from within the tool you use.

To integrate Team Coherence with other development tools, select Start / Programs / MCN / Team Coherence / IDE Installation. This will start the IDE installation application:

Depending on what tools are installed on your machine, the items above may differ.

Simply check the tools you would like to integrate with and press the OK button. When you next open up any of these tools, you will find a Workgroups menu option to access Team Coherence functionality.

Functionality is generally based on the tool you are integrating Team Coherence with, but will at least contain menu options to handle the basic Version Control actions of Check In, Check Out, and Get. In some development environments, you may also find a Team Coherence toolbar to give you even faster access to the functions.

.topic 1450
One of the first things you should do after configuring Team Coherence, is add some files. After all, maintaining files is what Team Coherence is designed for. Once files are archived by Team Coherence, all changes to these files are controlled by Team Coherence.

There are several methods of adding files to a Team Coherence repository. By far the simplest method is to use the IDE interface for whatever product created the files. Several other methods are supported, including:

Drag / drop from Explorer
Manually adding files to existing folders

Our initial discussion will deal with how to add a project using the Delphi IDE interface, which is the same process as used by the C++Builder interface, followed by a short discussion of the other methods.

.topic 1460
As mentioned above, the same general principles apply to most other supported interfaces. In most interfaces, a new main menu option called Workgroups will be added to the main menu of the specific IDE. This menu option gives access to the Team Coherence specific functions used to access and change files.

If you open a project in Delphi, and it hasn't yet been archived, most of the Workgroups menu items will be disabled. The option Project <projectname> / Check In..., where <projectname> is the name of the currently active Project, will be active to allow you to add this project to version control:

Selecting Project <projectname> / Check In... will prompt you with the Checkin dialog box:

The Check-In dialog box allows you to define Comments for the files being checked in, and what to do with the file once it is checked in. The Files page of this dialog box lists all the files that are about to be checked in and you can select/deselect files from this list to control the files being added. We will discuss the other options available in the Check-in dialog box later in this Manual.

When you have entered a comment, press the OK button to continue adding the project to Team Coherence. Team Coherence will create a new Team Coherence Project for the files and create any necessary Folders. Progress will be displayed as it is doing this and, at the end of the check-in process, the results dialog will be displayed.

That's it! All the files in the Delphi project have been archived and, once you press the OK button, the files that are open in the IDE will be updated to reflect the changes.

By default, once a file has been checked in, its local copy will be made read-only to prevent accidental and uncontrolled changes being made to it.

Finally, we can now view the newly added project in Version Manager:

When you drop-down the Workgroups menu in Delphi, more options, dependent on the status of the current file, will be available.

If you need to work on an archived file, it is now necessary to Check out the file before it can be modified.

.topic 1470
If you are controlling files other than those created by the supported tools, adding them to Team Coherence, again, is a relatively easy task.

Version Manager supports the dropping of files dragged from Windows Explorer onto an existing project. In this case, you must have created a new project for the files, or be dragging files into an existing project.

To create a new project in Version Manager right-click in the left-hand pane and select New Project… or click on the New Project button in the toolbar.

Enter a name for the new project, and that's it.

Now, you can simply drag files and folders from Windows Explorer, and drop them on the new project. The Checkin dialog box will be displayed and selecting the Files page allows you to specify which files to actually add:

Once you press the OK button, the files will be added to Team Coherence in the same way as the method above. Team Coherence will automatically create the folder structure for the files based on the underlying disk folder structure, and add the files to the correct folders.

.topic 1480
If you already have an existing project archived, it is sometimes necessary to add new files as they are created.

If you select a Folder in Version Manager, right clicking on the folder will allow you to add files by selecting Add files…

This will display the File-open dialog, with the Folders current local directory selected. Simply select the files you want to add and press the OK button.

Note that a file cannot be archived more than once. In all of the above cases, if a file that you are adding is already archived, it will simply be checked-in if it is currently checked-out, or ignored.

Alternatively, when a Folder is selected in Version Manager, a page in the detail pane lists the files and folders for the currently selected directory that are not already archived. To add any of these files or folders: select them, right-click to display the context menu, and select Add to Version Control.

.topic 10000
The main visual element in Team Coherence is the Version Manager. Version Manager allows you to get an overall view of the projects contained in a repository. It is also where most of the administrative tasks are carried out.

If your development tool does not support integration of Team Coherence, Version Manager can be used directly to maintain archived files.

To access Version Manager, use the link under the Windows Start menu or, if your development tool supports it, select Workgroups/Team Coherence from the IDE menu:

The main Version Manager window is split into five areas. The actual contents of these areas may vary based on the current selection.

1) Main Menu / Toolbar
The main menu and toolbar give full access to the features of Team Coherence. Some menu options are dependent on the current selection, and the Action menu is also available as a context menu when right-clicking in some of the other windows.

2) Folder Pane
The Folder Pane is used to display the Projects and Folders contained in a Repository. In addition, it gives access to the Locked Files object and, if you are an Admin user, access to the Recycle Bin. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object in this pane will cause the Files Pane to update based on this selection.

3) Files Pane
The Files pane displays the list of objects directly contained by the object selected in the Folder Pane. Depending on the current selection, this is normally a list of the files and folders contained within this object. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object, or multiple objects, in this pane will cause the Detail and Information panes to update based on this selection.

4) Detail Pane
The detail pane displays details for the currently selected object in the Folder or File pane, depending on which is currently active. It contains a number of pages based on the current selection and may contain pages created by addin applications. Dependent on the selection, the pages include:

Notes - The notes page allows HTML or notes to be attached to the selected object.
Revisions - If the current selection is a file, the revisions contained by that file will be listed.
New Files - If the current selection is a folder, this page will list any files or folders in the local directory associated with that folder that have not yet been archived.
Issues - If you have installed the TC Tracker addin, any issues associated with the currently selected files will be displayed in this pane.

5) Information Pane
The contents of the Information Pane are based on the current selection in any of the other panes. It gives more details about the currently selected object(s) and also, dependent on the object, provides shortcut links to some of the most common Version Control actions.

.topic 1097
The contents of this pane are based on the current selection in any of the other panes. It gives more details about the currently selected object(s) and also, dependent on the object, provides shortcut links to some of the most common Version Control actions.

These actions are in the form of Hyperlinks and are initially displayed closed up to allow more object information to be displayed:

Clicking on the Options hyperlink will expand the list of actions:

The list of actions will be depend on the currently selected objects, but normally includes:

Get the latest version of this <object>
Clicking this will display the Get dialog box before performing a Get on the selected objects.

Open (& Get) this <object>
Clicking this link will display the Get dialog before performing a Get on the selected objects and opening the files in the relevant editors (based on file extension associations defined in Windows Explorer).

If you do not want the Get dialog to be displayed, and simply want Team Coherence to get the latest version and open the files, then make sure that Show Get dialog when using 'Open' link is unchecked in the Tools/Options dialog box.

Work with this <object>
Clicking this link will display the Checkout dialog before performing a Checkout on the selected objects and opening the files in the relevant editors (based on file extension associations defined in Windows Explorer).

If you do not want the Checkout dialog to be displayed, and simply want Team Coherence to checkout the latest version and open the files, then make sure that Show Checkout dialog when using 'Work with' link is unchecked in the Tools/Options dialog box.

Check your changes in
Clicking this link will display the Checkin dialog before checking the current selection in.

View <object> properties
Displays the property dialog associates with the current selection

View Differences
Displays the relevant difference viewer to show differences between two revisions of a file, or between the latest revision and the workfile.

.topic 1500
Selecting the Locked Files icon in the Folder Pane lists all the users created in this repository:

If you select a user, the Files Pane will list all the files locked by that user. This view is mainly to allow you to see at a glance which files are locked by a user, but the context menu allows you to checkin files that are locked by yourself.

.topic 1510
This section will outline how to carry out some common tasks in Team Coherence. This is by no means an exhaustive list of the features available in Team Coherence, but is meant to help get you up to speed quickly.

In most cases we will use Version Manager to illustrate how things are handled, but obviously many of these tasks can be carried out through the respective IDE interfaces. The respective IDE manuals detail these methods.

A later section called Scenarios will restate some of the topics listed in this section but in the context of working examples.

Getting Files
Check-out Files to be Modified
Check-in Modified Files
Creating Version Labels
Baseline a Project or Folder
Renaming a Project
Setting Working Paths
Checking in all your locked files
Finding Files

.topic 1520
Performing a Get on files is the process of getting a local read-only copy of the archived files. This could be to make sure that you are working with the most up to date versions of these files or to get a local copy of a past version of a project.

There are several methods of doing this, including through the IDE of your development tool, but the easiest method is to use Version Manager

Synchronize
Get

.topic 1530
Synchronizing with the current view is a quick method of making sure that you have the most up to date revision of all the files in the current View.

In Version Manager,

1)	Select the project or folder you are working on in the left hand Folder Pane.
2)	Right-click, or select Action from the main menu.
3)	Select Synchronize with View

Team Coherence will locate all changed and new files for the current selection and will perform a get on the latest revision of these files. This makes sure that you have a local copy of latest revision of all the required files for your project.

By default, Synchronize with View gets the latest versions of files that are marked as Out of Date or Missing. If you want to include files shown as Modified that are not checked out to you, choose Tools/Options/Other and check the Include Modified (not locked) files when Synchronizing checkbox.

.topic 1540
Performing a Get on selected files gives you more control over what Revision or Version of the files you are getting, and allows you to assign a Version Label to each file as it is updated.

To perform a Get, select the relevant object(s) in Version Manager and select Action/Get... from the main menu. The Get Files dialog box will be displayed:

The Get Files dialog box is the same as the one used during the Check Out process, but only options relevant to doing a refresh will be enabled.

Revision – Enter a specific revision of the files to refresh. Generally, unless you were getting a single file, it would not make sense to specify a revision.

Version – Select an existing Version Label to get that particular Version of the files.

Check out to – Enter the root directory to get these files to. If this option is disabled, it normally means that the files you are getting do not have a common root directory.

Overwrite writable files – If this option is checked, any local files that are writable will be overwritten with the read-only copy being refreshed. If you check this option you should be aware that, when getting files, Team Coherence does not check the lock status of the files.

Leave the workfile Writable - If this option is checked, the local file will be made writable after the get has been performed. This option is not recommended since the local file can be modified without checking the file out first.

Ignore Locked Files - If checked, TC will not attempt to get files that are already checked out to you.

Assign Version during check out – During the process of getting files, you have the option of assigning a new Version Label to the revision of each file that is refreshed.

Check out by Date - Entering a date here overrides the Revision and Version fields in the General tab. If set, only the latest versions of the files checked in on or before this date will be retrieved. Useful to get a copy of the source for a specific day when you can't use a Version Label.

When you press the OK button, the selected files will be refreshed. The actual revision of the files that is refreshed will be based on the criteria you entered in this dialog.

See also: Scenario 2

.topic 1550
Before you can modify a file that has been archived by Team Coherence, you need to check out that file. Checking out a file makes the local copy of the file writable so that you can modify it and also places a lock on the archive. A locked archive does not necessarily stop other developers from modifying the file. Multiple locks can exist for a file if the server has been configured to allow this.

To check out a file from within your development tool (depending on the interface), make that file the current one and select Workgroups / Checkout from the main menu.To check out file(s), folder(s), or a project from within Version Manager, select the relevant objects and right-click, or select Action, and select Checkout.

You will be presented with the check out dialog box to allow you to select the revision or version of the files you are checking out and to specify a location for the files:

Revision – Enter a specific revision of the files to check out. Generally, unless you were checking out a single file, it would not make sense to specify a revision.

Version – Select an existing Version Label to check out that particular Version of the files.

Lock Comments - Enter some text that describes what you are about to do with these files. This enables other users to see the reason why you have checked out these files. In addition, these comments can be used when checking in the files. Right-clicking in this box allows you to retrieve previously entered comments.

Check out to – Enter the root directory to check out these files to. If this option is disabled, it normally means that the files you are checking out do not have a common root directory.

Overwrite writable files – If this option is checked, any local files that are writable will be overwritten with the copy being checked out. If the check out process encounters any writable files, and you already have them locked, they will not be overwritten.

Assign Version during check out – During the check out process, you have the option of assigning a new Version Label to the revision of each file that is checked out.

  The Assign Version list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis (...) to select it

  If the label being attached has an associated Branch Base Label (see Version Labels), and the Version Label has not yet been associated with the file, both the Label and the Branch Base Label will be applied to the relevant revision.

Version Comments – If you assign a Version Label, you can enter comments to be attached to that Version Label.

Check out by Date - Entering a date here overrides the Revision and Version fields in the General tab. If set, only the latest versions of the files checked in on or before this date will be retrieved. Useful to get a copy of the source for a specific day when you can't use a Version Label.

When you press the OK button, the selected files will be checked out. The actual revision of the files that is checked out will be based on the criteria you entered in this dialog.

See also: Scenario 2

.topic 1560
Once you have finished modifying files, it is important to check them back in to allow other users to access your changes.

Checking in a file creates a new revision in the archive if the file has been modified, and releases the lock on the file. By default it will also make the local copy of the file read-only so that it can't be modified.

  Because other developers may use the files you check in, it is important to make sure that they at least compile before checking them in.

To check in a file from within your development tool (depending on the interface), make that file the current one and select Workgroups / Checkin from the main menu. To check in file(s), folder(s), or a project from within Version Manager, select the relevant objects and right-click, or select Action, and select Checkin.

You will be presented with the check in dialog box to allow you to assign a Version Label to the files and to specify what to do once the files are checked in:

Comments - Enter comments to describe the changes made to the files being checked in. These comments will be applied to all files being checked in. Right-clicking in this box allows you to retrieve previously entered comments.

Version Label – If you want to attach a Version Label to the new revision of the file once it is checked in, select a Version Label using the ellipsis (...) button. The Version selection dialog box allows you to create a new version label.

  The Version Label list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis (...) to select it

Move existing version label to new revision – If you wish to move an existing Version Label to the new revision, check this box. If the Version Label you are assigning to the file already exists for a file, it will be removed from it's existing revision and attached to the revision created when the file is checked in.

Force Branch on the new revision – If the file being checked in is not to become part of the main development stream, check this box. When the file is checked in, a branch revision will be created.

  If the Label you are attaching to the new revision has an associated Branch Base Label (see Version Labels), both the 'Move Existing' and 'Force Branch' options will be disabled. This is because branching will be handled automatically.

Prompt for Comments for each file - Checking this option, you can assign comments for each modified file being checked in. If this is left unchecked, the comment entered will be applied to all files being checked in.

Checkin if Unchanged - If this option is checked (default), all locked revisions will be unlocked whether or not there are any changes to the file. If this is unchecked, all unchanged files will remain locked.

Maintain a Lock on the new revision - If this option is checked, once the file is checked in, the new revision of the file will be locked again. This allows you to check in changes to allow others to get these changes while keeping a lock on the files to continue working on them.

Once Checked in

Leave the local file readonly - Once the file is checked in, the local copy of the file will be made readonly to prevent accidental modification.

Delete the workfile – once checked in, the local workfile will be deleted.

Make the file writable – once checked in, the local workfile will be left writable, but the archive will not be locked.

Default – Check this box to make the current settings in the Options page the default settings for subsequent check in actions.

Difference - Switching to the Files page of this dialog allows you to check what changes were made to any of the files being checked in. Selecting a file and pressing the Difference button will execute the Difference Viewer against this file.

Pressing the OK button will check in the relevant files. The state of any local workfiles will be dependent on the options you select above.

See also: Scenario 3

.topic 412
Version Labels are simply placeholders. Any revision of a file can have an unlimited number of Version Labels attached to it. Version Labels are useful when you want to mark a particular revision of a file for use later in the context of multiple files.

To modify or create new Version Labels, display the Version Manager dialog by selecting Tools / Version Labels... from the main menu:

This dialog box lists all Version Labels defined in the current repository. In this dialog you can define the visibility of labels using the checkboxes. If a label is unchecked it will not appear in normal Version Label selection boxes, but will still be available for selection through other means. This helps to reduce the number of Version Labels that build up over time being listed, while still maintaining them for historical integrity.

  Note that only Admin users can change the visibility of labels

Selecting a label allows you to modify its properties by clicking on the Modify... button.

To delete a Version Label, select it and press the Delete button. If you delete a Version Label, this label will be removed from all revisions containing it and, potentially, Views may become undefined.

A new label can be created by clicking on the New... button:

Enter the name for the Version Label. Anything can be entered here, but should describe the purpose of the label. You can also enter a description of the label in the Comments box.

The Label Root field allows you to specify a Project that will be the owner of the Label. Click on the button with the ellipsis (...) to choose an existing project, or click on the G button to make the label Global to the repository. By default, all new labels will be global.

The Label Root field specifies what labels are accessible when labels are assigned. Depending on the scope of the action, only labels within the selected Project, and labels marked as Global will be visible in the drop-down lists.

  Changing the scope (Label Root) of a label will not affect instances where the label has already been applied outside of the new scope.

The Branch Base Label field allows you to create a special branching label. When the Version Label is initially applied to a file, both the Label and the Branch Base Label will be applied at the same time to the same revision. If, subsequently, this label is applied during a checkin, and both the Label and the Branch Base Label are attached to the same revision, a Branch revision will be created and the Label will be moved to the new revision.

For more information on Branch Base Labels, see Version Labels.

Version Labels can be modified at any time and all changes will be applied to all files containing the Version Label.

The Security page of this dialog box allows you to define who is allowed to Modify the label as well as who can assign or remove the label:

By default, the label is created so that All users can carry out all actions. The settings are as follows:

Access: The users and groups listed here can specify who is allowed to do what.

Modify/Delete: The users and groups listed here are allowed to modify the label and can also permanently delete the label.

Assign/Remove: The users and groups listed here can assign the label to files and can also remove/move labels.

.topic 1570
As you develop your project you will reach certain stages where you want to 'remember' the state of the files involved in that project. For example, you would probably want to baseline a beta release of your software so that, if any bugs are reported, you know which revisions of each file were in that particular release.

Once all the files in your project have reached a stage where you want to do this make sure all files are checked in and select the project in Version Manager. Select Action/Assign Version Label… from the main menu, or right-click and select Assign Version Label…

Version Labels can be as descriptive as you like, but normally reflect the status of the project at that time. For example, Beta 1, RC1, etc. You can also add a description for the Version Label.

Drop down the Version Label list to select an existing label or press the ellipsis (...) button to create a new Version Label. The comments assigned to the selected label will be displayed in the Comments box.

The Version Label list will only display visible labels. To use a label that is marked as hidden, use the button with the ellipsis to select it.

If the label is already assigned to a revision in any of the files, and you want to move all instances of this label to the current tip revision, make sure and check the Move existing label checkbox.

When you press the OK button, the Version Label you entered will be added to the latest revision (i.e. the current revision) of all the selected Files.

It is important to remember that Version Labels are attached to a revision of a file as opposed to being related to the timestamp of the file at the time the version was created. This allows you to subsequently move the Version Label or add the same Version Label to a new file at a later date.

When checking a file out, or refreshing the local files, you can enter a Version Label in the check out dialog box to retrieve that particular version of the file. Version handling and Views will be discussed later in this manual.

  If the label you are attaching has an associated Branch Base Label (see Version Labels), both the Label and the Branch Base Label will be applied to the revision if neither has already been assigned.

See also: Scenario 4

.topic 1580
By default, the name of a project is defined by the name of the root directory containing the files as they are checked in or, if a project is checked in via one of the IDE interfaces, the project is generally the filename of the main project file. Obviously, this name is not always very descriptive.

As the name assigned to a Project in Team Coherence does not affect the underlying filename of any source files, you can rename any project to a more descriptive name. To rename a Project, select the required project, right-click and select Properties. The Project Properties dialog will be displayed:

If you have the correct access privileges, you can rename the project by entering a new name in the edit box and pressing the OK button.

.topic 1590
The working path of a folder is the default directory that the files contained in that folder will be checked out or refreshed to. By default, all folders will take on the working path of the files when they were initially added to Team Coherence.

  It is important to note at this point that the working path for each folder is dependent on the currently selected View. Views will be discussed in a later section.

Individual users have the option of specifying different folders to use as the default. To change the default working path for a folder, select the required folder, right-click and select Properties. The Folder Properties dialog will be displayed:

In this dialog, Default is the default path that all users will use if they don't specify another one. It is defined centrally and, if modified, will affect all users who have not specified a User path. You will only be able to change this value if you have the correct privileges.

If you enter a new path in the User edit box, that path will be used as the default path for all actions on the files contained in this folder. Changing this path affects only the current user.

It is also possible to include Environment Variables in either the Default or User paths. To use an environment variable, enclose it with percentage (%) characters. For example: %MSDevDir%\Projects\Team Coherence. When the path is referenced, the environment variable(s) will be expanded.

You can specify several User Defined paths for the same folder by using the Views feature. Views will be discussed later in this manual.

See also: Scenario 2

.topic 1600
If you check out files to modify them and don't check them in before going on to the next file, you can quickly lose track of just which files you have checked out. This is particularly important to other users when changes made to one file depend on changes to another file and only one of the files is checked in when the other users get the latest revision.

Obviously, Version Manager will display the locked files if you view the folder containing these files but, if the project has multiple folders, it can be tedious to locate and check-in individual files.

To help with remembering which files you and others have checked out, you can use the Locked Files view. This view lists, by user, all files that are currently checked out. This gives you a convenient method of checking in all your locked files.

To check in all or some of the files you have checked out, select your username from the displayed list, select the files you want to check in, and select Actions / Checkin... from the main menu.

You can also use this view to check which files other users have currently got checked out.

See also: Scenario 3

.topic 1610
In large projects with deep folder hierarchies, it can be difficult to locate a file. For this reason, and to help with a number of tasks, Version Manager utilizes a complex search dialog. To display the find dialog, select Edit/Search from the main menu:

You can specify multiple criteria for your search and the results will be displayed in the search form. A typical search would be to locate all files with a particular extension, modified within a certain period:

... currently modified on disk, or out of date files:

...and currently locked by a certain user:

When you press the Find Now button, the search results will be displayed in a pane below the criteria:

The result set can span multiple projects and folders and you have full access to the context menu for the selected files to allow you to check in and out files, view properties, add Version Labels and Promote.

.topic 1063
Team Coherence provides several keyword macros that can be placed in your files. These keywords will be expanded when files are checked in. This useful feature can help document your code and also provides useful information.

Note that keyword expansion will only be applied to files with the extensions recorded in the File Groups dialog box.

The main keyword you can use is $Log:. This keyword provides a method of documenting your code. It will be expanded to include commented Revision and Version information in the file.

Other keywords that can be used are :

$Revision:$ - is expanded to contain the revision number
$Version:$ - is expanded to contain the version label
$Author:$ - is expanded to contain the name of person checking in the revision.
$RevDate:$ - is expanded to contain the date of the revision
$RevComments:$ - is expanded to contain the revision comments.
$ModDate:$ - is expanded to contain the date the file was modified.
$ProjectName:$ - is expanded to contain the name of the project
$NoExpand$ - no keywords will be expanded beyond this point for this file

If you have defined a Prefix (see Options/Other) this will be inserted in front of the text that is used in the expansion.

For example, if your prefix is '=', and you are expanding $Revision:$, the result will be:

    $Revision:=1.0$

Without the prefix, it would be:

    $Revision:1.0$

.topic 1065
Commandline parameters allow you to create shortcuts to Team Coherence for various scenarios. There is no defined order for the parameters. The following commandline parameters can be passed to the executable:

/NOSPLASH	prevents displaying of the splashscreen during startup

/M=<ModuleName> selects the relevant module. <ModuleName> can be one of the following:

Version Control
TC Tracker
TC Builder

For example, the following will start up Team Coherence and select the Tracker module:

TCMain.exe /m="TC Tracker"

/V=<ViewName> selects the view <ViewName> at startup where <ViewName> is the name as it appears in the dropdown list in Version Manager. <ViewName> should be enclosed in Quotes if it contains spaces.

/R=<RepositoryName> selects the repository <RepositoryName> at startup. The repository name is the name defined in Connection Manager. For example, the following selects the connection that defines the Team Coherence repository:

TCMain.exe /r="Team Coherence"

/B=<BuildFileName> opens the specified file in the TC Builder module.

.topic 414
This section describes some of the more advanced functionality of Team Coherence

Checking out a non-tip Revision
Checking in a non-tip Revision
Checking out to a Different Location
Merging Changes
Promoting Files
Sharing Files between Projects and Folders
Using Views
User Options
Administrative Tasks

.topic 1620
It is common to want to check out a revision of a file other than the tip revision, for example to fix a bug in a previous release of a project. This is made easier if the revision of the files you want to check out have been marked with a Version Label, but it is not necessary to have done so. However, to check out the same revision of multiple files would not normally make sense.

To check out a non tip revision, select the objects in Version Manager and select Action/Check out from the main menu. This displays the Check Out dialog box:

Enter the revision of the file you want to check out, or select a Version Label from the drop-down box. When you press the OK button, that particular Revision or Version of the file will be checked out.

See also: Scenario 5

.topic 1630
There are a couple of scenarios where you may need to check in a non-tip revision. Most obvious is if you have checked out a non-tip revision, but it may also occur if parallel development is enabled. In this case, several users may have checked out the same file and others have checked in their changes before you get a chance.

Since Team Coherence remembers where files were checked out to and which revisions of these files were checked out, it is not necessary to specify a revision when checking in files. Any non-tip revisions that are checked in will result in a branch revision being created if the file has changed.

To check-in files, including non-tip revisions, select the relevant objects in Version Manager and select Action/Checkin:

Enter a comment for the new revisions and press the OK button. Once the objects have been checked in, the status dialog box will be displayed:

Any files where a non-tip revision was checked in, and a new revision was branched, will be highlighted in the status dialog.

A Branch revision is a revision where a new line of development has begun and is indicated in Version Manager by a new level of revision caption (for example, the first branch of revision 1.1 will be 1.1.1.0):

See also: Scenario 5

.topic 1640
It is common to want to check out or get a file to a directory other than the default location. For example, you may want to view code in a previous revision of a file, but have untested changes in the current revision and don't want to check in these changes.

To check out or get files to a directory other than the default, select the object(s) in Version Manager and select Action / Checkout, or Action / Refresh, from the main menu. This displays the check out dialog box:

At the bottom of the dialog you can enter a new path to check the files out to. If this option is disabled, it means that the objects selected do not have a common root directory.

If you change the check out directory, the new path will be used as the root for all the files being checked out. The actual directory structure will be preserved, but under a different root.

Note that, since Team Coherence remembers where a file was checked out to, and you may have multiple versions of a file in different directories, the file can only be checked in from the directory it was checked out to.

.topic 1066
It is sometimes necessary to abandon changes you have made to a file during development. For example you may want to try out some changes to a file and, if the changes do not work, you need to get back to the files original state.

If you have checked out a file but want to revert the file to the state it was in before you began your changes, select the file and choose Action/Other/Undo check out from the main menu. You will be prompted for confirmation before the action is carried out.

Undo check out is the equivalent of Unlocking the file and performing a Get (with Overwrite Writable checked).

  This action is not  reversible and all changes to the local files will be lost

.topic 1650
If a revision has been branched off from the main line of development it may be necessary to apply the changes in that revision to the main line. For example, after checking out an old version of a file to fix a bug, a new branch will be created when that file is checked back in. If the bug fix has to be applied to the main line of development, you will need to merge these changes with the tip revision.

To merge revisions, you can use the Difference Viewer. The Difference Viewer provides a side-by-side view of two revisions of a file, or a specified revision and the current work file. If the work file is writable, the changes in the revision can be applied to the work file.

To merge a branch into the main line of development, first check out the tip revision of the main line:

Then select the branched revision and select Action/Differences/<filename> from the main menu.

  If there are multiple files in this group (see file groups), the process will have to be repeated for each file.

The difference viewer will be displayed:

The difference viewer can be used to apply changes from one file to another. In this case, we want to apply the relevant changes in the branched revision to the work file. The Difference Viewer will be described in another section but, once the changes have been applied to the work file, closing the Difference Viewer prompts you to save the changes.

Checking in the file, with the changes, effectively applies the changes made in the branch revision to the new tip revision.

See also: Scenario 6

.topic 1660
Promoting a file is the process of moving a particular revision of the file from one stage of the development process to the next. For example, when a developer is happy with a file and it is ready for testing, they would promote that particular version of the file to the Testing promotion level. The person responsible for testing would then refresh all files at the Testing promotion level and run the tests. Meanwhile, the developer could continue modifications to that file.

  Using Promotional Modeling is a method of guaranteeing that all files involved in a particular release go through certain predefined steps in the development process.

To promote file(s) to the next level in the promotional hierarchy, select the relevant objects in Version Manager and select Action/Promote to <xxx>, where <xxx> is the next higher promotion level.

Before the files are promoted you will be presented with the following dialog box to allow you to review the selection criteria applied to the files you are promoting:

In particular, the current View (if any) is displayed along with the selection criteria that that view defines. If you are happy with the criteria, pressing the OK button will promote all selected files to the next promotion level.

In order to promote files from one promotion level to the next, you must have defined and selected a View based on the promotion level below the one you want to promote to. With this view active, selecting Action / Promote to <xxx> will promote the selected files to the next higher level:

If you need to make changes to a revision of a file that is at a particular promotion level, for example to fix a bug reported by QA, you need to re-promote the fixed files through the relevant promotion levels.

The concept of Views and Promotion Levels can be difficult to grasp so are best described using examples. Real-world examples of how Views and Promotion Levels can be used can be found in the Scenarios section of this manual.

See also: Scenario 7

.topic 1093
It is sometimes necessary to remove files from a promotion level if, for example, they were added in error, or the files have been removed from development.

To demote file(s) from a level in the promotional hierarchy:

Select a promotion-level View that contains the files.
Select the relevant objects in Version Manager.
Select Action/Demote.

After confirmation, the selected files will be removed from all promotion levels.

  It is important to note that the file will be removed from all promotion levels and, if still needed for a particular build, will need to be re-promoted. If a file contains bugs and needs to be redeveloped, it is better to simply make the changes to the file at the <default> level and to re-promote the changes through the various levels.

.topic 1064
It is sometimes necessary to stop development of certain files. For example when a set of utility functions has reached a stable state, or when modification of a shared file could have an adverse effect on a number of projects. In this case, you can prevent checkout or locking of a file (and subsequent checking in of changes) by Freezing that file.

In order to freeze development of a file you need to be logged in as an Admin user. First of all, make sure that all the relevant files have been checked in and select the files you want to freeze. Choose Action/Other/Freeze from the main menu.

Once completed, it will no longer be possible for users to check out or lock the files.

Thawing files

To reverse the process, and to allow modification of the files, use the Thaw option.

.topic 1158
Team Coherence supports the concept of Web Folders through the WebDeploy.dll addin. This addin is installed in the client automatically.

Defining a folder as a Web Folder allows you to quickly publish the latest version of the files that are contained by the folder to a web server or another folder. You can define multiple destinations using either network shares or ftp.

Only users with Access rights to a folder can define the Web Folder and deploy the files. To define a folder as a Web Folder, right-click on the folder and select Action / Properties... from the main menu. If you have the correct access rights, an additional page will appear in the dialog:

The folder (and all its contents) will be deployed to the listed locations when the folder is selected and you choose Web/Deploy Folder... from the main menu. When deploying the files, Team Coherence will get the latest versions of the files to a temporary folder before deploying them.

Note that only users with Access rights to the folder will see this additional page in the Folder Properties dialog box.

If a folder has been defined as a Web Folder, it appears with a slightly different icon in Version Manager:

If you select this folder, the Web/Deploy Folder... menu option is enabled to allow users with the correct access to deploy the contents.

Note that this command is useful in many instances other than Web site deployment; for example, if you have a set of product specification .doc files that you want to publish to a public server.

.topic 415
Sharing files is a powerful method of promoting the reuse of objects. This chapter explains why you would want to do this, and the means of doing it.

Reason for Sharing Files
How to Share Files

.topic 1670
There are many situations where you may have some shared code that is used by several projects. The code may be utility routines or components, but exactly the same code is used in each project.

One way of handling this is to have a copy of the shared files in each project, but changes made to one copy of the file will not be reflected in the other copies. A far better method of sharing components is to have all projects share the same copy of the component archives. Thus, any changes will be reflected in all projects.

When defining your project structure in Team Coherence, it is good practice to create a single project that can be used to hold all shared files. When files or components that are likely to be shared by other projects are added to the repository, they should be added to this project (this can also be done retrospectively using drag-drop).

This is all very well, but what do you do when assigning Version Labels and carrying out other actions (for example getting the latest copy of the shared components). In this case, you would have to remember to assign the Version Labels being assigned to a project to the individual shared components it uses (that are contained in another project or folder). This is tedious and prone to errors.

To simplify this process and to associate the shared objects with any project or folder, Team Coherence supports the concept of Virtual Archives.

.topic 1680
Team Coherence supports the concept of Virtual Archives. A Virtual Archive is an archive that contains no information or revisions, but simply points to the actual archive. A Virtual Archive becomes part of the Project it is contained by, so can be viewed and acted upon as if it was part of that project. There can be any number of Virtual Archives pointing to the same archive and all changes to the Virtual Archive are applied to all other copies.

There are two ways to share a file in Team Coherence:

Copy & Paste

1) Select the files and/or folders you want to share and select Edit / Copy from the main menu. This copies the objects to the clipboard.

2) Select the folder that you want to place the shared files and select Edit / Paste from the main menu.

3) If you answer Yes to the confirmation prompt, new Virtual Archives will be placed in the selected folder.

Drag Drop

1) Select the objects you want to share in the Files pane and start dragging them.

2) As you are dragging the objects, press and hold down the Ctrl key.

3) Drop the objects on the folder where you want to place the shared files.

Shared files display using an extra icon ( ) to show that the file is shared.

The root of the share is displayed using an extra icon ( ) to show that the file is the root (original) copy of the file:

Selecting a shared file in the folder pane will display the details of the actual archive.

Now, when you baseline your project, or get the latest version, etc, it will include the shared file.

  Note that the Virtual Archive will use the default working path of the folder that contains it.

.topic 1690
A View is perhaps the most powerful tool available in Team Coherence when it comes to managing multiple versions of a project. At their simplest, Views allow you to filter which projects, files, and revisions are displayed in Version Manager.

Working with previous versions of a project then simply becomes a case of selecting a View. Once defined and selected, as far as the user is concerned they will be working on the latest version of the project. All branching, synchronizing, reassignment of Version Labels, etc are handled automatically by Team Coherence whether working through Version Manager, or your selected IDE interface.

In addition, if required, the default working path for the files in any View can be different for each View, or can be based on the <default> View.

Views are accessible via the toolbar in Version Manager:

The drop-down list provides access to all user and shared views. It always contains at least one entry, which is the <default> view. The <default> view cannot be modified as it is the view that displays all projects and all files and represents the most current line of development.

To create or modify a view select the Tools / Views... option from the menu to display the View Manager dialog:

This dialog lists all the defined views for the current user. To modify a View select it in the list and press the Modify... button. To add a new View, press the New button.

There are three types of View you can create:

Version
Promotion
Date

Shared Views are available to all users connected to a repository, however shared views can only be created by Admin users.

.topic 1974
When defining a View based on a Date, you are presented with a list of all Projects in the current repository and a calendar control to select the date. Defining the filter is simply a case of checking the projects to be included and the date you want to filter by:

Note that Views based on a Date are read-only.

Making a Project/Date View the current view will force Team Coherence to carry out all actions on the latest revision of the files visible on or before the selected date in the selected projects. When viewing files in Version Manager, only files that match the View settings will be displayed, and only revisions up to and including that Date will be displayed.

Additionally, all folder working paths are specific to that View. Changing the default working path for a folder while a view is active changes it only for that View. In this way, you can work on different versions of a project simultaneously by keeping the working source for each version in a different location.

When a Date based view is active, you cannot check in/out files or lock them.

For more information on Views, and working with multiple versions, check out the Scenarios section of this manual.

See also: Scenario 5 and Scenario 7

.topic 1700
When defining a View based on a Project/Version filter, you are presented with a list of all Projects in the current repository and all Version Labels that have been assigned to these projects. Defining the filter is simply a case of checking the projects to be included and which version of these projects to view:

Note that, with Views based on a Version Label, there is no requirement to select a Version Label. In this case, the filter will default to the tip revision of files in the selected projects.

Making a Project/Version View the current view will force Team Coherence to carry out all actions on that particular version of the files in the selected projects. When viewing files in Version Manager, only files that match the View settings will be displayed, and only revisions up to and including that Version Label will be displayed.

Additionally, all folder working paths are specific to that View. Changing the default working path for a folder while a view is active changes it only for that View. In this way, you can work on different versions of a project simultaneously by keeping the working source for each version in a different location.

When a view is active, check out actions will automatically insert the Version Label that the view is based on in the Check Out dialog box. When checking in modified files, the Version Label will be added to the Check In dialog box, and the Move existing version label to new revision checkbox will be checked to make sure that the new revision is included in the view.

  From version 7.1.2.98, Version Labels can be associated with a Branch Base Label to improve automatic branching functionality. If a Version Label with an associated Branch Base Label is used in a View, branching is automatically applied from the point where the Label and its associated Branch Base Label are attached to the same revision. This ensures that changes made to a previous version of the software do not overlap (i.e. where the relevant version of the file is both the version being modified and the current tip revision in the <development> View).

For more information on Views, and working with multiple versions, check out the Scenarios section of this manual.

  If a user selects a View based on a Version Label that they do not have Assign access to, the View will be read-only and the user will not be able to check files in or out.

See also: Scenario 5 and Scenario 7

.topic 1710
Views based on a Promotion Level are slightly different from that of a Project/Version filter in that Promotion Level views are read-only. This basically means that, when these views are active, you cannot check out or check in files.

Promotional views are used to view all files at a particular level in the promotional hierarchy. Users can get a read-only copy of all the files at a particular promotional level but cannot modify them.

Note that not all promotion levels will be visible to all users. For example, developers normally do not require access to the QA or Production levels and similarly, QA do not normally require access to the Testing level.

See also: Scenario 5 and Scenario 7

.topic 1720
There are many configurable options for Team Coherence. To display the Options dialog box, select Tools / Options... from the main menu.

The options dialog box is split into 10 sections:

General
Display Options
Difference Viewer
File Viewer
Notes Editor
Columns
Check In/Out
Other
Addins
Context Menu

.topic 1730
The general page allows you to define which panels are visible and the behavior of these panels:

Show the Folder panel - The folder panel gives a hierarchical view of the projects and folders in a repository and allows quick access to the Locked Files and Recycle Bin objects.

Show the Detail list - The detail list contains the pages that give additional information about the currently selected object(s).

Include New Files panel - If this is unchecked, the panel that displays the new files found in the folder working directory will not be displayed.

Show the Html detail Panel - This panel displays detailed information about the currently selected objects, in addition to a set of quick links for common actions.

Show 'Options' hyperlinks - this checkbox switches on and off the quick links available when certain objects are selected. These links are in an expandable 'Options' link.

Show a scrollbar in this panel - By default, the scrollbar is disabled for this panel. If you are working on a small screen, or simply want to be able to scroll through the details in this panel, check this box.

Click delay - As you navigate through the folder view and the file view, other panes need to be updated with details for the current selection. To avoid unnecessary refreshing of these detail panes a delay is introduced so that the linked details are only updated when required. The delay is in milliseconds.

Drag Delay - When dragging objects over the folder view the desired folder may not be expanded or visible. This is the delay that you must hover over the folder in order for it to expand. The delay is in milliseconds.

.topic 1740
Display options control how information is displayed in Version Manager.

Version Manager has the ability to display out of date and modified files in a different color. You can specify the colors to use for the various states by double-clicking on the relevant text.

Use Color - If this is checked, Version Manager will display the status of files in the colours specified above.

Highlight Folders containing Out of Date files - If this option is checked, the colour highlighting will be extended to Folders where any of the folders contain Out of Date files. Note, though, that this can affect performance.

Date Format – Enter the date format to use when displaying dates. This is a display option and does not affect the way dates are stored.

.topic 1750
This page allows you define an external viewer to view differences

The Difference Viewer page allows you to integrate your own difference viewer with Team Coherence. If you are not using the internal difference viewer, and the one you are using supports command-line parameters, you can enter the details in the following fields:

Program – This specified the full path to the executable of the external difference viewer.

Parameters – Enter the command-line parameters to use when calling the viewer. The $LF, $LD, $RF, $RD keywords will be expanded with the relevant information when the difference viewer is displayed.

Not all file types can be viewed by the same difference viewer. For example, the bundled difference viewer that comes with Team Coherence can only be used to compare text files. If you want to use a different Difference Viewer for other file types, you can do so in the section below the main one.

.topic 1760
This page allows you to define which file extensions will be edited by the internal viewer.

By default, the internal viewer supplied with Team Coherence is used when viewing certain file types. The internal viewer provides a simple editor with syntax highlighting for certain file types.

If you have another editor you would like to use for the selected file types, enter the details in the Application and Parameters edit boxes.

The $FILE and $CAPT keywords, if present in the parameters field, will be expanded with the relevant information when the editor is displayed.

To specify which files will be viewed by the internal editor, enter the file extensions of the file types, separated by a semicolon, in the list provided.

All other file types will be viewed and edited by the associated application for that particular file type as defined in Windows.

.topic 1770
By default, Team Coherence uses the built-in editor for editing notes associated with objects. The notes viewer has the ability to display basic HTML or plain text.

If you would rather use a different editor, enter the details in the Application and Parameters edit boxes.

The $FILE and $CAPT keywords, if present in the parameters field, will be expanded with the relevant information when the editor is displayed.

.topic 1780
This page allows you to select which fields are displayed in the relevant lists in Version Manager:

Checked fields will be displayed. If you want to change the order of these fields, or their widths, this can be done by dragging and dropping columns in the relevant view pane.

.topic 1966
This page displays options relating to checking files in and out:

Update the status of local files when Locking/Unlocking - By default, when locking or unlocking files, Team Coherence will change the attributes of the local file to reflect the locked status. If you do not want this to happen, uncheck this entry. Note that this option does not affect Checkin or Checkout.

Show Checkout dialog when using 'Work With' link - By default, when clicking on the Work With link, Team Coherence display the Checkout dialog box if the file is not already locked by you. If this option is unchecked, Team Coherence will automatically checkout any files that are not already checked out without displaying this dialog.

Show Get dialog when using 'Open' link - By default, when clicking on the Open link, Team Coherence display the Get dialog box before getting the latest version from the server. If this option is unchecked, Team Coherence will Get the latest version of the file from the server, unless it is already locked by you, without displaying this dialog.

Force binary compare on Check in - By default, Version Manager uses a CRC32 calculation to determine whether a file has changed when carrying out certain actions. This enables data transfer between the client and server to be minimized. In some (rare) cases, it is possible that a modified file can have the same CRC as the original. If this occurs, Check this box to force a binary compare when Version Manager needs to find out whether files have changed.

Use matched open/close comments in $Log: - If this option is checked, matched comment pairs will be used when entering the $Log: comments in the source files. Certain editors do not like unmatched comment characters.

Ignore null characters during Keyword Expansion - During keyword expansion on specified file types, the null character (#0) is treated as the end-of-file character. Certain editors can insert null characters in the middle of file streams and these are treated normally by the editor. Checking this option causes Team Coherence to treat nulls in the middle of files as simply another character.

Pre-check files on Checkin - If checked, this option will double-check which files are locked by you before displaying the Checkin dialog box. This means that the Checkin dialog box will only list those files that are locked by you and will improve performance of the actual checkin process. If unchecked, all files selected will be included, whether or not they are locked.

Respect lock context for shared files during CheckIn - When shared files are checked out, they are marked as such for all shared copies. If you check in a file that has been checked out from within another share, the file will be checked in regardless of which context it was checked out under. If you check this option, only shared files checked out within the context of the current checkin context will be checked in.

.topic 1790
This page is used for options that don't fit into any of the other categories:

Show the Status dialog if all actions are successful - After all actions the status dialog is normally displayed, whether or not all the actions were successful. If you don't want this dialog box to be displayed if all actions are successful, uncheck this box.

Perform background checks for changes - By default, Version Manager queries the server periodically to determine whether the status of any files has been changed by another user. This is done in a background thread but, if you don't want this action to happen, uncheck this option.

Remember last Username when prompted for login - By default, Team Coherence remembers the username you used the last time you logged in. To prevent this name from being used for subsequent logins, uncheck this box.

Allow multiple Instances of Team Coherence - By default, Team Coherence only allows one instance of the main application to run at a time. If this option is checked, you can run multiple instances at the same time. This can be useful, combined with Command-line options, to allow you to create desktop icons for your most frequently used repositories, etc.

Include Modified (not locked) files when Synchronizing - By default, Synchronize with View gets the latest versions of files that are marked as Out of Date or Missing. If this option is checked, Synchronize will also get the latest versions of files that are marked as modified locally as long as they are not checked out to you or writable on-disk.

Double-click to Open File in List - If this option is checked, double-clicking on a file in the file list will cause Team Coherence to perform a Get on the latest version (if it is not already checked out) of the file and to open it in the associated editor. If this option is not checked, the File Properties will be displayed.

Show Select Files Dialog when performing a Synchronize - If this option is checked (default), a dialog listing all the files about to be Synchronized will be displayed before the action occurs. This allows you to uncheck the files you don't want to include. If this option is unchecked, then the Synchronize action will continue without confirmation.

Prefix keyword expansion with the following string - If you enter a string here, it will be used as a prefix to the text inserted into keywords when they are expanded. This allows you a degree of formatting for keywords.

.topic 1152
This page allows you to integrate third-party addins with Team Coherence.

Team Coherence supports the addition of client-side addins as well as server-side addins. Addins can extend the functionality of Version Manager, including the standard dialogs, and also supports various trigger functions. For sample addins, including source code, visit our web site.

.topic 1967
This page allows you to select the items you want to see in the Context (right-click) menu.

In order to allow you to reduce the context menu items to those most frequently used, you can select which items you want displayed. This only affects the context (right-click) menu and all items will still be available in the Action menu.

.topic 416
A Promotional Model is a definition of the steps that a project or group of files need to go through to be considered ready for production.

This section discusses how you can use Promotional Modelling to better organise the development lifecycle.

Promotion Levels
Defining Promotion Levels

.topic 1800
A Promotional Model is a definition of the steps that a project or group of files need to go through to be considered ready for production.

When developing software, particularly when multiple projects/versions are involved, it can be quite difficult to define which stage a particular release of a product is at. In particular, when many people are involved, the whole exercise can be quite daunting. Using a combination of Promotion Levels and Views, it is possible to control this process and simplify the development/testing of any project.

Put simply, Promotion Levels define the stages that your software goes through before it can be released to the public. A typical example would be:

Development – developers work on the software
Testing – The software goes through initial testing
QA – the software goes through the QA process
Production – The software is considered safe to be released

In Team Coherence, there is no need for the Development level as this is defined in the default <default> View.

Obviously, developers are not going to stop development of the software while it is tested. Similarly, the QA process can't start until the Testing process is completed. Without a promotional model, this process can cause bottlenecks and confusion.

This kind of scenario can be handled using Version Labels, but there is huge scope for error since there is no simple method of guaranteeing that a particular department is working with the correct version of the software, especially since the development process is continuing.

Defining Promotion Levels allows you to define, independently of the main development stream, how your project progresses through the various stages. In a simple scenario, if we take the above stages:

Developers would work using the default view. When happy with the files they are working on, they would assign a Version Label to the files and promote the files to the first stage, Testing, and carry on working.

Testers would select a View based on the Testing promotion level, and test the software. Any bugs found would be reported to the developers who would fix the problem and re-promote the fixes to the Testing level. Once the testers were happy with the results of their tests, they would promote the files at the Testing level to the QA level.

QA would then run their tests on the project and if problems occur the files will be fixed in the <default> level and re-promoted. When happy, QA would promote the final product to Production.

Since Views based on Promotion Levels are read-only, the only way fixes can be applied to any promotion level is to go back to the initial stage and re-promote the problem files through the various stages again.

This ensures that, at the final promotion level, all files have progressed through all the defined stages in development.

.topic 1810
To define promotion levels you must be an ADMIN user. Select Tools/Promotion Levels… from the main menu:

Promotion Levels are defined on a repository basis. If you want to use different Promotion Levels for different projects, you should put each project in a different repository.

Promotion Levels are listed from the first stage to the last. There is no need to define a Development level as all revisions in a non-Promotion Level view are considered to be under development.

You can use the Move Up and Move Down buttons to re-organize existing levels.

To create a new level or edit an existing one click the New or Modify buttons. This will display the Promotion Level editor:

Enter a name and a description for this level. The description is used, when promoting files, to give the user more information.

In this dialog, there is another page called Security. Security is particularly important as it allows you to define who is allowed to promote to this particular level, and who is able to create a view based on this level:

In general, a user should be able to configure a view at the level they work at and should be able to promote to the next higher level. For example, assuming you had defined user groups around the promotion levels above:

Production
QA Department
Testers
Developers

1)	Developers should not be allowed to view any promotion levels but should be able to promote to Testing

2)	Testers should be able to view based on the Testing promotion level and to promote only to the QA level

3)	The QA Department should be able to view based on the QA promotion level and promote only to the Production level.

Obviously these are only guidelines, but illustrate how the security levels can enforce rules based on the promotional hierarchy you define.

See also: Scenario 7

.topic 7
One of the first things to do before defining security is to group users into logical groups according to their function. User management in Team Coherence is carried out using the User Manager dialog. This is accessible to ADMIN users by selecting Tools/User Manager…:

This dialog is split into two pages Users (above) and Groups. The Users page lists all users defined for the current repository as well as the groups they belong to. To modify an existing User, select the user and click the Properties button. To add a user, click the New button. This displays the User Properties dialog box:

The Name property is the name that the user logs in under. In addition, a valid password is required. If you change the password for a user, they will need to enter the new password the next time they log in.

The Groups page of the User Manager allows you to organize users into logical groups based on their function:

Groups can contain other groups as well as users, so care is required when defining the members of a group. To modify an existing group, select the group and click the Properties button. To create a new group and assign users to it, click on the New button:

To add and remove members of a group, click the Select button. This displays the Select Users dialog that is also used elsewhere in Team Coherence when defining security:

To add a user or group to the group, select the item in the upper list and click the Add button. To remove an item, select the item in the lower list and click the Remove button. If you are adding a group, Team Coherence will check for recursion (i.e. Group1 containing Group2 containing Group1) and will disallow the action.

When you have finished selecting the members of the group, press the OK button to save your changes.

.topic 1820
The main security settings in Team Coherence are on Projects and Folders. Modifying security settings at the Project level applies these settings to all sub-folders. Similarly modifying security settings at the Folder level applies these settings to the Folder and its sub folders.

To define security settings for an entire Project, including its sub folders, select the project in Version Manager and select Action/Properties… to display the Project Properties dialog box:

If the options in this page are grayed out, including the checkbox, you don't have Access privileges for this Project.

Access – users granted Access rights to a project are allowed to define access rights in the fields of this dialog for this project only.

Modify – users granted Modify rights to a project are allowed to modify the Name and default working path of this project and its sub folders.

Check In/Out – users granted Check In/Out access are allowed to check in and out any files in this project or its sub folders.

View - only users granted View access can access this project in any way. The access they are granted depends on the settings above.

When you press the OK button, these settings will be applied to all sub folders in this project.

To override the Project settings, you can define access levels for individual folders. Access to Folder security settings is via the Properties dialog for the folder. To access this dialog, select the folder in Version Manager and select Action/Properties… from the main menu:

If the options in this page are grayed out, you don't have Access privileges for this folder.

Access – users granted Access rights to a project are allowed to define access rights in the fields of this dialog for this folder and its sub folders*.

Modify Folders – users granted Modify Folder rights to a folder are allowed to modify the name and default working path of this folder and its sub folders*.

Check In/Out – users granted Check In/Out rights are allowed to check in and out any files in this folder or its sub folders*.

Other users are only allowed Get access to this folder.

* If you check the Apply changes to security settings to all subfolders checkbox (default), all security settings will be applied to subfolders of this folder. If it is not checked, the changes only apply to this folder.

When you press the OK button, these settings will be applied.

.topic 1830
A file group is a set of files that have the same name, but different extensions, and can be thought of as a logical entity. An example of this would be the Delphi pas/dfm pair: the source unit will not compile without the form unit being present, and vice versa. In this situation, it makes sense to treat the two files as a single entity rather than have to remember that the link exists.

By default, Team Coherence configures standard file groups for Delphi and C++Builder. If you are an Admin user, you can add or remove groups or change the definition of existing groups by selecting Tools / File Groups... from the main menu:

The Header button allows you to define a header to be added to the top of any files defined in the File Groups listed.

To modify a file group, select it and click the Modify... button. To add a new grouping, click the New... button:

The File Group editor allows you to specify a name for the group and the extensions that group contains:

Name – This is the name of the group and will be used when displaying the file in Version Manager.

Include Extensions – These are the extensions of the files to include in the grouping. The first extension will be the primary extension and the rest should be added, separated by semicolons with no spaces.

Expand keywords in files with the following extensions – List the extensions where you will allow keyword expansion. If you have defined a Header in the File Groups dialog, the header will be added to files with these extensions. Also, when checking in files, Team Coherence will search for keywords in these files and expand them with the relevant details.

Open Comment, Close Comment – Enter the comment characters that Team Coherence can use when embedding text in your files.

  Note:  If you are using a development tool that doesn't support block comments (for example Visual Basic), leave the Close Comment field blank.

.topic 1840
This section will use scenarios to describe, through real-world examples, how Team Coherence can be used to manage the development process.

Rather than use a completely imaginary company, we will use MCN Software as an example. After all, who has been using Team Coherence the longest? The members of the team, and some of the projects, will be imaginary but otherwise we will be using our real archives.

.topic 1850
MCN Software (MCN) is a small, but expanding, company and has three developers working on a number of projects for several different clients. They also have a core product, called Team Coherence, that they actively sell and maintain, and a freeware product called GP-Install, which was originally created by one of their developers for internal use.

In addition to the developers, there is one person responsible for the QA process, and another for documentation.

Team Coherence has been under version control for a number of years but GP-Install is not yet archived. GP-Install is becoming very popular and maintenance is now becoming an issue. To allow GP-Install to be maintained by several developers it has been decided to add it to the Product repository.

Client code is maintained in a separate Client repository. The decision to maintain multiple clients in a single repository was made because MCN use a set of common source files to provide certain basic functionality that is used by all the client projects.

.topic 1860
The following scenarios are designed to give an overview of common situations when using Team Coherence. In most cases, Version Manager will be used but many of the tasks listed can be achieved from within the respective IDE interface.

Adding a new Project to Team Coherence
Refreshing and checking out Files
Checking in Files
Baselining a Project
Bugfixing a Previous Version
Applying Bug Fixes to the Current Version
Using Promotion Levels

.topic 1870
MCN produces an install builder application called GP-Install. GP-Install was originally developed for internal use, but has now been released as freeware to gain the company more exposure. Ewan, the developer of Team Coherence has not had to maintain previous versions of GP-Install, and has done all the development himself. It has been decided to split the workload for GP-Install amongst all developers so it now has to be added to Team Coherence.

MCN has a Product repository used for the maintenance of internal tools and products and Ewan has been asked to use that repository for GP-Install. As GP-Install was written in Delphi, Ewan decides that the easiest way to archive it is to use the Delphi interface.

He starts up Delphi in the usual way and opens the GP-Install project in the IDE.

He is now ready to add GP-Install to Team Coherence. Since this project has not yet been archived, most of the IDE interface menu options and buttons are disabled. He selects Workgroups/Add Project to Version Control from the main menu.

He is presented with the check in dialog box, and enters some comments to indicate the status of the files. As he needs to make some changes to the files he elects to check the Leave it Locked radio button on the Options page of this dialog. Once he has reviewed his settings, he presses the OK button to add the files.

Team Coherence processes all the files and presents the Status Dialog so that Ewan can correct any problems that might have occurred. There were no problems, so he presses the OK button to return to Delphi. As a check to make sure all the files were checked in, he starts up Version Manager by selecting Workgroups / Team Coherence from the IDE menu and checks that the project is archived and that he still has a lock on the files he just added.

.topic 1880
Alan, a developer at MCN, has been tasked with making a minor change to one of the forms used by GP-Install. He has never seen the source for GP-Install before, and doesn't have a copy of it on his PC. He decides to get a copy of the source to review it before making any changes.

Alan starts up Version Manager and looks for the GP-Install project. He selects it and has a look at its folder properties to check the default working directory. He decides that he doesn't want to use the default folder as it clashes with the source of another project he has been tinkering with. He enters a new path in the User field as he knows that this won't affect the settings of other users. This path will now be the default working path whenever Alan works with this project.

He is now ready to get a copy of the project. He selects the project in the left hand pane and selects Action/Get… from the main menu. The Get Files dialog box is displayed. He wants the latest version of the files so he leaves the Revision and Version boxes blank and presses the OK button.

Team Coherence processes all the files and presents the Status dialog so that Alan can correct any problems that might have occurred. There were no problems, so he presses the OK button to return to Version Manager. He looks in the folder that he told Team Coherence to use and, sure enough, the source is now there.

He starts up Delphi and opens the GP-Install project. He notices that the files are marked as read-only in the editor. He needs to make changes to the InstGlobal.pas file to fix a problem with displaying of file sizes so he opens the file in the Delphi editor. The file is read-only so he needs to check it out before modifying it. Before checking it out, he decides to view the status of the file so he selects Workgroups / Properties... from the IDE menu. He notices, in the Archive Properties dialog box, that someone has locked the file. He double-clicks on the locked revision and the Revision Properties dialog box is displayed. This tells him that the file is currently locked by Ewan. He closes the dialog boxes to return to the editor.

He knows that this repository supports parallel development so he selects Workgroups / Checkout... from the IDE menu. This displays the Check Out dialog box. He wants the latest version of the files so he leaves the Revision and Version boxes blank. He decides to enter some Lock Comments so that other users can see the reason he has it locked, and presses the OK button.

Team Coherence checks out the file and refreshes the file in the Delphi editor. The file is now writable so Alan can make the modifications he requires.

.topic 1890
Alan has had to check out several more files to make the changes he needed. He is now ready to check in his changes. Before doing so, he builds his project to make sure that it compiles correctly and he hasn't introduced any new bugs. He is satisfied that the code he is checking in is OK.

Alan has forgotten which files he has checked out so he decides to check everything in via Version Manager. He starts up Version Manager and selects the Locked Files view. Team Coherence locates all the checked out files and displays them in a list, grouped by user. He selects Alan and displays the files he has locked.

Before checking in the files, he decides to review his changes. He selects each file in turn to display the files locked revision, and right-clicks on the revision. He selects Difference/<filename> from the displayed popup menu to view the difference report for each file.

He is now happy with his changes and selects the project in the left hand pane. He selects Action / Checkin... from the main menu, enters some comments in the Check in dialog box, and presses the OK button to check the files in. Team Coherence checks the locked files in and presents the status dialog to show any errors that might have occurred. Everything checked in without a problem so he presses the OK button.

.topic 1900
Many users are now using GP-Install and, although it is free, it has been decided that each new release will be marked with a different Version Label. In addition, a tailored version is now being sold to several customers. Development of the free version has been stopped, apart from bug fixes, while the current release is still under development.

Joanne has made the changes for the commercial version to a local copy of the code, but has not checked her changes back in yet. The current archived code is still the code used in the free product. Before checking in the code for the commercial version, she decides that it would be a good idea to mark the current free version code with a Version Label to distinguish it from the commercial version.

She decides that the existing, free, code should be marked with the LITE version label. She selects the GP-Install project in Version Manager and selects Action/Version Label… from the main menu. The Version Label dialog box is displayed. She is creating a new label so she presses the ellipsis (...) next to the Version field and creates a new Version Label. This label is automatically selected in the Version Label dialog box and, when she presses the OK button, Team Coherence attaches the LITE Version Label to the latest (tip) revision of all the files in the GP-Install project. Once it is complete, the status dialog is displayed.

Joanne's heart sinks. She realizes that she has already checked in one of the files, and it contains code specific to the commercial release. The file is InstGlobal.pas and contains code that would add too much extra functionality to the LITE version. She knows that she has been the only one working on the commercial release of GP-Install so decides to move the Version Label that has been attached to the InstGlobal.pas file back to the revision that should be included in the LITE version.

She selects the InstGlobal.pas file in the File pane to display its revisions in the Detail pane and sees that the tip revision has been marked with the version label. She is pretty sure that the previous revision is the one that should have the label attached to it so she selects the previous revision and uses the difference viewer to verify that the changes are in the tip revision. Satisfied, she selects the revision with the LITE version label and selects Action/Remove Version Label… from the main menu and enters LITE in the version edit box. She notices that the description for that label is displayed in the Comments box, and presses OK to remove the label.

The label is removed OK, so she selects the revision that the label should have been attached to and selects Action/Version Label… from the main menu. The Version Label dialog box is displayed and she selects LITE from the Version Label drop down list. When she presses the OK button, Team Coherence attaches the Version Label to the selected revision.

Happy, now that the LITE version has been correctly versioned, she checks in the commercial version.

.topic 1910
A fairly serious bug has been reported in the free version, but nobody has yet reported it in the commercial version. Ewan has been tasked with fixing the bug and, if appropriate, applying the fix to the release version.

Knowing that the free version has been marked with the LITE version label, he starts up Version Manager and selects Tools / Views... to display the View Manager dialog box. He clicks on the New... button to create a view based on the LITE version label. The View Properties dialog is displayed and he selects GP-Install in the list of projects, and the LITE version label. He names the view GP-Install LITE, and then presses OK to save the new view, and closes the View Manager.

He selects the view from the drop down list of views to make it current, and browses the folders and files in the GP-Install project to make sure that the view is filtering correctly. Satisfied, he does a refresh on the project to make sure that his local files are those used in the LITE version.

He starts Delphi and opens up the GP-Install project. He does some investigation of the source to determine the location in code where he needs to make the change. Although it is a major bug, the fix is pretty simple, and located in the InstClasses.pas file. He decides to check out the file and make the fix, so he opens the InstClasses.pas file in the Delphi editor and selects Workgroups / Checkout... from the Delphi IDE menu. The check out dialog box is displayed and he notices that the LITE version label has already been placed in the Version edit box. He presses the OK button and the LITE version of the file is checked out and updated in the editor.

He fixes the bug and tests the results of the fix to make sure that he hasn't broken anything by making the fix. Satisfied, he selects Workgroups / Checkin... from the Delphi IDE menu. The check in dialog box is displayed and he notices, again, that the LITE version label has already been added to the Version edit box, and that the Move existing version label to new revision checkbox has also been checked. Happy, he presses the OK button and Team Coherence checks in the file and displays the status dialog box.

He notices that the status dialog box has highlighted the file InstClasses.pas with a warning: A new branch revision was created. He presses the OK button to return to Delphi. Curious, and to check that this is indeed what he wanted to do, he opens Version Manager and selects the file to display the revisions. At the tip revision he sees the new, branched, revision with a Version Label attached. He double clicks the revision to see its properties and notes that the LITE version label has been moved to the new revision.

As another check, he selects the <default> view from the list of views and selects the file again. This time the branched revision is no longer the tip revision but that the tip revision is now the current working revision of the commercial tool.

He decides that this is pretty cool and goes for a beer.

.topic 1920
A couple of weeks after the fix has been applied to the LITE version, an existing client reports a similar problem. Joanne is tasked with investigating this bug. She remembers that this had been reported in the LITE version and asks Ewan if he remembers what files he changed to fix the bug. He tells her that it was in the InstClasses.pas file.

Joanne starts Version Manager and makes sure that she is using the <default> view. She locates the file in Version Manager and selects it to display the revisions for the file. She sees the Version Label attached to a previous revision and double-clicks the revision to show its properties. It is the LITE version.

She selects the tip revision, which is the one for the current version of the commercial release, and checks it out so she can make the necessary changes. She then selects the revision that has the LITE version label attached to it. She selects Action/Differences/InstClasses.pas from the main menu to display the difference viewer.

There have been a number of changes to the commercial release of the file so she scrolls down the difference display to locate the changes that Ewan made to fix the bug. Luckily he had commented the changes he made, so locating the changes is pretty easy. She selects the lines of code that make up the changes in the left-hand pane and right clicks to display the context menu. She selects Copy Right> to copy the changes to the working file.

Happy that she has applied the correct changes, she shuts down the difference viewer and saves the changes in the process. She decides to test the changes by recompiling the project in Delphi and, happy that the commercial version has been fixed in the same way as the LITE version, she checks in the InstClasses.pas file.

.topic 1930
Management has decided that now GP-Install is being released commercially, it should go through some standard processes, similar to the ones used in the Client projects. Ewan, as the development coordinator, has been tasked with setting up and testing these processes.

Ewan defines two promotion levels, QA and Production. In future, only code that has reached the Production level will be included in external builds (i.e. those destined for clients). He has configured the security for each promotion level as followed:

QA level
Only users in the Development group can promote to this level.
Only users in the QA group can view this level.

Production level
Only users in the QA group can promote to this level
Only Ewan can view this group

This will be the first time that the QA department have reviewed GP-Install as it had been tested and built by the developers themselves. To put it to the test, Ewan decides that a new build should be created for existing clients.

Ewan, as he is a member of the development group, decides to promote the latest version of the project to the QA level. Before doing so, and so that he can always go back to that version in the future, he attaches the current build number 5.0.2.57 as a Version Label to the entire project. He also defines a view, based on that version label, and makes it current in Version Manager.

He selects the GP-Install project and selects Action/Promote to 'QA' from the main menu. The promotion criteria dialog box is displayed to allow him to check the criteria to be used for this action. He reviews the information and presses the OK button to promote all the files at version 5.0.2.57 to the QA promotion level. He then informs the QA department that they can now begin testing GP-Install.

Christine is a member of the QA department and is asked to test GP-Install. She starts up Version Manager and defines a view based on the QA promotion level. She selects that view to make it current and does a Get on the GP-Install project to get a local copy of all the files at the QA promotion level. She does a build using these files and begins testing.

Christine's testing uncovers quite a few User Interface problems, which must be fixed before the product is re-released. She compiles the list of problems using TCTracker and informs the development team of their existence.

Joanne is tasked with fixing the problems and begins work on the changes. The changes take a couple of days and during that time Christine uncovers more problems. Alan is called in to help with the changes. As Alan and Joanne make the fixes, they promote the individual, fixed files, to the QA promotion level by selecting them in Version Manager and selecting Action/Promote to 'QA' from the main menu.

After a further couple of days, Alan and Joanne are happy they have fixed all reported problems and inform Ewan that this is the case. Ewan tells the QA department that they can re-test the files at the QA promotion level.

Christine opens Version Manager, selects the view based on the QA promotion level and refreshes the GP-Install project. She rebuilds the project and carries out more tests. Joanne and Alan have been working very hard and Christine's testing confirms that the problems she reported have been fixed.

Christine's testing does not uncover any more problems and she is now happy that the code is now in a fit state to be released to the clients. She starts up Version Manager and makes sure that the view she defined, based on the QA promotion level, is current. She right clicks on the GP-Install project and selects Promote to 'Production' from the popup menu. The promotion criteria dialog box is displayed and she presses the OK button to promote the files to production. She informs Ewan that this has been done.

Ewan starts Version Manager, defines a new view based on the Production promotion level, and makes it current. He knows that all files at this level have been passed by QA and are deemed ready for production. He does a refresh to get the revisions of the files that make up the Production level, and does a build. The new release of GP-Install is packaged and sent to the existing clients.

.topic 417

.topic 1964
This dialog box is displayed when you perform a Synchronize action on the selected objects. By default all out-of-date and missing files are checked. Uncheck any files you do not want to be synchronized.

  Click What's This? Help in the dialog box for field definitions.

.topic 1000
This dialog box is displayed when you assign Version Labels to the selected objects.

The General page allows you to select the Version Label to assign or, by pressing the button with the ellipsis, to create a new version before assigning it.

If you have version 7.2.0.30 or later of the server, a page called Options will also be available. This allows you to assign version labels to revisions based on a specific date.

  Click What's This? Help in the dialog box for field definitions.

See also: Baselining

.topic 1001
This dialog is displayed when you select Tools / Change password... from the main menu in Version Manager.

To change your password, enter your new password in the two edit boxes and press the OK button. If you were added to Team Coherence as a new user, your initial password will be set to password. Obviously, one of the first things you should do after starting Team Coherence for the first time is change your password.

  Click What's This? Help in the dialog box for field definitions.

See also: Users and Groups

.topic 1002
The check-in dialog box is displayed prior to checking in files and adding files. You can use this dialog to add comments to the file as it is checked in and to assign a Version Label to the files that are checked in.

If you check the Prompt for comments for each file checkbox, Team Coherence will prompt you to enter comments for each file as it is checked in. When you enter these comments, you will also be able to display the changes made to the file.

The Options page of the dialog box gives you control over what happens to the local work-file once the file is actually checked in, and what to do when the file hasn't changed since it was last checked out.

If you have the TC Tracker addin installed, there will also be another page displayed to allow you to associate issues with the files you are checking in.

If you want to show the changes in files being checked in, select the Files tab and use the Differences button, or right-click in the file list for the popup menu.

  Click What's This? Help in the dialog box for field definitions.

   Views: Views can be used to make the maintenance of previous versions of your projects easier. By setting a View on a previous version of your software, Team Coherence will automatically handle all necessary branching and make sure the Version Label is moved when files are checked in.

See also: Check-in Modified Files

.topic 1003
The check-out dialog box is displayed prior to checking out files for modification. By default, the latest revision of the file is checked out, but you can select a specific Revision or Version to check out instead. If the objects you are checking out have a common root folder, you can also specify where the files will be checked out to.

By default, when checking out or refreshing files, Team Coherence will not overwrite existing files that are writable. If you would like to overwrite any files that are writable, check the option in this dialog, but be careful with this option.

If you have the TC Tracker addin installed, there will also be another page displayed to allow you to associate issues with the files you are checking out.

   Click What's This? Help in the dialog box for field definitions.

  Views: Views can be used to make the maintenance of previous versions of your projects easier. By setting a View on a previous version of your software, Team Coherence will automatically handle all necessary branching and make sure the Version Label is moved when files are checked back in.

See also: Check-out Files to be Modified, Get

.topic 1004
This dialog is displayed when you modify File Group properties. Use this dialog to define the files that are contained within a particular grouping and whether keywords are expanded.

Name – This is the name of the group and will be used when displaying the file in Version Manager.

Include Extensions – These are the extensions of the files to include in the grouping. The first extension will be the primary extension and the rest should be added, separated by semicolons with no spaces.

Expand keywords in files with the following extensions – List the extensions where you will allow keyword expansion. If you have defined a Header in the File Groups dialog, the header will be added to files with these extensions. Also, when checking in files, Team Coherence will search for keywords in these files and expand them with the relevant details.

Open Comment, Close Comment – Enter the comment characters that Team Coherence can use when embedding text in your files.

  Note:  If you are using a development tool that doesn't support block comments (for example Visual Basic), leave the Close Comment field blank.

   Click What's This? Help in the dialog box for field definitions.

.topic 1005
This dialog is displayed when you select Tools / File Groups... from the main menu. It lists the currently defined File Groups and allows you to add, modify, and delete groupings.

This dialog is only available to Admin users.

   Click What's This? Help in the dialog box for field definitions.

.topic 1006
The Archive Property Sheet allows you to view the basic properties of a File Archive, including the revisions and Version Labels associated with it. To access this property sheet:

1. Select the File in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

   Click What's This? Help in the dialog box for field definitions.

The first page displays information about the local file. The second page displays the revision history for the file. You can display revision properties by double-clicking on a revision. A context menu is available on the revisions page that gives you access to the Difference Report for comparing revisions.

If you have the TC Tracker addin installed, there will also be another page showing the issues associated with this archive. You can associate new issues with this file, remove the associations, or select individual Issues and modify their properties.

Note: If  Store only Latest Revision  is checked, only the file for the latest revision will be stored. The Revision information will be maintained, but it will no longer be possible to retrieve the file associated with anything but the tip revision. This can be useful for large binary files where you do not need access to older versions, or where you simply want to track who changed what.

.topic 1007
The Folder Property Sheet allows you to modify the basic properties and security attributes of a Folder. To access this property sheet:

1. Select the Folder in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

   Click What's This? Help in the dialog box for field definitions.

The Name property of the Folder is the name that is used in Version Manager when displaying this folder.

The Default Working Path is the default path for the files stored in this folder to be checked out to. If a User Working Path is defined, this overrides the default path.

The security page allows you to define which users and groups are allowed to modify the properties of the folder, and also who is allowed to modify the files stored within the folder.

If you have made any modifications to the fields in this dialog box, you will be prompted before the changes are applied.

  Views: When using Views , each View of the project can have a different User Working Path.

.topic 1008
This dialog is displayed when you modify a Group in the User Manager. Use this dialog to define the users and groups that this group contains.

   Click What's This? Help in the dialog box for field definitions.

.topic 1009
This dialog is displayed when you press the Header button in the File Groups dialog box.  The text entered here will be inserted, as a comment block, at the top of each file type with Keyword Expansion enabled (see File Groups).

The characters used for the comment block will be determined from the File Group settings..

   Click What's This? Help in the dialog box for field definitions.

.topic 1010
The Login Dialog box is displayed when you first log in to Team Coherence. By default, Team Coherence remembers your Username and Password for subsequent logins.

To change the username you use to login to Team Coherence, select Tools / Login as Different User... from the Version Manager main menu.

If you are logging into Team Coherence for the first time after installation, or when logging in to a new repository, use the following details:

    Username: supervisor
    Password: password

This gives you full access to the repository and allows you to create new users and change the default passwords.

   Click What's This? Help in the dialog box for field definitions.

  By default, there is one user created when Team Coherence is first installed. This user has full access to all functions. The username is supervisor with the default password of password. This user cannot be deleted, but it is advisable to change the password as soon as possible to prevent unauthorised modification of your files.

.topic 1011
The Promotion Level Property Sheet allows you to modify the basic properties and security attributes of a Promotion Level To access this property sheet:

1. Startup Version Manager
2. Select Tools / Promotion Levels... from the main menu
3. Select a Promotion Level
4. Click on the Modify button

   Click What's This? Help in the dialog box for field definitions.

The security page of this dialog is used to define who can promote files to this level and who is allowed to view the files at this promotion level.

If a user doesn't have view rights to a promotion level, they cannot set a View based on this level. Similarly, if a user doesn't have permissions to promote to a particular promotion level, the menu option won't appear in the context menus.

See also: Defining Promotion Levels

.topic 1012
This dialog is displayed when you modify a Version Label. Use this dialog to enter a descriptive name and description for this Version Label.

Label Root - Setting this field will associate the label with an existing Project to reduce its scope.

Branch Base Label - Selecting a Branch Base label modifies the behaviour of this label to create an auto-branching label. For more information, see Version Labels.

   Click What's This? Help in the dialog box for field definitions.

.topic 1013
The View Property Sheet allows you to modify the basic properties View. To access this property sheet:

1. Startup Version Manager
2. Select Tools / Views... from the main menu
3. Select a View
4. Click on the Modify button

  Click What's This? Help in the dialog box for field definitions.

There are two types of View:

Project/Version views allow you to view the files and revisions involved in a particular version of the projects, or to limit what is seen in Version Manager to specific projects. These Views are not read-only in that you can check files in/out from within these views.

Promotion Level views are used to allow promotion of files from one level to the next. Since files should not be modified in these views, the view will be read-only.

See also: Using Views

.topic 1014
This dialog is displayed when you are creating a new folder. To create a new folder, select an existing Project or Folder and select Action / New / Folder... from the main menu.

  Click What's This? Help in the dialog box for field definitions.

.topic 1015
The Project Property Sheet allows you to modify the basic properties and security attributes of a project. To access this property sheet:

1. Select the Project in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

  Click What's This? Help in the dialog box for field definitions.

The Name property of the project is the name that is used in Version Manager when displaying this project.

The security page allows you to define which users and groups are allowed to modify the properties of the project, and also who is allowed to modify the files stored within the project. If you have made any modifications to the fields in this dialog box, you will be prompted before the changes are applied.

.topic 1016
This dialog allows you to specify which stages a file should go through to reach production. To access this property sheet:

1. Startup Version Manager
2. Select Tools / Promotion Levels...

  Click What's This? Help in the dialog box for field definitions.

Promotion Levels are listed from the first stage to the last stage. For example:

Testing
QA
Production

See also: Defining Promotion Levels

.topic 1017
This dialog box is displayed when you remove Version Labels to the selected objects. It simply prompts for the Version Label to remove.

  Click What's This? Help in the dialog box for field definitions.

.topic 1018
The Revision Property Sheet allows you to view the basic properties of a revision. To access this property sheet:

1. Select the Revision in Version Manager
2. Right-click to display the Context menu
3. Select Properties...

  Click What's This? Help in the dialog box for field definitions.

  The comments assigned to a revision can be modified, but the modified comments will not be updated in the source file if keyword expansion has been used.

.topic 1019
This dialog is displayed when the SCC API (i.e. Visual Studio) requests the name of a project for a particular action. Use it to select an existing folder or, if the New Project and New Folder buttons are enabled, to create a new one.

The concepts used by Team Coherence and the SCC API are slightly different in that the SCC API refers to folders as sub-projects, whereas Team Coherence creates a root Project as an identifier and stores the actual archives in sub-folders. For this reason, you cannot select the root object as an SCC project.

If you are adding new files to a project, you have the option of Creating a new project and Folders. The created Folders will have the default working path set to the working path of the files that are being added or checked in.

If the New buttons are disabled this is an indication that the calling application (i.e. Visual Studio) is requesting that you open an existing project.

If selecting an existing folder using this dialog box, the working path for this folder must match the path for the item being added.

  Click What's This? Help in the dialog box for field definitions.

.topic 1020
This dialog is displayed when adding new files from IDE Integration. If Team Coherence doesn't know the project the files are to be added to, this dialog allows you to select an existing project, or to create a new one.

  Click What's This? Help in the dialog box for field definitions.

.topic 1021
This dialog is displayed whenever you need to select a list of Users or Groups, most commonly when defining security settings or defining Groups.

  Click What's This? Help in the dialog box for field definitions.

.topic 1022
This dialog allows you to set local options such as which columns to display in lists, and which editors to use when viewing notes, etc. To access this dialog:

1. Startup Version Manager
2. Select Tools / Options...

  Click What's This? Help in the dialog box for field definitions.

.topic 1023
This dialog shows the status of any action you take in Version Manager. It lists all files involved in the action, along with the file's status after the action is carried out.

Certain actions can be retried if they have failed. To do this, select the action and right-click to display the context menu.

  Click What's This? Help in the dialog box for field definitions.

.topic 1024
This dialog displays the properties of a User. If you want to modify user info, see the section on Users and Groups. To send an E-Mail to this user, press the E-Mail button.

  Click What's This? Help in the dialog box for field definitions.

.topic 1025
This dialog is displayed when you modify a User in the User Manager. Use this dialog to specify the properties of a user, including the E-Mail address.

   Click What's This? Help in the dialog box for field definitions.

.topic 1027
This dialog is displayed when you select Tools / Version Labels... from the main menu. It lists the currently defined Version Labels and allows you to add, modify, and delete labels.

Labels that are grayed out represent Version Labels that have been marked as hidden. These labels can still be used, but are not normally visible in the various Version Label selection boxes.

   Click What's This? Help in the dialog box for field definitions.

.topic 1028
This dialog is displayed when you select Tools / Views... from the main menu. It lists the currently defined Views and allows you to add, modify, and delete Views.

   Click What's This? Help in the dialog box for field definitions.

See also: Using Views

.topic 1026
Before files are actually promoted to the next level, this dialog is displayed to show information about which versions of the selected files will be promoted.

To cancel the promotion of the files, click the Cancel button.

   Click What's This? Help in the dialog box for field definitions.

See also: Defining Promotion Levels

.topic 1077
This dialog allows you to specify an alternative difference viewer to use when viewing differences between the file types defined in the File Masks edit box.

   Click What's This? Help in the dialog box for field definitions.

.topic 1086
If you checked the Prompt for comments for each file checkbox in the Checkin Dialog, this dialog will be displayed for each file being checked in.

Enter any comments specific to the file. You can use the Differences button do display the changes made to the file. To view the differences made to associated files in the File Group, right-click on this button and select the relevant file.

If you want to use the current comment for the remaining files, check the box titled Use this comment for remaining files.

To cancel the checking in of all remaining files, click the Cancel button.

   Click What's This? Help in the dialog box for field definitions.

.topic 1192
This dialog allows you to select which View to make active and is displayed from within the SCC Select Project dialog.

Select the View from the drop-down list and press OK to make it active.

   Click What's This? Help in the dialog box for field definitions.

.topic 1940

.topic 1048
Test

Click on the Test button to test that the settings you have entered can connect to the server.

See Also: Connecting to a Repository

.topic 1041
Connection

This dropdown lists all the configured dialup connections defined for the username you logged into Windows with. Select a connection to force Team Coherence to use this connection when connecting to the server.

See Also: Connecting to a Repository

.topic 1049
Use Dialup Networking

If you need to establish a dialup connection to connect to a remote server, check this box and enter the relevant details below.

See Also: Connecting to a Repository

.topic 1179
UUEncode transmitted data

When connecting remotely to the server, particularly when using VPN, binary characters transmitted by Team Coherence can be interpreted as handshake characters by the hardware. This is a known issue with a few routers and usually changing the Port used for communications will solve the problem. If not, checking this option works around the issue by making sure that only ASCII characters are transmitted or received.

As there is an overhead (encoding/decoding the data), this option should only be checked if you have persistent connection issues with the server. For connections within your local LAN, checking this should not be necessary.

.topic 1177
Keep Alive

With some connections, particularly dial-up internet connections, the connection will drop after a certain period of inactivity. Checking this option will force Team Coherence to ping the server occasionally to make sure the connection is not dropped.

.topic 1045
Description

Enter a description of this connection..

See Also: Connecting to a Repository

.topic 1046
Host

Specify the IP address of the computer that the Team Coherence Server you are connecting to is running on. This can either be an IP address or a domain.

See Also: Connecting to a Repository

.topic 1044
Name

Enter a descriptive name for this connection.

See Also: Connecting to a Repository

.topic 1050
Encryption Key

If the system administrator has defined an encryption key for the server you are connecting to, you need to enter that key here in order to establish a connection.

See Also: Connecting to a Repository

.topic 1043
Password

If the dialup connection requires you to enter a Password to log on, enter it here.

See Also: Connecting to a Repository

.topic 1042
Username

If the dialup connection requires you to enter a Username to log on, enter it here.

See Also: Connecting to a Repository

.topic 1178
Check every

Enter the frequency for checking the server.

.topic 1047
Port

Each instance of the server running on the same machine must use a different port number. Enter the port number for the server you are connecting to.

See Also: Connecting to a Repository

.topic 1950

.topic 1035
Add

Click this to define a new connection to a repository.

See Also: Connecting to a Repository

.topic 1037
Delete

Click this to permanently delete the currently selected connection.

See Also: Connecting to a Repository

.topic 1036
Modify

Click this to modify the currently selected connection settings.

See Also: Connecting to a Repository

.topic 1033
Prompt at Startup

If this is checked, Team Coherence will prompt you for a valid connection each time an instance starts.

See Also: Connecting to a Repository

.topic 1034
This list displays all the connections you have defined to Team Coherence repositories.

See Also: Connecting to a Repository

.topic 1198

.topic 1204
Back

Switch back to the previous stage.

.topic 1205
Next/Finish

Proceed to the next stage/Finish the operation.

.topic 1199
Date

Remove revisions prior to the date selected below.

.topic 1200
Date

Delete revisions older than the date entered here.

.topic 1201
Checkin Date

When deleting revisions, compare the entered date to the Checkin date rather than the File-Modified date for each Revision.

.topic 1202
Modified Date

When deleting revisions, compare the entered date to the File-Modified date rather than the Checkin date for each Revision.

.topic 1203
No Versions

Selecting this option will delete all revisions that do not have a Version Label attached.

.topic 1206
Ignore Versions

This list contains all Version Labels attached to the selection. Check any Version Labels you want to ignore when deciding when to delete a Revision.

If a Revision contains one or more of the checked Version Labels it can be deleted, but only if it doesn't contain any of the unchecked Version Labels.

.topic 1207
Confirmation

Displays the criteria that Team Coherence will use when deleting a revision. Please read this before pressing the Finish button.

.topic 1208
Confirm

Since we may be deleting a large number of revisions, this checkbox prevents accidental clicking of the Finish button.

Once you have read the criteria above, and are happy to proceed, check this box to enable the Finish button.

.topic 378

.topic 379
Show Successful

Check this box if you want to see the result of all actions. If it is unchecked, only warnings and errors will be displayed.

.topic 380
Errors

Lists the status of all actions carried out in the last operation.

.topic 1073
Enter topic text here.

.topic 1075
Difference Parameter

Enter the commandline parameters to be passed to the Difference Viewer application. Keywords will be expanded as follows:

$LF - is replaced with the Left filename
$LD - is replaced with the description of the Left file
$RF - is replaced with the Right filename
$RD - is replaced with the description of the Right file

.topic 1074
Difference Viewer

Team Coherence supports external difference viewers. If you wish to use another Difference Viewer, enter the path to the application here.

.topic 1076
File Masks

Enter a list of file masks that define the file types that this viewer will be used for. Each mask should be separated by a semicolon (;).

.topic 174

.topic 176
Close and discard changes

Closes this dialog box without saving any of the changes you have made.

.topic 1970
Date

Enter or select a date.

.topic 1969
Assign Label by Date

If this option is checked, the Version Label will be attached to the latest relevant revisions of files valid at the date below.

.topic 177
Display Help

Displays context sensitive help for this dialog box or function.

.topic 175
Close and save changes

Closes this dialog box and saves all the changes you have made.

.topic 178
Version Label

Contains a list of existing Version Labels. Click the ellipsis button to create a new Version Label.

.topic 180
Move Existing

If the selected Version Label exists on any of the selected files, checking this box will cause the Label to be moved to the new revision.

.topic 179
Comments

Displays the comments, if any, for the currently selected label.

.topic 181

.topic 184
Confirm

Confirms the password entered in the Password field.

.topic 185
Existing Password

If it is not already filled in, you must specify the existing password for this user.

.topic 183
Password

Enter the new password for this user. You must also confirm the password to make sure you made no typing errors.

.topic 182
Username

The name of the user you are changing the password for.

.topic 186

.topic 204
View Differences

Display the changes that are being checked in. Right clicking on this button allows you to select another member of the file group for the selected file.

.topic 1131
Masks

Click here to modify the file filter being used to select the files to add. By default, these are defined by the currently selected Folder.

.topic 202
Select all

Select all the files in this list.

.topic 203
Select none

deselect all files in this list.

.topic 1130
View Differences

Display the changes that are being checked in. Right clicking on this button allows you to select another member of the file group for the selected file.

.topic 193
Checkin Unchanged

If this is checked, all unchanged files will be checked in. If not, any files that have not changed will be left locked.

.topic 1084
Prompt for Comments

Check this box if you would like Team Coherence to prompt for comments for each file being checked in.

.topic 187
Make default

Checking this box will make the current settings in this page the default for all subsequent check in actions.

.topic 192
Force a Branch

If you want to force a new Branch for the selected files, check this box.

.topic 1156
Use Lock Comments

Check this box to use the comments that were entered when the files were checked out. If no comments were entered, the comments entered in the Checkin dialog box will be used.

.topic 194
Maintain Lock

If you want to make the selected files available to others, but want to keep modifying them, check this box.

.topic 191
Move Version Label

If this is checked, and the Version Label already exists for any files, the Version Label will be moved to the tip revision.

.topic 189
Version Label

Enter a Version Label to assign to the files being checked in. The Version Label will be attached to the tip revision of all files successfully checked in.

.topic 201
Displays the list of files and folders about to be checked in. Selecting a file and clicking the Differences button shows any changes for the file.

.topic 188
Comments

Enter Comments for the selected files. The comments will be assigned to any new revisions created when checking in the files. If you want to assign individual comments for each file, check the Prompt for comments for each file option.

Right-clicking in this edit box allows you to re-enter checkin comments from previous successful or unsuccessful checkins.

.topic 190
Version Comments

Displays any comments for the selected Version Label.

.topic 197
Delete

Check this to force the deletion of the local workfile after successful checkin.

.topic 195
Leave Readonly

After a file is checked in, make the local file read only to prevent inadvertent modification.

.topic 196
Leave Writable

Checking this will mean that the local file is left writable after the checkin process.

.topic 1085
Enter topic text here.

.topic 1089
View Differences

Display the changes that are being checked in. Right clicking on this button allows you to select another member of the file group for the selected file.

.topic 1090
Cancel

Press this button to cancel the Checkin for the current file and all remaining files.

.topic 1088
Use for Remaining

Check this box if you would like Team Coherence to use this comment for the remaining files being checked in. If you check this box, you will not be prompted for the remaining files.

.topic 1087
Comments

Enter Comments for the current file. The comments will be assigned to any new revisions created when checking in the file.

.topic 205

.topic 217
Select All

Click this button to select all the listed files for this action.

.topic 218
Select None

Click here to deselect all files.

.topic 212
Assign Version

Select a Version Label to assign. If you want to assign a Version Label to the checked out revisions select an existing Label here, or press the Ellipsis button to create a new one.

.topic 1157
Ignore Locked

When doing a Get operation, checking this box prevents Version Manager from attempting to get files that are already locked by you.

.topic 1129
Leave Writable

When performing a Get, check this box to leave the workfile writable after the latest revision is retrieved.

  This is not normally a desirable action as it means that the file can be modified without being checked out

.topic 1176
Move Version

If assigning a Version Label to the revision you are checking out or getting, this flag will force, if it has already been assigned, the label to be moved.

.topic 211
Overwrite Writable

By default, if any of the local files are writable they will not be overwritten. If you want to overwrite these files, check this box.

.topic 206
Version Label

Select a Version Label to check out the revision of files that contain this Label.

.topic 210
Checkout to

Enter the root folder you want to check the files out to. If this is disabled, you are checking out files without a common root.

.topic 208
Revision

Enter the revision number of the file(s) that you want to check out.

.topic 1062
Displays the list of files and folders about to be checked out. Uncheck any files you do not want to be checked out.

.topic 213
Version Comments

Any comments for the selected Version Label will be displayed here.

.topic 209
Lock Comments

If you add comments here, they will be associated with any locks created. This allows other users to see why you have the selected files locked.

Right-clicking in this edit box allows you to re-enter lock comments from previous successful or unsuccessful checkouts.

.topic 207
Version Comments

Displays the comments, if any, for the selected Version Label.

.topic 219

.topic 223
Begin Comment

Enter the characters that are used by the selected extensions to begin a comment block.

.topic 224
End Comment

Enter the characters, if any, that are used by the selected extensions to end a comment block.

Note: if you are using a development tool that doesn't support block comments (such as Visual Basic), then leave this field blank.

.topic 222
Keyword Expansion

Enter the extensions, separated by semicolons (;), that you wish to enable keyword expansion for.

.topic 221
Group Extensions

Enter the file extensions, separated by semicolons (;), to include in this group. The first extension will be considered the main one.

.topic 220
Name

Enter the name that this File Group will be known by.

.topic 225

.topic 232
Close and discard changes

Closes this dialog box without saving any of the changes you have made.

.topic 229
Delete

Click this button to delete the currently selected File Group.

.topic 231
Done

Close this dailog box.

.topic 233
Header

Click this button to modify the standard header inserted in all qualifying files.

.topic 227
New

Click this button to create a new File Group.

.topic 230
Close and save changes

Closes this dialog box and saves all the changes you have made.

.topic 228
Modify

Click this button to modify the currently selected File Group

.topic 226
File Groups

This list displays all the defined File Groups defined for this repository.

.topic 234

.topic 236
Multiple Locks

If this repository does not support multiple locks per file, checking this box will enable multiple locks for this file only.

.topic 1078
Store only Latest Revision

If this option is checked, only the file for the latest revision will be stored. The Revision information will be maintained, but it will no longer be possible to retrieve the file associated with anything but the tip revision.

This can be useful for large binary files where you do not need access to older versions, or where you simply want to track who changed what.

.topic 235
Filename

If this box is enabled you can enter a new name for this file. Note that this will also affect all previous revisions of the file.

.topic 239
Current Locks

Lists the current locks held on this file including the user holding the lock and the reason.

.topic 237
Revisions

Double click a revision to view its properties. Selecting two revisions and right-clicking allows you to view the differences between the revisions.

.topic 238
Version Labels

Lists the Version Labels assigned to this file. Double-clicking a Label allows you to view its properties.

.topic 272

.topic 1128
Apply to Subfolders

Checking this box will force the new mask settings to be applied to all subfolders.

.topic 279
Apply to Subfolders

Checking this box will force the new security settings to be applied to all subfolders.

.topic 1163
Apply changes to all subfolders

Checking this option forces all User Working Paths below this folder to be based on the TC folder structure, regardless of whether they share a common root. This option only affects User paths.

.topic 276
Apply changes to subfolders

If any of the subfolders of this folder have the same root for either of the Working or User paths, checking this box will update these folders.

.topic 1175
Same Userpath for all Subfolders

If this box is checked, all subfolders of this folder will have the same User working path. This does not affect the Default working path.

.topic 277
Can Access

Lists the users and groups who are allowed to modify the access privileges for this object.

.topic 280
Can Check In/Out

List the users and groups who are allowed to check in and out files contained within this object.

.topic 274
Default Working Path

Displays the default working path of the selected Folder. If users have not specified a User Path, this is the default local path used when checking out files.

.topic 282
Exclude Mask

Any files matching this mask will be excluded from the list of unarchived files displayed in the New Files pane.

.topic 281
Include Mask

All files matching this mask, but not already archived, will be listed in the New Files pane in Version Manager

.topic 278
Can Modify

Lists the users and groups who are allowed to modify the name and certain other properties of this object.

.topic 273
Folder Name

Displays the name of the selected Folder. If this is enabled you have sufficient access rights and can change the name of this folder.

.topic 275
User Working Path

Displays the user-defined working path of the selected Folder. This path is what is used when checking out files and is dependent on the currently selected View and User.

.topic 356

.topic 1122
Add

Click this button to add a new addin to the list.

.topic 1124
Configure

If the selected addin supports configuration, click this button to set addin-specific properties.

.topic 1968
Include Tracker in IDE Integration

Some combinations of IDE and Operating System can cause issues when shutting down the host IDE if the Tracker module is enabled for the IDE (in the Properties and Checkout dialogs). This does not cause any problems with file/archive integrity, but can be irritating.

If this option is checked, the Tracker module will not be loaded while running under an IDE.

.topic 1123
Remove

Click this button to remove the currently selected addin from the list.

.topic 1071
Delete

Click here to remove the selected Difference Viewer from the list.

.topic 1070
Modify

Click here to modify the selected Difference Viewer settings.

.topic 1069
New

Click here to add a new Difference Viewer to the list of alternative viewers.

.topic 1197
Respect lock context

When shared files are checked out, they are marked as such for all shared copies. If you check in a file that has been checked out from within another share, the file will be checked in regardless of which context it was checked out under. If you check this option, only shared files checked out within the context of the current checkin context will be checked in.

.topic 1080
Use Color

If this option is checked, Modified, Frozen and Out-of-date files will be displayed in the specified colors. This allows you to see at a glance which files require checking in or synchronizing.

.topic 1160
Daylight Saving

If this option is checked you can define an offset that is applied to local timestamps to compensate for daylight saving.

.topic 1181
Double-click to Open File

If this option is checked, double-clicking on a file in the file list will cause Team Coherence to perform a Get on the latest version (if it is not already checked out) of the file and to open it in the associated editor. If this option is not checked, the File Properties will be displayed.

.topic 358
Detail Pane

Check this box to display the Detail Pane in the Version Manager window. The detail pane displays details for the currently selected object in the Folder or File pane, depending on which is currently active.

.topic 357
Folder Pane

Check this box to display the Folder Pane in the Version Manager window. This pane displays the root objects such as Projects, Folders, and Users.

.topic 1120
Force Binary Compare

By default, Team Coherence uses a CRC32 calculation to check whether the contents of a file have changed before checking in the file. In certain (very rare) circumstances, this may not be sufficient to decide whether the file has changed. If you have files you know have changed, but new revisions aren't created when they are checked in, check this box.

Checking this box forces Team Coherence to do a binary compare when deciding whether a file has changed.

.topic 1183
Display full User name

By default, only the name used by the user to login is displayed. If this option is checked, the full user name will be displayed where possible.

.topic 1079
Highlight Folders

If this option is checked, folders will be highlighted if they contain any files that are 'Out of Date'. Note that this option can slow down initial screen display, especially when local files are on a network drive.

.topic 1165
Ignore null characters during Keyword Expansion

During keyword expansion on specified file types, the null character (#0) is treated as the end-of-file character. Certain editors can insert null characters in the middle of file streams and these are treated normally by the editor. Checking this option causes Team Coherence to treat nulls in the middle of files as simply another character.

See also: File Groups

.topic 1164
Include Modified during Sync

By default, Synchronize with View gets the latest versions of files that are marked as Out of Date or Missing. If this option is checked, Synchronize will also get the latest versions of files that are marked as modified locally as long as they are not checked out to you or writable on-disk.

.topic 1965
Select Files During Sync

If this option is checked (default), a dialog listing all the files about to be Synchronized will be displayed before the action occurs. This allows you to uncheck the files you don't want to include. If this option is unchecked, then the Synchronize action will continue without confirmation.

.topic 376
Lock Status

By default, locking and unlocking (not Check in/out) files will not change the readonly status of the local files. Check this box to make sure that the readonly status of local files are changed to reflect the status of the archive when you lock or unlock files.

.topic 1159
Multiple Instances

By default, Team Coherence only allows one instance of the main application to run at a time. If this option is checked, you can run multiple instances at the same time. This can be useful, combined with Command-line options, to allow you to create desktop icons for your most frequently used repositories, etc.

.topic 1119
Include New Files Panel

The New Files panel displays the list of files that match the Folder Properties include and exclude file masks, but are not yet archived. The process of locating new files is done in a separate thread, but may still impact performance. If you do not want Team Coherence to search for new files, uncheck this box.

.topic 1153
Matched Comments

If this option is checked, matched comment pairs will be used when entering the $Log: comments in the source files. Certain editors do not like unmatched comment characters.

.topic 1196
Pre-check files on Checkin

If checked, this option will double-check which files are locked by you before displaying the Checkin dialog box. This means that the Checkin dialog box will only list those files that are locked by you and will improve performance of the actual checkin process. If unchecked, all files selected will be included, whether or not they are locked.

.topic 1096
Show Get

If this option is checked, you will be prompted with the Get dialog box before the file is opened in the editor. If not checked, the latest version of this file will be retrieved and opened in the relevant editor.

This only applies to the Open (& Get) this <object> hyperlink.

.topic 1095
Show Checkout

If this option is checked, you will be prompted with the Checkout dialog box before the file is opened in the editor. If not checked the file will be checked out, if not already locked, and opened in the relevant editor.

This only applies to the Work with this <object> hyperlink.

.topic 1155
Remember Username

By default, Team Coherence remembers the username you used the last time you logged in. To prevent this name from being used for subsequent logins, uncheck this box.

.topic 1092
Use Windows Shell functions

Check this if you want Team Coherence to use the Windows Shell API to display file types and Icons. If this is unchecked, Team Coherence will use its built-in routines for retrieving this information.

.topic 360
Show Hyperlinks

If this is checked, 'hyperlinks' will appear in the Information Pane to give quick access to commonly used actions for the currently selected object.

.topic 377
Show if all Successful

By default, the status dialog box will always be displayed. If you don't want to see it when all actions are successful, check this box.

.topic 359
Information Pane

Check this box to display the Detail Pane in the Version Manager window. The contents of this pane is based on the current selection in any of the other panes. It gives more details about the currently selected object(s).

.topic 361
Scrollbar

Check this box to allow the use of a scrollbar in the Information Pane when required.

.topic 1154
Background Checks

By default, Version Manager queries the server periodically to determine whether the status of any files has been changed by another user. This is done in a background thread but, if you don't want this action to happen, uncheck this option.

.topic 1072
Windows Login

If this option is checked, Team Coherence will try to log you in to a repository with the Username you used to log into Windows.

A password is not required, but the username must be present in the repository and this option must be allowed by the repository.

.topic 1182
Visible Context Items

In order to allow you to reduce the context menu items to those most frequently used, you can select which items you want displayed. This only affects the context menu and all items will still be available in the Action menu.

.topic 1091
Visible Columns

Check the columns that you want to be visible in the Locked Files view in Version Manager.

.topic 373
Visible Columns

Check the columns that you want to be visible in the File Pane in Version Manager.

.topic 375
Visible Columns

Check the columns that you want to be visible in the Revision Pane in Version Manager.

.topic 374
Visible Columns

Check the columns that you want to be visible in the result list displayed in the Search Form.

.topic 364
Date Format

Enter the format characters to use when displaying dates.

.topic 365
Local IP Address

The server needs to be able to 'push' updates to the client instances. This is the local IP address that the server uses to notify the client of changes to objects in the repository. It is determined automatically but, if updates are not received, you can specify another address.

.topic 372
Notes Editor Parameters

Enter the commandline parameters to be passed to the Notes Editor application. Keywords will be expanded as follows:

$FILE - is replaced with the actual filename
$CAPT - is replaced with the optional caption

.topic 371
Notes Editor

The internal file viewer can be used to edit notes but you can define your own editor as well. Enter the path to the application here.

.topic 367
Difference Parameter

Enter the commandline parameters to be passed to the Difference Viewer application. Keywords will be expanded as follows:

$LF - is replaced with the Left filename
$LD - is replaced with the description of the Left file
$RF - is replaced with the Right filename
$RD - is replaced with the description of the Right file

.topic 366
Difference Viewer

Team Coherence supports external difference viewers. If you wish to use another Difference Viewer, enter the path to the application here.

.topic 369
Viewer Parameter

Enter the commandline parameters to be passed to the File Viewer application. Keywords will be expanded as follows:

$FILE - is replaced with the actual filename
$CAPT - is replaced with the optional caption

.topic 368
File Viewer

The internal file viewer can be used to view most text files but you can define your own viewer as well. Enter the path to the application here.

.topic 1185
Addins

Lists the installed addins. Use the buttons below to add, remove, or configure the selected addin.

.topic 1121
Addins

Displays the list of currently installed addins. Addins can be used to extend the functionality of Team Coherence. To add a new addin to the list, press Add, to remove the currently selected addin, press Remove.

If the addin supports configuration, press the Configure button to set addin-specific properties.

.topic 1068
Alternative Viewers

This list displays alternative viewers defined by file type. To add a new viewer to this list, press the New... button.

.topic 370
Viewer Types

The internal file viewer will be used with files of these types. Enter the file extensions that will use the internal viewer, separated by semicolons (;).

.topic 1067
Colors

The colors defined here are used when displaying files in the list view. Each color represents a different state of the file. Double-click on the label to specify the color.

.topic 362
Click Delay

This delay (in milliseconds) is used to prevent unnecessary updates to the screen objects as you navigate.

.topic 363
Drag Delay

This is the time that you need to hover over a node before it expands during a drag-drop operation.

.topic 1161
Local Offset

Enter the amount to adjust the local timestamps.

.topic 1184
Options

Displays a list of the various settings that can be made. Select the option and modify the settings in the right-hand side.

.topic 1975
Local Settings

Specified the location of the folder used to store Users' local settings. The path can include environment variables, i.e. %LocalAppData%.

.topic 283

.topic 287
Select Members

Click this button to select the members of this group.

.topic 284
Group Name

Enter the name you want to use to identify this group.

.topic 286
Group Members

Lists the currently assigned members of this group. This list can contain users and groups.

.topic 285
Group Description

Enter a description for this group that helps identify the members and the function of the group.

.topic 292

.topic 294
Password

Enter a valid password for the user. Note that the default password for all new users is 'password'.

.topic 293
Username

Enter the name of a valid user. When a Team Coherence repository is first created, two users are created automatically:

Supervisor - This user has all rights to the repository
Guest - This user has minimal rights to the repository

.topic 311

.topic 312
Name

Enter a name for the new folder. This is generally the name of the underlying local folder, but can be any other name.

.topic 313
Path

Type in the default working path to use for this folder, or click on the Ellipsis to select an existing folder.

.topic 314

.topic 323
Apply to Folders

If this is checked, the security settings will be applied to all subfolders of this Project.

.topic 318
Change Root Paths

If this is checked, you can change the Default and User root paths for this Project. This causes all the subfolders of this Project  to use the new root.

.topic 319
Can Access

Lists the users and groups who are allowed to modify the access privileges for this object.

.topic 321
Can Check In/Out

List the users and groups who are allowed to check in and out files contained within this object.

.topic 316
Default Working Path

Displays the default root working path of the selected Project. If this is empty, it is most likely that there is no common path for the contained Folders.

.topic 1126
Exclude Mask

Any files matching this mask will be excluded from the list of unarchived files displayed in the New Files pane.

.topic 1125
Include Mask

All files matching this mask, but not already archived, will be listed in the New Files pane in Version Manager

.topic 320
Can Modify

Lists the users and groups who are allowed to modify the name and certain other properties of this object.

.topic 315
Project Name

Displays the name of the selected Project. If this is enabled you have sufficient access rights and can change the name of this project.

.topic 317
User Working Path

Displays the default root user path of the selected Project. If this is empty, it is most likely that there is no common path for the contained Folders.

.topic 322
Can View

List the users and groups who are allowed to view this Project.

.topic 410

.topic 411
Criteria

This box displays the criteria that will be used to promote the currently selected files. If you agree, press the OK button to promote these files to the next level.

.topic 295

.topic 298
Can Promote to

Use the button on the right to select the users and groups that are allowed to promote files to this Promotion Level.

.topic 299
Can View

Use the button on the right to select the users and groups that are allowed to create a View based on this Promotion Level.

.topic 296
Name

Enter a descriptive name for this Promotion Level.

.topic 297
Comments

Use this box to describe the function of this Promotion Level.

.topic 324

.topic 331
Close and discard changes

Closes this dialog box without saving any of the changes you have made.

.topic 328
Delete

Delete the currently selected Promotion Level.

.topic 330
Close

Closes this dialog box.

.topic 333
Move Down

Moves the selected Promotion Level one item down in the list.

.topic 332
Move Up

Moves the selected Promotion Level one item up in the list.

.topic 326
New

Create a new Promotion Level.

.topic 329
Close and save changes

Closes this dialog box and saves all the changes you have made.

.topic 327
Modify

Modify the properties of the selected Promotion Level.

.topic 325
Promotion Levels

Lists all the defined Promotion Levels for this repository in the correct order.

.topic 334

.topic 335
Apply to Subfolders

If this is checked, the current action will be applied to all subfolders that have the same root path.

.topic 336

.topic 337
Version Label

Select an existing Version Label from this dropdown list.

.topic 338
Comments

If the selected Version Label has comments associated with it, they will be displayed here.

.topic 339

.topic 344
Properties

Click to display the properties of the currently selected object.

.topic 340
Name

Displays the name assigned to this revision. Cannot be modified.

.topic 343
Locks

Lists all the locks currently held on this revision.

.topic 342
Version Labels

Lists all the Version Labels assigned to this revision. Double-click on a label to view its properties.

.topic 341
Comments

If any comments were assigned to this revision during the checkin process, they will be displayed here.

.topic 349

.topic 350
Projects

Drop down this list to select an existing project or type in the name of a new Project.

.topic 351

.topic 354
Add

Select items in the Existing list and press the Add button to add them to the Selected list.

.topic 355
Remove

Select items in the Selected list and press the Remove button to add them from the list.

.topic 352
Existing

Lists all the existing Users and Groups. Select and drag the required items into the Selected box, or select them and click on the Add button.

.topic 353
Selected

Lists the currently selected Users and Groups. Select items and press the Remove button to unselect them.

.topic 1193

.topic 1194
Views

List the available Views for this connection. Select the View you want to make active, and press the OK button.

.topic 1195
Comments

Displays the comments, if any, for the currently selected View.

.topic 381

.topic 386
Send E-Mail

Click here to send an E-Mail to this user now.

.topic 384
E-Mail

Displays the stored E-Mail address for this user

.topic 383
Full Name

Displays the full name of the user.

.topic 385
Location

Displays the location of this user.

.topic 382
Name

Displays the name the user will use to login to Team Coherence.

.topic 387

.topic 390
E-Mail

Enter the normal E-Mail address for this user

.topic 389
Full Name

Enter the full name of the user in this box.

.topic 391
Location

Enter the location of this user.

.topic 388
Name

Enter the name the user will use to login to Team Coherence.

.topic 392
Password

Enter or change the password the user will use to log into Team Coherence. The user may change this.

.topic 393
Confirm

Confirm the password.

.topic 300

.topic 1180
Branch Base Label

Select the Version Label to use as the base label for a branch. For more information, see Version Labels.

.topic 1169
Can Access

Lists the users and groups who are allowed to modify the access privileges for this object.

.topic 1171
Can Assign

Lists the users and groups who are allowed to Assign this label to a revision, or detach/move the label.

.topic 1170
Can Modify

Lists the users and groups who are allowed to modify properties of this object.

.topic 301
Name

Enter a descriptive name for this Version Label.

.topic 1166
Label Scope

Displays the scope of this Version Label. The scope defines which Project, if any, the label is accessible in.

.topic 302
Comments

Use this box to describe the function of this Version Label.

.topic 1172
Access

Allows you to select the users and groups who are allowed to modify the access privileges for this object.

.topic 1174
Assign

Allows you to select the users and groups who are allowed to Assign this label to a revision, or detach/move the label.

.topic 1168
Make Global

Click on this button to make the Version Label global across the repository.

.topic 1173
Modify

Allows you to select the users and groups who are allowed to modify properties of this object.

.topic 1167
Choose Project

Click on this button to define the Project that will be the 'owner' of this label.

.topic 394

.topic 401
Close and discard changes

Closes this dialog box without saving any of the changes you have made.

.topic 398
Delete

Click here to delete the currently selected Version Label. If deleted, this label will be removed from all revisions containing it and, potentially, Views may become undefined.

.topic 400
Close

Closes this dialog box.

.topic 396
New

Click here to create a new Version Label.

.topic 399
Close and save changes

Closes this dialog box and saves all the changes you have made.

.topic 397
Modify

Click here to modify the currently selected Version Label.

.topic 395
Version Labels

Lists all the defined Version Labels in this repository. Select a label to modify or delete it.

If you are logged in as an Admin user, you can hide labels from normal use by unchecking them. This will 'remove' these labels from normal version selection boxes.

.topic 303

.topic 306
Shared

If checked, this View will be made available to all other users. This checkbox is only available to Admin users.

.topic 309
Basis

Select the Version Label or Promotion Level that will form the basis of this View. When selected, the View will display all files containing this item.

.topic 310
Projects

The View can be applied to one or more projects. If no Projects are selected, it is assumed that the view will apply to All projects.

.topic 304
Name

Enter a descriptive name for this View.

.topic 305
Comments

Use this box to describe the function of this View.

.topic 308
Promotion Based View

If this radio button is checked, the View will be based on a Promotion Level.

.topic 307
Version Based View

If this radio button is checked, the View will be based on a Version Label.

.topic 1972
Date Based View

If this radio button is checked, the View will be based on the entered Date.

.topic 1973
Date

Select the Date that will form the basis of this View. When selected, the View will display all files containing revisions created on or before this date.

.topic 402

.topic 409
Close and discard changes

Closes this dialog box without saving any of the changes you have made.

.topic 406
Delete

Click here to delete the currently selected View. Note that only Admin users can delete shared Views.

.topic 408
Close

Closes this dialog box.

.topic 404
New

Click here to create a new View.

.topic 407
Close and save changes

Closes this dialog box and saves all the changes you have made.

.topic 405
Modify

Click here to modify the currently selected View. Note that only Admin users can modify shared Views.

.topic 403
Views

Lists all the defined Views in this repository for the current user, and also any shared Views. Select a View to modify or delete it.

.topic 1145
Enter topic text here.

.topic 1146
Repository

Browse the repository hierarchy and select an object. To select the object and close the dialog, press the OK button.

.topic 1147
Enter topic text here.

.topic 1149
Changes

Press this button to view the local changes to the selected file.

.topic 1151
Done

Closes this dialog box.

.topic 1150
Properties

Press this button to display the archive properties for the current archive. This allows you to compare the differences between individual revisions.

.topic 1148
Files

Displays the list of files maintained by this archive. Select a file and press Changes to view the changes made to the file locally.

See also: File Groups

.topic 1132
Enter topic text here.

.topic 1135
Known Files

Pressing this button populates the Include Masks edit box with a mask representing file types known by Team Coherence. This mask will be based on file types defined in the File Groups dialog box.

.topic 1136
Files

List the files selected by the current Include and Exclude masks.

.topic 1134
Exclude Masks

List the masks used to exclude files from the list generated by the Include Masks. You can use any valid file mask, including wildcards, separated by a semicolon, eg:

*.pas;*.dpr;*.rc

.topic 1133
Include Masks

List the file masks used when locating files. You can use any valid file mask, including wildcards, separated by a semicolon, eg:

*.pas;*.dpr;*.rc

.topic 289

.topic 290
Insert Header

Checking this box enables the insertion of the header for each qualifying file being checked in.

.topic 291
Header Comments

The text entered here will be inserted, as a comment block, at the top of each file type with Keyword Expansion enabled (see File Groups).

The characters used for the comment block will be determined from the File Group settings.

.topic 242

.topic 1141
Browse

Click this button select an alternative Folder as the root of the search.

.topic 243
Find Now

Click this button to begin the search based on the criteria you have specified.

.topic 245
New Search

Click here to clear the current search criteria and begin a new search.

.topic 244
Stop Search

Click here to terminate the current search.

.topic 259
Locked By

Select a user from this dropdown list. All files currently locked by this user will match.

.topic 247
Look In

Select the project you want to search in, or select All Projects.

.topic 1142
Modified By

Select a user from this dropdown list. All files where the tip revision was modified by this user will match.

.topic 248
Named

Enter a file mask to locate. Leaving this blank will match all files.

.topic 1143
Modified

Check this to select files that have been marked as modified locally. These are generally files that have been checked out by you and modified.

.topic 1144
Out of Date

Check this to select files that have been marked as Out of Date locally. These are generally files that have been checked in by another user and your local copy is now out of date.

.topic 258
Version Label

Select an existing Version Label from this list. All files containing this Version Label will match.

.topic 254
Date Range

Enter a date range. All files checked in on dates within this range will match.

.topic 255
Date Range

Enter a date range. All files checked in on dates within this range will match.

.topic 256
Days

Enter a number of days to check. All files checked in within the last X days will match.

.topic 257
Months

Enter a number of months to check. All files checked in within the last X months will match.

.topic 260
Results

Displays the files that match all the criteria specified above. Right-click on the current selection to access the Action popup menu.

.topic 250
All Files

Match all files regardless of their status.

.topic 251
Days

Enter a number of days to check. All files checked in within the last X days will match.

.topic 252
Months

Enter a number of months to check. All files checked in within the last X months will match.

.topic 253
Date Range

Enter a date range. All files checked in on dates within this range will match.

.topic 1098
Enter topic text here.

.topic 1118
Done

Press this button to close this dialog box.

.topic 1116
View

Press this button to generate the report and open it in the HTML viewer. The viewer can also be used to print the report.

.topic 1117
Save to file

Press this button to generate the report and save it to a file (html) for viewing/printing later.

.topic 1099
Detailed File Information

If this is checked, detailed information about each file will be displayed at the top of each table. This information includes local path, revision count, dates, etc.

.topic 1108
Versions

Use this dropdown to select a specific Version Label.

.topic 1110
Include the First Label

Check this to include the revision that contains the first Version Label.

.topic 1112
Promotion Levels

Use this dropdown to select a specific Promotion Level.

.topic 1100
Show Revision Details

If you want to display the revision history for each file, check this box.

.topic 1102
Sort by

Select the (file) column you want to use to sort the History report.

.topic 1103
Ascending

If this is checked, the report will be sorted in Ascending order, otherwise it will be sorted in descending order.

.topic 1109
Versions

Use this dropdown to select a specific Version Label.

.topic 1106
Versions

Use this dropdown to select a specific Version Label.

.topic 1101
Columns

Select the columns you want to display in the revision history.

.topic 1114
From Date

Enter the date you want to report from

.topic 1115
To Date

Enter the date you want to report up to.

.topic 1104
Display all revisions

Check this to include all files and revisions in the report. If you want to restrict the report to those files containing only a particular version or range of versions check one of the other criteria methods on this page.

.topic 1113
History Between Versions

Check this to include all files and revisions in the report that have a revision history between two Dates. This allows you to see what files have been changed within a specific timeframe.

.topic 1111
Containing Promotion Level

Check this item to include only those files at a specific Promotion Level.

.topic 1107
History Between Versions

Check this to include all files and revisions in the report that have a revision history between two Versions. This allows you to see what files have been changed between versions.

.topic 1105
Containing Version Label

Check this item to include only those files containing a specific Version Label.

.topic 345

.topic 1082
New Folder

Select this option to create a new Folder object. The new folder will be given the same default working folder as the files being added or checked in.

.topic 1081
New Project

Select this option to create a new Project object.

.topic 1188
Select Connection

Allows you to switch the current connection to another Repository..

.topic 1191
Select View

Selecting this option pops up a dialog to allow you to switch the current View.

.topic 1190
Select View

Lists the available Views for this connection.

.topic 1187
Connection

Displays the currently active Repository Connection. Press the button to the right to switch the connection.

.topic 346
Project Name

Displays the currently selected project. Note that the OK button is disabled when a root Project is selected. This is because the SCC API is requesting the name of an object that can contain files and, in Team Coherence, this is a Folder object.

.topic 1189
Select Connection

Allows you to switch the current connection to another Repository..

.topic 348
Projects

Lists all the defined projects and folders in the current Repository.

.topic 100
This is the main window of Team Coherence. It automatically saves its size and position when you close the application.

Learn more how to customize this window.

.topic 106
Exit

Shut down Team Coherence

.topic 107
About

Version and other information about Team Coherence

.topic 102
Copy

Copy the selected objects to the clipboard.

See also: Sharing Files

.topic 101
Cut

Cuts the selected objects and copies them to the clipboard.

.topic 104
Delete

Delete the selected objects.

.topic 103
Paste

Paste the contents of the clipboard into the current object.

See also: Sharing Files

.topic 108
Restore

Restore the selected objects.

.topic 105
Select All

Select all the objects in the list.

.topic 1960

.topic 1961
Select All

Click this button to select all the listed files for this action.

.topic 1962
Select None

Click here to deselect all files.

.topic 1963
Displays the list of files and folders about to be synchronized. Uncheck any files you do not want to be included.

.topic 1052

.topic 1053
Done

Click this button to close this dialog box.

.topic 1059
New

Press this button to create a new Group.

.topic 1060
Properties

Click this button to display the properties of the selected Group.

.topic 1061
Remove

Click this button to remove the selected Group. Removing a group does not remove the users or groups contained by that group.

.topic 1054
New

Press this button to create a new User.

.topic 1055
Properties

Click this button to display the properties of the selected User.

.topic 1056
Remove

Click this button to remove the selected user.

.topic 1058
Groups

Displays the list of Groups defined for this Repository.

.topic 1057
Users

Displays the list of Users defined for this Repository as well as the Groups they belong to.

.topic 1137
Enter topic text here.

.topic 1138
Search Text

Enter either the File Mask you want to search for, or the text you are searching for.

.topic 1140
Search Comments

Check this to search for text in the revision comments. Note that this will be fairly slow as the revision history will need to be retrieved from the repository for each file.

.topic 1139
Search for Filename

Check this to perform the search against the filename.

.topic 109

.topic 1971
No Context Halp Available

Please use Help/Contents to get help on this topic.

.topic 134
Add Files

Select this to add new files to the currently selected Folder

See also: Adding files using Drag/Drop

.topic 171
Add Selected

Adds the selected, unarchived, files to Team Coherence.

.topic 132
Assign Version

Select this to assign a Version Label to the currently selected objects.

See also: Baselining

.topic 133
Check in

Once you have finished modifying files, they should be checked in to allow others access to your changes.

Select this to check in the modified files in the current selection. This will also check in files contained in any subfolders.

See also: Check-in modified files

.topic 135
Check out

Checking out files allows you to modify them.

Select this to check out and lock the files in the current selection. This will also check out files contained in any subfolders.

See also: Check out files, Check out files to a different location

.topic 173
Delete

Deletes the physical file. The file is deleted to the Windows Recycle bin.

.topic 1094
Demote

Select this item to demote the selected files from the current Promotion Level.

See also: Promotion Levels, Demoting files

.topic 160
Differences

Select this item to view the differences between the currently selected revisions or the current revision and the Work File.

.topic 170
Create Folder

Creates a new folder in Team Coherence based on the currently selected folder.

.topic 164
Force Unlock

If a revision of a file has been locked by a user, and the file has to be made available to other users, Admin users can use this option to remove locks placed by any user.

.topic 136
Get

Performing a Get on files is the process of getting a local read-only copy of the archived files.

Select this to get the latest changes for the files in the current selection. This will also get files contained in any subfolders.

See also: Getting Files, Synchronize

.topic 167
View History

Generates an HTML report listing the revision history for the selected objects.

.topic 151
Lock

Locking a file places a lock on the tip revision, but does not update the local file.

Use this option if you have made changes to the local file without checking it out, and would like to check these changes in.

See also: Check out, Check in

.topic 172
Mask Properties

Allows you to modify the selection criteria for the currently selected folder. The selection criteria define which files are displayed in this New Files pane.

.topic 139
New Folder

Select this item to create a new folder under the currently selected Project or Folder.

.topic 137
New Project

Select this to create a new, blank, Team Coherence project.

.topic 166
Modify

This item checks out the selected revision of the file, or the tip revision, and opens it in the relevant editor for modification.

See also: Check out

.topic 1186
Print

Prints the selected file(s) using the associated application. If you are printing a non-tip revision, TC will perform a Get to a temporary folder before printing the file.

.topic 154
Promote

Select this item to promote the selected files to the next Promotion Level.

See also: Promotion Levels, Promoting Files

.topic 141
Properties

Select this item to display the properties of the currently selected object(s).

.topic 143
Remove Version

Displays a list of the Version Labels currently assigned to the selected objects. Select a label and press OK to remove that Version Label from these objects and sub-objects.

.topic 162
Synchronize

Synchronizing with the current view is a quick method of making sure that you have the most up to date revision of all the files in the current View. Select this item to synchronize the currently selected objects.

See also: Get, Synchronize

.topic 152
Unlock

Unlocking a file removes the lock from a file, but does not update the local file.

Use this option if you have made changes to the local file but want to discard these changes. As the local file is not modified, you should also perform a Get to update the local file.

See also: Check out, Check in, Get

.topic 156
Unshare

Select this item to unshare the selected files. Unsharing a file copies the archive history for the share root and creates a new archive for the file.

See also: Sharing Files

.topic 165
View

Select this item to View the contents of the selected revision or file. This option uses the internal viewer or, if undefined, the default editor for the file.

.topic 124
Copy

Copy the selected objects to the clipboard.

See also: Sharing Files

.topic 123
Cut

Cuts the selected objects and copies them to the clipboard.

.topic 126
Delete

Delete the selected objects.

.topic 145
Find

Select this item to perform a find within the items in the currently active pane.

See also: Visual Elements, Finding Files

.topic 146
Find Next

Continues the search.

.topic 168
Notes

Selecting this item opens the notes editor to allow you to modify the notes for the currently selected object.

.topic 125
Paste

Paste the contents of the clipboard into the current object.

See also: Sharing Files

.topic 138
Rename

Select this to Rename the selected object.

.topic 157
Restore

Select this to restore the currently selected files.

.topic 169
Search

Opens the search window to allow you to perform complex searches in the current repository.

See also: Finding files

.topic 127
Select All

Select all the objects in the list.

.topic 144
About

Displays Version and Copyright information for Team Coherence.

.topic 147
Help Contents

Displays the main help file (this file) for Team Coherence.

.topic 155
Change Password

Select this item to change your password.

.topic 148
Connections

Displays the Connection Manager to allow you to define connections to other Team Coherence repositories.

See also: Connecting to a Repository

.topic 150
File Groups

Selecting this will display the File Group Manager to allow you to create new file groupings and maintain existing ones.

See also: File Groups

.topic 142
Login

Select this item to login under a different username. The name you are currently logged in under is displayed in the statusbar.

.topic 161
Options

Select this to display the Options dialog to modify local settings for Team Coherence.

.topic 153
Promotion Levels

Select this item to display the Promotional Levels defined for this repository, and to add or modify levels.

See also: Promotion Levels, Promoting Files

.topic 149
Select Connection

Displays the Connection Manager to allow you to define connections to other Team Coherence repositories, and to select a repository to connect to.

See also: Connecting to a Repository

.topic 140
User Manager

Select this item to display the User Manager to allow you to create and modify Users and Groups.

See also: Project and Folder Security

.topic 130
Views

Select this to display the View Manager to allow you to Create, Modify, Delete, and Share Views.

See also: Using Views

.topic 129
Version Labels

Select this to display the Version Manager to allow you to Create, Modify and Delete Version Labels.

See also: Creating Version Labels

.topic 128
Toggle Icons

Toggles icon display between Small, Large, List, and Details.

.topic 1162
Toggle Status

Toggles the display filter between Show All, Show Modified, Show Out of Date, and Show Missing.

.topic 118
View Details

Shows or hides the Detail Pane in Version Manager. The Detail Pane shows additional information for the current selection and gives fast access to relevant actions.

See Also: Visual Elements

.topic 122
Show Details

Show files in list format with details displayed in columns.

See Also: Visual Elements

.topic 117
View Folders

Shows or hides the Folder Pane in Version Manager. The Folder Pane allows fast navigation of the repository hierarchy.

See Also: Visual Elements

.topic 119
Large Icons

Use large icons in the Files Pane.

See Also: Visual Elements

.topic 121
List

List files in the Files Pane using small icons in a list layout.

See Also: Visual Elements

.topic 158
Refresh

Select this item to refresh the contents of the currently active pane.

See also: Visual Elements

.topic 159
View Revisions

Select this item to show or hide the Details Pane in Version Manager.

See also: Visual Elements

.topic 120
Small Icons

Use small icons in the Files Pane.

See Also: Visual Elements

.topic 131
Up

Click here to move the current root up one level.

.topic 116
Notes

The notes page allows HTML or text notes to be attached to the selected object.

See Also: Visual Elements

.topic 112
Files Pane

The Files pane displays the list of objects directly contained by the object selected in the Folder Pane. Depending on the current selection, this is normally a list of the files and folders contained within this object. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object, or multiple objects, in this pane will cause the Detail and Information panes to update based on this selection.

See Also: Visual Elements

.topic 115
New Files

If the current selection is a folder, this page will list any files or folders in the local directory associated with that folder that have not yet been archived.

See Also: Visual Elements

.topic 113
Detail Pane

The detail pane displays details for the currently selected object in the Folder or File pane, depending on which is currently active. It contains a number of pages based on the current selection and may contain pages created by addin applications.

See Also: Visual Elements

.topic 114
Revisions

If the current selection is a file, the revisions contained by that file will be listed.

See Also: Visual Elements

.topic 111
Information Pane

The contents of this pane is based on the current selection in any of the other panes. It gives more details about the currently selected object(s) and also, dependent on the object, provides shortcut links to some of the most common Version Control actions.

See Also: Visual Elements, Information Pane

.topic 110
Folder Pane

The Folder Pane is used to display the Projects and Folders contained in a Repository. In addition, it gives access to the Locked Files object and, if you are an Admin user, access to the Recycle Bin. Right-clicking on any object in this pane will display a context menu based on the current selection.

Selecting an object in this pane will cause the Files Pane to update based on this selection.

See Also: Visual Elements

.topic 1083
Views

Select a different View from the drop-down list. For more information on defining and using Views, see Using Views.

.topic 5000
No Help topic is associated with this item.