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.

Passage à Domoticz

Un collègue de travail m’a parlé de Domoticz et même si je ne trouvais pas l’interface graphique des plus adaptées pour mon installation, Domoticz offre de belles possibilités d’évolutions, sans que j’ai besoin de passer du temps à développer mon interface.

J’ai donc testé, et finalement adopté Domoticz…

Je vous conseille de faire un tour sur EasyDomoticz en passant.

Voici à quoi ressemble mon interface Domoticz me permettant de piloter mes volets roulants Somfy:

Une photo de l’installation avec une télécommande Somfy IO:

Finalisation des interfaces RasPi-Somfy

Les interfaces de l’application sont prêtes à l’emploi. Il ne me reste plus qu’à réinstaller le Raspberry Pi et à assembler l’ensemble pour finaliser le projet.

Interface de commande et de planification (sur PC standard) :

2016-12-07_231155Interface de commande et de planification (sur mobile) :

2016-12-07_2312372016-12-07_231248

Gestionnaire des actions (partie Raspberry Pi):

2016-12-07_231320

XAMPP 7.0.6 – Notes d’installation

Erreurs lors de l’installation

En tentant d’installer XAMPP 7.0.6 pour mettre à jour ma précédente installation, j’ai eu les erreurs suivantes:

2016-05-14_161300

Windows ne trouve pas ‘-n’. Vérifiez que vous avez entré le nom correct, puis réessayez.

2016-05-14_161308

Problem running post-install step. Installation may not complete correctly.

Installation failed (php.exe). Perhaps you have to install the Microsoft Visual C++ 2008 Redistributable package. After that please execute the setup_xampp.bat in the xampp folder manually.

L’installation se poursuit, mais lors des tentatives de démarrage, j’ai remarqué que certains fichiers de configuration sont mal formaté pour Windows:

2016-05-14_163532

Résolution trouvé:

J’ai l’habitude d’installer XAMPP dans un répertoire de mon choix qui n’est pas le répertoire par défaut.

En utilisant le répertoire par défaut de l’installation (C:\XAMPP), les erreurs n’apparaissent pas.

Donc utilisez le répertoire par défaut 🙂

Changer le port d’Apache

Lors d’une tentative de démarrage d’Apache dans XAMPP, j’ai l’erreur suivante:

XAMPP 7.0.6

12:50:31 [Apache] Problem detected!
12:50:31 [Apache] Port 80 in use by « Unable to open process » with PID 4!
12:50:31 [Apache] Apache WILL NOT start without the configured ports free!
12:50:31 [Apache] You need to uninstall/disable/reconfigure the blocking application
12:50:31 [Apache] or reconfigure Apache and the Control Panel to listen on a different port
12:50:31 [Apache] Attempting to start Apache app…

Cela signifie que le port 80 est déjà utilisé (par IIS par exemple dans mon cas).

Pour changer le port d’écoute, allez dans la panneau de contrôle > Apache > Configs > Apache (https.conf):

2016-05-14_125316

Cherchez la ligne « Listen 80 » (80 représentant le port à utiliser):

2016-05-14_125444

Changer le port avec un autre port non utilisé (par exemple 8060).

Cherchez la ligne « ServerName localhost:80 » et faite de même en remplaçant le port 80 par la valeur choisie.

Enregistrez.

Tentez de démarrer Apache à nouveau. Apache démarre, mais je vois toujours l’erreur.

J’ai réussi à supprimer définitivement en allant dans le Control Panel > Config > Service and Port Settings et en remplaçant le « Main Port » d’Apache de 80 à la valeur que j’avais choisie (en l’occurrence 8060):

2016-05-14_171924

Et finalement plus d’erreur et Apache démarre correctement.

 

Ajouter un alias web

Apache > Configs > httpd-xampp.conf

Ajouter un bloc tel que celui-ci pour « mapper » /dev à un répertoire C:\Private-Personnel\eclipse-workspace.

Attention à remplacer les « \ » par des « / ».

2016-05-14_175050

 

 

Pilotage des mes volets roulants Somfy IO / Presque fin

Après avoir acheté quelques mini-grips, j’ai finalement réussi à connecter l’ensemble des interrupteurs de la télécommande à l’installation. Tout fonctionne parfaitement via l’interface web: ouverture, « my », fermeture.

Il ne reste plus qu’à finaliser le projet web.

DSC04665_R

2015-11-29_094745