Today we have released the final version of the Team System Web Access (TSWA) 2008 power tool!  Team System Web Access provides a web interface to Team Foundation Server 2008.

Here's a list of feature changes.  Of course, we also fixed a number of bugs.

  • New direct links: Previously, you could construct a direct link to a work item (http://mytfs:8090/wi.aspx?id=123).  Now you can also construct direct links to more features, and the direct links no longer open the main TSWA page, making them more responsive.  Keep reading to find out how to use them.
  • Performance improvements: The code now uses server memory more efficiently, resulting in increased performance.
  • Custom work item controls: First introduced in the CTP, we have continued to refine support for custom work item controls in TSWA.  To take advantage of this feature, you'll need to implement web versions of your existing custom controls.  You'll find documentation for it in the SDK folder underneath the folder where you install TSWA.  The following examples have been added since the CTP, in addition to the samples for checkbox, a work item picker, and a multi-value selector.
    • How to validate a work item on the client-side (Javascript)
    • How to validate a work item on the server-side
    • How to design a control whose field depends on the values of other fields
    • How to design a control that changes other field values (such as the WI state) and saves the work item
  • Team Build 2008 support: Also introduced in the CTP, you can view the build queue and queue new builds, which are features that are new for TFS 2008.

For those of you who remember the need for the TSWA users group in the installation of the TSWA 2005 power tool, you'll be happy to know that is gone.  That was something we had to add to satisfy security requirements, but we've since changed the code to handle the impersonation better such that impersonated user identities no longer need access to any of the local directories for cache files and user settings (i.e., the code reverts to the service account while it accesses those).

Note that you need to install Team Explorer 2008 on the computer before installing TSWA 2008.

Direct Links

Here is the list of direct links and examples showing how to construct them.  The previous releases only supported direct links to work items, and Neno Loje has a great post on how to modify work item alert emails to use TSWA links.  The new direct links, such as diff, provide the ability to make the checkin email alerts really useful, too (more on that later).

  • Work item tracking
    • Work item editor
      • Open the existing work item with ID 1234: http://mytfs:8090/wi.aspx?id=1234 
      • Create a new work item of type Bug in team project TeamProject:  http://mytfs:8090/wi.aspx?pname=TeamProject&wit=Bug
      • Create a new work item of type Bug in team project TeamProject and link it to work items 1234 and 5678: http://mytfs:8090/wi.aspx?pname=TeamProject&wit=Bug&workitems=1234,5678
    • Query editor
      • Open the query editor to create a new query: http://mytfs:8090/qe.aspx?pname=TeamProject
      • Edit the existing public query (under "Team Queries") called "Team Bugs" (scope is either public or private, which corresponds to Team Queries or My Queries, respectively, in English systems): http://mytfs:8090/qe.aspx?pname=TeamProject&name=Team%30Bugs&scope=public
    • Query results
      • Execute the private query (under "My Queries") called "My Bugs": http://mytfs:8090/q.aspx?pname=TeamProject&name=My%30Bugs&scope=private
  • Version Control
    • Changeset details
      • Display the details for changeset 1234 by specifying the changeset number: http://mytfs:8090/cs.aspx?cs=1234
      • Display the details for changeset 1234 by specifying the artifact URI: http://mytfs:8090/cs.aspx?csuri=vstfs:///VersionControl/Changeset/1234
    • Shelveset details
      • Display the details for the shelveset MyChanges by specifying the shevleset name and owner separated by a semicolon:  http://mytfs:8090/ss.aspx?ss=MyChanges;domain\UserName
    • History
      • Display the version history of the file or folder identified by item ID 789: http://mytfs:8090/history.aspx?item=789
      • Display the version history of the file $/TeamProject/Secret/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/history.aspx?path=$/TeamProject/Secret/foo.cs 
      • Display the version history of the directory tree at $/TeamProject/Secret (history of a folder is recursive; specify del=N where N is the deletion ID if the folder is deleted): http://mytfs:8090/history.aspx?path=$/TeamProject/Secret 
    • Compare files (diff)
      • Display the differences between the latest version of two different files, identified by item IDs 789 and 3456 ("o" indicates the original version that will be displayed on the left, and "m" indicates the modified version that will be displayed on the right): http://mytfs:8090/diff.aspx?oitem=789&mitem=3456
      • Display the differences between two different versions of the same file, identified by item ID 789 and changesets 100 and 200: http://mytfs:8090/diff.aspx?oitem=789&ocs=100&mitem=789&mcs=200
      • Display the differences between the latest version of two different files, identified by path (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/diff.aspx?opath=$/TeamProject/Secret/foo.cs&mpath=$/TeamProject/SecretBranch/foo.cs 
      • Display the differences between two different versions of the same file, identified by path and changesets 100 and 200 (add the appropriate deletion ID, odel=N or mdel=M, for deleted files): http://mytfs:8090/diff.aspx?opath=$/TeamProject/Secret/foo.cs&ocs=100&mpath=$/TeamProject/SecretBranch/foo.cs&mcs=200
    • View file
      • View the contents of the file identified by the item ID 789: http://mytfs:8090/view.aspx?item=789
      • View the contents of the file $/TeamProject/Secret/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/view.aspx?path=$/TeamProject/Secret/foo.cs
    • Annotate (blame)
      • Display an annotated view of file $/TeamProject/Main/foo.cs (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/ann.aspx?path=$/TeamProject/Main/foo.cs
      • Display an annotated view of file $/TeamProject/Main/foo.cs up until changeset 123 (specify del=N where N is the deletion ID if the file is deleted): http://mytfs:8090/ann.aspx?path=$/TeamProject/Main/foo.cs&cs=123
      • Display an annotated view of file identified by item ID 789: http://mytfs:8090/ann.aspx?item=789
      • Display an annotated view of file identified by item ID 789 up until changeset 123: http://mytfs:8090/ann.aspx?item=789&cs=123

I've started a series of posts called TSWA Tips to help folks get the most out of Team System Web Access.

Enjoy!

[Update 6/14/2008]  The latest version of the TSWA power tool supports viewing shelvesets, so I've added the shortcut link for that.

[Update 2/06/2009]  Added a new work item URL that will link the newly created work item to the specified work items.