Partager via


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 Project Server. Le type de données 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 mises à jour correctement si le chef de projet rejette une ou plusieurs mises à jour d'envoi ou si le plan de projet n'a é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'envoi 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 qui contiennent 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 de choix ou des tables de correspondance

Vue d'ensemble du processus de mise à jour des champs

Comme le montre l'illustration suivante, les données sont envoyées vers Project Server, vers Team Foundation Server, vers la file d'attente d'état d'une instance de PWA, puis vers le plan de projet d'entreprise avant de revenir vers 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

Lorsqu'une tâche (ou un élément de travail) est planifiée pour participer à la synchronisation, vous ne pouvez pas la retirer de la synchronisation, à moins de supprimer la tâche du plan de projet. Vous ne pouvez pas modifier la valeur Publier sur le projet d'équipe assignée à une tâche, et vous ne pouvez pas non plus modifier le champ Envoyer à Project Server dans Team Foundation. De plus, 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.

Mises à jour des champs mappés et champs miroir

Étape

Processus de synchronisation

Mises à jour de champs

Étape 1

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.

Étape 2

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 vers la file d'attente d'état.

Seuls les champs qui sont mappés pour être envoyés vers la file d'attente d'état (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, des mises à jour sont apportées aux champs de ressources tels que Travail restant et Travail effectué.

Étape 3

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 une synchronisation correcte des valeurs pour les champs pjTask* et pjResource*. Par conséquent, vous devez utiliser Project Professionnel à partir d'un ordinateur client sur lequel est installé le Service Pack 1 de Visual Studio 2010 pour modifier les plans de projet d'entreprise mappés à un projet d'équipe.

Étape 4

Synchronisation des publications : lorsque le chef de projet publie le plan de projet, les mises à jour sont écrites dans Project Server.

Les modifications apportées à l'ensemble des tâches du plan de projet sont mises à jour dans Project Server.

Pour plus d'informations, consultez les rubriques suivantes :

Retour au début

Mises à jour d'envoi rejetées

Lorsqu'un chef de projet rejette une mise à jour d'état d'une spécification ou d'une tâche, l'élément de travail correspondant n'est plus synchronisé jusqu'à ce que le rejet soit 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 permettre la reprise de la synchronisation de l'élément de travail.

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 How to: Resolve Conflicts of Mapped Work Items.

Retour au début

Mises à jour des titres ou des noms de tâches

Le champ Titre dans Team Foundation Server et le nom de 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 mise à jour sur l'autre serveur. Toutefois, vous pouvez changer ce comportement si vous modifiez le mappage du champ Titre (System.Title).

Retour au début

Mises à jour des dates de début et de fin

Les champs de synchronisation 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 toujours 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 du plan de projet.

Retour au début

Mises à jour des champs qui contiennent 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 le mappage des champs 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.

  • Lorsqu'un membre de l'équipe met à jour des heures et que le chef de projet approuve les envois et publie le plan, les champs de référence et mis en miroir correspondent lors de la prochaine synchronisation de Team Foundation Server.

  • Lorsqu'un membre de l'équipe met à jour des heures et que le chef 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 mis en miroir diffèrent.

  • Lorsqu'un chef 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 chef 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 manière de trouver les champs dont les valeurs ne correspondent pas à leurs champs mis en miroir, consultez Recherche des éléments de travail lorsque le travail dans Team Foundation diffère du travail dans Project Server.

Chaque fois qu'un chef 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".

Estimations du travail

Notes

Étant donné que le modèle de processus Scrum 1.0 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. Vous pouvez, par exemple, ajouter les champs inutilisés au type de tâche d'un élément de travail. Pour plus d'informations, consultez Ajout de champs aux types d'éléments de travail lors d'un mappage vers un projet d'équipe ayant été créé à partir du modèle de processus Scrum 1.0.

Retour au début

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". Lorsque 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 Pour ajouter des membres Team Foundation au groupe Membres de l'équipe.

  • 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 besoins 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ésolution d'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 reportées. Une tâche reporté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 reportées contiennent plusieurs noms dans le champ Nom de la ressource. Le moteur de synchronisation transmet le cumul des ressources et le nombre d'heures de travail de chaque ressource. Pour plus d'informations, consultez Utilisation d'un correctif cumulatif de ressource dans les projets d'entreprise mappés aux projets d'équipe.

Retour au début

Tâches récapitulatives, hiérarchie des tâches et envois d'éléments de travail imbriqués à plusieurs niveaux

Par 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 représente une limitation connue de l'intégration des deux produits serveurs.

Lorsqu'un chef 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 (Le lien est verrouillé). 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 chef de projet du plan de projet peut modifier la hiérarchie des tâches.

Planification de la répartition du travail dans Team Explorer

Lorsqu'une équipe envoie plusieurs niveaux d'éléments de travail de Team Foundation vers Project Server, le premier niveau doit d'abord être approuvé et publié dans Project Server pour permettre l'envoi du niveau suivant. Si une équipe envoie un lot de nouveaux éléments de travail qui comprend trois niveaux d'éléments enfants, par exemple, le chef de projet doit publier le plan de projet à quatre reprises pour que tous les éléments de travail soient synchronisés avec Project Server. Lorsque le chef 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 la hiérarchie complète 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.

Retour au début

Mises à jour des champs associés à des listes de choix ou des tables de correspondance

Lorsque vous mappez des champs Team Foundation Server associés à une liste de choix ou des champs Project Server associés à une table de correspondance, 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 ou ne synchronise pas leurs valeurs autorisées sur l'autre serveur. Il est recommandé de créer des tables de correspondance 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 correspondance définies dans Project Server. Si une liste de choix ou une table de correspondance change, vous devez toujours mettre à jour manuellement la liste correspondante dans l'autre produit serveur.

Retour au début

Voir aussi

Autres ressources

Champs Project Server ajoutés pour prendre en charge la synchronisation de données

Mappage des projets avec Project Server et Team Foundation Server

Personnalisation du mappage de champs entre Project Server et Team Foundation Server