Sónia Moreira

Integração Contínua & TFS & Scrum

My Links

Blog Stats

Archives

Post Categories

Blogs

Login

Thursday, August 07, 2008 #

Obtain xml node text and attribute with XQuery

Imaginando que temos o seguinte documento xml em uma base de dados, guardado no campo Strategy que é do tipo xml:

<strategy cacheDuration="01:00:00">
  <pipeline type="RequestResponse">
    <tasks>
      <cache>
        <duration>00:05:00</duration>
      </cache>
      ...
    </tasks>
  </pipeline>
</strategy>

Se quisermos obter o valor do atributo cacheDuration e o texto do nó duration, fazemos a seguinte query:

SELECT
strategy.value('data((/strategy)[1]/@cacheDuration)','varchar(50)') as StrategyCache,
strategy.value('data((/strategy/pipeline/tasks/cache/duration/text())[1])','varchar(50)') as TaskCache
FROM strategy

Resultado:

StrategyCache          TaskCache
01:00:00                   00:05:00


Sónia Moreira

posted @ 5:12 PM | Feedback (0)

Monday, August 04, 2008 #

Modify xml node text with sql xquery

Para modificar o texto de um nó de um documento xml alojado num campo do tipo xml numa base de dados SQL Server 2005, proceda da seguinte forma:

Update

myTable set [myXmlField].modify('
declare namespace os=
http://a9.com/-/spec/opensearch/1.1/;
replace value of (//os:OpenSearchDescription/os:Attribution/text())[1] with xs:string("My Company © 2008 all rights reserved")
'
)
WHERE myXmlField is not nul


Excerto do documento XML:

<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
...
<Attribution>MyCompany @ 2007 all rights reserved</Attribution>
</OpenSearchDescription>


Para validar a vossa alteração:

Select myXmlField.value('declare namespace os="http://a9.com/-/spec/opensearch/1.1/"; (/os:OpenSearchDescription/os:Attribution)[1]', 'nvarchar(50)'
)
From myTable


Sónia Moreira

posted @ 5:38 PM | Feedback (0)

Friday, May 16, 2008 #

Add users to a Team Project group by command-line

Para adicionar um utilizador a um dos grupos de um determinado Team Project através da linha de comandos, proceda da seguinte forma:

      drive:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Tools

      TFSSecurity /server:servername /g+ n:"[Team Project]\Contributors" n:"username" 
      ou 
     
TFSSecurity /server:servername /g+ n:"[Team Project]\Contributors" n:"domain\username"


Para saber a que grupos um determinado user pertence, execute o seguinte comando:

       TFSSecurity /server:servername /imx domain\username

Este é o output:

TFSSecurity - Team Foundation Server Security Tool
(C) Copyright 2006 Microsoft Corporation. All rights reserved.

The target Team Foundation Server is SERVERNAME.
Resolving identity "domain\username"...

SID: ....

DN: .....

Identity type: Windows user
   Logon name: DOMAIN\username
 Display name: Name

Member of 5 group(s):
  [G] DOMAIN\Domain Admins
  [G] BUILTIN\Administrators
a [A] [SERVER]\Team Foundation Administrators
e [A] [SERVER]\Team Foundation Valid Users
  [A] [Team Project]\Contributors

Done.


Sónia Moreira

posted @ 2:50 PM | Feedback (0)

Friday, May 09, 2008 #

Boas práticas para workspaces no TFS

http://blogs.teamsystemnotes.com/2008/05/03/best-practices-for-workspaces/

Sónia Moreira

posted @ 3:46 PM | Feedback (0)

30 propriedades utéis do Team Build

http://www.woodwardweb.com/vsts/000374.html

Sónia Moreira

posted @ 3:44 PM | Feedback (0)

Monday, April 28, 2008 #

3ª Certificação de Scrum Masters em Portugal

A fullsix já está a programar a 3ª Certificação de Scrum Masters em Portugal que em príncipo correrá na semana de 15 de Setembro.
Se ainda não tiveram a oportunidade de obter esta certificação, fiquem atentos às novidades.

O curso 
Agile Estimation and Planning que tive a oportunidade de cursar no passado dia 23, também voltará a ser dado pelo Mitch Lacey nessa mesma semana.
O curso ensina várias técnicas de estimação a serem usadas no planeamento de um projecto que use metodologias agéis, como por exemplo a framework de Scrum.
O curso foi baseado num dos livros do Mike Cohn "Agile Estimation and Planning".

Esse livro bem como o "User  Stories Applied" também do Mike Cohn foram altamente recomendados para leitura pelo Mitch Lacey.

A ordem recomendada para leitura é: primeiro o "User  Stories Applied" e depois o "Agile Estimation and Planning"

Sónia Moreira

posted @ 3:37 PM | Feedback (0)

Friday, April 11, 2008 #

2ª Certificação de Scrum Masters em Portugal

A 2ª Certificação de Scrum Masters em Portugal irá ocorrer já nos dias 21 e 22 de Abril.
Para fazerem a vossa pré-inscrição, enviem um email com os vossos dados para
scrum@fullsix.com.

Também aproveito para destacar que no dia 23 de Abril haverá o evento
Agile Estimation and Planning também apresentado pelo Mitch Lacey.
Parece ser um evento bastante interessante, espero poder estar presente.

Sónia Moreira

posted @ 4:00 PM | Feedback (0)

Thursday, March 20, 2008 #

VSTS Scrum process templates

GrabBag escreveu um post interessante sobre os prós e contras de 3 templates scrum:

  • Scrum for Team System (Conchango)
  • eScrum (Microsoft)
  • VSTS Scrum Process Template (CodePlex)

  • Sónia Moreira

    posted @ 1:52 PM | Feedback (0)

    TeamPrise 3.0 Released

    A versão do TeamPrise 3.0 foi lançada.

    O TeamPrise permite aceder ao Team Foundation Server apartir de qualquer sistema operativo, por exemplo Linux ou Mac OS X, desde que corra java ou o IDE do Eclipse. É ideal para equipas que sejam cross-platform.

    Aqui deixo o
    link para a lista de alterações feitas nesta release.


    Sónia Moreira

    posted @ 1:22 PM | Feedback (0)

    Monday, March 17, 2008 #

    Assignar todos os workitems a outra pessoa

    Imaginemos que eu como membro de equipa de um determinado Team Project, tinha deixado de trabalhar na empresa.
    O que aconteceria aos workitems que estão atribuídos a mim?
    Bem, teriam de ser assignados a outra pessoa, mas como? 

    • Instalar TFS Power Tools 2008
    • C:\Program Files\Microsoft Team Foundation Server 2008 Power Tools
    • Executar o seguinte comando:

              tfpt query /format:id "Project123\my workitems" /s:http://TFS:8080 | tfpt workitem /update @ /fields:"Assigned To=Joaquim Matias" /s:http://TFS:8080

    Neste caso estamos a assumir que no Team Project "Project123" existe uma query "My WorkItems" que devolve todos os workitem assignados a mim.
    Sempre que especificarmos o @ juntamente com a opção /update no comando workitem, este trata a query como input do comando.


    Sónia Moreira

    posted @ 6:10 PM | Feedback (0)

    Alterar um workitem de um Team Project

    Com as TFS Power Tools 2008, torna-se muito mais fácil.

    Imaginemos que por exemplo um dos nossos Team Projects está usando como template o eScrum.
    No template do eScrum a categoria que nos permite marcar uma Sprint Task como um impedimento é a categoria "Overhead".
    Mas como o nome não é muito intuitivo, porque não alterar o work item "eScrum Sprint Task" e adicionar à lista de categorias, a categoria "Impediment"?

    Como se faz....

    1. Instalar TFS Power Tools 2008
    2. Abrir o Visual Studio 2008
    3. No menu Tools >> Process Editor >> Work Item Types, escolher a opção Open WIT from Server




    4. Escolher o work item a ser alterado, "eScrum Sprint Task". Para isso vamos escolher um Team Project que esteja a usar o eScrum como template




    5.  Escolher o campo do Work Item a alterar (neste caso o campo Category) e escolher a opção "Open"


    6. Escolher a tab Rules, para acrescentar o valor "Impediment" à lista de valores permitidos para o campo "Category"








    Agora só nos resta verificar se as nossa alterações para aquele Team Project foram concretizadas com sucesso.

       1. Clicar na tab Layout, clicar em "Preview Form" e na dropdown do campo Category
    ou
       2. Abrir o site do eScrum, editar uma Sprint Task e clicar na dropdown do campo Category




    Tudo isto já era possível ser feito através da edição de ficheiros xml, mas graficamente passa a ser possivel com as TFS Power Tools 2008, de uma forma simples e rápida.
    Experimentem!!


    Sónia Moreira

    posted @ 4:10 PM | Feedback (0)

    Como alterar o servidor de smtp e endereço de email depois da instalação do TFS?

    Para alterar as configurações feitas aquando da instalação do TFS relativamente ao servidor de smtp e endereço de email, devem alterar o ficheiro web.config em C:\Program Files\Microsoft Visual Studio [2008] Team Foundation Server\Web Services\Services, e alterá-lo da seguinte forma:

    <appSettings>

    <add key="ConnectionString" value="Application Name=TeamFoundation;Persist Security Info=False;Initial Catalog=TfsIntegration;Data Source=TFSServerName;Integrated Security=SSPI"/> 
        <add key="eventingEnabled" value="true" />
        <add key="DetailedExceptions" value="true" />
        <add key="emailNotificationFromAddress" value=xxxx@xx.xx />
        <add key="smtpServer" value=smtp@xxx.xx />

    </appSettings>


    Sónia Moreira

    posted @ 2:40 PM | Feedback (0)

    Monday, March 10, 2008 #

    Get Latest on Checkout depends on a TFS 2008 server

    Esta funcionalidade só funciona com o TFS 2008, embora essa opção apareça disponível com o TFS 2005.

    Sónia Moreira

    posted @ 9:19 PM | Feedback (0)

    Como colocar uma solução TFS offline sem afectar outras

    Para colocar uma solução offline sem causar que outras soluções fiquem offline também, é necessário alterar uma chave no registry, que faz com que o Visual Studio ignore a configuração 'server-based Offline' e apenas utilize a configuração 'per-solution Offline'.

    Passos:

    1. Ir ao registry
    2. Adicionar uma chave com o nome IgnoreServerBasedOfflineFlags, debaixo de 
      HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\TeamFoundation\SourceControl
    3. E colocar no valor "True"

    Leiam este post sobre quando e como uma solução fica em modo offline.

    Sónia Moreira

    posted @ 9:06 PM | Feedback (0)

    Scrum for Team System v2.0 Beta 1 - released

    O template da Conchango para integração com o TFS 2008 foi lançado em versão beta.

    Algumas melhorias implementadas:

    - Passaram a usar o "Iteration Path" para definir a hierarquia do Projecto/Release/Sprint. Isto significa que já não são precisos os Sprint numbers, e os items do backlog podem ser facilmente movidos de uma release para outra. E quando se faz "Add Related Work Item" - o nome do Sprint é copiado para o novo work item :)

    - Foi criado um novo tipo de work item "Bug" no Product Backlog Item que permite inserir bugs/defeitos que surgem 'fora do sprint'.

    - Já possuem um portal onde permitem gerir as equipas e o ambiente, deixa de ser necessário qualquer outra ferramenta cliente para configurar o projecto. O portal só funciona com WSS 3.0 e foram incluídas funcionalidades do WSS 3.0 tais como "Wiki" e "Team Discussion".

    - Os serviços de backend foram completamente reescritos por questões de eficiência. Adicionaram um serviço que automaticamente coloca os Product Backlog Items 'In Progress' quando os Sprint Backlog Items relacionados estão em progresso.

    Sónia Moreira

    posted @ 8:56 PM | Feedback (2)