mercredi 6 avril 2011

TFS : Rapports Custom et Data Driven Subscription Part 2

Dans la partie 2 de l'article, nous allons mettre en place une Data Driven Subscription pour le rapport custom créé dans la partie 1 de cet article. Rappel des principes généraux d'une Data Driven Subscription L'objectif est ici de planifier l'envoi par mail du rapport dans un format donné, ici Excel pour fournir à l'utilisateur final un rapport en mode déconnecté. L'envoi des rapports est piloté par une base de données "Subscribers" dans laquelle nous allons configurer souscription par souscription la fréquence d'envoi ainsi que le filtre à appliquer dynamiquement au rapport avant l'envoi, dans le cas traité, nous imaginons un groupe qui veut diffuser un document de Bug Status par BU Implémentation Step by Step d'une Data Driven Subscription Une base de donnée Subscriber est un prérequis afin d'être capable de gérer par profil, type d'export, injection de filtrage et mode de delivery. Quand la base est crée, une subscription peut être ajoutée simplement en ajoutant une entrée dans la table ou encore en procédant à des mises à jours pour modifier la liste de distribution mail d'une subscription. La première étape consiste donc à créer la base de données, pour cela, en utilisant SQL Management Studio, nous allons créer la base, table et colonnes requises. Pour cela il suffit de suivre les étapes suivantes :

1. créer la base de données avec le nom Subscribers.


2. Créer une nouvelle table.


3. Ajouter les 5 colonnes suivantes: Name, Alias, EmployeeID, Format, Linked. Pour toutes les colonnes, fixer le data Type à VarChar avec un longueur de 100. Il faut également ajouter les colonnes pour les paramètres de filtrage du rappoprt, dans notre exemple: Team Project, WorkItemType, AreaPath etc.


4. Nommer la table UserInfo.


5. Insérer quelques lignes. Vous pouvez utiliser le Query Analyzer pour ajouter les données. L'exemple suivant montre comment insérer 1 ligne en utilisant la clause INSERT


INSERT INTO UserInfo (Name, Alias, EmployeeID, Format, Linked, Project, WITType, Area) VALUES ('John Doe', 'John.Doe@avanade.com', '24', 'IMAGE', 'True', “MyProject”, “Requirement”, “All”)


Répeter l'opération d'insert autant de fois que nécessaire, chaque insertion correspondant à 1 nouvelle souscription


Nous allons maintenant définir une Data Driven Subscription en utilisant la base de données préalablement créée ainsi que le rapport Custom réalisé dans la partie 1 de l'article.


Se connecter au Serveur de rapport : http://YourTFSServer/Reports


Naviguer jusqu'à la page de visualisation du rapport à diffuser et cliquer l'onglet "Subscription"


Cliquer le bouton : Create a Data Driven Subscription, l'écran suivant apparait, entrer un nom pour la souscription et choisir Email pour la Delivery Method puis sélectionner Specify a Data Source pour cette Subscription puis cliquer Next


pour l'étape 2, on utilise une connection spécifique à la base de données Subscribers, simplement entrer la chaine de connexion et les login / password comme montré ci dessous. Pour le login, un compte de service TFS tel que TFSReports est une bonne option (pas de password à renouveler) puis cliquer Next

A l'étape 3, nous allons entrer la clause Select pour les paramètres de la distribution, la clause select doit sélectionner les lignes de la table Subscribers qui seront destinataires de la transmission par email, généralement, la clause ne renvoie qu'une seule ligne de la table. Cliquer sur Validate pour confirmer le bon fonctionnement du Select puis cliquer sur Next.

A l'étape 4, nous allons compléter les paramètres génériques de la Subscription, avec la possibilité de les retrouver à partir de la Base de données, simplement en cochant l'option Get the value from the database. Cette étape est à paramètrer en fonction de vos besoins.

A l'étape 5, la liste des paramètres du rapport sont affichés, et de la même manière, ces valeurs peuvent être retrouvées à partir de la base de données Subscribers.

Enfin la dernière étape est la planification de la Subscription :

Ajuster la planification en fonction des besoins de votre projet :

Cliquer sur Finish pour finaliser le processus de création. Le serveur de rapport affiche le dernier run et le statut de la souscription. Il faut évidemment tester la Subscription avant la mise en production en modifiant les mail des destinataires dans la base de données par ceux du créateur de la Subscription pour s'assurer du bon fonctionnement notamment du filtrage dynamique.

NOTE : Un point délicat est d'entrer dans la base de données Subscribers les valeurs correctes pour les requêtes MDX, les syntaxe étant réellement particulière. Comme le filtrage est très spécifique avec Analysis Services, la meilleurs méthode pour les retrouver est de se connecter à Analysis Services et copier les valeurs comme montré ci dessous. Simplement lancer SSMS, se connecter à Analysis Services (Cube TFS), et lancer une nouvelle requête sur le cube Team System. Parcourir le cube et sélectionner la valeur que l'on veut passer comme paramètre et à l'aide du menu contextuel, choisir la commande Copy, puis coller cette valeur dans la table UserInfo de la base Subscribers. Par exemple, pour filtre sur le Work Item Type Bug, la valeur du paramètre sera :

Puis

Ci dessous la valeur pour le Work Item Type

Pour le projet d'équipe, on aura l'utilisation d'un ID

ces valeurs sont finalement collées dans la table comme montré ci dessous

Aucun commentaire: