mardi 4 mai 2010

My WCF application is not called by TFS 2010 Event Service

For TFS 2010 be able to contact your WCF you have to use the WSHttpBinding and you have to specify a bindingConfiguration that disable the security. You can see below what I use for mine.

I hope that will help someone (at least Nicolas M).


ITfsEventSubscriber.cs :


...
[ServiceContract(Namespace = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03")]
public interface ITfsEventSubscriber
{
    [OperationContract(Action = "http://schemas.microsoft.com/TeamFoundation/2005/06/Services/Notification/03/Notify")]
    void Notify(String eventXml, String tfsIdentityXml);
}
...



TfsEventSubscriber.cs :

...
public class TfsEventSubscriber : ITfsEventSubscriber
{
    void ITfsEventSubscriber.Notify(String eventXml, String tfsIdentityXml)
    {
        // My notify code
    }
}
...



Web.config :


...
<system.serviceModel>
    <bindings>
     <wsHttpBinding>
        <binding name="NoSecurity">
         <security mode="None">
         </security>
        </binding>
     </wsHttpBinding>
    </bindings>
    
    <services>
     <service behaviorConfiguration="WcfTfsDeployer.Behavior" name="WcfTfsDeployer.TfsEventSubscriber">
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="NoSecurity" contract="WcfTfsDeployer.ITfsEventSubscriber" />
     </service>
    
    </services>

    <behaviors>
     <serviceBehaviors>
        <behavior name="WcfTfsDeployer.Behavior">
         <serviceMetadata httpGetEnabled="true"/>
         <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
     </serviceBehaviors>
    </behaviors>
</system.serviceModel>



...

lundi 3 mai 2010

What's new with BisSubscribe in TFS 2010

Hi all,

We currently migrating our Team Foundation Server 2008 to TFS 2010 and have some little issues, so I found a solution around BisSubscribe.exe that I want to share with all.

I tried to subscribe our WCF service that intercept the build quality change event to deploy our web sites on diffrent severs. But with using the BisSubscribe.exe syntax I knew with TFS 2008 it's failed with this message :


....
Exception Message: Event type BuildStatusChangeEvent does not exist. (type TeamFoundationServiceException)
...



With TFS 2008 a subscription looked like :

bissubscribe /eventType BuildStatusChangeEvent /address http://myWebServer/MyService/myNotificationService.asmx /deliveryType Soap /server http://tfsserver:8080


For TFS 2010 due to the Team Project Collection the url of the parameter /server is not functionnal and you have to use /collection instead, like this sample :

C:\Program Files\Microsoft Team Foundation Server 2010\Tools>BisSubscribe.exe /eventType BuildStatusChangeEvent /address http://myWebServer/MyService/myNotificationService.asmx /deliveryType Soap /collection http://tfsServer:8080/tfs/MyCollection


Where MyCollection is the Team Project Collection where you want to subscribe. It's appear the /server doesn't work well with all events (like BuildStatusChangeEvent).

I hope that could help someone !

mardi 9 mars 2010

Retour d'expérience sur notre implémentation de Scrum

Il y a un an j'ai démarré des recherches sur comment améliorer la gestion de nos projets informatiques dans notre pôle de développement, sans amener de rigidité et sans altérer la fluidité existante. Je me suis rapidement tourné vers les méthodes agiles et plus particulièrement Scrum et XP. Scrum pour l'apparente simplicité à "contenir" un projet (je reviendrai plus tard cette "apparente simplicité") et XP pour les bonnes pratiques purement liées au développement informatique.
Sur ces deux sujets il est aisé de trouver de l'information théorique et gratuite sur le web. Pour XP on trouve aussi des tutoriels et autres exemples sur comment faire du TDD ou sur comment se passe en pratique le pair programming. Je remercie d'ailleurs toutes ces personnes qui se donnent la peine de partager des informations car elles me servent quotidiennement.
Mais sur Scrum on trouvais à l'époque plus difficilement des exemples d'implémentation, des retours d'expériences, des bases factuelles sur lesquelles démarrer une implémentation de scrum. Il en existe quelque uns et pas des moindres qui m'ont beaucoup inspirés :
- http://www.aubryconseil.com/
- http://www.fredericdoillon.com/
- http://brunosbille.com/ que j'ai découvert récemment.

Ici j'aimerai faire part de mon expérience en tant que scrum master et de celle de notre équipe de développement pour donner un éclairage supplémentaire à celles et ceux qui envisage de se lancer dans la mise en place de méthodes agiles.

Je prépare donc une série d'articles sur l'implémentation de Scrum dans notre DSI en ce sens.

En attendant je vous livre le contexte dans lequel nous évoluons:
Nous faisons partie d'une institution de l'état français implantée à l'étranger. Nos activités informatiques se concentrent sur la réalisations d'outils métiers (full web) qui gravitent autour d'un portail intranet style netvibes. Nous travaillons avec notre DSI et la MOA qui sont en France.
Nous sommes organisés en 2 équipes de projets Scrum, composées de 3 développeurs chacune et se partageant un testeur. Pour le moment il y a un scrum master et un product owner pour les deux équipes.

A bientôt pour la suite.

Review après deux ans de blog

Un petit bilan après 2 ans de vie pour ce blog...
Bon ok 8 articles en 2 ans ce n’est pas forcément la panacée et il est vrai qu'être assidu à l'écriture n'est pas forcément chose aisée. Le plus difficile est de ne pas écrire une information qui n'est pas déjà sur 10 autres blogs ou sites web. J'espère cependant avoir pu aider quelques personnes avec ces retours d'expériences.

Parlons un peu d'actualité à présent.
Pendant les deux dernières années mon activité à quelque peut évoluée ce qui m'a amené à m'intéresser à de nouveaux sujets :
- l'agilité : Scrum en tête car j'ai introduit l'utilisation de scrum dans mon entreprise depuis 9 mois. Convaincus des apports bénéfiques de l'agilité, nous généralisons depuis l'utilisation de scrum à tous nos projets.
- l'outillage et les méthodes qui sont nées dans les méthodes agiles : intégration continue, tests unitaires, tests automatisés...
- le facteur humain dans les projets : travail en équipe, développement personnel, efficacité individuelle au profit du groupe, organisation et relations entre testeurs, développeur, MOA, DSI...

Je publierais donc des articles sur ces sujets qui me passionnent en plus de parler de .net.

Bonne continuation à toutes et tous.