Vue SQL WorkItemsLatestUsed inexistante avec TFS 2017

Avec TFS 2013.5, j’utilisais la vue SQL WorkItemsLatestUsed pour calculer certains indicateurs.

J’ai migré en TFS 2017, et cette vue n’existe plus. J’ai cependant trouvé mon bonheur en utilisant d’autres vues:

  • vw_denorm_WorkItemCoreLatest: contient les données actuelles des work items, mais des champs sont manquants de l’ancienne vue sont manquants
  • vw_denorm_WorkItemCustomLatest: contient les données actuelles des autres champs (que j’appellerais non standards) des work items, sur le modèle 1 ligne correspond à 1 champ
  • tbl_field: cette table permet de savoir l’id d’un champ non standard

Pour retrouver un équivalent de l’ancienne vue WorkItemsLatestUsed et avoir une table contenant l’ensemble de mes work items, j’utilise donc dorénavant la requête suivante:

SELECT Core.[System.Id] as SystemId
,Core.[System.TeamProject] as SystemTeamProject
,Core.[System.ChangedDate] as SystemChangedDate
,Core.[System.CreatedDate] as SystemCreatedDate
,ClosedDate.DateTimeValue as MicrosoftVSTSCommonClosedDate
,OriginalEstimate.FloatValue as MicrosoftVSTSSchedulingOriginalEstimate
,RemainingWork.FloatValue as MicrosoftVSTSSchedulingRemainingWork
,CompletedWork.FloatValue as MicrosoftVSTSSchedulingCompletedWork
,rtrim(left(Core.[System.AssignedTo], charindex('<',Core.[System.AssignedTo])-1)) as SystemAssignedTo
-- Core.[System.AssignedTo] has now some data in an additional "<...>"
,Core.[System.WorkItemType] as SystemWorkItemType
,Title.TextValue as SystemTitle
,Core.[System.State] as SystemState
FROM [dbo].[vw_denorm_WorkItemCoreLatest] Core
left join [dbo].[vw_denorm_WorkItemCustomLatest] OriginalEstimate on Core.[System.Id] = OriginalEstimate.Id and OriginalEstimate.FieldId = 10021
left join [dbo].[vw_denorm_WorkItemCustomLatest] RemainingWork on Core.[System.Id] = RemainingWork.Id and RemainingWork.FieldId = 10020
left join [dbo].[vw_denorm_WorkItemCustomLatest] CompletedWork on Core.[System.Id] = CompletedWork.Id and CompletedWork.FieldId = 10022
left join [dbo].[vw_denorm_WorkItemCustomLatest] ClosedDate on Core.[System.Id] = ClosedDate.Id and ClosedDate.FieldId = 10009
left join [dbo].[vw_denorm_WorkItemCustomLatest] Title on Core.[System.Id] = Title.Id and Title.FieldId = 1
where Core.[IsDeleted] = 0

Problème de connexion à TFS depuis Visual Studio 2017

Suite à la mise à jour de Microsoft Team Foundation Server vers la version 2017 update 2, j’ai voulu utiliser Microsoft Visual Studio .Net 2017 (version 15.3) mais j’ai rencontré un problème pour me connecter à TFS.

L’interface de connexion de TFS a changé, mais en entrant mon serveur, Visual Studio refusait d’aller plus loin et m’indiquait « Aucun dépôt disponible. »:

J’ai réussi à passer outre ce problème en utilisant une autre fenêtre de connexion, semblable à celle de Visual Studio 2015, qui se trouve via le menu Fichier > Contrôle de code source > Avancé > Ouvrir à partir du serveur…

D’ici, j’ai pu configurer correctement une connexion à un projet, comme cela était le cas en Visual Studio 2015:

 

Et j’ai enfin pu ouvrir mes projets avec Visual Studio 2017:

Je ne sais pas pourquoi j’ai rencontré ce problème de connexion à TFS avec la nouvelle interface de Team Explorer, mais l’ancienne version via le menu fonctionne parfaitement.

L’autre façon de faire qui peut sûrement fonctionner est de passer par l’interface Web de TFS. Il y a un lien « Ouvrir avec Visual Studio » qui m’a ouvert directement Visual Studio (mais la version 2015, que j’ai encore installé à côté de la 2017). Je pense que si Visual Studio 2017 est l’environnement par défaut, ou le seul environnement installé, cela permet de récupérer le projet et de configurer la connexion avec TFS.