Hands-Free TFS Installation updated for TFS2008

April 22, 2008 at 8:06 pm | In Team Foundation Server | 2 Comments

William Bartholomew is an Australian TFS colleague who has updated my Hands-Free TFS Installation Guide for use with TFS2008.

Team System Notes: Hands-Free TFS 2008 install

It looks like he didn’t have to make too many changes. The most obvious being that the Windows SharePoint Services (WSS 3.0) installation is now automatically installed by the TFS installer. Great work William!

TFS Performance Heat Map Reporting Services Report

April 5, 2008 at 12:33 am | In Team Foundation Server | 5 Comments

Previously I’ve blogged about how to create a TFS Performance Heat Map using Excel 2007. This is great for a once-off look, but it requires you to update the data source and re-apply the conditional formatting every time a new daily column gets added.

The TFS Performance Heat Map report allows TFS administrators, users and IT Operations staff to monitor the performance of TFS commands and answer questions like “Is CheckIn slower today than yesterday?”

I’ve created a reporting services version of the same data, which allows you to export to PDF and setup a subscription to have it emailed to you daily. I followed the SSW Rules to Better SQL Reporting Services 2005 to give it that professional touch. Thanks to fellow Team System MVP Adam Cogan for the tip!

Here’s an example of what the PDF version looks like:

TFS Performance Heat Map in PDF format

I’ve made the Visual Studio 2005 solution available which includes two projects. A C# assembly for doing the Heat Map colour calculations and a SQL Reports project. You will need SQL 2005 Business Intelligence Studio installed to be able to open that project. The zip file includes everything necessary to deploy the report manually without these tools though.

Download PerformanceHeatMapReport.zip ~57Kb

Manual Report Deployment

To deploy the report manually, these are the basic steps:

  1. Extract the contents of the ZIP file to your server
  2. Setup a new or existing service account (TFSREPORTS) with data-reader access to the TfsActivityLogging database
  3. Open ‘Performance Heat Map.rdl’ and change the timezone offsets to match your timezone. (see below)
  4. Open http://your-server/Reports
  5. Select ‘Upload File’ and choose ‘Performance Heat Map.rdl’
  6. Select ‘New Data Source’ (see below)
  7. Select ‘Properties’ of the report
  8. Select ‘Data Sources’
  9. Select the data source that you just created
  10. Apply the changes
  11. Deploy the Utilities DLL (see below)
  12. View the report

Changing the Timezone

In the SQL query that I use, I convert all the StartTime dates from their GMT times their local times. I also set all the command times to 12:00 midnight, so that the grouping works correctly.

The report is currently configured for GMT+11 (Australian Eastern Standard Daylight Time).

  • Open ‘Performance Heat Map.rdl’ in notepad
  • Do a Find/Replace on “DATEADD(hh, 11, StartTime)” and replace +11 with your offset. e.g. “-8″ for PST

In my next revision, I’ll change this to a hidden parameter or something.

Create a new Report Data Source

If you’re not using Visual Studio 2005 to deploy the report, then you will need to manually create an appropriate data source. The settings you’ll need are:

  • Connection String: Data Source=SERVER-NAME;Initial Catalog=TfsActivityLogging

 image

This probably shouldn’t be an actual user’s account. You might be better off specifically granting the DOMAIN\TFSREPORTS service account access to the TfsActivityLogging database and using that.

Once you’ve created the data source, you will need to point the report at it.

Deploying the Heat Map calculation assembly

To calculate the different gradients of colours, I’ve used a custom .NET assembly based on the code from Andrew Fryer’s blog post. For Reporting Services to be able to access this assembly, it must be copied to the server.

To use it in the report designer, you need to copy it to:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PrivateAssemblies

To make it available for reports that have been deployed to the report server, you need to copy it to:

C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin

I hope you find this useful, please leave a comment if you do. I’ve got some ideas for more ‘operational’ reports to create.

Windows Explorer TFS client with SvnBridge

April 4, 2008 at 11:33 pm | In Team Foundation Server | 1 Comment

SvnBridge allows you to use the awesome TortoiseSVN windows explorer subversion client with Team Foundation Server. The bridge mimics the behaviour of a Subversion server and translates the Subversion commands into TFS commands. When I first heard about the SvnBridge project sometime last year, I’ll admit that I privately snubbed it a little because it didn’t feel right and a little hackish.

However, after reading Ayende/Oren (of RhinoMocks fame)’s blog posts on the work he’s been doing on it lately I figured it was time to give it another look.

Scott Hanselman gives a good overview on getting started with the bridge

These changes are not in the 1.0 release from October 2007, but if you download the latest source code and build it yourself (run “Build.cmd Build”) you’ll see some of the great new features:

When you start the SvnBridge.exe you have a new option:

SvnBridge Configuration Screen

I’m using a copy of the new Visual Studio & Team Foundation Server all-in-one evaluation VPC which has some sample projects in it.

If you’re using TortoiseSVN to checkout the latest code of $/TicTacToe from http://tfsrtm08:8080 then you just specify the repository URL as: http://localhost:8081/tfsrtm08:8080/TicTacToe

TortoiseSVN Checkout Dialog

You’ll get prompted for authentication if integrated authentication doesn’t work.

SvnBridge Authentication Dialog

The standard TortoiseSVN Checkout dialog:

TortoiseSVN Checkout dialog using SvnBridge

And now you have TFS Source Control within Windows Explorer. No more read-only files and as soon as you change a file, it’s icon changes.

Windows Explorer with TortoiseSVN icons and SvnBridge

Associating check-ins with Work Items

My first concern with using the bridge was how to associate check-ins with work items, as this is a vitally important step to link code back to tasks/requirements.

Fortunately it looks like you can add a line to the bottom of your check-in/commit comment “work item: 1234″ or “work items: 1234, 4567″ and it will add the appropriate linkages.

TortoiseSVN Checkin dialog with Work Item integration

This is what the changeset looks like when viewed in TFS:

TFS Changeset dialog with checkin from SvnBridge

But it looks to be broken for the moment, I’ll file a bug for that one :)

TFS Changeset dialog showing no associated work items

Unfortunately check-in policies are not supported, so you’ll have to make sure that you enforce them as part of your build process.

I encourage you to download it and have a play with it, you may find a perfect situation to use it in. I think this could be the way to bring version control to the non-developer TFS users out there. Remember though, you still need Client Access Licenses (CALs) for all users accessing your TFS server.

TFS Deployer Patches

April 4, 2008 at 9:56 pm | In Team Foundation Server | 2 Comments

Recently I’ve been working with TFS Deployer and I’ve needed it to work in a slightly different way.

Fortunately Mitch set it free and it’s an open source project hosted on Codeplex which allows me to make my own changes and submit the patches for inclusion into the main distribution.

Patch ID #929 - Update to support different TFSBuild.proj path in TFS2008

TFS 2008 allows the Team Build project file (TFSBuild.proj) to be in a path other than $/TeamProject/TeamBuildTypes/<Build Name>/TFSBuild.proj.

This patch connects to the IBuildServer service, and gets the location of TFSBuild.proj from buildDefinition.ConfigurationFolderPath. (See Orcas Object Model documentation)

This patch doesn’t break backwards compatibility with TFS2005, but allows the /Deployment/ folder to be a sub-folder of the location of TFSBuild.proj - wherever it is.

Patch ID #1073 - Update to support multiple email recipients

Sometimes it is necessary to notify multiple people about a deployment & it’s not possible to create a distribution list for doing so.

This is a patch to /Alert/EmailAlerter.cs that enables support for multiple recipient email addresses separated by semi-colons in the NotificationAddress setting in DeploymentMappings.xml.

e.g.

<Mapping xmlns=”"
  Computer=”AnotherBuildServer”
  OriginalQuality=”Under Investigation”
  NewQuality=”Ready for Deployment”
  Script=”PrepareForDeployment.cmd”
  RunnerType=”BatchFile”
  NotificationAddress=”release.manager@domain.com;team.lead@domain.com” />

Enjoy! Hope this helps and if I’m lucky, the maintainers might even accept my patches into the mainline :-)

Update: The patches have been accepted into the mainline by Jason. It turns out they didn’t know there were any patches waiting :)

« Previous PageNext Page »

Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.