I have previously posted on the fun I had getting TFS running in our office. Well thus far it has been stable, other than some ‘user too stupid’ errors, and we have been fairly happy.

The next stage was to expose the TFS server out through our firewall to allow home working. This turned out to not be too bad (expect some posts on our experiences with ISA server soon) but raised an interesting issue.

As far as the Visual Studio Team clients were concerned the TFS server had the physical PC server name in all it’s URL e.g http://myserver:8080. This was not an issue with the office as it could be resolved, but a problem on the Internet. Now I suppose we could have put some host file entries to address this but I really wanted to get it working as http://tfs.mydomain.co.uk:8080.

So we created a new DNS entry (both internally and externally resolving to the correct IP address). Once this DNS entry was created, and the firewall setup I could connect to the TFS server and pull down a project list and check files in and out from home. But I was getting those damned little red crosses next to the documents, reports and could not open the project SharePoint sites.

On checking the URL to be used for these services I saw that they were all still pointing to http://myserver with various SharePoint or Reporting Service directories on the end. Firstly, I had not exposed the default SharePoint and Reporting Services ports via the firewall, but that was easy to fix. The real problem was using the old name, how to change these entries? I think the best option would have been to install the TFS with the full name in the first place! But I did not really want to do a reinstall.

So I had search around and found that in C:Documents and Settings[name]Local SettingsApplication DataMicrosoftTeam Foundation1.0Cache[GUID] directory there is a XML file RegProxyFileCache.xml. This contains the details used by the client and can be edited. I replaced the http://myserver entries with http://tfs.mydomain.co.uk. A snippet is shown below from around Line 250 of the file:

_
     Reports
     NoChange
    
          
                 BaseReportsUrl
                 http://tfs.mydomain.co.uk/Reports
         

         
                 DataSourceServer
                 myserver
         

         
                 ReportsService
                 http://tfs.mydomain/ReportServer/ReportService.asmx
          

      

     
     
     
     
 


      Wss
       NoChange
      
           
                   BaseServerUrl
                   __http://tfs.mydomain__.co.uk
            

        
              BaseSiteUnc
              \myserversites
       

       
              BaseSiteUrl
              http://tfs.mydomain_.co.uk/sites
         

          
               WssAdminService
               http://myserver:17012/_vti_adm/admin.asmx
          

 





After this change is made on reloading Visual Studio the red crosses go away and the various features work.

However this does not answer the larger question of getting it set right in the first place for new clients, you don’t really want to have to edit each client config. I suspect making similar edits in the C:program filesmicrosoft visual studio 2005 team foundation servertf Setupeleadservices.xml might do the trick but I have not confirmed this as yet.

I still hold with the comment that TFS is very much an ‘install it right first time’ sort of product.