Comprendre comment sont gérées les mises à jour de certains champs en particulier
Vous devez passer en revue cette rubrique si un ou plusieurs champs ne se synchronisent pas comme prévu entre Visual Studio Team Foundation Server et Microsoft Project Server. Le type de données du ou des champs affectés, l'attribut de mappage de champs OnConflict et la hiérarchie des tâches affectent la façon dont le moteur de synchronisation met à jour des champs spécifiques. Les tâches ne sont pas correctement mises à jour si le responsable de projet rejette une ou plusieurs mises à jour d'envois ou si le plan de projet n'a pas été publié. Si le plan n'a pas été publié, les éléments de travail enfants imbriqués ne peuvent pas être transférés dans la file d'attente d'approbation.
Dans cette rubrique
Vue d'ensemble du processus de mise à jour des champs
Mises à jour d'envois rejetées
Mises à jour des titres ou des noms de tâches
Mises à jour des dates de début et de fin
Mises à jour des champs contenant des heures
Mises à jour des assignations de tâches
Tâches récapitulatives, hiérarchie des tâches et envois d'éléments de travail imbriqués à plusieurs niveaux
Mises à jour des champs associés à des listes ou tables de choix
Vue d'ensemble du processus de mise à jour des champs
Comme le montre l'illustration suivante, les données sont envoyées de Project Server vers Team Foundation Server, vers la file d'attente des états d'une instance de PWA, puis vers le plan de projet d'entreprise avant de revenir à Project Server. Le tableau suivant fournit des remarques supplémentaires sur le processus de synchronisation et sur la façon dont les champs sont mis à jour au cours de chaque étape du processus.
Important
Vous ne pouvez pas supprimer un élément de travail ou une tâche dont la synchronisation est planifiée, à moins de supprimer la tâche du plan de projet.Vous ne pouvez ni modifier la valeur Publier sur le projet d'équipe assignée à une tâche ni modifier le champ Envoyer à Project Server dans Team Foundation.Par ailleurs, vous ne pouvez pas remplacer une tâche par un autre type d'élément de travail après sa publication ou son envoi à partir de Team Foundation Server.
Étape |
Processus de synchronisation |
Mises à jour de champs |
---|---|---|
Synchronisation Team Foundation : le moteur de synchronisation détecte automatiquement les ajouts et les modifications publiés sur Project Server, puis extrait ces mises à jour dans Team Foundation Server. |
Seuls les champs qui sont mappés de Project Server à Team Foundation Server (mappage targetToTfs) sont mis à jour au cours de cette étape. Le moteur de synchronisation met constamment à jour le champ mis en miroir. En revanche, il ne met à jour le champ de référence que lorsque l'attribut OnConflict a la valeur PSWin. Toutefois, lorsqu'une tâche est publiée sur Project Server pour la première fois, le champ de référence et le champ mis en miroir sont définis indépendamment de la valeur assignée à l'attribut OnConflict. Les champs mis en miroir sont en lecture seule. Par défaut, l'attribut OnConflict n'est pas spécifié pour les champs Travail restant et Travail effectué, ce qui permet aux champs mappés d'être différents entre Team Foundation Server et Project Server. Pour plus d'informations, consultez Mises à jour des champs qui contiennent des heures plus loin dans cette rubrique. |
|
Synchronisation des états : au fur et à mesure que les membres de l'équipe ajoutent ou modifient des éléments de travail qui ont la valeur Envoyer à Project Server, le moteur de synchronisation envoie automatiquement les mises à jour à la file d'attente des états. |
Seuls les champs qui sont mappés pour envoi à la file d'attente des états (mappage tfsToTarget) sont envoyés. Les modifications apportées aux dates de début et de fin sont envoyées uniquement lorsque l'élément de travail est envoyé pour la première fois. Dans la mesure où les champs de Team Foundation sont mappés aux champs de ressources de Project, les champs de ressources tels que Travail restant et Travail effectué sont mis à jour. |
|
Synchronisation des approbations : lorsqu'une mise à jour est approuvée, elle apparaît dans le plan de projet d'entreprise. La notification de l'approbation ou du rejet est écrite dans l'historique de l'élément de travail dans Team Foundation. |
Le complément Team Foundation pour Project Professionnel garantit la synchronisation correcte des valeurs pour les champs pjTask* et pjResource*. Vous devez donc utiliser Project Professionnel depuis un ordinateur client sur lequel Visual Studio 2013 ou Team Explorer 2013 a été installé pour modifier vos plans de projet d'entreprise mappés à un projet d'équipe. |
|
Synchronisation des publications : lorsque le responsable de projet publie le plan de projet, les mises à jour sont écrites dans Project Server. |
Les modifications apportées à toutes les tâches du plan de projet sont mises à jour dans Project Server. |
Pour plus d'informations, consultez les rubriques suivantes :
Vue d'ensemble du processus de synchronisation pour l'intégration de TFS et Project Server
Personnaliser le mappage de champs entre TFS et Project Server
Restrictions du mappage des champs Project Server dans l'intégration de TFS et Project Server
Mises à jour d'envois rejetées
Quand un responsable de projet rejette la mise à jour d'état d'une spécification ou d'une tâche, l'élément de travail correspondant n'est plus synchronisé tant que le rejet n'est pas résolu. La raison du rejet s'affiche dans le champ Historique, et le champ État de la dernière approbation sous l'onglet Project Server indique Rejeté. Un membre de l'équipe doit résoudre le problème du rejet de l'état pour que la synchronisation de l'élément de travail puisse reprendre.
Vous pouvez créer une requête d'équipe pour rechercher les éléments de travail dont l'état de mise à jour a été rejeté. Pour plus d'informations, consultez Surveiller les éléments de travail envoyés et résoudre les rejets.
Mises à jour des titres ou des noms de tâches
Le champ Titre dans Team Foundation Server et le nom de la tâche dans Project Server participent à un processus de synchronisation bidirectionnelle. En d'autres termes, toute modification apportée sur un serveur est systématiquement reflétée sur l'autre serveur. Vous pouvez toutefois changer ce comportement si vous modifiez le mappage du champ Titre (System.Title).
Mises à jour des dates de début et de fin
Les champs de planification participent à un processus de synchronisation unidirectionnelle. En d'autres termes, les champs Date de début et Date de fin de Team Foundation Server reflètent systématiquement les valeurs assignées dans Project Server ; par ailleurs, les modifications apportées à ces champs dans Team Foundation Server ne sont jamais envoyées à Project Server. Cette règle est appliquée, car Project utilise un moteur de planification pour déterminer les dates de début et de fin des tâches.
Par défaut, les champs Date de début et Date de fin sont mappés à OnConflict="PSWin" ; par conséquent, les champs de date de Team Foundation reflètent toujours les valeurs assignées dans Project Server. Même si vous modifiez l'attribut de mappage pour permettre l'utilisation de deux copies, les modifications apportées aux champs de date de Team Foundation ne sont pas envoyées à Project Server, sauf lorsque l'élément de travail est envoyé pour la première fois. Après le premier événement de synchronisation, ces champs reflètent les mises à jour apportées au plan de projet.
Mises à jour des champs contenant des heures
Par défaut, les champs Heures effectuées et Heures restantes participent à un processus de synchronisation qui gère deux copies. Les modifications apportées aux heures peuvent avoir lieu dans le plan de projet ou Team Foundation. Toutefois, les modifications ne remplacent pas nécessairement les informations dans l'un ou l'autre des emplacements. Un attribut OnConflict non défini pour les champs de mappage applique cette fonctionnalité.
Comme indiqué dans les scénarios ci-après, les champs sont mis à jour en fonction du demandeur des mises à jour et de l'acceptation ou non de ces dernières dans le plan de projet.
Quand un membre de l'équipe met à jour des heures et que le responsable de projet approuve les envois et publie le plan, les champs de référence et les champs mis en miroir sont identiques lors de la prochaine synchronisation de Team Foundation Server.
Quand un membre de l'équipe met à jour des heures et que le responsable de projet rejette les envois, les mises à jour ne sont pas acceptées dans le plan de projet. Les valeurs du champ de référence et du champ miroir diffèrent.
Lorsqu'un responsable de projet modifie les heures du plan de projet, seul le champ mis en miroir est mis à jour lors de la prochaine synchronisation de Team Foundation Server.
Lorsque les heures des tâches varient entre les deux produits serveur, le responsable d'équipe et le responsable de projet doivent rapprocher les différences. Ainsi, chacun peut mettre à jour son travail de manière indépendante tout en étant informé des modifications effectuées par une autre personne. Pour plus d'informations sur la recherche des champs dont les valeurs ne correspondent pas à leurs champs miroir, consultez Find Work Items Where the Work in Team Foundation Differs from that in Project Server.
Chaque fois qu'un responsable de projet définit une planification initiale, la valeur du champ Estimation d'origine dans Team Foundation est définie ou mise à jour, comme le montre l'illustration suivante. Par défaut, ce champ est mappé à l'attribut OnConflict="PSWin".
Notes
Étant donné que le modèle de processus Scrum Visual Studio n'utilise pas les champs Travail effectué et Estimation d'origine, vous devez ajouter ces champs aux types d'éléments de travail que vous souhaitez inclure dans la synchronisation de données.En outre, vous devez modifier la définition du type tâche pour supprimer les instructions de flux de travail <EMPTY />.Pour plus d'informations, consultez Modifications requises en cas de mappage à un projet d'équipe créé à partir du modèle de processus Scrum.
Mises à jour des champs Assigné à ou Nom de la ressource
Le champ Assigné à dans Team Foundation est mappé au champ Nom de la ressource dans Project Server. Par défaut, ce champ est mappé à l'attribut OnConflict="PSWin". Quand vous assignez des ressources aux tâches dans le plan de projet d'entreprise, tenez compte des règles suivantes :
Le moteur de synchronisation ne synchronise pas les informations sur les ressources entre les deux produits serveur. Par défaut, Team Foundation Server synchronise ses ressources à partir d'Active Directory, ce qui n'est pas le cas de Project Server. Vous pouvez ajouter des ressources manuellement dans Project Server ou synchroniser les ressources avec Active Directory (meilleure pratique). Pour assigner une ressource à une tâche dans un plan de projet d'entreprise qui participe à une synchronisation avec Team Foundation Server, vous devez ajouter la ressource à Project Server. Vous ajoutez une ressource en l'ajoutant au groupe Membres de l'équipe dans l'instance de PWA ou vous accordez à la ressource les autorisations Ouvrir un projet et Afficher le site du projet dans Project. Vous devez également ajouter la ressource à la liste des ressources du plan de projet d'entreprise, puis publier le plan de projet pour permettre au moteur de synchronisation d'accéder à la mise à jour de la liste des ressources. Pour plus d'informations, consultez Accorder les autorisations pour prendre en charge l'intégration de TFS et Project Server.
Si vous gérez les détails du projet, n'assignez qu'une seule ressource à chaque tâche. Si la tâche requiert plusieurs ressources, divisez-la en sous-tâches et assignez une ressource à chaque sous-tâche.
Si vous gérez les spécifications de l'entreprise uniquement via une planification verticale, assignez chaque récit utilisateur ou spécification au responsable du développement.
Lorsque vous publiez votre plan de projet, le complément client de Team Foundation vérifie si une seule ressource a été assignée à chaque tâche. Si plusieurs ressources ont été assignées à une tâche, la boîte de dialogue Résolution de validation s'affiche, et vous devez définir une seule ressource comme assignation active. Pour plus d'informations, consultez Résoudre des erreurs de validation.
Une fois qu'une tâche est liée ou mappée à un élément de travail, vous pouvez assigner ou réassigner des ressources uniquement aux tâches qui ne sont pas répétées. Une tâche répétée est associée à un élément de travail qui contient des éléments de travail enfants non liés. En règle générale, les tâches répétées contiennent plusieurs noms dans le champ Nom de la ressource. Le moteur de synchronisation transmet la répétition des ressources et le nombre d'heures de travail de chaque ressource. Pour plus d'informations, consultez Utiliser un correctif cumulatif de ressource dans les projets d'entreprise mappés aux projets d'équipe.
Tâches récapitulatives, hiérarchie des tâches et envois d'éléments de travail imbriqués à plusieurs niveaux
De par sa conception, le moteur de synchronisation ne met pas à jour les champs Project pour les tâches liées qui ont des sous-tâches dans le plan de projet d'entreprise. Le processus de synchronisation ignore les mises à jour de ces tâches, car le plan de projet calcule le travail correspondant. Les modifications apportées au titre et aux autres champs non liés au travail ne sont pas non plus mises à jour pour ces tâches. Ce comportement est une limite connue de l'intégration de deux produits serveur.
Quand un responsable de projet publie un ensemble détaillé de tâches qui incluent des spécifications et des tâches liées dans Team Foundation Server, le moteur de synchronisation verrouille la hiérarchie des tâches. Les membres de l'équipe ne peuvent pas modifier la hiérarchie des tâches dans Team Foundation, mais ils peuvent réassigner des tâches à d'autres membres de l'équipe dans le projet d'équipe. Comme le montre l'illustration suivante, les tâches s'affichent sous leurs spécifications ; par ailleurs, les liens hiérarchiques entre les tâches parentes et enfants sont verrouillés (). Les liens verrouillés indiquent que les spécifications et les tâches enfants ont été ajoutées à un projet d'équipe à partir de Project Server. Seul le responsable de projet responsable du plan de projet peut modifier la hiérarchie des tâches.
Quand une équipe envoie plusieurs niveaux d'éléments de travail de Team Foundation à Project Server, le premier niveau doit d'abord être approuvé et publié dans Project Server pour permettre l'envoi du niveau suivant. Si, par exemple, une équipe envoie un lot de nouveaux éléments de travail comprenant trois niveaux d'éléments enfants, le responsable de projet doit publier le plan de projet à quatre reprises pour que tous les éléments de travail soient synchronisés avec Project Server. Quand le responsable de projet approuve chaque niveau des éléments de travail et les publie dans Project Server, les relations entre les liens hiérarchiques sont verrouillées dans Team Foundation jusqu'à ce que toute la hiérarchie des liens soit verrouillée. Les membres de l'équipe ne peuvent pas modifier la hiérarchie de ces éléments de travail mappés.
Mises à jour des champs associés à des listes ou tables de choix
Lorsque vous mappez des champs Team Foundation Server associés à une liste de choix ou des champs Project Server associés à une table de choix, vous devez tenir compte d'étapes supplémentaires permettant de garantir une expérience utilisateur optimale. Le moteur de synchronisation ne crée pas automatiquement les listes associées équivalentes et ne synchronise pas leurs valeurs autorisées sur l'autre serveur. Il est recommandé de créer des tables de choix dans Project Server pour établir une correspondance avec les listes de choix définies dans Team Foundation et de créer des listes de choix dans Team Foundation pour établir une correspondance avec les tables de choix définies dans Project Server. Si une liste de choix ou une table de choix change, vous devez toujours mettre à jour manuellement la liste correspondante dans l'autre produit serveur.
Voir aussi
Concepts
Champs Project Server ajoutés à TFS pour prendre en charge la synchronisation de données
Autres ressources
Gérer les projets à l'aide de l'intégration de TFS et Project Server
Personnaliser le mappage de champs entre TFS et Project Server