Utilisation de l’application de test ProjTool dans Project Server 2010 (traduction automatique)

Dernière modification : jeudi 3 février 2011

S’applique à : Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010

Dans cet article
Compilation de ProjTool
Opération de base de ProjTool
Création des Tables de choix multilingue
L'utilisation des formulaires d'authentification et d'emprunt d'identité dans ProjTool

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

L’application de test ProjTool est mise à jour pour utiliser les services WCF (Windows Communication Foundation) dans l’interface PSI (Project Server Interface) et pour fonctionner avec l’authentification Windows, l’authentification par formulaires et l’emprunt d’identité dans Microsoft Project Server 2010. ProjTool inclut des exemples qui utilisent les services Project, Resource, LookupTable, Calendar, CustomFields, QueueSystem, Archive et Admin. ProjTool est utile pour afficher, créer et modifier des données dans une installation de test de Project Server 2010 et aide à montrer comment plusieurs méthodes PSI fonctionnent. (Les routines pour l’authentification par formulaires, la multi-authentification et l’emprunt d’identité sont des adaptations d’un code conçu par Tiger Wang, Microsoft Corporation.)

Téléchargement de solution :   La solution Microsoft Visual Studio 2010 de ProjTool dans le téléchargement du Kit de développement logiciel de Project 2010 requiert la compilation. Pour une version compilée de ProjTool.exe, consultez le blog de programmabilité de projet valider pour ProjTool (éventuellement en anglais). Le langage de code source est Microsoft Visual c#.

Cet article explique comment compiler l'application de ProjTool et d'utiliser certaines de ses fonctionnalités. Cet article n'explique pas la plupart du code ProjTool ou l'utilisation de la PSI et les groupes de données. Pour plus d'informations sur l'utilisation de la PSI avec WCF, consultez Vue d’ensemble de WCF et de l’interface PSI (traduction automatique) et Conditions préalables pour les exemples de code basés sur WCF (traduction automatique). Pour plus d'informations sur l'application d'origine de la ProjTool de Microsoft Office Project Server 2007, voir Using the ProjTool Test Application with Project Server 2007.

Important

L'application ProjTool est conçue pour être utilisé que sur une installation d'essai de Project Server. Il est fourni à titre d'exemple d'un outil de test et n'est pas pris en charge.

ProjTool pouvez facilement ajouter, supprimer ou modifier des données dans les bases de données brouillon, publié et d'archivage. ProjTool pouvez également réinitialiser le Service Queuing de Project Server, le Service de gestion des événements de Project Server et Internet Information Services (IIS) et peut redémarrer Microsoft SQL Server.

ProjTool n'utilise pas tous les services PSI ou toutes les méthodes dans un service, mais il fournit une base pour une application de test relativement complète. Voici les principaux objectifs de ProjTool :

  • Offrir aux développeurs un moyen de remplir rapidement les bases de données de Project Server avec des données dans une installation d'essai.

  • Activer la visualisation de nombreux jeux de données qui sont utilisés dans la PSI, pour le développement d'autres applications qui utilisent le serveur Project Server et de faciliter la récupération.

  • Montrez comment définir les en-têtes pour les appels aux méthodes PSI lors de l'installation de Project Server inclut l'authentification par formulaires ou l'authentification de formulaires et de Windows sur le même port d'adresse (multi-authentication).

  • Afficher les modifications connexes dans les champs lorsque vous mettez à jour les données du projet.

  • Montrer comment utiliser certaines des méthodes PSI et DataSet qui sont essentiels au développement de Project Server.

Le présent article contient les sections suivantes :

  • Compilation de ProjTool

  • Opération de base de ProjTool

    • Paramètres de ProjTool

    • À l'aide de la fenêtre principale de ProjTool

    • Création de projets

    • Modification des données de projet

  • Création des Tables de choix multilingue

  • L'utilisation des formulaires d'authentification et d'emprunt d'identité dans ProjTool

    • Définition d'en-têtes pour les formulaires d'authentification et d'emprunt d'identité

Notes

Nous recommandons que vous sauvegardez toutes les bases de données de Project Server avant d'exécuter ProjTool et rendre les fichiers de sauvegarde de base de données supplémentaires après avoir créé stratégique définit des données.

Compilation de ProjTool

Vous pouvez modifier et compiler des ProjTool sur l'ordinateur de test de Project Server ou sur un ordinateur de développement à distance. Sur un ordinateur distant, vous devez copier l'assembly Microsoft.Office.Project.Server.Library.dll à partir d'un ordinateur de Project Server et définissez ensuite une référence à la copie. L'exemple de code ProjTool peut être compilé directement de la version de mai 2010 de Project Server 2010. Si vous utilisez un service pack ou la mise à jour de Project Server 2010 plus récent, suivez la procédure 1 pour mettre à jour de la solution Visual Studio.

Notes

Chaque fois que vous installez une version mise à jour de Project Server 2010, par exemple via une mise à jour cumulative, le correctif logiciel ou le service pack, nous vous conseillons d'effectuer procédure 1. Une mise à jour de Project Server peut inclure des modifications dans les services de la PSI et les assemblys de Project Server.

Procédure 1. Compiler des ProjTool pour une mise à jour de Project Server

  1. Démarrer Visual Studio 2010 et ouvrez le fichier solution ProjTool.sln. Ouvrir le volet de Explorateur de solutions et puis développez le projet ProjTool, le projet WCFHelpers et le nœud Références et le nœud Références Web .

  2. Si vous développez sur un ordinateur distant, effectuez les étapes suivantes pour vous assurer que les ProjTool utilise le même assembly de bibliothèque qui utilise Project Server :

    1. Supprimer la référence Microsoft.Office.Project.Server.Library dans les deux projets Visual Studio.

    2. Créez un répertoire sur votre ordinateur de développement, qui contient les assemblys dont vous avez besoin pour compiler les exemples dans le Kit de développement du projet. Par exemple, créez le répertoire C:\Project\Assemblies.

    3. Copiez l'assembly Microsoft.Office.Project.Server.Library.dll à partir de votre ordinateur serveur de projet de test à votre ordinateur de développement. L'assembly se trouve dans le répertoire [Program Files]\Microsoft Office Servers\14.0\Bin sur l'ordinateur de Project Server.

    4. Ajoutez à nouveau l'assemblage comme référence dans le projet ProjTool et dans le projet WCFHelpers.

  3. Créez un assembly de proxy ProjectServerServices.dll mis à jour pour la PSI, comme décrit dans Procédure : Créer un assembly de proxy pour des services WCF (traduction automatique), copiez l'assembly dans votre ordinateur de développement et définissez ensuite une référence dans le projet ProjTool à l'assembly mis à jour.

  4. Créer un wcf mis à jour.PWA.cs fichier de proxy pour le service PWA. La procédure pour créer un fichier de proxy pour un service PSI est décrite dans Procédure : Créer un assembly de proxy pour des services WCF (traduction automatique).

    Notes

    Le service PWA est utilisé en interne et n'est pas pris en charge. ProjTool calcule les modifications apportées aux entités dans un objet ChangeList, qui utilise le ProjectUpdatesDataSet dans le service PWA.

  5. Dans le projet WCFHelpers dans Explorateur de solutions, développez le nœud Références Web et ensuite avec le bouton droit pour mettre à jour la référence web de WebSvcSiteData et la référence web WsfSvcAuthentication.

    Notes

    Des références web sont définies sur un site SharePoint local pour Project Web App, par exemple https://localhost/pwa/_vti_bin/SiteData.asmx. Si vous ne développez pas sur un ordinateur de test de Project Server, modifiez la valeur de la propriété URL de référence Web à un site distant Project Web App. Le service web SiteData et le service web Authentication sont les services SharePoint dans Project Web App ; ils ne sont pas des services de la PSI.

  6. Cliquez sur le projet WCFHelpers et puis compilez le projet (appuyez sur MAJ + F6) pour créer un assembly mis à jour de WCFHelpers.dll pour ProjTool.

  7. Compilez le projet ProjTool.

Opération de base de ProjTool

Lorsque vous exécutez ProjTool.exe, vous pouvez vous connecter avec l'authentification Windows ou l'authentification par formulaires. Avant d'ouvrir une session avec l'authentification par formulaires ou utiliser l'emprunt d'identité, vous devez utiliser la boîte de dialogue ProjTool – ouverture de session de Project Server (Figure 1) et enregistrer les paramètres corrects dans la boîte de dialogue Paramètres de ProjTool (Figure 2). Pour plus d'informations sur l'emprunt d'identité, reportez-vous L'utilisation des formulaires d'authentification et d'emprunt d'identité dans ProjTool.

Vous pouvez utiliser les paramètres de programmation pour les points de terminaison WCF (par défaut), ou vous pouvez utiliser le fichier app.config. Si vous utilisez le fichier app.config, vous devez définir l'adresse correcte pour le service de ProjectServer.svc dans chaque point de terminaison. L'adresse dans le fichier app.config téléchargé est https://ServerName/pwa/_vti_bin/PSI/ProjectServer.svc. Vous pouvez également vous connecter en utilisant une URL SSL (Secure Sockets Layer), par exemple https://ServerName/ProjectServerName, si Project Server est configuré pour ce faire.

Lorsque vous exécutez ProjTool pour la première fois, le nom du serveur de projet par défaut est https://LocalHost/PWA/ et le type d'authentification par défaut est Windows (Figure 1).

La figure 1. Ouverture de session avec l'authentification Windows ou l'authentification par formulaires

Ouverture de session avec l’authentification Windows ou l’authentification par formulaire

Cliquez sur le type d'authentification Authentification Windows , tapez l'URL de votre instance de test de Project Web App et puis cliquez Connexion. ProjTool s'ouvre et affiche une liste de tous les projets dans une grille de données de la table ProjectDataSet.Project.

Notes

Si une ouverture de session échoue, examinez les paramètres de ProjTool pour les ports appropriés pour les adresses de Project Web App. Également ProjTool pour utiliser les paramètres de programmation WCF de définir ou modifier le fichier app.config pour définir les adresses de point de terminaison WCF corrects.

Paramètres de ProjTool

La boîte de dialogue ProjTool - connexion à Project Server a un lien d'Enregistrer les paramètres pour modifier les paramètres avant de vous connecter. La boîte de dialogue Paramètres de ProjTool (Figure 2) est également disponible dans le menu Options dans la fenêtre principale de la ProjTool une fois la session.

La figure 2. À l'aide de la boîte de dialogue Paramètres de ProjTool

Utilisation de la boîte de dialogue des paramètres ProjTool

Procédure 2. Pour enregistrer les paramètres de ProjTool

  1. Une fois la session ProjTool, dans le menu Options , cliquez sur Paramètres.

  2. Dans la boîte de dialogue Paramètres de ProjTool (Figure 2), tapez l'URL de Project Server, par exemple, https://ServerName/PWA/, où PWA est le nom de l'instance Project Web App.

  3. Si Project Web App est configuré pour l'authentification par formulaires, tapez le nom et le mot de passe de l'utilisateur de formulaires que vous utiliserez le plus souvent. Par exemple, tapez FormsAdmin.

  4. Ajoutez les paramètres du port. Le port par défaut pour l'authentification Windows dans Project Web App est 80. Le port par défaut pour l'authentification par formulaires est 81. Par exemple, si vous installez Project Web App avec l'authentification par formulaires, une page de connexion par défaut est https://ServerName:81/PWA/.

    Notes

    Si vous configurez une instance de Project Web App pour multi-authentication, le port de Windows et le port de formulaires peuvent être la même valeur, par exemple, https://ServerName:200/PWA/.

  5. Pour ouvrir une session avec les paramètres par défaut et ignorer la fenêtre d'Ouverture de session de Project Server , sélectionnez la case connexion automatique au démarrage .

  6. Pour utiliser le fichier app.config pour la configuration de point de terminaison WCF, au lieu de la configuration par programmation, sélectionnez la case à cocher extrémités de la configuration de WCF avec app.config . Si vous utilisez le fichier app.config, vous devez modifier le fichier pour définir l'adresse correcte du service ProjectServer.svc dans Project Web App.

  7. Le paramètre de la file d'attente de Project Server par défaut est d'attendre la fin de travail de la file d'attente. C'est-à-dire que ProjTool ne continue pas l'exécution du programme principal jusqu'à la fin d'un ensemble d'appels à une méthode basée sur la file d'attente de la PSI. Par exemple, si vous extrayez un projet, puis cliquez sur CheckinProject(s) dans la fenêtre principale, ProjTool attend jusqu'à la fin de la session de la file d'attente pour l'appel de QueueCheckinProject.

    Si vous attendez que toutes les tâches de file d'attente sont terminées , ProjTool attend pour chaque demande de file d'attente.

  8. Cliquez sur Enregistrer et fermer.

Contrairement à l'implémentation de ProjTool pour Office Project Server 2007, ProjTool pour Project Server 2010 n'a pas d'options de l'emprunt d'identité dans la boîte de dialogue Paramètres de ProjTool . L'emprunt d'identité est gérée en interne par le biais de la boîte de dialogue de Connexion avancés à Project Server , comme décrit dans L'utilisation des formulaires d'authentification et d'emprunt d'identité dans ProjTool.

À l'aide de la fenêtre principale de ProjTool

Le menu dans la fenêtre principale de ProjTool (Figure 3) comprend les éléments suivants :

  • Fichier   Connectez-vous en tant qu'un autre utilisateur, ou ouvrez une session à l'aide de l'emprunt d'identité.

  • Nouveau   Créer des projets, les projets à partir de modèles, les champs personnalisés ou les ressources d'entreprise. Créer une équipe de projet, ou sauvegarder et restaurer des projets.

    La boîte de dialogue sauvegarde ou restauration des projets d'entreprise vous permet d'enregistrer un instantané de chaque projet sélectionné dans la base de données de projet à la base de données d'Archive. Vous pouvez également restaurer des projets à partir de la base de données d'Archive à la base de données de projet.

  • Table de choix   Créer une table de recherche simple, une table de choix multilingue, affichage des valeurs de table de choix et définir les langues à utiliser pour les tables de recherche multilingue sur l'ordinateur de test de Project Server.

  • Outils   Lien d'éléments de sous-menu utilitaires qu'obtenir une description d'erreur, le service Service Queuing de Project Server ou de la gestion des événements de réinitialisation, redémarrez SQL Server, réinitialisez IIS ou réinitialiser tous les services.

  • Options   Actualiser la grille ou effacer les messages d'état. Le sous-menu Paramètres affiche la boîte de dialogue Paramètres de ProjTool (Figure 2).

  • Aide   Affiche la boîte de dialogue à propos de ProjTool .

La figure 3. Zone de liste des projets et le texte de l'état, des boutons d'action dans la fenêtre principale de ProjTool

Utilisation de la fenêtre ProjTool principale

Outre les éléments de menu, la fenêtre principale affiche une série de boutons d'action au-dessus de la grille de données de projet, comme suit :

  • Supprimer le projet   Supprime un ou plusieurs projets sélectionnés. Vous pouvez supprimer à partir de la base de données publiée et de la base de données de projet ou seulement à la base de données publiée.

  • Projets de consignation   Vous permet de sélectionner un simple ou forcé archiver des projets sélectionnés. Vous pouvez utiliser archiver forcé si un projet est extrait par un autre utilisateur ou l'extraction a été effectuée avec un autre ID de session de file d'attente.

  • Projets d'extraction   Permet d'extraire un ou plusieurs projets sélectionnés dans la fenêtre principale de ProjTool et les archiver à l'aide du bouton de la Consignation ou les projets .

    Notes

    L'ID de session de file d'attente n'est pas valide pour le contrôle de projets à l'aide d'une autre fenêtre, telles que la boîte de dialogue Détails du projet .

  • Publier des projets   Enregistre les projets à partir de la base de données de projet à la base de données publiée. Vous pouvez choisir de publier une version complète ou publier une version partielle. Le processus de publication dans ProjTool ne créent pas ou modifier un site SharePoint pour le projet. Vous pouvez ajouter cette fonctionnalité dans ProjTool avec les composants de l'interface utilisateur supplémentaire et la logique de la méthode QueuePublish.

  • Détails du projet en lecture   Affiche une boîte de dialogue avec l'ensemble des tables dans le ProjectDataSet pour le projet sélectionné (Figure 5). Vous pouvez ajouter des tâches, apporter des modifications dans les données et comparer les données de projet avec les données publiées.

    Notes

    Si vous vérifiez le projet dans la fenêtre principale de la ProjTool et modifiez ensuite les données dans la boîte de dialogue Détails du projet , vous obtenez une erreur CICOCheckedOutInOtherSession lorsque vous mettez à jour les données. Le projet est déjà extrait à l'aide d'un autre ID de session de file d'attente.

  • Renommez le projet   Renomme le projet sélectionné dans la base de données de projet et de la base de données publiée.

  • Actualiser   Exécute la méthode ReadProjectsList pour remplir la grille.

  • Exit   Pour quitter ProjTool.

La zone de texte en bas de la fenêtre principale enregistre l'état des actions, avec la plus récente du haut. La zone de texte indique également les données XML à partir d'un appel PSI peut générer les erreurs System.ServiceModel.FaultException. La barre d'état au bas de la fenêtre principale affiche le numéro de version de Project Server et la date et l'heure.

Le numéro de version mai 2010 pour Project Server 2010 est 14.0.4750.1000. La version correspondante de Microsoft Project Professionnel 2010 est 14.0.4751.1000.

Notes

La boîte de dialogue Détails du projet dans la ProjTool indique la version du fichier de l'assembly Microsoft.Office.Project.Server.Library.dll. La barre d'état dans la fenêtre principale de la ProjTool indique la version de Project Server à partir de la méthode PSI ReadServerVersion. La version du fichier de l'assembly Microsoft.Office.Project.Server.Library.dll est 14.0.4763.1000. Autres assemblys de Project Server dans une même installation peuvent avoir différentes versions.

Création de projets

Pour créer un ou plusieurs projets de test, cliquez sur Projets dans le menu Nouveau dans la fenêtre principale de ProjTool. La figure 4 illustre la boîte de dialogue Créer des projets côté serveur . En plus de créer plusieurs projets, vous pouvez éventuellement ajouter des tâches pour chaque projet, créer et ajouter des ressources de coûts, de matières ou de travail local et publier les projets.

La figure 4. À l'aide de la boîte de dialogue Créer des projets côté serveur

Création de projets avec des tâches

Si le préfixe de nom de projet est ProjTool Test - et que vous créez deux projets, ProjTool incrémente les noms des projets en tant que Test de ProjTool-1 et 2 de Test de ProjTool.

Notes

La liste déroulante type de projet n'affiche pas tous les types dans l'énumération Project.ProjectType. Les types de projet valide uniquement capable de créer la PSI sont Project (un projet standard), Template, LightWeightProject (une proposition de projet), MasterProject et InsertedProject. Les autres types de projets sont à usage interne. La valeur d'énumération apparaît à droite de la liste déroulante.

Lorsque vous cliquez sur Créer des projets et puis cliquez sur Fermer, vous devrez actualiser la fenêtre principale de ProjTool pour afficher les nouveaux projets dans la grille.

Modification des données de projet

Pour afficher la boîte de dialogue Détails du projet , sélectionnez un projet dans la fenêtre principale de ProjTool et puis cliquez sur Détails du projet en lecture.

La figure 5. À l'aide de la boîte de dialogue Détails du projet

Mise à jour d’un champ dans la boîte de dialogue Détails du projet

Les onglets de la grille affichent toutes les tables de données dans le ProjectDataSet pour le projet sélectionné. Par exemple, cliquez sur l'onglet Tâche pour afficher les données dans le TaskDataTable (Figure 5). La première tâche consiste à la tâche récapitulative du projet (TASK_ID = 0). Si le projet n'est pas déjà retiré, vous pouvez ajouter et supprimer des tâches et définir les propriétés de tâche.

Les champs en lecture/écriture dans chaque table ont un arrière-plan blanc ; champs en lecture seule sont grises. ProjTool affiche mis à jour les champs qui sont en lecture/écriture en jaune. Lorsque vous modifiez certains champs dans ProjTool, Project Server peut changer en interne les champs correspondants en lecture seule. ProjTool affiche les champs en lecture seule qui change de Project Server en tant que la lumière jaune. Lorsque vous avez terminé vos modifications, cliquez sur Mettre à jour le projet . Par exemple, la Figure 5 montre que ProjTool changé le nom de la tâche 1 dans le projet.

Pour utiliser les ressources d'entreprise dans le projet, cliquez sur Créer une équipe. Au lieu d'utiliser ProjTool pour effectuer un ensemble de modifications pour l'équipe de projet, il est parfois plus facile d'apporter les modifications apportées à l'aide de Project Professionnel 2010.

Pour enregistrer le ProjectDataSet à un fichier XML, cliquez sur Enregistrer le groupe de données au format XML. Vous pouvez enregistrer le ProjectDataSet entière avant et après avoir apporter des modifications, puis comparer facilement les fichiers XML avec un outil tel qu'au-delà de comparer.

Avertissement

ProjTool utilise le service de PWA dans le programme PSI pour créer un ProjectUpdatesDataSet, qui est utilisé pour le suivi des modifications. Le service PWA est utilisé en interne par l'application Web de projet et n'est pas pris en charge. L'utilisation d'objets PWA dans ProjTool est uniquement à des fins de test. Applications développées pour les installations de production de Project Server ne devraient pas utiliser les méthodes ou les groupes de données dans le service PWA. Mises à jour et service packs pour Project Server peuvent modifier les méthodes de PWA, les signatures et les champs.

Lorsque vous modifiez un pourcentage d'affectation complète ou autre valeur chronologiques, cliquez sur le Mettre à jour le projet pour afficher les modifications dans les champs correspondants.

Par exemple, si vous modifiez la valeur du champ ASSN_PCT_WORK_COMPLETE à 75 pour une affectation et puis cliquez sur Mettre à jour le projet , plusieurs champs supplémentaires affichent les modifications en jaune (Figure 6). Champs modifiés dans la table devoir incluent ASSN_ACT_WORK et ASSN_REM_WORK. Dans le tableau des tâches, les champs TASK_REM_DUR, TASK_PCT_COMP, TASK_PCT_WORK_COMP, TASK_ACT_WORK et TASK_REM_WORK également affichent des modifications jaunes de la tâche et de la tâche récapitulative du projet.

La figure 6. Modification d'un cent affectation modifie également les autres champs

Champs modifiés par le pourcentage accompli de l’affectation

Plusieurs des champs en lecture seule affichent également les modifications dans un arrière-plan jaune clair, comme MOD_DATE dans la table et affectation et TASK_ACT_DUR, TASK_RESUME_DATE, TASK_STOP_DATE et TASK_COMPLETE_THROUGH dans la table tâche tâche. Il existe des modifications supplémentaires dans la table de projet et de la table ProjectResource.

Création des Tables de choix multilingue

Le menu LookupTable dans la fenêtre principale de ProjTool contient les éléments suivants :

  • LookupTable simple   Affiche la boîte de dialogue créer et gérer des Tables de choix et toutes les données dans le LookupTableDataSet dans une grille avec onglets pour les tables de données (LookupTables, LookupTableMaskset LookupTableTrees).

  • LookupTable multilingue   Crée les tables de recherche multilingue pour le test.

  • Afficher les valeurs LookupTable   Affiche les valeurs dans les tables de recherche simple ou multilingues (Figure 8).

  • Définir la langue du serveur   Crée des tables de base de données de Project Server peuvent contenir des données de table de recherche multilingue simulé pour des tests (Figure 7).

Vous pouvez consulter, modifier, mettre à jour et supprimer des tables de choix dans la boîte de dialogue créer et gérer des Tables de choix . Les boutons Charger l'Assembly et LT de créer à partir de l'Assembly , vous pouvez ouvrir un compte Microsoft.NET Framework valide et créer une table de choix pour des tests à l'aide de l'espace de noms d'assembly.

Vous pouvez créer des tables de choix multilingue sur un test installation Project Server. ProjTool vous permet de simuler l'installation de plusieurs tables de base de données de langue sur le serveur pour des fins de test. Il n'est pas nécessaire d'installer des modules linguistiques de Project Server pour tester la création de tables de recherche multilingue. La variable languageList dans ProjTool contient la liste des langues actives de Project Server.

La figure 7. Boîte de dialogue programme d'installation de langue

Simulation de langues installées sur Project Server

Important

Ne pas exécuter la recherche d'actions du tableau, définissez langues ou effectuer d'autres modifications avec ProjTool sur une installation de production de Project Server.

Procédure 3. Pour créer et afficher un exemple de table de recherche multilingue

  1. Cliquez sur Définir la langue de serveur dans le menu LookupTable dans la fenêtre principale de ProjTool.

    1. Dans la boîte de dialogue Installation de langue (Figure 7), sélectionnez une autre langue à la langue principale de Project Server dans des Langages d'Ajouter/supprimer. Par exemple, sélectionnez Anglais et Français. La langue principale de Project Server doit toujours être sélectionnée.

    2. Tapez le nom de l'instance de Microsoft SQL Server qui utilise Project Server et puis définissez les propriétés d'ouverture de session.

    3. Cliquez sur Obtenir une liste de base de données pour afficher la liste des bases de données.

    4. Sélectionnez la base de données Project Server publié dans la liste déroulante pour l'instance de Project Web App que vous utilisez.

    5. Cliquez sur Enregistrer. ProjTool crée les tables de base de données nécessaires et redémarre IIS. Vous pouvez voir les langues installées en cours dans la liste. Cliquez sur Fermer.

  2. Cliquez sur Multilingue LookupTable dans le menu LookupTable .

    1. Dans la boîte de dialogue Créer des Tables de choix multilingue , tapez un nom pour la table de choix. Par exemple, tapez LangTest.

    2. Sélectionnez le LCID principal, par exemple 1033.

    3. Sélectionnez les langues que vous souhaitez dans la liste des Langues ; par exemple, sélectionnez Anglais et Français.

    4. Tapez 2 pour le nombre de niveaux; 3 pour les valeurs pour chaque niveau; et 4 pour la Longueur des valeurs (le nombre de caractères d'échantillon dans chaque valeur).

    5. Cliquez sur Créeret puis cliquez sur Fermer.

  3. Cliquez sur Afficher les valeurs LookupTable dans le menu LookupTable .

    1. Sélectionnez la table de choix dans la liste déroulante. Par exemple, sélectionnez LangTest.

    2. Sélectionnez la langue dans la liste déroulante (Figure 8) et puis cliquez sur Obtenir les valeurs.

La figure 8 illustre les structures de table de recherche et les valeurs de la table de recherche multilingue exemple LangTest. ProjTool crée des échantillons de caractères dans le champ LT_VALUE_TEXT, où le nombre de caractères dans le premier mot est la longueur de chaque valeur et les caractères sont valides dans les langues que vous avez utilisé. Par exemple, la valeur du premier nœud anglaise est ÂÞæÛ eng 1033 et la valeur du nœud même en français est ÂÞæÛ fra 1036.

La figure 8. Affichage des valeurs dans une table de choix multilingue

Affichage de valeurs dans une table de choix multilingue

Pour visualiser la structure de la table de choix multilingue que vous avez créé dans ProjTool, vous devez l'ouvrir dans Project Web App. Dans la page Paramètres du serveur, cliquez sur champs personnalisés d'entreprise et des Tables de choix. Dans la page champs personnalisés d'entreprise et des Tables de choix, par exemple, cliquez sur LangTest dans la section Tables de choix pour les champs personnalisés . Project Web App affiche uniquement les valeurs pour le pack de langue de Project Server est installé. La valeur ÂÞæÛ eng 1033 dans l'exemple de test est un des deux niveaux supérieurs, ayant chacun trois sous-niveaux.

Pour plus d'informations sur les tables de recherche et les champs personnalisés, consultez Champs personnalisés locaux et d’entreprise (traduction automatique) et Walkthrough: Creating a Hierarchical Lookup Table. Pour obtenir une liste des codes de langue, reportez-vous à la section de graphique de l'ID de paramètres régionaux (LCID) (éventuellement en anglais).

L'utilisation des formulaires d'authentification et d'emprunt d'identité dans ProjTool

Pour utiliser l'emprunt d'identité avec Project Server 2010, vous devez définir des autorisations pour l'utilisateur actuel (ou un groupe de l'utilisateur) dans l'application de service de Project Server à l'aide de la page Gérer les Applications de Service dans l'application Administration centrale de SharePoint 2010. Vous devez également définir des autorisations pour le site Project Web App à l'aide de la commande dans le menu Actions du siteProject Web App. Pour obtenir des instructions détaillées sur la façon de définir des autorisations pour l'emprunt d'identité, consultez Procédure : Utiliser l’emprunt d’identité avec WCF (traduction automatique).

Contrairement à l'implémentation de ProjTool pour Office Project Server 2007, le site Project Web App n'a pas pour s'exécuter sous les informations d'identification de la session utilisateur. L'authentification par formulaires, ProjTool pour Project Server 2010 utilise le service web Authentication qui fait partie de Microsoft SharePoint Foundation 2010. En outre, ProjTool utilise le service web SiteData pour obtenir le code de site Project Web App.

La méthode P14Login dans le fichier Program.cs est la méthode d'ouverture de session principale dans ProjTool. Le code suivant fait partie de la méthode pour le cas où ouverture de session n'est pas par l'emprunt d'identité.

if (!isImpersonated)
{
    if (isWindowsAuth)
    {
        if (useDefaultWindowsCredentials)
        {
            result = true;
        }
            /* . . . */
    }
    else    
    {
        // Forms authentication requires the Authentication web service in 
        // Microsoft SharePoint Foundation 2010.
        result = WcfHelpers.LogonWithMsf(userName, password, new Uri(baseUrl));
    }
}

La classe WcfHelpers est dans un projet Visual Studio distinct. Dans la méthode LogonWithMsf, l'objet authentication est initialisé avec l'URL Project Web App et un objet CookieContainer, et ensuite la méthode Authentication.Login peut accepter un utilisateur de formulaires.

public class WcfHelpers
{
    // Use the Authentication class in the SharePoint Foundation web services, not in the PSI.
    private static Authentication authentication = null;
    private static AuthenticationMode mode = AuthenticationMode.Windows;
    private static CookieContainer cookieContainer = null;
    private static String impersonationContextString = String.Empty; 

    /* . . . */

    // Log on by using the Authentication web service in SharePoint Foundation.
    public static bool LogonWithMsf(string username, string password, Uri pwaURI)
    {
        if (authentication == null)
        {
            string rootUrl = pwaURI.Scheme + Uri.SchemeDelimiter + pwaURI.Host + ":" + pwaURI.Port;

            authentication = new Authentication();
            authentication.Url = rootUrl + "/_vti_bin/Authentication.asmx";
        }

        authentication.CookieContainer = new System.Net.CookieContainer();
        LoginResult result = authentication.Login(username, password);

        mode = authentication.Mode();
        cookieContainer = authentication.CookieContainer;

        return (result.ErrorCode == LoginErrorCode.NoError);
    }

    /* . . . */
}

Pour utiliser l'emprunt d'identité dans ProjTool, dans le menu Fichier , cliquez sur Journal sous. Dans la boîte de dialogue Connexion à Project Server Advanced (Figure 9), vous pouvez sélectionner un nom dans la liste des ressources d'entreprise dans la liste déroulante. Lorsque vous empruntez l'identité d'une ressource d'entreprise, vous assumez les autorisations de cet utilisateur. L'emprunt d'identité est utile pour les tests de sécurité pour les applications qui s'intègrent avec Project Server. Toutefois, l'utilisation de l'emprunt d'identité doit être réduite dans les applications de production.

La figure 9. Boîte de dialogue d'ouverture de session Advanced Server Project

Ouverture de session avancée pour l’emprunt d’identité

Définition d'en-têtes pour les formulaires d'authentification et d'emprunt d'identité

Lorsque vous ouvrez une session Project Server 2010 en utilisant l'authentification par formulaires ou emprunt d'identité, chaque ensemble d'appels à un service PSI spécifique doit être défini dans un bloc de OperationContextScope. Dans la méthode CreateProject suivante dans le fichier Program.cs, l'objet scope est valide pour l'objet projectClient. Vous pouvez appeler plusieurs méthodes dans le service de projet au sein de ce bloc, mais vous ne pouvez pas appeler les méthodes dans d'autres services PSI. Vous est également Impossible d'imbriquer des blocs de OperationContextScope.

public static bool CreateProject(SvcProject.ProjectDataSet projectDataSet)
{
    jobGuid = Guid.NewGuid();
    bool result = true;

    using (OperationContextScope scope = new OperationContextScope(projectClient.InnerChannel))
    {
        WcfHelpers.UseCorrectHeaders(isImpersonated);
        projectClient.QueueCreateProject(jobGuid, projectDataSet, false);
    }
    if (waitForQueue)
    {
        result = WaitForQueueJobCompletion(jobGuid, NO_QUEUE_MESSAGE /* SvcQueueSystem.QueueMsgType.ProjectCreate*/);
    }
    return result;
}

La méthode UseCorrectHeaders dans la classe WcfHelpers définit les en-têtes HTTP correctes pour l'authentification Windows, authentification Forms, multi-authentication et d'emprunt d'identité pour les appels PSI au sein de ce scope, dans le code suivant.

private static AuthenticationMode mode = AuthenticationMode.Windows;
private static CookieContainer cookieContainer = null;
private static String impersonationContextString = String.Empty; 

public static CookieContainer CookieContainer
{
    get
    { return cookieContainer; }
}

public static AuthenticationMode AuthenticationMode
{
    get
    { return mode; }
}

public static string HeaderXformsKey
{
    get
    { return "X-FORMS_BASED_AUTH_ACCEPTED"; }
}

public static string HeaderXformsValue
{
    get
    { return "f"; }
}

/* . . . */

 public static void UseWindowsAuthOnMultiAuthHeader()
{
    WebOperationContext.Current.OutgoingRequest.Headers.Remove(HeaderXformsKey);
    WebOperationContext.Current.OutgoingRequest.Headers.Add(HeaderXformsKey, 
        HeaderXformsValue);
}

public static void UseCookieHeader()
{
    if (cookieContainer != null)
    {
        var cookieString = cookieContainer.GetCookieHeader(new Uri(authentication.Url));

        WebOperationContext.Current.OutgoingRequest.Headers.Remove("Cookie");
        WebOperationContext.Current.OutgoingRequest.Headers.Add("Cookie", cookieString);
    }
}

public static void UseCorrectHeaders(bool isImpersonated)
{
    if (isImpersonated)
    {
        // Use WebOperationContext in the HTTP channel, not the OperationContext.
        WebOperationContext.Current.OutgoingRequest.Headers.Remove("PjAuth");
        WebOperationContext.Current.OutgoingRequest.Headers.Add("PjAuth", 
            impersonationContextString);
    }

    if (mode == AuthenticationMode.Windows)
    {
        UseWindowsAuthOnMultiAuthHeader();
    }

    UseCookieHeader();
}

La méthode UseCorrectHeaders vérifie d'abord si l'appel est par le biais de l'emprunt d'identité. Dans ce cas, elle supprime toute en-tête PjAuth existant et puis ajoute un en-tête de PjAuth qui inclut la valeur du contexte d'emprunt d'identité. Pour obtenir un exemple de code qui obtient et définit le contexte de l'emprunt d'identité, consultez la classe WcfHelpers dans le code source de ProjTool, ou Procédure : Utiliser l’emprunt d’identité avec WCF (traduction automatique).

Pour l'authentification Windows et multi-authentication, la méthode UseCorrectHeaders appelle UseWindowsAuthOnMultiAuthHeader pour supprimer n'importe quel en-tête nommé X-FORMS_BASED_AUTH_ACCEPTED, puis ajoute cet en-tête à nouveau avec la valeur f. Enfin, si l'objet cookieContainer existe, UseCorrectHeaders appelle UseCookieHeader pour ajouter le cookie d'authentification par formulaires. La méthode LogonWithMsf initialise l'objet cookieContainer lors de l'ouverture de session est par l'authentification par formulaires.

Pour plus d'informations sur multi-authentication dans l'environnement de revendications de SharePoint, reportez-vous à la section à l'aide de la Multi-Authentication de revendications dans Conditions préalables pour les exemples de code basés sur WCF (traduction automatique).

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Voir aussi

Tâches

Procédure : Créer un assembly de proxy pour des services WCF (traduction automatique)

Procédure : Utiliser l’emprunt d’identité avec WCF (traduction automatique)

Concepts

Vue d’ensemble de WCF et de l’interface PSI (traduction automatique)

Conditions préalables pour les exemples de code basés sur WCF (traduction automatique)

Champs personnalisés locaux et d’entreprise (traduction automatique)

Autres ressources

Using the ProjTool Test Application with Project Server 2007

projet programmabilité billet de blog de ProjTool (éventuellement en anglais)

graphique de l'ID de paramètres régionaux (LCID) (éventuellement en anglais)

Walkthrough: Creating a Hierarchical Lookup Table