Showing posts with label TFS2010. Show all posts
Showing posts with label TFS2010. Show all posts

Tuesday, May 22, 2012

Community TFS Build Manager – Change Drop Location Preview


A couple of weeks ago I was faced with a sudden replacement of the server hosting the drop file share for a collection hosting 150+ builds. Even though it didn’t’ please some of the builds admins, I remained calm and promised them I could easily change drop locations for all builds with the Community TFS Build Manger. I was quite sure the Build Manager had a feature to batch change the drop location of selected builds.

But I was wrong
Much to my surprise I couldn’t find any way to change the drop location using the Community Build Manager.  I can say I looked for more than a while, as I was quite sure it was possible, but at last I had to surrender to the state that it wasn’t possible using tfs build manager.  Somehow I must have mixed up the feature set with my own hacks or simply assumed it would be included. 

No need to panic  ;)
I knew I had implemeted a similuar feature a long time ago, After a short diging I found what I was looking for. I had implemented a Change Drop Location feature back in 2009 in a tool/hack TfsBuildAdmin and I could probably use it or rewrite it again. It turned out that the 2009 TfsBuildAdmin tool was against the old build API and I had already rewritten the Change Drop Location feature against the new tfs2010 build API. This meant that I had a solution to batch update 150 build drop locations. First problem solved!

A promise is a promise
But I still had a problem; I kind of had promised that the Change Drop Location feature was included in the Community TFS build Manger. And of course it would be best to have such features integrated in a common tool like Build Manager.  So I simply emailed Jakob Ehn and Michael Fourie and described the problem, the solution and offered to assist in developing the feature set.

Build Manager Change Drop Location feature
This is the result so far, then selecting (multiple) builds and right clicking you get a new menu item Change Drop Location. Once selected it presents you a form to select update method. You can do both search and Replace updates and force a standard drop location for all build definitions using a couple of macros such as $(TeamProject)  and $(BuildServer)
You also have an option to update drop locations for existing builds (to ensure that the link in the build reports works for existing or old builds)
 

Preview download available
If you can’t wait until the next release of Tfs Community Build Manager I have put together a preview of the standalone application with the Change Drop Location feature enabled. You can download it from my SkyDrive https://skydrive.live.com/?cid=5d46cae8c0008cf0&resid=5D46CAE8C0008CF0!1052&id=5D46CAE8C0008CF0!1052

Update 2012-06-02 This code is now committed to the main branch for Tfs Build Community extensions and can be downloaded and built using the following changeset http://tfsbuildextensions.codeplex.com/SourceControl/changeset/changes/76886.


Sunday, March 13, 2011

How to change iteration for Burn Down reports in project portal

Last week I needed to change the default iteration for the burn down chart in the (WSS) team project portal . My first thought was that this should be a simple task done in minutes, as the burn down chart is a SSRS report and I know I can change the default parameters for SSRS reports on the properties tab of the SSRS report.

How to change default parameters for SSRS reports
The simplest way to change the default parameter for a SSRS report is to right click on the Reports folder in team explorer and select Show Report Site. Once the report site opens up in your browser, click on the report you want to change, and then the report shows, click on the Properties tab. In the left border, click on the Parameters tab. Now you can see all parameters in the report and change their default values. Some of them are easy to change, others like the iteration parameter is not expressed in a intuitive or user friendly format.

Finding the right iteration expression
To find the value for an iteration, you need read access to the TFS Cube, and a tool such as SQL Server Management Studio. To get the desired iteration value you have to browse the TFS Cube, find and browse the Iteration hierarchy, find the desired iteration and drag it over to the query area. This procedure is described in detail in a post by John Socha-Leialoha (http://blogs.socha.com/2009/10/customizing-report-parameters-for-team.html)

In my case, and I suspect in many other cases, I didn't have read access to the customers tfs cube, forcing me to find another way to get the iteration value. In other cases, access and knowledge to tools could be a show stopper.

An easier way
As I was forced to find another solution, I came up with the idea to create a custom SSRS report showing the iterations and their corresponding iteration values/expression. Creating the report was easy, and all I had to do once created was to upload it to the server and set the data source. Once done, I simply run the report, find the iteration I need and I can copy the iteration value at the same row. Next time I need to change the iteration, I simply run the report again.
I think it is a really simple and good way to solve the problem, so if you running iterations and want to change the current iteration every 2-4 weeks, grab the report from my skydrive http://cid-5d46cae8c0008cf0.office.live.com/self.aspx/.Public/AreasAndIterations.rdl

Saturday, February 19, 2011

TFS Scorecard 2010 Beta 1 released on CodePlex

Today I released a beta of TFS Scorecard for TFS 2010 at CodePlex http://TfsScorecard.codeplex.com. Since the release of TFS2010 I've been working on an adopting the TFS Scorecard to the schema changes of TFS2010 data warehouse and cube. Upgrading to the TFS 2010 schema changes was not a big deal and soon fixed. But the old version was dependent on extensions to the tfs cube.

Old version bad install experience
The TFS2008 version was dependent on extensions made to the schema of the TFS Cube for the adoption queries. This made the install procedure all but smooth and simple. To solve this problem I did a TFS Warehouse adapter making the schema changes, but it still was
an extra step to follow and I would personally think twice myself before adding an external third party data warehouse adapter to a production server.

No more extensions to the cube.
Then I started to look at how to upgrade or adopt the cube extensions, I wanted to improve the install experience, or at least not make it worse. After some thoughts I got the idea to skip the cube extensions and do SQL queries against the TFS Warehouse instead. As the TFS Warehouse contains all data used by the cube schema extensions, I could solve the problems with SQL without requiring any changes by the user. Using SQL against the warehouse instead of MDX agianst the cube could of course hurt performance, but I don't think this is a big concern as the Scorecard report is probably scheduled or viewed once a week in most cases.

Manual Test metrics

With the new test tools for manual testing (Microsoft Test Manage ) I thought it would be nice to get a picture of the adoption of manual testing with MTM. So I made an Manual Test metrics in the adoption page.

Beta release- please provide feedback

I think there is some work left to do on the TFS Scorecard report. I didn't take any time to fix the small details of the report graphics. You could always discuss and improve metrics and other features. Download and try the TFS Scorecard 2010 release from codeplex and if you have any ideas, comments or feedback in general I would be pleased if you let me know.

Thursday, October 14, 2010

TFS2010 Automated team project creation

This is a update on a the code from a previous post TFS Admin, Part II - POC Automated Order process. It has been upgraded to handle tfs2010 and different team project collections .

The feature set includes

• Order form for team project.
• Approval of team project orders
• Automatic team project creation
• Assigning of admin permissions to project admin.
• Reassigning work items to project admin
• Assigning contributors (New)
• Applying standard enterprise access rights
• Applying standard policies
• Sending notification email to project admin

Future plans
I'm in progress of implementing post creation synchronization of contributors. At the moment you can add contributors by editing the contributors field in the SharePoint list. The tool then synchronizes (add) the user as contributor to TFS, RS & WSS. So far the tool doesn't remove contributors or synchronize the list of contributors in SharePoint with the team project. The goal is to make it possible to handle the most common tfs user administrative tasks directly in the SharePoint portal, without installing any client side tools.

Code, Binaries and SharePoint list template
You can find the source, binaries and a SharePoint list template at my skidrive http://cid-5d46cae8c0008cf0.office.live.com/self.aspx/.Public/TFS2010%20Automated%20Team%20Project%20Creation.zip. The process of implementing is described in the TFS Admin, Part II - POC Automated Order process post. The process is most about about creating a custom list in sharepoint and edit the tools config file.

Monday, September 6, 2010

Main TFS server upgrade

During the weekend my colleges and I upgraded our main tfs server with 150+ users to tfs2010. We started to plan this upgrade in April, and overall it has been a smooth and easy upgrade. But of course it always turns up things you didn't expect then you started planning. This post contains our unexpected findings, and how we solved them.

The plan
First a short description of our plan. In order to minimize the risk and minimize disruptions, we choose a migration upgrade. Choosing a migration upgrades allows us to have an good and easy rollback plan but even more important, we can do several real life rehearsals.
Our plan covered three rehearsal upgrades. The first rehearsal is just error pruning, go for a upgrade and see what problems you detected. We also start documenting , creating scripts and time every step.
The second rehearsal main objective is to verify your fixes. It is also a good way to test and make final adjustments to your own documented install process. A third run is a good idea, just to prove that everything works without any surprises. After a run without unexpected surprises you are ready to do the upgrade

SharePoint 2010
Our original plan was to move to SharePoint 2010 during the migration. During the first test run it came clear that the heave use of Conchangos Scrum for Team System template in combination with the lack of support and problem to get even the latest SfTS template to work with SharePoint 2010 was a showstopper.Back to wss3 until SfTS supports SharePoint2010

New reports missing permissions
During the migration a reports are created at /TfsReports/DefaultCollection/TeamProject . It turned out that the permissions is not migrated, leaving it inaccessible for team members. Needing to fix this 100+ folders we made a short program to copy the permissions from the old report folders to the new 2010 report folders. You can find the program and the source at my skydrive http://cid-5d46cae8c0008cf0.office.live.com/browse.aspx/.Public/SyncRsRoles.

Conchangos Scrum for Team System wss templates.
It is a well know fact that the SfTS 2.2 template and TFS2010 upgrades represents a big problem, good news is that EMC has released plans to make a WorkItem Migrator, at least a step in the right direction. Never the less, we didn't anticipate to have so much trouble getting SharePoint template for SfTS project portals in place. Without it all project portals and document libraries for project based on the SfTS template is inaccessible, SharePoint simply returning http error 404.
Our solution was to do a simply filecopy of the folder C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\SiteTemplates\SCRUM, from the older server to the same location on the new server.

The new buildreport not working
The jury is still out on this one. The new build report gives us the following error.
  • File system error: The record ID is incorrect. Physical file: \\?\D:\OLAPDATA\Data\Tfs_Analysis.0.db\Dim Build Platform.0.dim\5.BuildPlatformName.(All).ostore. Logical file: .
We have spent several hours rebuilding the cube and warehouse without any success. I will post an update when we have solved this issue.