September 2008 - Posts
Work Item Web Access
If your QA team only need the ability to open new Bugs and doesn't use Team System For Tester abilities you may want to use WIWA.
WIWA is a Web UI that allows using some work item tracking features even if the user doesn’t have a Client Access License (CAL). It’s based on TSWA, but provided as a separate download. WIWA simply enables 3 core “file-a-bug” scenarios stated in the TFS 2008 EULA.
Without TFS CAL, Work Item Web Access (WIWA) will let you:
- Create new work items
- Edit the work item you have created
- See the list of work items you have created
And those are options that are not available in WIWA
- See work items created by others
- List, view, edit or run work item queries
- Add, edit or remove work item links (except attachments and hyperlinks)
- Access documents stored on the project portal
- Access project reports
- Access source control
- Access team build
You can download the CTP release for Work Item Web Access 2008 at:
http://www.microsoft.com/downloads/details.aspx?FamilyId=FAED8359-F54D-480E-8A86-F154D3DEA07E&displaylang=en
Team System - Work Item Spell Checker
There is a lot of demands from customers for a Work Item Spell Checker.
I wrote a Spell Checker as a Custom Control that will be able to check any field inside a Work Item.
Download - Work Item Spell Checker
Insert the new control to the work item definition.any where you like.
<Control Type="Spell" />
And you done!!!
This Spell Checker is supported in all languages (depends on the installed languages).
You need Office to be installed on the computer.
Select the Field from the Work item that you want to perform Spelling Check.
The spelling and grammar check is complete. :-)
TEAM SYSTEM Partners Training in Israel
Between the 21 and 25 of September I participate in Visual Studio Team System Training By David McKinstry
Mr. David McKinstry , from Notions solutions in Dallas, USA is a Microsoft Visual Studio Team System MVP and the Vice President of Notion Solutions, a Microsoft Certified Gold Partner specializing in software development processes and Visual Studio Team System. Dave has 20 years experience including system and network administrator, quality assurance, development, and architecture using technologies from Assembly and C to Java and .NET. Since joining Notion, Dave has focused on application lifecycle management including customization, extension and training on Visual Studio Team System.
https://mvp.support.microsoft.com/default.aspx/profile=9fc763e6-8bcf-4d8d-99a2-e3eca1b15877
Over the week I learned lots of great things and got a new perspective about Team System.
Dave help me in a lot of areas and help me to become Team System Tech Specialist.
Dave is a great teacher, wonderful person and very good friend.
Thank You Dave!
Training
- Team System Overview
- · Demonstration targeted at customers trying to determine value
- This will start off with a demonstration typical of what would be shown to customers trying to learn more about what Team System offers them.
- Packaging & Licensing discussion
- Discussion - Most common customer adoption scenarios
- Source code control
- Work tracking
- Automated build
- Load Testing
- Database schema management
- How will this change with Rosario?
- Team Projects and Process
- Overview of Team Projects
- How process is integrated with Visual Studio Team System
- Overview of MSF for Agile Software Development
- Overview of MSF for CMMI Process Improvement
- Review of 3rd party process templates*
- How to choose what a “Team Project” is?
- Version Control Overview
- Architecture overview
- Integrated check-in
- Parallel development
- Atomic check-in
- Remote development
- Check-in notes and notification
- Check-in policy
- Advanced Version Control
- Shelving
- Branching and merging strategies
- Multiple Solutions
- Common Admin Tasks
- Build Process
- Team Build architecture
- Creating build scripts
- Executing builds
- Executing command-lines tasks
- Running web tests
- Scheduling builds
- Continuous integration
- Quality Assurance & Testing
- Overview of Testing
- Test Manager
- Writing manual tests
- Executing manual tests
- Reporting defects
- Web Testing
- Creating and executing web application tests
- Using extraction and validation rules
- Creating & executing web services tests
- Test Run Configurations
- Data Driven Web Tests
- Load Testing
- Creating & executing web application load tests
- Using the load agent
- Analyzing results
- Creating & executing web service tests
- Managing Database Change
- Versioning Schemas
- Database Unit Testing
- Data Generation
- Schema Comparison
- Data Comparison
- Planning Deployment
- Logical architecture
- TFS deployment architecture
- Common problems
- Common administrative tasks
- Modifying Work Item Definitions
- Changing work item definitions on live projects
- Adding workflow
- Controlling field access
- Modifying Process Templates
- Modifying document templates
- Modifying work items
- Modifying MS Project synchronization
- Using custom processes with team projects
- Building Reports
- Consulting Discussions
- Conversation on what customers are most interested in with VSTS.
Most common problems with adopting Team Foundation.
How To: Create Work Item Template With Power Tools 2008
In Power Tools 2008 there is a new ability called: "Work Item Templates"
With Work Item Template you can save Work Item Data to a template that can be used.
Example:
I create a new Bug and wrote my data.

After Creating the Bug I want to save the current data from this Bug to a new Template.
Right Click on the Bug Form and click on "Capture Template..."
Now pick which Fields you want to save in the Template.

Save your new Template and your can see the Template under you Team Project.

Now to apply your template to another Workitem, Create new Bug and right click on the Bug form and click on "Apply Template"

Choose the right Template you want to apply.

And now you create a Bug with data from a Template.

Enjoy.
My #100 Post
I'm blogging for 293 days now , enjoying every moment and hope you are too.

DOS (8.3) short path issue in VSSConverter
Enable a feature on the Application Tier server that makes Visual Server 2008 Team Foundation Server allow the MS-DOS-compatible short name format. To do this, follow these steps:
1.Make sure that you have Visual Studio 2008 Team Foundation Server Service Pack 1 installed.
2.On the Application Tier server, locate the following folder: Installation folder\web services\version control
3.In Notepad, open the Web.config file.
4.Under the <configuration> element, locate the <appSettings> element, and then add the following element.
1: <add key="allow8Dot3Paths" value="true" />
For example, update the code as follows.
1: <configuration>
2: ...
3: <appSettings>
4: ...
5: <add key="allow8Dot3Paths" value="true" />
6: ...
7: </appSettings>
8: ...
9: </configuration>
Save the Web.config file and perform the migration.
After the migration is done change the allow8Dot3Paths key back to false.
Source Control Permissions using tf command-line
There are some permissions that available in source control that not available in the UI.
Here is the Full List
*** Available only through command-line and require high permissions ***
| Permission Name | Name at Command Line | Description |
| Read | tf: Read | Users who have this permission can read the contents of a file or folder. If a user has Read permissions for a folder, the user can see the contents of the folder and the properties of the files in it, even if the user does not have permissions to open the files. |
| Check out | tf: PendChange | Users who have this permission can check out and make a pending change to items in a folder. Examples of pending changes include adding, renaming, deleting, undeleting, branching, and merging a file. |
| Check in | tf: Checkin | Users who have this permission can check in items and revise any committed changeset comments. Pending changes are committed at check-in. |
| Label | tf: Label | Users who have this permission can label items. |
| Lock | tf: Lock | Users who have this permission can lock and unlock folders or files. |
| Revise other user's changes | tf: ReviseOther | Users who have this permission can edit the comments on checked in files, even if another user checked in the file. |
| Unlock other user's changes | tf: UnlockOther | Users who have this permission can unlock files locked by other users. |
| Undo other user's changes | tf: UndoOther | Users who have this permission can undo a pending change made by another user. |
| Administer labels | tf: LabelOther | Users who have this permission can edit or delete labels created by another user. |
| Manipulate security settings | tf: AdminProjRights | Users who have this permission can set permissions on these files and folders. |
| Check in other user's changes | tf: CheckinOther | Users who have this permission can check in changes that were made by other users. Pending changes will be committed at check-in. |
MSBuild Tasks Library Collection
There are over 300 tasks included in this library including tasks for: creating websites, creating application pools, creating ActiveDirectory users, running FxCop, configuring virtual servers, creating zip files, configuring COM+, creating folder shares, installing into the GAC, configuring SQL Server, configuring BizTalk 2004 and BizTalk 2006 etc.
SDC Task Library
The Suite provides over 160 tasks covering the .Net Framework, BizTalk 2006, IIS7, Team Foundation Server, WMI and more.
Every task is provided with clear documentation and a working sample. Where applicable, tasks also provide remote support, e.g. IIS7, GAC etc.
Free To Dev Tasks
The MSBuild Community Tasks Project is an open source project for MSBuild tasks. The goal of the project is to provide a collection of open source tasks for MSBuild.
MSBuild Community
MSBuild Tasks.Net is a search engine for MSBuild Tasks.
Task Search
How to get the login dialog when using the Team Foundation Server API
Published On: Buck Hodges Blog
Someone asked how to get the login dialog if the user fails to authenticate. The code to do that is shown below. I copied the call to the constructor from the basic API example, and I've added code to create and pass a UICredentialsProvider object to the TeamFoundationServer constructor.
Also, I'm now calling EnsureAuthenticated(). The purpose of that call is to make sure that the user is able to authenticate with the server.
If not, the TeamFoundationServer object will use the UICredentialsProvider to display a login dialog. If the user authenticates successfully after entering a user name and password, the program will continue execution. If the user clicks the Cancel button in the login dialog, perhaps after failing to enter a valid user name and password, the EnsureAuthenticated() method will throw TeamFoundationServerUnauthorizedException.
If you look at the TeamFoundationServer class, you will notice that there are two authentication methods to call: Authenticate() and EnsureAuthenticated().
The difference is that Authenticate() will always call the server, and EnsureAuthenticated() will only call the server if the user has not already authenticated, resulting in no performance penalty for calling it multiple times.
Only Authenticate() and EnsureAuthenticated() will display the login dialog.
Any other method calls that fail due to the user not authenticating will result in TeamFoundationServerUnauthorizedException being thrown.
// Get a reference to our Team Foundation Server.
TeamFoundationServer tfs = new TeamFoundationServer(tfsName, new UICredentialsProvider());
// Authenticate with the server if we haven't already (in this example, we haven't).
// If authentication fails, the user will see the login dialog, as a result of
// UICredentialsProvider() being specified above.
tfs.EnsureAuthenticated();
Check-in Policy Tips and Tricks
Tip 1: How to Replace/Marge Project Code Analysis Settings with Team Project Check-in Policy Code Analysis Settings.
You made a Code Analysis settings for you project.

You Team made a Check-in Policy include Code Analysis (With different settings)
Now you want to get the Code Analysis settings from the Team project into your project .
Right click on the solution and go over "Code Analysis Settings for Solution" and click "Replace with Check-in Policy".
Tip 2: How to copy Check-in Policy from one project to another.
Copy Check-In Policy between Project
Tip 3: How to Create Custom Check-in Policy
How To Create Custom Check-In Policy
Tip 4: How to Specify Work Item Query to be associated in the Check-In Policy
Tip 5: How to Add Testing Policy in Check-In Policy

How To Create Custom Check-In Policy
Create a new Visual C# class library project.
Add an assembly reference to System.Windows.Forms.dll. You use this assembly to display message boxes.
Add an assembly reference to Microsoft.TeamFoundation.VersionControl.Client.dll. By default, this is installed in the following folder:\Program Files\Visual Studio 2008 Team Foundation Server\Tools
Replace your skeleton class code implementation with the following source. Note that the class derives from the PolicyBase base class and is marked as serializable.
Implement abstract class for 'PolicyBase'
public override string Description
{
get { return "Remind users to add meaningful comments to their checkins";
}
This is a string that is stored with the policy definition on the source control server. If a user does not have the policy plug-in installed, this string is displayed.
You can use this to explain to the user how they should install the policy plug-in.
public override string InstallationInstructions
{
get { return "To install this policy, read InstallInstructions.txt."; }
}This string identifies the type of policy.
It is displayed in the policy list when you add a new policy to a Team Project.
public override string Type
{
get { return "Custom Checkin Policy"; }
}
This string is a description of the type of policy. It is displayed when you select the policy in the Add Check-in Policy dialog box.
public override string TypeDescription
{
get { return "This policy will prompt the user to decide whether or not they should be allowed to check in."; }
}
This method is called by the policy framework when you create a new check-in policy or edit an existing check-in policy.
You can use this to display a UI specific to this policy type allowing the user to change the parameters of the policy.
public override bool Edit(IPolicyEditArgs args)
{
// Do not need any custom configuration
return true;
}
This method performs the actual policy evaluation. It is called by the policy framework at various points in time
when policy should be evaluated. In this example, the method is invoked when various asyc events occur that may have invalidated the current list of failures.
public override PolicyFailure[] Evaluate()
{
string proposedComment = PendingCheckin.PendingChanges.Comment;
if (String.IsNullOrEmpty(proposedComment))
{
return new PolicyFailure[] {
new PolicyFailure("Please provide some comments about your check-in", this) };
}
else
{
return new PolicyFailure[0];
}
}
This method is called if the user double-clicks on a policy failure in the UI. In this case a message telling the user to supply some comments is displayed.
public override void Activate(PolicyFailure failure)
{
MessageBox.Show("Please provide comments for your check-in.", "How to fix your policy failure");
}
This method is called if the user presses F1 when a policy failure is active in the UI. In this example, a message box is displayed.
public override void DisplayHelp(PolicyFailure failure)
{
MessageBox.Show("This policy helps you to remember to add comments to your check-ins.", "Prompt Policy Help");
}
The Full Code:
using System;
using System.Windows.Forms;
using Microsoft.TeamFoundation.VersionControl.Client;
[Serializable]
public class CheckForCommentsPolicy : PolicyBase
{
public override string Description
{
get { return "Remind users to add meaningful comments to their checkins";
}
public override string InstallationInstructions
{
get { return "To install this policy, read InstallInstructions.txt."; }
}
public override string Type
{
get { return "Custom Checkin Policy"; }
}
public override string TypeDescription
{
get { return "This policy will prompt the user to decide whether or not they should be allowed to check in."; }
}
public override bool Edit(IPolicyEditArgs args)
{
// Do not need any custom configuration
return true;
}
public override PolicyFailure[] Evaluate()
{
string proposedComment = PendingCheckin.PendingChanges.Comment;
if (String.IsNullOrEmpty(proposedComment))
{
return new PolicyFailure[] {
new PolicyFailure("Please provide some comments about your check-in", this) };
}
else
{
return new PolicyFailure[0];
}
}
public override void Activate(PolicyFailure failure)
{
MessageBox.Show("Please provide comments for your check-in.", "How to fix your policy failure");
}
public override void DisplayHelp(PolicyFailure failure)
{
MessageBox.Show("This policy helps you to remember to add comments to your check-ins.", "Prompt Policy Help");
}
}
Register your custom Checkin Policy :
- Start Regedit.exe and locate the following key HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\TeamFoundation\SourceControl\Checkin Policies
The registered policies are listed in the right pane.
- Right-click in the right-hand pane, point to New, and then click String Value.
- Type the name of your custom policy dynamic link library (DLL), without the DLL extension; Custom Checkin Policy in the above example.
Important: The new string name must match your DLL filename exactly, without the DLL extension.
- Double-click the new string value and set its value to the fully qualified path and filename to the .dll containing your custom policy.
Now you can add your new check-in policy to Team Project.
How To: Create TFS Reports Using Excel
(PivotTable)
I have customers that from time to time need new reports for them self not for the all project, I asked them why you need me to create this king of report?
The answer is: I don't know how and it's too complicated...
My answer: No it's not!
In less then 5 min you will be able to create report like the one below that sync directly from TFS.
Let's Start
Open Excel 2007 click on Data tab and click on From Analysis Services.

Enter TFS Server name and click next

Select Team System Cube and click next.

You don't need to do anything in this form just click Finish.

Select PivotTable Report and click OK.
For Chart Report - Select PivotChart and PivotTable Report

Select a measure group such as Current Work Item, and then select a measure such as Current Work item Count.
Drag fields :
- Assigned To.Person to the Row Labels box
Work Item.State to the Column Labels box. Date.Year.Month.Date to the Report Filter box.
Filtering my report using Year and Month.

Enjoy.
Team System Widgets
If you are searching for TFS tools this is the place you need - http://www.teamsystemwidgets.com/
A lot of TFS and VSTS Utilities you can download and install in your system.
Enjoy
Team Foundation Server MSSCCI Provider
The Team Foundation Server MSSCCI Provider enables integrated use of Team Foundation Version Control with products that do not support Team Explorer integration.
List Of Products:
Visual Studio .NET 2003 Visual C++ 6 SP6 Visual Visual Basic 6 SP6 Visual FoxPro 9 SP1 Microsoft Access 2003 SP2 SQL Server Management Studio Sparx Systems Enterprise Architect 6.1 Sybase PowerBuilder 10.5 Toad for SQL Server 2.0 Download - Team System 2008 Team Foundation Server MSSCCI Provider
- Visual Studio Team System 2008 Team Foundation Server
- Visual Studio Team System 2005 Team Foundation Server
- Visual Studio Team System 2008 Team Explorer
Download - Team System 2005 Team Foundation Server MSSCCI Provider
- Visual Studio 2005 Team Foundation Server
- Visual Studio 2005 Team Explorer
More Posts
Next page »