Everything you want to know about Visual Studio ALM and Farming
Brian Harry is a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server. Learn more about Brian.
More videos »
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:
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.
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).
Here's an alert definition that will notify me if any new work is assigned to "my team"...
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.
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".
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. 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.
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.
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.
"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".
"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".
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