Configure your TFS WSS 3.0 site to use VSTS Web Access 2008 (TSWA)

Lately I've been asked to install Team System Web Access on the same machine containing WSS 3.0. Officious I configured their SharePoint using a fully qualified domain name (FQDN). This gives them the ability to open the TFS sites from outside their environment and on Internet as well. Since MS is advising to install Web Access on a separate Web Site it probably will be hard to configure it they way I want it. When I installed Web Access on the WSS site as a virtual directory and added a new URL mapping to the web.config it gave me this error. The web.config can be found in your VSTS Web Access directory in Program Files. e.g. %Program Files%Microsoft Visual Studio 2008 Team System Web AccessWeb

    <urlMappings enabled="true">

<!-- Become-->

    <urlMappings enabled="true">
       
<add url="~/" mappedUrl="~/Index.aspx" />

screen01

The trusted callers error exists because SharePoint runs in a kind of a sandbox. We need to upscale the trust level of Web Access. This can be done by using the following statements. I haven't tested any other kind of trust level but you're free to do so.

    <compilation debug="false" batch="false" />

<!-- Become-->

    <compilation debug="false" batch="false" />
   
<trust level="Full" originUrl="" />

screen02

Who hasn't seen this error before 'Object reference not set to an instance of an object.' After a bit of reverse engineering I discovered it's depending on sessions. Sessions can be supported in SharePoint but is turned off by default. Not only it must be enabled to use sessions, it must be handled as well. All other unnecessary modules will be removed for optimal performance.

    <pages validateRequest="false" enableEventValidation="false" />

<!-- Become-->

    <pages validateRequest="false" enableEventValidation="false" enableSessionState="true" />

and

    <httpModules>
        <add name="CompressionModule" type="Microsoft.TeamFoundation.WebAccess.CompressionModule"/>

<!-- Become-->

    <httpModules>
        <clear />
        <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
        <add name="CompressionModule" type="Microsoft.TeamFoundation.WebAccess.CompressionModule"/>
 

 screen03

The last problem is a security issue which can be easily solved by changing these two properties. The nice thing about this change its configuring your WSS site and your VSTA site to let you logon using one single user account. So we have a kind of Single Sign-On where you can open VSTA from your WSS site without a new logon form. With automatic Logon in fully qualified domain name (FQDN) environment all your customers will be really satisfied and doesn't have to logon at all.

    <authentication mode="None"/>
    <identity impersonate="false"/>

<!-- Become-->

    <authentication mode="Windows"/>
    <identity impersonate="true"/>

screen04

Summary
I hope this article will help you to set up an environment such as described above. Sometimes when you open a Work Item this will give you an error where Microsoft.TeamFoundation.WorkItemTracking.Controls was not found. I had to track it down in %Program Files%Microsoft Visual Studio 9.0Common7IDEPrivateAssemblies and copy it to %Program Files%Microsoft Visual Studio 2008 Team System Web AccessWebbin. Normally the TSWA installation copies that file over from the privateassemblies directory. As you can see in my images I'm not only still using XP, I'm using Internet Explorer 8.0 as well. This tool rocks and performs like hell. Haven't seen such a boost since Opera arrived. I really like the activities and advice you all to use it event though it's still beta.

 

3 thoughts on “Configure your TFS WSS 3.0 site to use VSTS Web Access 2008 (TSWA)

  1. Pablo

    I need some help with my TSWA installation.

    I've installed wss 2.0, then TFS 2005. After that, I upgraded to wss 3.0 and sharepoint portal server 2007.

    Now, I've installed TSWA for TFS 2005 to be able to do some Requirements Management right in the TFS, but unfortunately I can't connect to it. I mean, I open the TSWA website, it asks for credentials, I give it to them, but right after that it shows me a web site asking for the TFS url, and credentials again. But, no matter how much times I submit credentials, it's impossible to log on, it keeps on asking credentials, and what's most interesting, it shows some error message which says:

    "Microsoft.TeamFoundation.Client.TeamFoundationServer..ctor(System.String, System.Net.ICredentials)"

    There's no more interaction, I don't know where this error comes from, neither why it's failing. Can you help on this?

    Thanks a lot.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *