We are approaching the release date of our next release of the Team Foundation Server Power Tools.  We are targeting to have it available in about 3 weeks.  As I've mentioned before this is a smaller Power Tools release than we typically have done.  This is because so much of our effort has been on getting TFS 2008 SP1 done.  I am expecting that our Sept Power Tools release will have a lot more in it.  We'll start planning that feature set soon.  The other thing is that this Power Tools release is going to be more of a "wave" than a point in time release.  A few of the components are being released at different times and in different vehicles.

The main components of this release are:

  • A new UI for subscribing for TFS Alerts - This new UI is a VS plugin (and therefore much more friendly than the BisSubscribe command line tool) and enables much more flexible subscriptions.  This is, perhaps, the premier end-user feature in the July release.

The first thing you will notice is a new node in Team Explorer for "Alerts" that will open the Alerts Editor window.  The Alerts Editor can also be opened from a menu item on the Team menu.

image

The alerts editor contains your alerts categorized by the event type the alert is based on (Checkin, Work item change or build completion).  From here you can easily add or remove subscriptions.  When you create or edit a subscription, you get a query builder like experience for describing the conditions that will trigger the alert.  You can build very sophisticated queries and can also flip to the Filter Expression tab to see what XPath expression is being generated (the underlying subscription engine works on XPath queries).

image

Here's an alert definition that will notify me if any new work is assigned to "my team"...

image

When you first start out, the flexibility of the query builder will be a bit daunting.  To make it easy, we have several handy short cuts.  You can right click on a folder in the Source Control Explorer and select the "Alert on Change..." menu item.  You will be presented with the following dialog and after hitting Ok, you will be notified of all subsequent checkins under that folder.

image

In a work item query results list or in an open work item, you can right click and select "Alert on Change..." to configure an alert for that selected work item(s).  This includes an easy way to configure the alert for "Anything changes", "State changes" or "Assignment changes".

image

If these shortcuts are too constraining, we have more... When you add a new alert, you are presented with a list of templates to choose from.  For example, choosing "Check-In to a specific folder with a policy overridden" will fill out the query builder with the right clauses and all you have to do is fill in what folder you want to be alerted on.

image

I wish I could say the list of templates was customizable but it is not for now.  We'll certainly take suggestions for new templates and I hope that at some point we can make it admin or end-user editable.

One other thing people are likely to find confusing and/or frustrating is one particular characteristic of the work item tracking events.  There are two kinds of fields in work item tracking (for the purposes of eventing) "Core fields" and "non-Core fields".  Core fields are inherent to every work item type - State, Activated by, Activated date, Area path, Assigned to, Attached file count, Authorized as, Changed by, Changed date, Created by, Created date, Description, ID, Iteration Path, PortfolioProject, Reason, State, Title, Work Item Type and non-Core fields are all of the others.  The eventing system works by creating an XML message for every change that happens in the system.  Subscriptions work by running an XPath query over the XML message and sending alerts when the XPath query matches the message.  In order to reduce the data volume and overhead of processing events, the XML message for work item tracking changes contains only core fields and any field that changes.  It does not contain non-core fields that did not change.  When using the Alerts Editor query builder, you will observe this distinction in the list of operators that are available for different fields.  For non-core fields, you will only find "Changes", "Changes From" and "Changes To" because they are only available for matching if they change.  For core fields, you will find =, <>, and other equality operators in addition to the "change" based operators.  You can do this because they are always included in every message.  There is no way to identify additional fields to be included in every message and I suspect you will find this limitation frustrating.  We'll look at improving this in the future but that's going to require server changes.  Despite this limitation, you can create some powerful new subscriptions with the Alerts Editor.

I really hope this feature will go a long way to making the power of the notification system more available and approachable.  There are a bunch of features we'd still like to add to the alert system - enabling people to more easily subscribe for their whole team, scheduled summary notifications, etc but I hope this is a good step in the right direction.

  • TFS Best Practices Analyzer support for SQLServer 2008 - It wasn't ton of new work but this new version of the BPA tool now supports correctly identifying configuration issues when your TFS server is installed using SQLServer 2008.  We've done a variety of bug fixes and rule improvements along with that.

 

  • Support for changing user's names - One of the support issues we get from time to time is that administrators want to change the names of some of their users (in Windows or Active Directory).  What they find is that TFS doesn't cope with this very well and your work items, event subscriptions and a few other things get left behind with the old user name.  This release of the Power Tools contains a new tool called TFSUsers that enables you to update TFS's understanding of user name changes.  Ideally this would just be automatic (and we plan for it to be in our next release) but until then, the TFSUsers tool will help you.

"TFSUsers update" takes a mapping file and will update the user names as described in the mapping file.

"TFSUsers computedelta" can generate a mapping file for you by comparing the current Windows/Active Directory user names to a previously captured baseline set and automatically generate the mapping file needed for "TFSUsers update".

  • Team System Web Access Update - You can read more about the specific updates in my post on the CTP we released in April.  Due to our requirement (in this release) to simultaneously release in all 10 languages, the TSWA update is going to trail the July Power Tools release by about a month.

 

  • TFS SCOM Management Pack - In this wave, we are also releasing a SCOM management pack (the successor to MOM Management packs).  This is designed to help an IT operations team who is using System Center Operations Manager and managing TFS servers to setup automated health monitoring of the TFS server and take full advantage of the System Center features.  This tool will also not ship directly in the Power Tools release because there is already a defined web release mechanism for management packs and there's no point in creating a new one.  It is in limited "Beta testing" now with a couple of customers (the early feedback is good) and should be available on the System Center Operations Manager 2007 Catalog by mid August.

image

  • Bug fixes in WIT Templates and the Process Template Editor Power Tools

  • Improvements in TFPT.EXE
    • tfpt treeclean was an existing command that will delete files on your local disk that are in source controlled folders but are not in source control.  The primary difference is that it is now dramatically faster.  tfpt treeclean now replaces tfpt online /purge, which is no longer available.
    • A new tfpt scorch command - scorch is like treeclean except that additionally it re-downloads content that has been changed locally without pending an edit and content that has been deleted locally without pending a delete.
    • Important bug fixes in tfpt unshelve /migrate where the base versions for a 3 way merge were sometimes being computed incorrectly.
    • Improvements in online, scorch and treeclean to now handle folders as well as files, to properly handle single file mappings and proper treatment of items with pending changes other than "edit".

 

Well, that's it.  I think there's something in there for just about everyone.  I'll do a final announcement when each of the pieces are available for download.  Over the next few weeks we'll scope out what will be in the Sept Power Tools release and by sometime in August I should be able to give you an early heads-up.  Feedback is welcome, as always.

Brian