Share via


Mises à jour pour les développeurs dans Project

Les fonctionnalités d’extensibilité de Project Server 2013 fonctionnent avec des compléments pour Project Online et avec des installations locales. Les nouvelles fonctionnalités comprennent un modèle objet client (CSOM), des interfaces REST, un service OData pour la génération de rapports, des récepteurs d’événements à distance, des flux de travail déclaratifs et des compléments du volet de tâches. Découvrez également les fonctions déconseillées qui ne doivent pas être utilisées si vous commencez un nouveau développement.

Project Server 2013 s’appuie sur l’infrastructure introduite avec Microsoft Office Project Server 2007 et étendue par Project Server 2010. Project Server 2013 ajoute un modèle objet côté client (CSOM) qui est refactorisé et simplifié à partir de l’interface Project Server (PSI), et inclut une bibliothèque JavaScript et des bibliothèques .NET Framework 4 pour les applications Windows, Windows Phone 8 et Microsoft Silverlight. Le modèle CSOM est conçu pour le développement pour Project Online et fonctionne également avec une installation locale de Project Server.

Les bases de données Project Server sont combinées en une seule base de données ; vous pouvez donc accéder aux vues et tables de rapports en ligne via un service OData. Le modèle objet client et le service OData incluent une interface REST. Les flux de travail Project Server peuvent être créés à l’aide de SharePoint Designer 2013. Project Professionnel 2013 peut s’intégrer aux données de création de rapports Project Server, aux listes de tâches SharePoint et à d’autres contenus externes à l’aide du modèle d’extensibilité des compléments Office pour les volets Office. Project Standard 2013 peut utiliser des compléments du volet Office pour s’intégrer au contenu externe général.

Pour obtenir des diagrammes et plus d’informations sur les principales modifications apportées à Project Server 2013, consultez Architecture de Project Server 2013.

Remarque

Project Server 2013 est basé sur la plateforme SharePoint Server 2013 et Project 2013 inclut pratiquement la même infrastructure que les autres applications Office 2013. Pour obtenir de la documentation sur le modèle pour les compléments SharePoint, les flux de travail basés sur SharePoint, les composants WebPart, le développement avec d’autres fonctionnalités SharePoint et la documentation des compléments Office, voir Compléments SharePoint, Compléments Office et Vue d’ensemble du développement SharePoint 2013.

Principales nouvelles fonctionnalités de Project 2013

Les nouvelles fonctionnalités de Project Standard 2013 et Project Professionnel 2013 incluent une interface utilisateur améliorée qui correspond à d’autres applications Office 2013 et prend en charge l’interface utilisateur de style moderne dans Windows 8, l’intégration avec les objets Office Art pour les rapports, les rapports de burndown et de nouvelles fonctionnalités de programmabilité pour les rapports. Project Professionnel 2013 permet un partage et une synchronisation plus étendus des projets sur SharePoint Server 2013, ainsi que les compléments du volet Office qui sont également implémentés dans d’autres applications Office 2013 telles que Word, Excel et Outlook.

Project Server 2013 propose de nombreuses nouvelles fonctionnalités. Certains n’ont pas d’histoire de programmabilité majeure, comme la nouvelle chronologie dans Project Web App. Ces fonctionnalités seront documentées dans l’aide du produit et les documents destinés aux utilisateurs finaux sur Microsoft Office Online, ainsi que dans les rubriques destinées aux administrateurs et professionnels de l’informatique sur Microsoft TechNet. D’autres nouvelles fonctionnalités, telles que les feuilles de temps améliorées, facilitent l’interaction des développeurs tiers avec les feuilles de temps et les états via l’interface Project Server (PSI).

L’ajout de Project Online et des compléments Office Store (https://office.microsoft.com/store) pour Project est un changement de grande portée, où Project Server est accessible via Microsoft Azure. L’accès cloud à Project Server utilise un modèle objet côté client (CSOM) pour le développement de compléments avec Microsoft .NET Framework, Microsoft Silverlight, Windows Phone et les applications web qui utilisent JavaScript. L’une des exigences de Project Online est que les quatre bases de données Project Server des versions précédentes soient fusionnées en une seule base de données.

Les performances et la scalabilité de Project Server 2013 sont améliorées dans de nombreux domaines tels que la status des tâches, les feuilles de temps et la gestion de projet. Les flux de travail Project Server sont repensés avec la version 4 de Windows Workflow Foundation (WF4). L’utilisation de .NET Framework 4 et de Windows Communication Foundation (WCF) avec psi améliore la sécurité, les performances et la scalabilité. Par exemple, vous pouvez modifier le protocole de transport des applications basées sur WCF à l’aide des fichiers de configuration, sans modifier le code d’application ou recompiler. Project Web App met en cache un grand nombre des appels PSI où les données ne changent pas de manière significative.

Remarque

Pour le développement avec Project Server 2013, vous pouvez utiliser Visual Studio avec les extensions d’outils Office et SharePoint, qui peuvent créer en mode natif des compléments pour les produits Office 2013. Project Server 2013 nécessite que Visual Studio active entièrement le développement de fonctionnalités telles que les pages de détails du projet et les applications basées sur WCF. Les extensions des outils SharePoint dans Visual Studio peuvent déployer des composants WebPart et d’autres fonctionnalités SharePoint directement sur Project Web App et d’autres sites SharePoint.

Visual Studio n’est plus nécessaire pour développer des flux de travail Project Server qui utilisent des champs, des phases, des phases et des types de projet d’entreprise personnalisés qui peuvent être gérés dans Project Web App. Bien que vous puissiez utiliser Visual Studio pour développer des flux de travail, ils sont souvent plus faciles et plus rapides à créer à l’aide de SharePoint Designer. Visual Studio peut être utilisé pour les flux de travail qui nécessitent un accès au modèle objet client ou à d’autres API externes.

Compléments Project

La distribution et la commercialisation de logiciels ont été révolutionnées par le concept du complément. Pour Project 2013, les compléments peuvent être disponibles à l’achat et au téléchargement à partir de l’Office Store public ou distribués dans un catalogue privé sur SharePoint. Un complément est un programme interactif autonome qui effectue un petit nombre de tâches connexes. Un complément Project peut être un complément du volet Office pour les clients Project Standard 2013 ou Project Standard 2013, ou un complément pour Project Server 2013 ou Project Online.

Pour plus d’informations sur les compléments pour les clients du Bureau à distance Project, voir la section relative aux compléments du volet de tâches dans Project. Pour obtenir un exemple Project Server 2013, voir Créer un complément Project Server hébergé par SharePoint. En plus des articles du Kit de développement logiciel (SDK) Office et SharePoint Add-ins, le blog Office contient de nombreux billets qui concernent également Project 2013 et Project Online.

Un complément pour Project Server 2013 peut fonctionner avec une installation locale et Project Online. Les compléments Project Server peuvent inclure des composants WebPart, des récepteurs d’événements à distance et une logique métier. L’accès au modèle objet Project Server dans un complément se fait par l’intermédiaire du modèle objet client, et pas de l’interface PSI. Le stockage de données peut être basé sur le cloud, par exemple avec SQL Azure, externe par exemple via Microsoft Business Connectivity Services (BCS), interne avec une base de données locale ou mixte.

Sécurité des compléments

En général, les actions effectuées par un complément sont effectuées au nom de l’utilisateur qui exécute le complément ; vous n’utilisez pas explicitement l’emprunt d’identité ni spécifiez qui peut exécuter le complément. Les actions ne peuvent pas dépasser le niveau d’autorisation de l’utilisateur qui exécute le complément.

Dans outils de développement Office pour Visual Studio 2012, le fichier AppManifext.xml dispose d’un éditeur graphique dans lequel vous pouvez définir l’étendue de la demande d’autorisation. Par exemple, pour créer un complément qui permet aux chefs de projets de mettre à jour leurs projets, dans l’onglet Autorisations du volet Concepteur du fichier AppManifest.xml, sélectionnez Projets multiples pour la portée et Écriture pour l’autorisation. Si l’utilisateur du complément dispose des autorisations de chef de projets, il peut exécuter le complément pour les projets qu’il gère. Le code du fichier AppManifest.xml comprendrait les éléments suivants :

  <AppPermissionRequests>
    <AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
  </AppPermissionRequests>

Tableau 1. Portées des demandes d’autorisations pour les compléments Project Server

Portée Autorisations
Project Server
Gestion (Nécessite les autorisations d’administrateur Project Server.)
Projets multiples
Lecture, Écriture (Nécessite les autorisations du chef de projet pour certaines opérations, ainsi que les autorisations des membres de l’équipe du projet pour les opérations de lecture de base, telles que les affectations de tâches.)
Projet unique
Lecture, Écriture (Nécessite au moins les autorisations des membres de l’équipe du projet. L’accès à certaines données d’un projet dépend d’autres niveaux d’autorisations.)
Ressources de l’entreprise
Lecture, Écriture (Nécessite les autorisations du gestionnaire de ressources.)
Statusing
SubmitStatus (Nécessite l’autorisation de soumettre l’état de vos projets.)
Compte-rendu
Lecture (Nécessite l’autorisation de se connecter à Project Server.)
Flux de travail
Élever (Nécessite l’autorisation d’exécuter des flux de travail. Le complément fonctionne avec des autorisations élevées afin de permettre des transitions d’une étape à une autre dans un flux de travail. Dans le complément, la logique métier contrôle les transitions d’étapes.)

Remarque

Project Server 2013 et Project Online n’utilisent pas le modèle d’authentification d’application uniquement dans SharePoint 2013 (voir Types de stratégie d’autorisation de complément dans SharePoint 2013).

Pour plus d’informations sur le développement, la distribution, l’hébergement et la gestion des compléments, voir Compléments SharePoint et Compléments Office et rubriques connexes dans la documentation pour les développeurs SharePoint Server 2013 et Office 2013. Pour plus d’informations sur l’étendue des demandes d’autorisation pour d’autres compléments SharePoint, voir Autorisations de complément dans SharePoint 2013.

Intégration à SharePoint Server

De nombreuses fonctionnalités de Project Web App nécessitent la nouvelle infrastructure dans SharePoint Server 2013, comme l’authentification OAuth et basée sur les revendications, l’autorisation et les autorisations Project Server via des groupes SharePoint, la synchronisation des projets avec les listes de tâches SharePoint et les flux de travail déclaratifs Project Server. L’application de service du projet peut être associée à une collection de sites dans une batterie de serveurs SharePoint. La synchronisation du projet peut être réalisée avec une liste de tâches SharePoint, où SharePoint gère le projet. Un projet d’entreprise peut également être synchronisé avec une liste de tâches SharePoint, où Project Server maintient un contrôle total. Pour obtenir des diagrammes architecturaux et une explication de la synchronisation de projet, consultez Architecture de Project Server 2013.

Il existe de nombreuses nouvelles fonctionnalités dans SharePoint Server 2013. Pour plus d’informations, voir SharePoint pour les développeurs.

Intégration aux flux de travail

Les flux de travail représentent une fonctionnalité essentielle de la gestion de portefeuille de projets. Un cycle de vie du projet peut inclure des processus de longue durée qui couvrent de nombreuses phases. Les phases de gouvernance comprennent les propositions de projet, les analyses de l’impact de l’entreprise, ainsi que la sélection, la création, la planification, la gestion et le suivi des projets.

Les flux de travail Project Server 2013 sont basés sur la plateforme de flux de travail SharePoint 2013, qui utilise WF4. Contrairement aux versions précédentes, les flux de travail déclaratifs pour Project Server 2013 peuvent être créés à l’aide de SharePoint Designer 2013 et sont accessibles pour une utilisation locale et en ligne. Les flux de travail Project Server utilisent le modèle de sécurité de flux de travail SharePoint avec OAuth et peuvent être installés sur un site Project Web App. La figure 1 montre que SharePoint Designer 2013 peut ajouter des phases à un flux de travail de site pour la gestion de la demande, où les étapes sont définies dans Project Web App.

Figure 1. Utilisation de SharePoint Designer pour ajouter une étape à un flux de travail pour Project Web App

Ajout d’une étape à un flux de travail dans SPD

Vous créez un flux de travail déclaratif en ajoutant des phases de flux de travail, des actions, des conditions et d’autres éléments dans un outil de conception, qui peut être SharePoint Designer 2013 ou Visual Studio 2012. L’outil de conception enregistre ensuite le flux de travail en tant que code XAML qui est interprété au moment de l’exécution. Les workflows déclaratifs peuvent s’exécuter dans Project Server 2013 localement ou dans Project Online. À l’aide de Visual Studio 2012, vous pouvez également créer des actions et des formulaires personnalisés pour un contrôle supplémentaire, et enregistrer des modèles de flux de travail pour les réutiliser avec plusieurs instances Project Web App. SharePoint Designer 2013 peut utiliser des actions personnalisées créées dans Visual Studio 2012.

Un flux de travail Project Server 2013 agit comme une application, où un administrateur (qui dispose d’autorisations de conception pour Project Web App) peut publier un flux de travail déclaratif et l’associer à un type de projet d’entreprise (EPT). L’EPT doit être pour un projet d’entreprise, où Project Server conserve le contrôle total. Une liste de tâches SharePoint ne peut pas utiliser un flux de travail Project Server.

OAuth permet aux chefs de projets qui disposent d’autorisations de création de projets d’appeler le flux de travail sans utiliser l’emprunt d’identité. Les appels du flux de travail à Project Server, par exemple pour lire une valeur de champ personnalisé afin de décider quelle branche à suivre, sont réalisés au nom du chef de projets. Pour éviter que le chef de projets ne crée un flux de travail qui passe automatiquement à l’étape suivante, l’appel pour passer à l’étape suivante de flux de travail s’exécute comme l’auteur du flux de travail (l’administrateur). En revanche, les utilisateurs de flux de travail Project Server 2010 hérités passent des appels d’identité via le compte d’utilisateur proxy de flux de travail pour obtenir un accès administrateur tout au long du flux de travail.

Bien que Project Server 2013 en local puisse utiliser des flux de travail WF3.5 compilés, nous vous recommandons de mettre à niveau les workflows hérités vers des workflows déclaratifs basés sur WF4. La nouvelle technologie est plus robuste et évolutive. Les analystes d’entreprise et le personnel PMO peuvent créer ou mettre à jour des conceptions de flux de travail à l’aide de Visio 2013 et implémenter des flux de travail Project Server sans codage à l’aide de SharePoint Designer 2013.

Pour plus d’informations sur la création d’un flux de travail déclaratif pour Project Web App, consultez Prise en main du développement de flux de travail Project Server. Pour une comparaison des fonctionnalités sharePoint Designer et Visual Studio pour les flux de travail, consultez Développer des flux de travail SharePoint 2013 à l’aide de Visual Studio.

Modèle objet côté client

L’accès par programmation à Project Online nécessite un modèle CSOM basé sur le modèle CSOM SharePoint. Project Online’authentification se fera avec OAuth à l’aide d’un Identifiant Windows Live ID, et non d’une authentification par formulaire Project Server ou d’une Authentification Windows.

Voici les principes et fonctionnalités du modèle CSOM dans Project Server 2013 :

  • Le modèle objet client est conçu pour faciliter l’utilisation. Par exemple, les méthodes et les propriétés utilisent ou fournissent directement des données par nom, plutôt que d’exiger plusieurs GUID ou paramètres changeXml, ou de transmettre des jeux de données.

  • Le modèle objet client Project Server implémente un sous-ensemble de la fonctionnalité de l’interface PSI, en se basant sur les exigences les plus courantes des solutions tierces.

  • Le modèle objet client appelle l’interface PSI en interne, mais cela est pris en compte différemment. Par exemple, les mises à jour pour toutes les modifications d’état sont effectuées via la méthode StatusAssignmentCollection.SubmitAllStatusUpdates, et non via la méthode PSI Statusing.SubmitStatus pour l’utilisateur ou la méthode SubmitStatusForResource pour d’autres ressources.

  • Le modèle objet client est accessible par un service WCF (Client.svc), plutôt que par les 22 services publics de l’interface PSI.

  • L’initialisation du modèle CSOM Project Server s’effectue directement via la classe ProjectContext avec l’URL Project Web App, et non à l’aide d’une référence WCF ou d’un assembly proxy.

  • Le modèle objet client implémente plusieurs interfaces et bibliothèques clientes, qui sont prises en charge par l’infrastructure CSOM SharePoint interne. Les interfaces et bibliothèques clientes sont les suivantes :

    • Bibliothèque cliente Microsoft .NET dans l’assembly Microsoft.ProjectServer.Client.dll

    • Bibliothèque Silverlight dans l’assembly Microsoft.ProjectServer.Client.Silverlight.dll

    • Bibliothèque Windows Phone 8 dans l’assembly Microsoft.ProjectServer.Client.Phone.dll

    • Bibliothèque JavaScript pour les applications web dans le fichier PS.js ou le fichier PS.debug.js

    • Points de terminaison REST pour l’accès avec le protocole OData

    • Prise en charge native pour les requêtes LINQ avec filtrage afin de limiter la quantité de données renvoyées

  • Le modèle CSOM peut être utilisé à la fois pour les solutions Project Online et pour les solutions locales, indépendamment de psi et d’autres assemblys Project Server tels que Microsoft.Office.Project.Server.Library.dll.

  • Des fonctionnalités supplémentaires du modèle CSOM Project Server 2013 peuvent être prises en compte pour les mises à jour cumulatives et les Service Packs, en fonction des demandes des partenaires Project Server et de la communauté des développeurs.

Remarque

Le modèle objet client représente l’interface privilégiée pour les développeurs tiers de Project Server. Nous vous recommandons d’utiliser le modèle objet client pour développer de nouvelles applications, si celui-ci inclut les fonctionnalités dont votre application a besoin.

Pour plus d’informations sur le développement avec le modèle CSOM, consultez Modèle objet côté client (CSOM) pour Project 2013. Pour plus d’informations sur l’interface REST dans les applications SharePoint, voir Programmation à l’aide du service REST SharePoint dans la documentation pour développeurs SharePoint 2013.

Changements dans la base de données de rapports

Les quatre bases de données dans Project Server 2010 sont combinées en une seule base de données Project dans Project Server 2013. Le nom par défaut de la base de données Project est ProjectService. Les tables et vues de création de rapports conservent leurs noms précédents, et les tables et vues des bases de données Brouillon, Publiée et Archive ont les préfixes draft, pubet ver dans la base de données ProjectService. Par exemple, la table de projets publiés s’intitule pub.MSP_PROJECTS.

Importante

L’accès direct n’est pas pris en charge pour les tables et vues brouillons (draft préfixe), publiées (pub) et archive (ver). Les rapports doivent utiliser uniquement les tables et les vues de création de rapports, qui ont le préfixe dbo. Par exemple, le dbo. MSP_EpmProject tableau inclut la liste des projets dans le Project Web App instance.

Rien ne vous empêche d’utiliser activement l’accès direct à la base de données par programme pour mettre à jour les données dans l’une des tables et vues dans la base de données Project. Vous devez être conscient que le cache Project Professionel, les tables des données brouillon et publiées, ainsi que les tables de rapport reposent tous sur un protocole de synchronisation de cache qui peut être perturbé par la modification directe de données. Toutefois, si vous endommagez vos bases de données Project Server ou les caches côté client Project Professionnel suite à un accès direct pour modifier les données, notez que le support technique ne sera pas en mesure de vous aider.

Project Server 2013 introduit un service OData pour l’accès en ligne et local. Les tables et vues de création de rapports en ligne sont exposées uniquement par l’interface OData ; pour une utilisation locale, vous pouvez utiliser l’interface OData ou accéder directement aux tables et vues de création de rapports dans la base de données ProjectService de la batterie de serveurs SharePoint. Project Online ne prend pas en charge une base de données multilocataire. Autrement dit, plusieurs instances de Project Web App ont chacune leur propre base de données Project. Le service OData exécute en interne des requêtes SQL sur les tables et vues de création de rapports, et fournit une charge utile XML ou JSON. Pour une présentation du service OData pour la création de rapports dans Project Server 2013 et pour obtenir la référence du schéma ProjectData , consultez Informations de référence sur le service ProjectData - Project OData.

Pour obtenir des informations générales sur les requêtes OData, consultez OData : conventions d’URI. Par exemple, vous pouvez voir tous les projets dans une instance locale de Project Web App où le nom du projet commence par « Test » en utilisant la requête suivante dans un navigateur. Cliquez avec le bouton droit sur la page du navigateur, puis cliquez sur Afficher la source.

https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true

Pour importer des données de projet dans PowerPivot dans Excel 2013, dans le ruban DONNÉES, sélectionnez À partir du flux de données OData dans le menu déroulant À partir d’autres sources . Dans la boîte de dialogue Assistant Connexion de données, tapez https://ServerName/ProjectServerName/_api/ProjectData/ l’emplacement du flux de données, choisissez Suivant, puis sélectionnez la table Projects dans la page Sélectionner des tables de l’Assistant. Nommez et enregistrez le fichier .odc, puis choisissez Terminer. Dans la boîte de dialogue Importation de données, choisissez Rapport de tableau croisé dynamique. Dans la feuille de calcul Excel, choisissez des champs pour les lignes et colonnes du tableau croisé dynamique que vous souhaitez afficher.

Les utilisateurs de Project Server locaux, qui disposent des autorisations appropriées, peuvent accéder directement aux tables et aux vues de création de rapports via Microsoft SQL Server pour créer des rapports, comme dans Project Server 2010. Dans Project Server 2013, les utilisateurs peuvent également accéder aux tables de création de rapports locales via l’interface OData. Vous pouvez récupérer des données Project Server en ligne ou en local via des points de terminaison REST pour le service OData. Par exemple, la table dbo.MSP_PROJECT et la vue dbo.MSP_EpmProject_UserView peuvent être utilisées pour les rapports. Toutes les tables ou vues qui ont un préfixe , pubou ver sont destinées à une draftutilisation interne par Project Server uniquement et ne sont pas destinées à une utilisation de création de rapports. Par exemple, la table draft.MSP_TASKS et la vue pub.MSP_PROJECTS_WORKING_VIEW ne sont pas documentées et sont destinées à une utilisation interne uniquement.

Remarque

Vous pouvez étendre la création de rapports en local en ajoutant des tables, vues, champs et procédures stockées dans une base de données distincte. Vous ne devez pas modifier les tables et vues de création de rapports existantes dans la base de données Project Server.

Les tables, vues et champs de création de rapports dans la base de données Project seront documentés dans un fichier d’aide HTML dans une mise à jour ultérieure du téléchargement du Kit de développement logiciel (SDK) Project 2013. Pour obtenir de la documentation sur le schéma XML OData pour le service ProjectData , consultez Informations de référence sur le service ProjectData - Project OData. Les requêtes des tables et vues de création de rapports qui ont été créées pour Project Server 2010 fonctionnent dans la plupart des cas avec la base de données Project dans Project Server 2013. Les utilisateurs locaux peuvent accéder aux cubes OLAP Project Server dans SQL Server Analysis Services, comme ils le font actuellement. Dans Project Online, les cubes OLAP ne sont pas disponibles.

Compléments du volet de tâches dans Project

Les deux Project Standard 2013 et Project Professionnel 2013 prennent en charge les compléments du volet Office, qui peuvent être utilisés pour intégrer et afficher du contenu externe dans une page web. Le volet Office affiche le contenu de la page web qui a accès via JavaScript aux tâches, ressources, vues et données de projet générales. Le modèle objet JavaScript pour Project peut obtenir des informations sur une tâche ou une ressource sélectionnée, et peut obtenir des données dans une cellule sélectionnée dans la grille pour des affichages tels que le diagramme de Gantt. Les compléments du volet de tâches pour Project peuvent également implémenter des gestionnaires d’événements pour des événements modifiés de sélection de tâche, de ressource ou de vue.

La figure 2 illustre le complément du volet de tâches Hello ProjectData qui interroge le service ProjectData, puis compare les données du projet actuel avec les moyennes de tous les projets. Le téléchargement du Kit de développement logiciel (SDK) Project 2013 inclut le code source complet du complément.

Figure 2. Un complément du volet de tâches dans Project Professionel peut accéder à des données dans Project Server

Comparaison du projet actuel avec tous les projets

Remarque

Project Standard 2013 ne peut pas s’intégrer directement à Project Server 2013 via des compléments du volet Office.

Les compléments du volet Office dans Project Professionnel peuvent prendre en charge les composants WebPart générés pour Project Server 2013, afin que les développeurs puissent créer une extension qui s’exécute à la fois avec Project Web App et Project Professionnel. Les compléments du volet Office généraux développés pour d’autres produits Office 2013 peuvent également être utilisés avec Project Standard 2013 et Project Professionnel 2013. Pour plus d’informations, voir Task pane add-ins for Project.

Récepteurs d’événements Project Server

Il peut y avoir plusieurs serveurs Project Web App (également appelés serveurs frontaux web, ou WFE) dans une batterie de serveurs SharePoint qui inclut l’application de service Project back-end. Les récepteurs d’événements peuvent également être appelés gestionnaires d’événements. Les gestionnaires d’événements locaux peuvent être implémentés avec le code de confiance totale et déployés sur l’ensemble des WFE pour une installation Project Server locale. Les récepteurs d’événements à distance peuvent être implémentés dans les services web sur des serveurs locaux ou à distance et accessibles par l’intermédiaire de plusieurs WFE et installations de Project Server. Project Online ne peuvent utiliser que des récepteurs d’événements distants.

Les gestionnaires d’événements Project Server sont gérés par SharePoint pour chaque Project Web App instance, plutôt que par une page paramètres Project Web App spécifique. Dans l’application Administration centrale de SharePoint, choisissez Paramètres généraux de l’application, Choisissez Gérer sous Paramètres PWA, puis choisissez le instance dans la liste déroulante Instance Project Web App de la page Paramètres PWA. Pour ajouter un gestionnaire d’événements local ou un récepteur d’événements à distance, choisissez Gestionnaires d’événements côté serveur.

Pour une installation locale de Project Server, vous pouvez créer un récepteur d’événements distant en tant que fonctionnalité SharePoint qui utilise la classe Microsoft.ProjectServer.Client.EventHandlerCreationInformation dans le modèle CSOM, puis gérer par programmation le récepteur d’événements à l’aide des méthodes de la classe EventHandlerCollection . Pour les récepteurs d’événements à distance, les pré-événements sont synchrones, les post-événements sont asynchrones et il existe un délai si le récepteur d’événements à distance ne renvoie rien.

Remarque

L’Administration centrale de SharePoint est disponible uniquement pour les installations locales. Pour Project Online et SharePoint Online, vous pouvez ajouter ou supprimer des récepteurs d’événements distants à l’aide d’un package d’application CSOM.

Dans la page Gestionnaires d’événements côté serveur, le processus d’ajout d’un gestionnaire d’événements local pour une installation Project Server locale est presque identique au processus décrit dans la rubrique Créer un gestionnaire d’événements Project Server et journaliser un événement pour Project Server 2010. La différence est que la page Nouveau gestionnaire d’événements comporte des options supplémentaires. Par exemple, choisissez Création de projet dans la liste Événements , puis choisissez NOUVEAU GESTIONNAIRE D’ÉVÉNEMENTS. Dans la page Nouveau gestionnaire d’événements, les deux seuls champs obligatoires sont Nom et Ordre (voir la Figure 3). Si vous ajoutez un gestionnaire d’événements local de confiance totale, ajoutez le champ Nom de l’assembly et le champ Nom de la classe ; Laissez l’URL du point de terminaison vide. Si vous ajoutez un récepteur d’événements distants, ajoutez l’URL du point de terminaison et laissez le nom de l’assembly et le nom de la classe vides.

Attention

Si vous indiquez à la fois le nom de l’assembly/de la classe et l’URL de point de terminaison, Project Server appelle uniquement le gestionnaire d’événements local. Le récepteur d’événements à distance est ignoré.

Si vous créez deux gestionnaires d’événements pour le même événement, où un gestionnaire d’événements est local et l’autre est un récepteur d’événements à distance, et que la valeur Ordre est identique pour les deux, Project Server ignore le récepteur d’événements à distance.

Figure 3. Ajout d’un gestionnaire d’événements local ou d’un récepteur d’événements à distance

Configuration d’un gestionnaire d’événements ou d’un récepteur d’événements

Si vous avez besoin d’accéder aux jeux de données PSI pour un gestionnaire d’événements local, vous pouvez copier l’assembly Microsoft.Office.Project.Schema.dll à partir du répertoire [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c.

Au lieu de l’interface PSI, nous vous recommandons d’utiliser les classes d’événements dans l’espace de noms Microsoft.ProjectServer.Client ; le développement avec le modèle CSOM ne nécessite pas de manipulation de jeux de données. Pour développer des récepteurs d’événements distants pour Project Online, vous devez utiliser la classe Event et la classe EventHandlerCreationInformation dans le modèle CSOM.

Avant de déployer un gestionnaire d’événements Project Server, installez et testez le gestionnaire d’événements dans le cadre d’une installation test de Project Server. Pour une installation Project Server locale, si le gestionnaire d’événements local que vous ajoutez devient inopérant, le service d’événements Project Server 2013 ne parvient pas à charger les autres gestionnaires d’événements personnalisés valides. Dans ce cas, vous devez supprimer le gestionnaire d’événements à l’origine du problème et redémarrer le service d’événements.

Remarque

Pour une installation de Project Server locale, nous vous recommandons de migrer vers les récepteurs d’événements à distance à l’aide du modèle objet client pour développer les récepteurs d’événements. Étant donné que les récepteurs d’événements à distance ne disposent pas de code tiers en cours d’exécution au sein du service d’événements Project Server, les récepteurs d’événements à distance sont plus stables. Les administrateurs locaux n’ont plus la responsabilité de gérer le service d’événements Project Server.

Pour obtenir des informations générales sur les événements, voir Gestion des événements dans les applications pour SharePoint.

Fonctionnalités déconseillées

Remarque

Pour plus d’informations sur les fonctionnalités et les API dépréciées ou supprimées dans Project Server 2016 préversion, consultez Ce qui est déconseillé ou supprimé dans Project Server 2016 préversion.

Les fonctionnalités déconseillées sont toujours disponibles dans Project 2013 pour certaines solutions, mais ne doivent pas être utilisées pour de nouveaux développements. La plupart des fonctionnalités et pratiques suivantes ne fonctionnent pas avec Project Online, ni avec l’installation locale par défaut de Project Server 2013 en mode d’autorisation SharePoint. Les solutions existantes qui utilisent ces fonctionnalités peuvent ne pas fonctionner pour une mise à niveau de Project Server 2010 vers Project Server 2013. Bien que les solutions qui utilisent des fonctionnalités déconseillées puissent continuer à fonctionner dans certains cas, elles ne sont pas entièrement prises en charge pour toutes les installations de Project 2013.

Si vos solutions utilisent des fonctionnalités déconseillées, elles doivent être testées avant le déploiement et vous devez les modifier pour utiliser les fonctionnalités prises en charge dès que cela est possible. Pour plus d’informations sur la configuration de la sécurité locale de Project Server 2013 pour le mode d’autorisation Project, consultez la section Mode d’autorisation SharePoint dans Nouveautés pour les professionnels de l’informatique dans Project Server 2013.

  • Les scénarios d’extension PSIdes extensions sont déconseillés et ne seront pas pris en charge dans les versions ultérieures. Ces scénarios Project Server 2013 locaux ont activé l’intégration à l’aide des services Windows Communication Foundation (WCF) personnalisés.

  • Projet PSI La classe Project de l’interface PSI est déconseillée. Pour tous les nouveaux développements, utilisez le modèle objet Project. Les applications Project Server 2013 qui utilisent Project PSI continueront de fonctionner, mais Project Online applications devront remplacer toutes les méthodes PSI de classe Project par leurs méthodes CSOM équivalentes.

  • Psi du plan de ressourcesL’interface PSI du plan de ressources est déconseillée. Il continuera à être pris en charge pour le développement de Project 2013, mais ne sera pas pris en charge dans les versions ultérieures.

  • Interface ASMX pour psi L’interface PSI inclut des interfaces en double pour le développement d’extensions Project Server locales. L’interface des services web ASMX a été introduite avec la première implémentation de psi dans Office Project Server 2007. Project Server 2010 a ajouté l’interface des services WCF, où le modèle objet duplique essentiellement les services web ASMX. Bien que Project Server 2013 continue de prendre en charge ASMX et WCF, les nouvelles solutions qui nécessitent l’interface PSI doivent utiliser les services WCF. Si possible, les nouvelles solutions doivent être écrites en utilisant le modèle objet client.

    Les services web ASMX de l’interface PSI sont déconseillés dans Project Server 2013. Pour qu’elles fonctionnent dans les futures versions de Project Server, les solutions utilisant les services web ASMX doivent être réécrites afin d’utiliser soit les services WCF, soit le modèle objet client. Pour plus d’informations, consultez la section Mise à niveau des applications avec les API de Project Server dans Project Server programmability.

  • Fournisseur de liens d’objets (OLP) Dans les versions précédentes de Project Server, le service ObjectLinkProvider dans psi (voir WebSvcObjectLinkProvider permet de gérer les liens d’objets web entre les tâches de projet d’entreprise et les listes SharePoint spécialisées dans le site du projet pour les problèmes, les risques, les livrables et les documents. Dans Project Server 2013, l’OLP est déconseillé.

    Vous pouvez utiliser la classe RelatedItemManager dans le modèle CSOM SharePoint pour créer, lire et supprimer des liens d’objets web entre les éléments de la liste de tâches et les autres listes d’un site de projet. Par exemple, pour ajouter un lien à partir d’un élément de tâche vers un problème, vous pouvez utiliser la méthode AddSingleLink ou l’une des deux méthodes similaires, AddSingleLinkFromUrl ou AddSingleLinkToUrl. La classe RelatedItemManager inclut également des méthodes pour supprimer une liaison d’objet web et pour lire les éléments associés. Pour obtenir la classe équivalente dans le modèle objet JSOM (le modèle objet JavaScript), consultez SP. Objet RelatedItemManager (sp.js).

    Nous vous recommandons d’utiliser le modèle CSOM SharePoint pour créer des applications de type OLP pour une installation locale de Project Server 2013 et pour Project Online. L’espace de noms Microsoft.SharePoint n’inclut pas de classe RelatedItemManager ****.

  • Autorisations personnalisées Les autorisations de sécurité personnalisées pour accéder à des fonctionnalités ou extensions de Project Server spécifiques étaient prises en charge dans Office Project Server 2007, où un article du KIT de développement logiciel (SDK) expliquait comment les créer en modifiant directement la base de données publiée. Dans Project Server 2010, les autorisations personnalisées fonctionnent toujours, mais elles sont déconseillées. Dans Project Server 2013, les autorisations personnalisées ne fonctionnent pas avec le mode d’autorisation SharePoint par défaut pour les installations locales. Pour le mode d’autorisation Project, les autorisations personnalisées sont prises en charge. Avec Project Online, l’accès direct à la base de données n’est pas possible.

  • Imitation L’emprunt d’identité dans les applications PSI, où l’utilisateur d’une application peut assumer les autorisations de sécurité d’un autre utilisateur Project Server, est déconseillé dans Project Server 2013. Comme indiqué précédemment, une installation de Project Server 2013 locale par défaut utilise le mode d’autorisation SharePoint, qui n’autorise pas l’emprunt d’identité dans les groupes de sécurité Project Server. Pour plus d’informations, voir Authentification, autorisation et sécurité dans SharePoint 2013.

    Les applications de gestion des états sont des extensions par défaut qui ont peut-être déjà utilisé l’emprunt d’identité dans les versions précédentes de Project Server. Project Server 2010 a introduit la méthode ReadStatusForResource et la méthode SubmitStatusForResource dans l’interface PSI, ainsi que l’autorisation globale StatusBrokerPermission, ce qui a éliminé la nécessité de l’emprunt d’identité pour lire et mettre à jour status pour le compte d’un autre utilisateur. Le modèle CSOM dans Project Server 2013 utilise l’interface PSI sous-jacente pour activer en toute transparence les extensions d’état et peut être utilisée pour les installations Project Online ou locales.

  • Extensions de base de données de création de rapports L’ajout de tables et de vues personnalisées à la base de données de création de rapports est une pratique courante avec les versions précédentes de Project Server. Étant donné que Project Server 2013 combine les quatre bases de données des versions précédentes dans une base de données, les mises à niveau ne transfèrent pas les tables, vues ou SPC personnalisées vers les tables de création de rapports dans la base de données Project Server 2013.

    Nous vous recommandons d’utiliser SQL Azure ou une base de données SQL Server distincte pour les tables et vues de création de rapports personnalisées, où vous pouvez gérer les sauvegardes et les mises à jour de base de données. Pour Project Online, cela est obligatoire.

  • Rapports Les tables et vues de création de rapports locales dans la base de données Project Server et les cubes OLAP ne sont pas déconseillés et restent entièrement pris en charge. Toutefois, les tables et vues de création de rapports (base de données de création de rapports dans les versions précédentes de Project Server) ne sont pas accessibles dans Project Online. De même, les cubes OLAP sont disponibles uniquement avec les installations locales de Project Server 2013. Pour les applications de création de rapports avec Project Online, vous pouvez utiliser le service ProjectData via des requêtes REST avec le protocole OData.

  • Guide du projet Le Guide de projet est une fonctionnalité standard dans les applications de bureau Office Project 2007, où le contenu HTML et JavaScript dans un volet Office fournit des conseils interactifs pour la création et la gestion de projets. Dans Project 2010, le Guide de projet n’est pas disponible dans une installation par défaut, mais peut être activé via VBA ou un complément VSTO. Le téléchargement du Kit de développement logiciel (SDK) Project 2010 inclut les fichiers du Guide de projet modifiés.

    Le modèle objet VBA et le modèle objet Microsoft.Office.Interop.MSProject dans Project 2013 incluent toujours les 22 membres de la classe Application et de la classe Project qui peuvent gérer le Guide du projet. Toutefois, les applications du volet Office Project 2013 peuvent entrer en conflit avec les actions d’un volet Office Du Guide de projet et le contenu du Guide de projet ne peut pas être facilement distribué ou vendu dans l’Office Store. Nous vous recommandons vivement de développer des solutions de volet office Project avec des compléments Office, et non du contenu personnalisé du Guide de projet. Pour plus d’informations sur le Guide de projet, consultez la documentation du Kit de développement logiciel (SDK) Project 2010.

Comparaison de Project Server local avec Project Online

Pour vous aider à décider s’il faut utiliser Project Server localement ou Project Online, et quels types d’extensions vous pouvez développer dans les deux cas, le tableau 2 compare les fonctionnalités extensibles d’une installation locale de Project Server 2013 avec Project Online. Le tableau 2 ne comprend pas les différences en matière de déploiement, d’administration ou d’utilisation. Pour plus d’informations sur Project Online et Project Server 2013, consultez Project 2013 pour les développeurs et les Project Online.

Tableau 2. Extensibilité de Project Server local et de Project Online

Fonctionnalité Project Server local Project Online
Programmabilité
Applications basées sur le modèle objet client ; modèle de programmation cohérent
- Bibliothèques clientes .NET, Silverlight Windows Phone
- Bibliothèque JavaScript pour les pages personnalisées, les composants WebPart et les extensions de ruban
- Protocoles OData et REST

Applications basées sur l’interface PSI ; modèle de programmation complexe, pouvant également créer des applications pour l’administration, l’analyse de portefeuille, les notifications, la sécurité en mode Project, le système de file d’attente, ainsi que d’autres domaines

Extensions de l’interface PSI

Autorisations personnalisés avec la sécurité en mode Project (déconseillé)

Emprunt d’identité avec l’interface PSI (déconseillé)

Code de confiance totale ; installation d’extensions dans une batterie de serveurs SharePoint
Applications basées sur le modèle objet client ; modèle de programmation cohérent
- Bibliothèques clientes .NET, Silverlight Windows Phone
- Bibliothèque JavaScript pour les pages personnalisées, les composants WebPart et les extensions de ruban
- Protocoles OData et REST

Possibilité d’utiliser l’interface PSI, mais elle n’est pas prise en charge : aucune connexion OAuth et service-à-service

Aucune extension de l’API CSOM

Aucune autorisation personnalisée

Aucun emprunt d’identité

Aucun code de confiance totale
Bases de données personnalisées
- SQL Azure
- SQL Server (la modification des tables et vues de rapports dans la base de données Project Server n’est pas prise en charge)
- SQL Azure
- SQL Server (la modification des tables et vues de rapports dans la base de données Project Server n’est pas prise en charge)
Compte-rendu
- Service ProjectData ; Protocoles OData et REST
- Tables et vues de création de rapports dans la base de données Project Server
- Base de données OLAP
- Service ProjectData ; Protocoles OData et REST
Gestionnaires d’événements
- Récepteurs d’événements distants, accessibles via des points de terminaison WCF
- Gestionnaires d’événements de confiance totale, installés dans la batterie de serveurs SharePoint
- Récepteurs d’événements distants, accessibles via des points de terminaison WCF
Flux de travail
Flux de travail déclaratifs, créés avec SharePoint Designer 2013
- Utiliser uniquement sur un Project Web App instance spécifique
- Peut importer une conception de flux de travail à partir de Visio 2013
- Peut importer et utiliser des actions personnalisées

Flux de travail déclaratifs, créés avec Visual Studio 2012
- Créer une application pouvant inclure des flux de travail
- Créer un package de solution SharePoint (.wsp) qui peut inclure des flux de travail
- Créer des modèles de flux de travail à réutiliser
- Créer et utiliser des actions personnalisées

Possibilité d’utiliser des flux de travail compilés et hérités créés avec WF3.5 (mise à niveau recommandée vers un flux de travail WF4 déclaratif)
Flux de travail déclaratifs, créés avec SharePoint Designer 2013
- Utiliser uniquement sur un Project Web App instance spécifique
- Peut importer une conception de flux de travail à partir de Visio 2013
- Peut importer et utiliser des actions personnalisées

Flux de travail déclaratifs, créés avec Visual Studio 2012
- Créer une application pouvant inclure des flux de travail
- Créer un package de solution SharePoint (.wsp) qui peut inclure des flux de travail
- Créer des modèles de flux de travail à réutiliser
- Créer et utiliser des actions personnalisées
Distribution
- Office Store (pour les applications CSOM)
- Catalogue d’applications privé sur SharePoint
- Partage de fichiers intranet
- Office Store
- Catalogue d’applications privé sur SharePoint

Conclusion

Project Server 2013 offre une multitude de nouvelles fonctionnalités de développement et de scénarios que les partenaires et les clients peuvent utiliser pour adapter et étendre les fonctionnalités et l’utilité de Project Server dans les grandes entreprises et dans les petites organisations. Vous pouvez utiliser l’infrastructure pour Office 2013 et SharePoint 2013 pour créer et distribuer des applications pour Project 2013 qui peuvent considérablement étendre la commercialisation et l’utilisation des applications personnalisées. Certaines fonctionnalités et pratiques d’extensibilité des versions précédentes sont déconseillées dans Project 2013, en particulier les services web ASMX de PSI et les fonctionnalités qui impliquent l’emprunt d’identité ou des modifications directes de base de données, qui ne peuvent pas être utilisées avec Project Online.

L’introduction du modèle CSOM permet d’accéder par programmation à Project Online pour un large éventail d’appareils et en utilisant JavaScript dans les applications web. Le modèle objet client fournit un modèle de programmation plus cohérent par rapport à l’interface PSI. Les données de Project Server peuvent être consultées de nombreuses autres façons que dans les versions précédentes, y compris à travers le service OData en ligne et par le biais de points de terminaison REST pour les données de création de rapports dans la base de données Project. Les rapports existants fonctionnent toujours de la même manière qu’en local et les nouveaux rapports ont plus de flexibilité.

Les compléments Office offrent un nouveau moyen de vendre des solutions et d’intégrer Project Standard 2013 au contenu web et à d’autres produits Office 2013. Vous pouvez également créer de nouvelles façons d’intégrer Project Professionnel 2013 aux données Project Server et aux listes SharePoint via les compléments Office du volet Office.

Pour plus d’informations sur le développement d’applications et l’utilisation des fonctionnalités de programmabilité et du modèle CSOM de SharePoint Server 2013, voir SharePoint pour les développeurs et Office pour les développeurs.

Voir aussi