Installation observations and questions

Aug 6, 2009 at 10:05 PM

This discussion is based on the installation of Release 1.1.1.

The installation is a two step process.  First run the TeamReview.Setup.msi.  In Visual Studio click Tools->Process Editor->Work Item Types->Import WIT.  Browse to the folder where you unzipped the download and select the language appropriate Code Review Response .xml.  Highlight the project you want to import the Code Review WIT into.  Close and reopen your Visual Studio session.

We are providing TFS as a service to development groups in our organization.  The service owners have TFS Admin rights while Project Owners only have Project Admin rights for their projects.  They do not have TFS Admin rights.

A Project Owner received an error when he attempted to install the Code Review WIT.  Error importing work item type definition:  TFS201070: You do not have permission to modify the field.  Other discussion threads said either Project Admin or TFS Admin rights were sufficient.  Are TFS Admin rights required?  What fields are added or modified with the install?  Does the install cascade these modifications through all the required data structures so they are available for reporting?

We have a production and a test TFS server in our environment.  I wanted to install on the Test TFS server since his error message indicated that the Data Warehouse might be modified.  I ran the TeamReview.Setup.msi and imported the Code Review Response en.xml into a project on the test server.  Everything worked well.

Then I wondered, How did the install know which server to run it on?  It didn’t ask me during installation.  I imported the WIT into a project on the production server and behold, there it was. The only explanation is that the install read my TFS cache file and installed it on all the severs it found. That behavior concerns me because since I think the install made database changes.  Thos changes should be validated on the test server before we run them on production.  How does the code review installation determine which TFS server to install on?


Aug 6, 2009 at 10:29 PM

Hi - thanks for trying TeamReview and the good questions!

You are right that there are 2 steps

  • 1 for the TFS Project - a 1 time import of the Work Item Type into that Project (optionally server or admin rights.. explained below)
  • 1 MSI/Exe intstal on each VSTS client to make the TeamReview Visual Studio addin available within the IDE. There's nothing in this install that does any connecting to TFS servers, or TFS Projects which is why you weren't promted durring installation. It just puts the TeamReview client dlls in the location where Visual Studio Team System can find and load them.

Your observation is correct that TFS Admin rights are required the first time that the Work Item Type is imported into that TFS Server. After the first time I believe only Project Admin rights should be needed. This is becuase the first time the field definitions need to be imported to cascade into the warehouse/cube to get full reporting/traceability as you have pointed out. After that the fields should be defined and only Project Admin access should be needed, at-least that's how I understand it. The new fields that are imported are the Code meta-data fields in the Work Item Type, such as Namespace, Class Name, Member name, File Name, Start line number, End Line number and Code Snippet. These fields all start with CodeReviewAddin.*

I was hoping that this reference for importing that may help out for the Server vs. Project admin rights question - but it doens't help out much.

Let me know if you have anymore questions.


Aug 8, 2009 at 12:31 AM

Thanks for your quick reply and explanation JB.

Here’s a quick recap for anyone else who needs to install a WIT with new fields

First Step TFS Admin imports WIT with new field definitions (i.e. TeamReview) into Project A on the TFS Server. TFS Admin rights are required since new fields need to be created in the data warehouse/cube. New fields are available to all other projects once they are created.

Second Step Members of Project A run the MSI/Exe to install the TeamReview Visual Studio add-in and begin using the WIT (TeamReview). Projects B, C, etc. Project Admin imports the WIT into their projects. TFS Admin rights aren’t required since fields already exist in the data warehouse/cube.

Members Projects B, C, etc. run Second Step to install the TeamReview Visual Studio add-in.

Oct 2, 2009 at 6:13 PM

So we need to install the new WIT for every project we want to use TeamReview on?

Oct 2, 2009 at 6:22 PM

The WIT only needs to be installed on the server once.

Each project needs to import the WIT so it can be used in their project.  So in that sense, yes each project needs to install TeamReview.