After setting up my project in TFS, I wanted to configure the system so that my work items in my project would show only specific users as "Assigned To" choices. The default is to include all users in the TFS Valid Users group.
After setting up my user and group security, I exported my Work Item Template using the witexport utility and running the following command:
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\witexport" /f "C:\WIT\Task.xml" /t MyServer /p MyProject /n task
I found the xml for my Task Template in my C:\WIT folder just as I expected.
I found the node for the "Assigned To" field:
<FIELD name="Assigned To" refname="System.AssignedTo" type="String" reportable="dimension">
<VALIDUSER />
</FIELD>
Which I changed to:
<FIELD name="Assigned To" refname="System.AssignedTo" type="String" reportable="dimension">
<SUGGESTEDVALUES>
<LISTITEM value="[Project ]\Contributors" />
</SUGGESTEDVALUES>
</FIELD>
Then re-imported the task to my project using witimport:
C:\>"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\witimport" /f "C:\WIT\Task.xml" /t MyServer /p MyProject
When I went back into Team System and created a new Task, the list was not limited to Contributors of MyProject, rather it was still displaying all TFS valid users. I found out that the WITs are not updated until a save action is performed. I created and saved the new Task, and the "Assigned To:" field was now populated with only the user in the Contributors group.