Exploring Attrice Team Foundation Sidekicks


By Eugene Zakhareyev
August 2008 (original version published in March '08 issue of TFS Times newsletter)

The article discusses some typical usage scenarios for Attrice Team Foundation Sidekicks application.


Introducing Sidekicks

First version of Team Foundation Sidekicks application was released in April 2006, right after the production release of Team Foundation Server 2005. The first version included only one application, Workspace Sidekick that provided Graphic User Interface for common workspace-related administrative tasks. As of today, the stand-alone application consists of Workspace, Status, History, Label, Shelveset, Permission and Code Review Sidekicks; additionally, there is Visual Studio package with the same name that provides build type editing and item search functionality for Team Foundation Server. Latest version of the application is compatible with and provides same functionality for Team Foundation Server 2005 and 2008. Since the first release, the goal of the application was to provide GUI for common administrative tasks that may be performed only from command-line (using command-line tf client) or not available. In that article I shall try to describe some common scenarios in which Team Foundation Sidekicks may be helpful.


Single application with many faces

All Sidekicks are activated from the same stand-alone application that allows to login to Team Foundation Server either with currently logged-in user credentials or with custom user name:

For all Sidekicks the screen consists of two panes – search pane and details pane. Search pane provides for search parameters input and for display of the search results, whereas the details pane displays Sidekick-specific details for selected search result.

Thus, in Workspace Sidekick using the search pane (see 1 below) one may specify workspace search criteria, such as workstation name, owner name and last access date range; after specifying search parameters and performing search, user may select workspace from the list of results (see 2) and view its details (see 3) or additional properties (such as workspace mappings – see 4).

Two other important features that included in all Sidekick applications are user name handling and list export capability. Unlike Microsoft TF clients, Sidekicks work with user display names. And also unlike Source Control Explorer, almost every tabular data list displayed in Sidekicks may be easily saved to CSV file for whatever reporting purposes.


Conquering workspaces

As its name implies, Workspace Sidekick mainly deals with Team Foundation Server workspaces. Most of functionality provided by this application is accessibly only in command-line client; and dealing with many workspaces (especially from several users) can be very inconvenient through command-line. The application allows searching workspaces and reviewing of the properties and mappings for selected workspace; I would like to highlight the workspace duplication feature:

Using that feature, you can copy however complicated set of workspace mappings from existing workspace to any workstation; only parameters required are selected source workspace and target workstation and owner. Typical scenarios that this application can help you with are:

  • Removing old workspaces (those that were not accessed lately) with the purpose of clean up
  • Removing the workspaces of the user that has left the company
  • Review the workspaces’ mappings for multiple users (f. e., with the view of having standard development environment across team)
  • Duplication of same workspace definitions for multiple users on multiple workstations

Who’s locked that @##$%# file?

When team of developers works on a project, situations when there are “stray” check-outs or files locked are fairly typical. Status Sidekick’s objective is to view pending changes across source control repository; in case the changes should be rolled back, the application allows performing administrative undo/unlock of the changes by other users. In TFS 2005, those features are available only through command-line interfaces; for TFS 2008 Microsoft Power Tools provide item search by name/status, integrated into Visual Studio, with additional features such as check in of found pending changes.

Note how the search can be limited by using user display name and/or the date of change; the tree view of the search results allows easy navigation to specific subfolders. Other common usage scenarios for Status Sidekick include

  • Review of all user’s pending changes across workspaces on different workstations
  • Review multiple users’ pending changes (with the purpose of getting rid of outdated pending changes)
  • Undo locks set by other users
  • Undo pending changes (including edits) by other users

Knowledge of history

The ability to access historical data is one of the major features of any source control systems. While Source Control Explorer does a decent job in exposing changeset-based history, certain cross-sections of the information available are lacking – and that’s where History Sidekick fits in. History Sidekick is probably most complex of all Sidekicks applications. Its objective is to provide all possible views of the history data for source control item (file or folder alike). Most of the views are available only through command-line client with some of the views not available anywhere else.

The repository may be navigated either using tree view or using Search item dialog. For selected item in the repository, the information available encompasses item changesets history, item properties (including current pending changes), item branching information (including properties for every branch), directional [to item/from item] merges history, potential merge candidates from item to branch selected by user and item labels history.

Typical usage scenarios for History Sidekick include

  • Review item history for multiple items
  • Review folders branch information (including deleted branches and detailed properties for branches)
  • Review merges to/from selected file while comparing between revisions
  • Review folder merge candidates before merges to specific branch
  • Review item labels and labeled revisions

I have a label and now what?

While labeling items and accessing the labels in TFS are relatively easy, reviewing the labeled items and especially comparing the historical labels is a missing piece; that’s where Label Sidekick may be used for labels’ contents review and comparison. It provides more convenient access to the labeled content than Visual Studio Source Control Explorer/command-line client; such features as labels content comparison are exclusive to the tool.

The labels may be searched by name, owner name, project and last change date. The labeled contents view includes labeled items (with the ability to compare revision with the latest), labeled changesets or labeled work items.

Labels may be compared between themselves or with the latest version; comparison dialog also allows for revisions comparison.

Typical usage of Labels Sidekick may be as follows:

  • Review the contents of the specific label (including inferred contents such as changesets and work items)
  • Compare labeled artifacts (items, changesets and work items) between two labels or between label and the latest version (only items are available
  • Remove multiple labels

Making shelvesets accessible

When you have to review shelvesets of several people, you start wishing for more streamlined interface than TFS has to offer. And Shelveset Sidekick is exactly that – a convenient GUI for reviewing shelvesets and their contents. The application emphasizes ease of search and access to the shelved files (including comparison, saving or review of the shelved revisions).

The shelvesets can be searched by name, owner or change date range; after shelveset is selected in the search results, its properties and shelved changes can be reviewed. Shelveset Sidekick may be applied in the following scenarios:

  • Review any user’s shelvesets and shelved item revisions
  • Remove (multiple) old shelvesets from the database

Reviewing the changes

No more plodding through the Changeset details dialogs for the week worth of checked in changes - Code Review Sidekick provides easy to use and convenient UI for reviewing set of changes.

One selects set of changesets using standard Find Changeset dialog; the items included in the changesets selected are shown grouped by the item path and can be easily compared between them or with previous revision. The ability to select changes through work items is planned in the next version of the tool.

The application answers the following scenarios:

  • Review changes performed on related files by several developers or to estimate
  • Review changes performed in certain period of time (for example, in order to estimate the impact on certain modules in the project)
  • Review changes associated to specific work items

Why John is not allowed to do this?

While TFS provides convenient user interface for setting up permissions, discovering why certain user is granted (or denied) certain permission is not an easy task. Using Permission Sidekick, one may view effective permissions for all available categories: Global Server permissions, Team Project permissions, Area permissions and Source Control permissions.

In addition to viewing effective permissions, you can also see why specific permission is granted or denied (i.e. what permission assignments cause the permission to be granted/denied).


And now together with Visual Studio

Installation package for the Sidekicks application also includes Visual Studio Integration Package that makes available in Visual Studio the following features

  • Code Review Sidekick is integrated into Source Control Explorer
  • All Sidekicks are available through “Tools->Team Foundation Sidekicks” menu
  • Search Items by name is integrated into Source Control Explorer
  • Check out, Check In and Undo menus are integrated into Team Explorer for build types
  • Dynamic history update is available upon changing selection in Source Control Explorer


Conclusion

In this article I tried to cover most functions provided by Team Foundation Sidekicks. The application is freely available and is provided as a service to the community; if you discover a bug or have other feedback, please let us know. If you want to be "in the know", Sidekicks blog is updated with info on how-to, bug fixes and release updates.


About the author

Eugene Zakhareyev is a principal consultant at Attrice Corporation in San Jose, California. His primary focus is SCM and development methodologies using Visual Studio Team System. He may be contacted through his email.


© 2006-2016 Attrice Corporation. Last updated 30-Dec-2015 Contact us