A Django site.
May 15, 2008
» TSWA tip: How to use the new TSWA template URL feature (initial value URL)

One of the new features we've added to TSWA for the SP1 release is the ability to create URLs that are effectively work item templates by virtue of the fact that they have the values for the work items embedded in the URL itself.

Since constructing these URLs manually is really painful, we have an icon on the work item editor when you are creating a new work item that creates the URL and places it in the Windows clipboard.

Bring up the new work item form, fill in whatever values you want to get automatically set each time you use the URL, and then click the "globe with chain link" icon below the Save button.

image

Then you’ll get a pop-up message like this letting you know the template URL is now in the clipboard.

image

When you paste the contents of the clipboard, you'll get a link like this.

http://myserver:8090/UI/Pages/WorkItems/WorkItemEdit.aspx?pname=Orcas&wit=Orcas%20Bug&[System.Title]=Bug%20Bash%3A&[System.AreaPath]=Orcas%5CBuild%5CTeam%20Build&[System.IterationPath]=Orcas%5CRosario%5CBeta&[Microsoft.VSTS.Dogfood.IssueType]=Code%20Defect&[Microsoft.VSTS.Common.Severity]=2&[Microsoft.VSTS.Common.Priority]=2&[Microsoft.VSTS.Common.OpenBuild]=21022.08&[Microsoft.VSTS.Dogfood.OpenedBranch]=Orcas%20RTM&[Microsoft.VSTS.Dogfood.HowFound]=Dogfooding&[Microsoft.VSTS.Dogfood.Source]=Development&[Microsoft.VSTS.Dogfood.ProductUnit]=TFS&[Microsoft.VSTS.Dogfood.TeamLevel1]=Team%20Build&[Microsoft.VSTS.Dogfood.Blocking]=Not%20Blocking

That link will create a new Orcas Bug work item in the Orcas team project that I can use to quickly file a bug on the TFS Build feature.

  • Title starts with "Bug Bash:"
  • Area Path is "Orcas\Build\Team Build"
  • Iteration Path is "Orcas\Rosario\Beta"
  • Issue Type is "Code Defect"
  • Severity is "2"
  • Priority is "2"
  • Build is "21022.08"
  • Branch is "Orcas RTM"
  • How Found is "Dogfooding"
  • Source is "Development"
  • Product Unit is "TFS"
  • Team Level 1 is "Team Build"
  • Blocking is "Not Blocking"

With all of that filled in automatically, all I need to do after clicking the link is fill in the Description and Repro Steps.  That's a lot faster!

Previous tip: TSWA tip: Copy a bug to quickly file a new bug in an area related to the original

April 10, 2008
» Team System Web Access 2008 SP1 CTP and Work Item Web Access 2008 CTP are now available

Hakan has announced the availability of the new TSWA community technology preview (CTP) in his post, What's New in TSWA 2008 SP1.  Personally, I would say this release is beta quality or better, so don't let the CTP designation scare you too much.

Also released is the first CTP release of what we are calling Work Item Web Access (WIWA).  You may recall that we published a spec for it recently, referring to it as a "bug submission portal."  WIWA provides you with the ability to have folks create work items and view work items they have created without needing a client access license (CAL) for 2008.  This was a new condition that was added to the TFS 2008 license agreement.  Hakan has more details in his post on WIWA.

Both the CTP of TSWA and the CTP of WIWA have the same requirements as the previous release of TSWA 2008 (e.g., you must have Team Explorer 2008 installed as a prerequisite).

This release of TSWA has some really great new features.

  • Single instance with multiple languages
  • Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)
  • Share ad-hoc work item queries
  • Shelveset viewer
  • Improved search support

I want to call out two features in particular that I really like.

Support for specifying field values in the URL for creating new work items (works in both TSWA and WIWA)

How often have you wanted users or testers to file bugs and needed to have them fill in certain fields with particular values so that the work item shows up in the correct area?  We now support providing field values in the new work item URL.  Here's the example that Hakan provided.

http://<server>/wi.aspx?pname=MyProject&wit=Bug&[Title]=Bug Bash&[AssignedTo]=Hakan Eskici&[Iteration Path]=MyProject\Iteration2&[FoundIn]=9.0.30304

This will open a new work item editor window with the following initial values:

  • Team Project = MyProject
  • Work Item Type = Bug
  • Title = Bug Bash
  • Assigned To = Hakan Eskici
  • Iteration Path = MyProject\Iteration2
  • Found in Build = 9.0.30304

Now you can start sending your users and testers a link with all of this already filled in!

Improved search support

Have you ever wanted to search for bugs assigned to someone in particular or in a particular area without writing a query?  In the past, you could only search the Title and Description fields in a work item, which I described here.  Now you can enter the following into the search box in TSWA to find any bug assigned to me that also has the word "exception" in the Title or Description.

exception a="Buck Hodges"

The core fields have shortcuts.  Any field can be used by specifying the reference name for the field.  Here's the equivalent without using the shortcut.

exception System.AssignedTo="Buck Hodges"

Here are the shortcuts for the core fields.

  • A: Assigned To
  • C: Created By
  • S: State
  • T: Work Item Type

You can use TFS macros, such as @me, in search.  For example, find all work items containing "watson" in the Title or Description that are assigned to me that are in the Resolved state and are work items of type Bug.

watson a=@me s=Resolved t=Bug

Now, if you really want to do something cool, there are the "contains" and "not" operations.  The "=" operator matches exact phrases, whereas the ":" operator is used for "contains" clauses.  The following search looks for bugs assigned to Active (i.e., not assigned to any particular person yet) where the word "repro" is contained in the History field.

a=Active History:repro

This example illustrates the difference between the two operators.  The first example finds all work items where the Title is exactly "Bug Bash" with no other words or characters in it.  The second example, which uses the contains operator (colon) rather than the exact match operator (equals), finds all bugs where the Title contains the phrase "Bug Bash" along with any other words or characters.

  • Title="Bug Bash"
  • Title:"Bug Bash"

Personally, I find myself almost always using the contains operator.

Finally, you need to be able to exclude certain things from your search.  For that, there is the not operator, which is represented by the hyphen ("-").  The following example finds all work items with "watson" in the Title or Description fields that are not assigned to me and that are not closed.

watson –a=@me –s=closed

The not operator only works with field references, so you can’t use the following to find all work items containing "watson" but not containing "repro" in the Title and Description fields.

watson –repro

However, you can accomplish this by specifying the Title field explicitly with the not operator.

watson –Title:repro

Please send us your feedback on both the new features and Work Item Web Access!

March 28, 2008
» Spec available for "Codename TFS Bug Submission Portal"

Hakan Eskici, program manager for Team System Web Access, has posted the spec for a new power tool that's based on TSWA that is designed to help customers comply with the new licensing changes in TFS 2008 while getting the most out of the product.  Please read this, as well as the other Rosario specs, and give us your feedback.

Spec available for "Codename TFS Bug Submission Portal"

We've published the spec for the "Codename TFS bug submission portal" power tool on Rosario Specs website (1).

Note (1): Although it appears on Rosario specs website, this is a power tool for TFS 2008 (Orcas).

Here's some background:

Team Foundation Server 2008 Standard Edition allows using some of the work item tracking features even without a Client Access License (CAL).

“You do not need a CAL to access work item tracking functionality to create new work items, or view and update work items you opened

Even thought the EULA enables these scenarios, there's no out-of-box UI that will help customers to make sure they're in compliance with the license terms. Therefore, we have built a power tool based on TSWA that will enable these 3 core scenarios:

As a user without a CAL, I can:

create new work items

edit the work items I’ve created

see the list of work items I’ve created

The codename for this power tool is "TFS Bug Submission Portal" for now, and the official name will probably be different.

To learn more about the details, please take a look at the spec. Your feedback is very important for us, so please make sure you express your thoughts on the spec discussion forum, we're looking forward to hearing from you!

Hakan also posted Wednesday about the Anniversary of the devBiz acquisition.  It's amazing how quickly a year goes by, and how much can be accomplished.

» Team Development with Visual Studio Team Foundation Server - now in Russian

Jeff Beehler has pointed out that Team Development with Visual Studio Team Foundation Server has now been translated into Russian.  It's great to see it, and I'm sure it's the product of a lot of hard work.

March 21, 2008
» How Do I: Use the Builds Check-in Policy?

A year ago I wrote a blog post about a new check-in policy that we added in build for TFS 2008 to prevent "piling on" when the build is broken in continuous integration environment.  That post has all of the details on how it works and even the code showing you how it was implemented.

Now Richard Hundhausen has a video on how to make effective use of this new check-in policy.

How Do I: Use the Builds Check-in Policy?

Use the Builds Check-in Policy in your Continuous Integration Environment to let you know when somebody has broken the build. Richard Hundhausen shows you how.
Presented by Richard Hundhausen http://www.accentient.com on March 4, 2008
Length: 12 minutes 19 seconds

Video Downloads:

ZIP | WMV | iPod | MP4 | 3GP | Zune | PSP

Audio Downloads:

AAC | WMA | MP2 | MP3 | MP4

Download the code: Visual Basic | Visual C#

March 20, 2008
» Visual Studio Team System Chat: April 9

Join members of the Visual Studio Team System product group to discuss features available in Team Foundation Server, Team Suite, Architecture Edition, Development Edition, Database Edition, and Test Edition. In addition, discuss what's new for these editions for Visual Studio 2008.

Add to Calendar

April 9, 2008
10:00 A.M. Pacific Time
Additional Time Zones

March 19, 2008
» Teamprise 3.0 Ships!

Martin Woodward write that Teamprise 3.0 has now been released!  If you want the equivalent of Team Explorer integrated into Eclipse on any platform or need a client from Linux or Mac, you'll definitely want to check out Teamprise.

Here's a quick bullet list of features that I lifted from his post.  I'm particularly happy to see the new integration with Team Foundation Build.  It opens up the TFS build feature to teams that need to build on other platforms, in addition to the integration with Eclipse.

  • Full Team Foundation Build integration (including ability to execute Ant based builds)
  • Check-in policy support
  • Recursive folder compare
  • Single sign-on (from Microsoft Windows machines)
  • "Destroy" command for version control
  • Show deleted items and undelete from Source Control Explorer UI
  • much much more (see release notes)

Martin says they have also improved the pricing structure for customers who only need a small number of licenses.

Check out the full post for all of the details, including screenshots: Teamprise 3.0 Ships!

Congratulations to Martin and everyone else at Teamprise!

March 18, 2008
» Account used to install TFS must have read permission to Active Directory

We've seen a couple of customers run into a rare problem where the account being used to set up a new Team Foundation server does not have read access to Active Directory (this does not apply to the workgroup edition of TFS).  Vasu Sankaran, developer on the TFS identity management system, explains the error below.

When Team Foundation Server (TFS) is deployed in an Active Directory (AD) environment, TFS makes use of the Windows Identities stored in Active Directory. For such AD identities associated with TFS, the server needs to retrieve information from AD, such as the account SID, its display name, mail address, and similar attributes. The identities about which TFS queries AD are either service accounts, or other users and groups added to TFS (manually or during installation). This synchronization of information with AD requires read privileges only. TFS does not create or modify AD objects. The following links provide useful information regarding TFS deployment in AD environment.

During an upgrade scenario, the setup account used to perform the upgrade requires the same AD read permission, since it tries to sync information from AD about TFS service accounts. Lack of this privilege could lead to a setup error such as the following:

Detailed Message: TF213002:The service account specified during setup could not be added to the Team Foundation Service Accounts group. The installation or repair failed with the following exception message: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.TeamFoundation.Server.GroupComponent.AddIdentityToGroup(String groupSID, Identity member, DateTime sourceTimestamp)
at Microsoft.TeamFoundation.Server.TeamFoundationGssInit.Install(Options opts, List`1 args)

Admittedly, this is poor error reporting. But essentially the AD identity accessor is returning null for the service account when it attempts to retrieve information from AD, due to lack of permission. This is occurring when we try to add the service account to the Service Accounts TFS group, causing the null reference exception.

Ensuring that the setup account has AD Read permission will solve this problem.

Technorati Tags:

» MSBuild project analysis tool: BuildCop

Jelle Druyts has created an interesting tool and made it available on CodePlex.

Just Released: BuildCop v1.0!

It is with great pleasure that I'm finally ready to release another open source tool on CodePlex: BuildCop.

BuildCop is a tool that analyzes MSBuild project files (interactively or during e.g. a daily build) according to a customizable set of rules and generates reports - e.g. is strong naming enabled, are certain project properties set correctly, is XML documentation being generated, are assembly references correct, are naming conventions respected, ...

This has grown out of a quick-and-dirty tool to check various build settings in a large customer project (to make sure that the developers were sticking to the guidelines), and has evolved into quite a clean, flexible and customizable tool that you can now start using as well.

All information, downloads and documentation is available on the BuildCop homepage on CodePlex, so rush out and let me know what you think!

Technorati Tags: ,

February 17, 2008
» TSWA: Providing multiple languages in a single installation

Ed Blankenship asked a question recently regarding having multiple languages supported by the same TSWA instance. Hakan provided the answer, and both of them blogged it.

Please note that this is not a supported configuration (i.e., that means we didn't test it, it could cause problems with uninstalling, etc.).

» Setting up Source Server for TFS Builds

Jelle Druyts has posted a document describing how to set up source server for Team Foundation Build.  If you don't know what it is, read the MSDN magazine article that is the first link in his post.

Check it out!

Setting up Source Server for TFS Builds

I've read about symbol servers and source servers before (in John Robbins' excellent Debugging Microsoft .NET 2.0 Applications book, for example, and also due to the recent news that Visual Studio 2008 will support source-code debugging of the .NET Framework Libraries), but never really got around to trying them out since they seemed pretty complex to set up. However, I've recently set up a source server on a Team Foundation build server (twice!), and my eyes have now gone wide open: anybody who references assemblies built by those TFS build servers can now seamlessly debug them.

When an assembly is "source server-enabled", the pdb file will contain the full path and the exact version of the file in source control that was used to build that assembly. If the debugger then enters a method, Visual Studio automatically downloads that correct file, places it in a local cache, and opens it for debugging. This is super sweet!

Now the hard work was already done and published by Roy Osherove, but there were some extra steps to take if you wanted to integrate this in a real Team Build (i.e. on the TFS build server instead of on a local machine) and it also lacked some additional information to get everything working. So I put together a full document that covers all aspects of setting up a source server, modifying the Team Build script, configuring the project files, and finally configuring the development machines.

The full document (PDF) can be downloaded here, and you can read the one-page summary that briefly covers the required steps below. I cannot recommend setting up a source server enough, it's free and takes less than an hour if you simply follow the procedure, and the advantages are - hopefully - obvious.

more...

February 13, 2008
» Team Foundation Build 2008 API documentation

The documentation for the team build 2008 object model is now available as a CHM file.  Later this year, I'm told that the MSDN web site will be updated.

http://download.microsoft.com/download/5/f/8/5f872c2e-4221-410b-b86e-4c3cd831b0c4/Team Foundation Build Managed Reference.chm

After you download it you will need to right click it, choose Properties, and then select “Unblock” before you can view it.

This documentation is newer than what Aaron posted back in August.

The following are posts with examples of using the 2008 object model.

February 6, 2008
» HTTP 502 error when the server tries to connect to the build agent to start a build

The following came up a couple of weeks ago, and I thought it would be worth posting for anyone else who hits the same or a similar problem.

When I try to do a build using TFS Build I get this error:  TF215085: An error occurred while connecting to Agent \Shopping Catalog\Nightly Build: The request failed with HTTP status 502: Bad Gateway

The solution was to set BypassProxyOnLocal in the registry for TFS on the server (application tier).  Note the version number, 9.0, is for TFS 2008.  This does not apply to TFS 2005, because the communication with the build agent is different in TFS 2008.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\TeamFoundation\RequestSettings]

"BypassProxyOnLocal"="true"

Then run iisreset to make sure that the AT picks up the setting change.

The following post talks about an unrelated topic, but it covers this setting too.  The context is normally the client rather than the server, but in this case the server is acting as a client and calling the build agent.
http://blogs.msdn.com/buckh/archive/2007/09/17/tfs-2008-controlling-the-number-of-threads-used-in-uploading-and-downloading-files.aspx

February 5, 2008
» Now available for TSWA 2008: Chinese, French, German, Italian, Japanese, Korean, and Spanish

The final set of localized versions of the Team System Web Access 2008 Power Tool is now available.

Here is a list of links to all of the localized releases of TSWA.

We're always interested in what you think about the localizations, too.  If there are ways we can improve it, we would like to incorporate that feedback into TSWA as part of Rosario.

Enjoy!

» MSBuild by Example

Sayed Ibrahim Hashimi's book, Deploying .NET Applications, contains a chapter on MSBuild.  While I knew about the chapter in the book, I didn't realize that the chapter on MSBuild was available online until Eugene Zakhareyev mentioned it.

If you are looking for a good way to get started with MSBuild, MSBuild: By Example is a good place to start.

MSBuild: By Example

Even if you have experience using an XML task-based build tool, such as Ant or NAnt, MSBuild is significantly different. In fact, MSBuild is different not only in execution but also in syntax. Therefore, to really get a feel for MSBuild, you must get your hands dirty using the tool. As you begin to explore what MSBuild has to offer to your projects, you will naturally seek more knowledge of MSBuild. This chapter will help you get your hands dirty by showing you several examples of how you can use MSBuild. Also, this chapter will present some important techniques for using MSBuild effectively. We will provide a variety of tips, covering topics such as integrating MSBuild into Visual Studio and formatting your output. These samples are set up to be mostly independent. This is because each sample expresses a set of specific ideas, so you will be able to examine and try each concept on its own. After this chapter, you should have a much greater feel for building your applications with MSBuild. Following this chapter, we will continue the coverage of MSBuild by showing how to use some of its more advanced features.

more...

You'll also want to read the article he wrote for MSDN Magazine, Compile Apps Your Way With Custom Tasks For The Microsoft Build Engine.

Finally, there are additional MSBuild resources, including an MSBuild wiki and additional tasks.

February 4, 2008
» Visual Studio 2008 Web Deployment Project (WDP) is now available

The new Web Deployment Project that was released as a power tool for VS 2005 did not work with VS 2008.  Now there is a release of WDP that works with VS 2008.  If you were using the old one, be sure to get this important update.

Announcing RTW version of Visual Studio 2008 Web Deployment Projects (WDP)

In December 2007, we had released Community Technology Preview (CTP) version of  VS 2008 Web Deployment Projects... Thanks a ton to all of you in the community for being so active in adopting and trying the CTP versions of WDP... Since the December CTP we have been monitoring the blogs, MS Connect feedback system as well WDP forums to collect your feedback and then have been working over last month or so to incorporate it within the product...

more...

February 3, 2008
» Updated post on how to filter checkin emails by paths

I've made a significant update to the following post: Adding a path filter to a CheckinEvent subscription using bissubscribe.  The reason is that the paths supplied by the server aren't consistently cased while XPath is case-sensitive.  The result is that your subscriptions that filter based on paths will not work reliably without additional complexity, unfortunately.

February 2, 2008
» Visual Studio Team System Web Access 2008: French and German are now available

A couple of days ago, we released TSWA in JapaneseFrench and German became available yesterday.  We'll be releasing more over the coming days.

February 1, 2008
» TFSBuild.com: Build "recipes"

Grant Holliday has set up a great site for Team Build users to be able to contribute and find "recipes" to use in their builds.  Check it out!

TFSBuild.com Build Recipes Launched

Filed under: TFSBuild.com, Team Foundation Server — Grant Holliday @ 6:32 pm

I’ve been thinking for a while that there’s not a lot of guidance out there on how to get Visual Studio Team Foundation Build (aka Team Build) doing more than just a compile.

My first crazy thought was that I should write a book - then I got scared when I mapped out the chapters and realised how much effort would be required and the time-to-market. I’ll leave that all to somebody else.

Instead, I registered the domain TFSBuild.com and setup the .NET ScrewTurn wiki. Here’s the introduction from the homepage:

As a Build Master you’ve been put in charge of coming up with a central build system for your team. It can be quite daunting at first and you wonder “Where do I start?”.

The purpose of TFSBuild.com is to create and share build recipes with other build masters so that we can all learn and benefit from each other’s experience.

Since the site is called TFSBuild.com, there is a particular focus on MSBuild and Team Foundation Build scripts. But if you have a NAnt script or similar that you think others might find useful post it up.

The site is published as a wiki and the idea is that anybody can register to add & update content.

more...

January 31, 2008
» Visual Studio Team System Web Access 2008 in Japanese is now available

Part of our plan for the TSWA 2008 Power Tool is to release localized versions.  Japanese is the first language to become available.  Chinese, German, Spanish, French, Italian, and Korean are currently planned for release over the next month.

Here's the download page in Japanese, along with a link to it.

Team System Web Access (??? TeamPlain) ??Visual Studio 2008 Team Foundation Server ? Web ??????????????

??

Team System Web Access 2008 ???????????????Team System Web Access 2008 ??Team Foundation Server ???????????????????????Team System Web Access 2008 ???? Team Foundation Server ??????????Team Foundation Server ????????????????????????
??

  • ??? : ?????????????????????????????
  • ??? : ??????????????? ?????????
  • ??? : ?????????????????????????????????
  • ?????????????????????
  • ???????????????????????????
  • ???????????????????????????
  • SharePoint ??? ????????????????????????????????????????????
  • ????????PDF ????? Excel ??????????
  • ??????????????????????????????????????????????????
  • ????????????????????
  • ?????????????????