Igor's profileIgor Abade V. Leite (a.k...PhotosBlogListsMore Tools Help

Blog


    May 25

    Como saber se os usuários estão usando o TFS Proxy?

    Há um tempo atrás um cliente que instalou o TFS Proxy em sua empresa queria saber se o serviço estava realmente em uso – ou seja, se todos os desenvolvedores tinham configurado corretamente seu ambiente para tirar proveito do proxy.

    Veja aqui uma dica que recebi de Grant Holliday:

    Execute a consulta abaixo no banco de dados TfsActivityLogging.

    Se todo mundo estiver usando o servidor de proxy, as únicas requisições no log de atividades deverão ser aquelas feitas pelo próprio servidor de log – ou seja, não deve aparecer nenhum nome de usuário aqui. Requisições que não tenham sido feitas pelo servidor de proxy:

    • Foram feitas por um usuário que não esteja com o proxy configurado localmente; ou
    • O usuário está com o proy configurado, mas no instante da chamada o proxy estava indisponível e ele foi direto ao AT.

    A segunda condição do WHERE abaixo está comentada. Sabemos que todos os servidores de proxy rodam, por padrão, como NETWORK SERVICE. Dessa forma, podemos filtrar solicitações não originadas de um proxy.

    SELECT
         SUM([ExecutionCount]) as DownloadCount
          ,[IdentityName]
          ,[IPAddress]
    FROM
          [TfsActivityLogging].[dbo].[tbl_Command] WITH (NOLOCK)
    WHERE
          Command = 'Download'
          AND StartTime > DATEADD(hh, -6, GETUTCDATE())
         
    -- AND IdentityName NOT LIKE '%$'
    GROUP BY
          IPAddress, IdentityName
    ORDER BY
          SUM([ExecutionCount]) DESC

     

    Technorati Tags: ,,,
    May 12

    Assista às palestras de VSTS na “Semana Tech” da Ka Solution

    image

    Na próxima semana teremos um evento muito bacana na Ka Solution, a “Semana Tech”, com inúmeras palestras sobre diversos produtos Microsoft.

    Dentre essas palestras, gostaria de destacar as duas que teremos sobre VSTS:

    Tema

    Data

    Periodo

    Sala

    Palestrante

    Como acompanhar e controlar projetos com Team Foundation Server

    21/05/2009

    14:00 as 17:00

    16

    Igor Abade

    Como realizar testes, arquitetura e desenvolvimento avançado com Visual Studio Team Editions

    22/05/2009

    14:00 as 17:00

    16

    Igor Abade

     

    Para mais informações sobre o evento, visite http://www.kasolution.com.br/ka/palestras.asp

     

    Technorati Tags: ,,
    May 11

    Agrupando Team Queries

    Equipes que utilizem o Team Foundation Server podem acabar com uma grande quantidade de Team Queries – o que eventualmente compromete sua utilidade. Como achar uma query específica no meio de uma enxurrada de outras queries?

    O TFS 2010 trará novidades neste aspecto – mais especificamente, a habilidade de criar pastas no Team Explorer, sob “Work Items”, para agrupar suas consultar pessoais e de equipe. Mas até lá, você pode usar o SharePoint para ajudá-lo a criar uma biblioteca de consultas pré-definidas que você queira compartilhar com sua equipe. Veja como em http://blogs.msdn.com/noahc/archive/2007/01/19/managing-lots-of-work-item-queries.aspx

     

    Acesso negado ao acessar o TFS a partir de uma aplicação Web

    Se você criar uma aplicação ASP.NET (Web Site, Web Application ou Web Service) e tentar conectar ao TFS a partir dessa aplicação, pode encontrar o seginte erro:

    Microsoft.TeamFoundation.WorkItemTracking.Client.UnexpectedErrorException: Cannot complete the operation. An unexpected error occurred. ---> Microsoft.TeamFoundation.WorkItemTracking.Client.ClientException: Access is denied.
    (Windows)
    Could not open file 'C:\Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache\ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca\0\metadata1.curcache'. (Work Item Tracking Metadata Cache)
    Access is denied.
    (Windows)
    Access is denied.
    (Windows)
    Could not open file 'C:\Documents and Settings\Default User\Local Settings\Application Data\Microsoft\Team Foundation\2.0\Cache\ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca\0\metadata1.curcache'. (Work Item Tracking Metadata Cache)
    Could not initialize metadata cache for product 'ecfd6ff5-8ae8-4580-8187-ccd29db7c7ca'. (Work Item Tracking Metadata Cache)
    Unspecified error
    (Windows)
       --- End of inner exception stack trace ---
       at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.HandleComException(Int32 hr)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.DataStore.DatastoreClass.ConnectEx(String connectionString, Int32 hCredentials, String defaultCachePath, String instanceId, String userSamName, String userFriendlyName, String userSid)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore.InitializeInternal()
       at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore
    .Microsoft.TeamFoundation.Client.ITeamFoundationServerObject.Initialize(TeamFoundationServer teamFoundationServer)
       at Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore..ctor(TeamFoundationServer teamFoundationServer)
       at Service.TFSConnect() in d:\Inetpub\actsws\App_Code\Service.cs:line 55
       at Service.GetPubInfo(Int32 publishId) in d:\Inetpub\actsws\App_Code\Service.cs:line 67

    Esse erro deve-se ao fato de que, por padrão, a conta de usuário da aplicação ASP.NET (Network Service no Windows 2003 ou superior) não tem direito de gravação no diretório de cache que os objetos do TFS criam localmente na máquina enode sua aplicação está sendo executada.

    Para corrigir esse erro, adicione a seguinte linha ao web.config da aplicação que irá acessar o TFS:

    <configuration>
        …
        <appSettings>
            <add key="WorkItemTrackingCacheRoot" value="E:\FolderForCache" />
        </appSettings>
    </configuration>

    Onde “E:\FolderCache” é um diretório no servidor em que o usuário do pool de aplicações do ASP.NET tenha direito de gravação. Para mais informações, acesse http://blogs.msdn.com/narend/archive/2006/07/29/how-to-configure-wit-om-on-a-web-application.aspx.