The Little Known & Documented Team Utilities Feature in Visual Studio's Team Explorer, TFS Power Tools Add-in

Visual Studio Team Explorer Team Utilities
As suggested by the title, this post is my attempt to document what I've learned about the Visual Studio Team Explorer, Team Utilities feature installed with Team Foundation Server (TFS) Power Tools. This feature can greatly simplify distributing customization's to your TFS process across your development team; but it's sparsely documented by Microsoft save a few older blog posts by Brian Harry that I believe are not 100% accurate any longer as a result of changes to the feature. Team Utilities provides solutions to the problem of distributing and controlling customized features for your projects in TFS.

What can Team Utilities do for me?
  1. My Shared Queries
    • Share a set of predefined work item queries with the team that can be used as query starter templates. For example, lets say you track the workload for your team using a specific query and you want to provide your developers with a starter template that they could further customize for a specific project.
  2. Workspace Templates
    • Setup a default workspace configuration for your specific project needs and source control configuration. For example, this feature can help new developers establish their workspace from a predefined template rather than relying on word of mouth or having to write separate documentation for setting up a workspace. If you've got a large team like I do this makes things a lot easier.
  3. Shared Components
    • Distribute custom functionality to extend or customize your source control and work item management process. These things include Custom Work Item Controls and Custom Check-in Policies. Such customized functionality is generally registered with the server but requires custom assemblies to be on each developer machine. That presents the problem of how to distribute that to everyone and keep it up to date. That's the challenge that this feature addresses. When downloaded, Visual Studio takes care of installing an registering your custom components for you.
How do I add something to team Utilities Shared Components?

To make custom components available to developers on your team you must check them into source control at a specific source control path. Those paths are:

$[ProjectName]/TeamProjectConfig/CheckinPolicies”
$[ProjectName]/TeamProjectConfig/CustomControls”

As a note: Older articles you might find online suggest that the path should be “$[ProjectName]/TeamProjectConfiguration/" I believe that this used to be the case but changed with Visual Studio 2008.