CodePlexProject Hosting for Open Source Software
After releasing TfsAlert 0.3.0.0 I realized I'd failed to mention how security works. BIG OPPS, Sorry!!! TfsAlert will not get into the business of managing your user account. Windows already provides such a facility and I believe leveraging that is just a better more secure choice. However TfsAlert will maintain knowledge about your TfsUserName. It does so to properly create the Tfs event subscription. Having said that you still need to properly authenticate just to subscribe, no different than any of the other Tfs tools.
So how do we manage security? Simple, we just add the server\username \ password into Control Panel -> User Accounts -> Manage User Accounts -> Advanced -> Manage Passwords. I do realize this may be shut down by a companies GPO but if not we have found this to work very nicely. If your one of those people ( like I ) who use multiple Tfs servers at a variety of locations you would always be prompted for your credentials just to start up the IDE. This all goes away once your account is loaded into that Windows facility.
With today's release of TfsAlert a question will no doubt get asked; what really is a Filter Expression? Short answer, an expression to filter events sent from TFS.
Long answer.
Formally known as Visual Studio Event Filter Language or VSEFL, it feels very much like a SQL expression and/or like WIQL. These filters are added with the creation of the subscription itself. This becomes really important when you're consuming any part of the TFS eventing system. Let's use TfsAlert for example. It's 100% driven by the TFS eventing system and while there are a number of events once can subscribe to lets just focus on two and further provide some concrete examples.
Lets also assume you have a TFS server which has more than one TFS project and more than one person using it. Given that when you startup TfsAlert without any subscription filters you're going to get a number of events, some of which I am sure you don't care about. The following questions usually come next. How can I
A typical CheckinEvent filter usually looks something like the following:
" TeamProject = 'Project Name' "" TeamProject MATCH 'Project Name A|Project Name B' "
" TeamProject = 'Project Name' "
" TeamProject MATCH 'Project Name A|Project Name B' "
Those two expression actually answer that first question. The expression simply states we want to filter on TeamProject where the it either = 'Project Name' or MATCH all project which equal Project Name A or Project Name B. The "key" ( in this case TeamProject) is derived from that events schema. So what operators are available?
Matching is pretty easy and all completed on the server side before the event is ever sent. What you really need to understand is each particular events schema. That events schema ultimately defines the actual event and what you have the ability to filter on. When TFS installs you can find the default schemas @ %ProgramFiles%\Microsoft Visual Studio 2005 Team Foundation Server\Web Services\Services\v1.0\Transforms. You can further create your own event types, but I will save that for another post.
This release of TfsAlert will actually publish the message you've received to the event log just so you can easily look at it. This will really help when you want to build some filter expressions. This can also be turned off by setting the value attribute from 3 to 0.
<switches> <add name="General" value="3" /></switches>
Want to dive deeper, all the eventing information you ever wanted to know can be found @ http://msdn2.microsoft.com/en-us/library/aa398965.aspx
Today we have released the initial TfsAlert release 0.3.0.0.
Prerequisites
.NET 3.0 is required since this is built on top of WCF. If you’re running this from Vista you will not need to install the .NET 3.0 framework.
Installation Notes
This version runs under Windows XP. If you would like to run on Vista you have to install to another location outside of %programFiles% so you the proper security to configure it. We are currently addressing Vista UAC compatibility. Once installed you HAVE TO properly configure it. This will be fixed in the next release.
This version runs under Windows XP.
If you would like to run on Vista you have to install to another location outside of %programFiles% so you the proper security to configure it. We are currently addressing Vista UAC compatibility.
Once installed you HAVE TO properly configure it. This will be fixed in the next release.
What's New
Base architecture with basic event notification.
What's Next
http://www.codeplex.com/WorkItem/List.aspx?ProjectName=TfsAlert
Contact Us
CodePlex: http://www.codeplex.com/Wiki/View.aspx?ProjectName=TfsAlert
This weekend I was hard at work tidying up the TfsAlert source base, fixing Vista breaking changes. This morning I finally migrated it to CodePlex. Right now we are actively working on the package for an initial release. We should have that released later this week.
If you download the source there are a few things to note.
There is one critical bug we are currently addressing. Right now if your network interface drops out and you are assigned a new IP we orphan that event subscription in TFS and don't get a chance to clean it up.
So just what is TfsAlert?
TfsAlert is a .Net 3.0 smart client which monitors for subscribed TFS notifications and will display a balloon window in the Windows TaskBar Notification Area. It is built on top of WCF where you can subscribe to any TFS event you feel fit. It's initial focus is around Team Build management but will also include features around Work Item tracking.
How about that for an official party line!
I started TfsAlert back when TFS was in it's beta days. I've used Cruise Control for many years and I just felt naked without the tray, so TfsAlert was born. Yes I have copied some of the feature ideas. So far it has been a great learning experience of not only .Net 3.0 but TFS integration. I am excited about the expanded development and communities response.
A few minutes ago the TfsAlert CodePlex how was created. It's going to take me a few days just to get everything transferred over and get a build out, but it's high on my list.
http://www.codeplex.com/Wiki/View.aspx?ProjectName=TfsAlert
Last edited Dec 7, 2006 at 10:16 PM by codeplexadmin, version 1