Updates für Entwickler in Project
Erweiterbarkeitsfeatures in Project Server 2013 funktionieren mit Add-Ins für Project Online und mit lokalen Installationen. Zu den neuen Features gehören ein clientseitiges Objektmodell (CSOM), REST-Schnittstellen, ein OData-Dienst für Berichterstellung, Remoteereignisempfänger, deklarative Workflows und Aufgabenbereich-Add-Ins für Project-Clients. Außerdem erfahren Sie mehr über veraltete Features, die nicht für neue Entwicklungen verwendet werden sollten.
Project Server 2013 baut auf dem Framework auf, das mit Microsoft Office Project Server 2007 eingeführt und um Project Server 2010 erweitert wurde. Project Server 2013 fügt ein clientseitiges Objektmodell (CSOM) hinzu, das von der Project Server-Schnittstelle (PSI) umgestaltet und vereinfacht wird und eine JavaScript-Bibliothek und .NET Framework 4-Bibliotheken für Windows-Apps, Windows Phone 8 und Microsoft Silverlight enthält. Das CSOM ist für die Entwicklung für Project Online konzipiert und funktioniert auch mit einer lokalen Project Server-Installation.
Die Project Server-Datenbanken werden in einer einzelnen Datenbank zusammengefasst. Sie können über einen OData-Dienst auf die Onlineberichtstabellen und -sichten zugreifen. Das CSOM und der OData-Dienst enthalten eine REST-Schnittstelle (Representational State Transfer). Project Server-Workflows können mithilfe von SharePoint Designer 2013 erstellt werden. Project Professional 2013 kann mithilfe des Office-Add-Ins-Erweiterbarkeitsmodells für Aufgabenbereiche in Project Server-Berichtsdaten, SharePoint-Aufgabenlisten und andere externe Inhalte integriert werden. Project Standard 2013 kann Aufgabenbereich-Add-Ins für die Integration in allgemeine externe Inhalte verwenden.
Diagramme und weitere Informationen zu wichtigen Änderungen in Project Server 2013 finden Sie unter Project Server 2013-Architektur.
Hinweis
Project Server 2013 basiert auf der SharePoint Server 2013- Plattform; Project 2013 weist größtenteils dieselbe Infrastruktur wie die anderen Office 2013-Anwendungen auf. Dokumentationen zum Modell für SharePoint-Add-Ins, SharePoint-basierte Workflows, Webparts, Entwicklung mit anderen SharePoint-Features und Dokumentation von Office-Add-Ins finden Sie unter SharePoint-Add-Ins, Office-Add-Ins und SharePoint 2013-Entwicklungsübersicht.
Wichtige neue Features in Project 2013
Zu den neuen Features in Project Standard 2013 und Project Professional 2013 gehören eine verbesserte Benutzeroberfläche, die mit anderen Office 2013-Anwendungen übereinstimmt und die moderne Benutzeroberfläche in Windows 8 unterstützt, die Integration in Office Art-Objekte für Berichte, Burndownberichte und neue Programmierbarkeitsfeatures für Berichte. Project Professional 2013 ermöglicht eine umfangreichere Freigabe und Synchronisierung von Projekten auf SharePoint Server 2013 sowie die Aufgabenbereich-Add-Ins, die auch in anderen Office 2013-Anwendungen wie Word, Excel und Outlook implementiert werden.
Es gibt viele neue Features in Project Server 2013. Einige verfügen nicht über eine wichtige Programmierbarkeitsgeschichte, z. B. die neue Zeitachse in Project Web App. Diese Features werden in der Produkthilfe und endbenutzerdokumentation auf Microsoft Office Online und in Themen dokumentiert, die sich an Administratoren und IT-Experten in Microsoft TechNet richten. Andere neue Features, z. B. verbesserte Arbeitszeittabellen, erleichtern Drittanbieterentwicklern die Interaktion mit Arbeitszeittabellen und Statuserfassung über die Project Server-Schnittstelle (PSI).
Das Hinzufügen von Project Online und dem Office Store (https://office.microsoft.com/store) für Project-Add-Ins sind weitreichende Änderungen, auf die Project Server über Microsoft Azure zugreifen kann. Der cloudbasierte Zugriff auf Project Server verwendet ein clientseitiges Objektmodell (CSOM) für die Entwicklung von Add-Ins mit Microsoft .NET Framework, Microsoft Silverlight, Windows Phone und Web-Apps, die JavaScript verwenden. Eine Anforderung von Project Online ist, dass die vier Project Server-Datenbanken früherer Versionen in einer Datenbank zusammengeführt werden.
Die Leistung und Skalierbarkeit von Project Server 2013 wurde in vielen Bereichen wie Vorgangsstatus, Arbeitszeittabellen und Projektmanagement verbessert. Project Server-Workflows wurden mit Version 4 von Windows Workflow Foundation (WF4) neu gestaltet. Die Verwendung von .NET Framework 4 und Windows Communication Foundation (WCF) mit psi verbessert Sicherheit, Leistung und Skalierbarkeit. Beispielsweise können Sie das Transportprotokoll von WCF-basierten Anwendungen mithilfe von Konfigurationsdateien ändern, ohne den Anwendungscode zu ändern oder neu zu kompilieren. Project Web App speichert viele der PSI-Aufrufe zwischen, bei denen sich die Daten nicht wesentlich ändern.
Hinweis
Für die Entwicklung mit Project Server 2013 können Sie Visual Studio mit den Office- und SharePoint-Tools-Erweiterungen verwenden, die nativ Add-Ins für die Office 2013-Produkte erstellen können. Project Server 2013 erfordert, dass Visual Studio die Entwicklung von Features wie Projektdetailseiten und WCF-basierten Anwendungen vollständig ermöglicht. Die SharePoint-Tools-Erweiterungen in Visual Studio können Webparts und andere SharePoint-Features direkt in Project Web App und anderen SharePoint-Websites bereitstellen.
Visual Studio muss keine Project Server-Workflows mehr entwickeln, die benutzerdefinierte Felder, Phasen, Phasen und Enterprise-Projekttypen verwenden, die in Project Web App verwaltet werden können. Obwohl Sie Visual Studio zum Entwickeln von Workflows verwenden können, sind sie häufig einfacher und schneller mit SharePoint Designer zu erstellen. Visual Studio kann für Workflows verwendet werden, die Zugriff auf das CSOM oder andere externe APIs erfordern.
Project-Add-Ins
Der Vertrieb und die Vermarktung von Software wurde mit dem Konzept eines Add-Ins revolutioniert. Für Project 2013 können Add-Ins zum Kauf und Download aus dem öffentlichen Office Store oder in einem privaten Katalog in SharePoint bereitgestellt werden. Ein Add-In ist in der Regel ein eigenständiges, interaktives Programm, das eine kleine Anzahl verwandter Aufgaben ausführt. Ein Project-Add-In kann ein Aufgabenbereich-Add-In für die Project Standard 2013- oder Project Standard 2013-Clients oder ein Add-In für Project Server 2013 oder Project Online sein.
Informationen zu Add-Ins für die Project-Desktopclients finden Sie unter Aufgabenbereich-Add-Ins in Project. Ein Project Server 2013-Beispiel finden Sie unter Erstellen eines von SharePoint gehosteten Project Server-Add-Ins. Neben Artikeln im Office- und SharePoint-Add-Ins SDK enthält der Office-Blog viele Beiträge, die auch für Project 2013 und Project Online relevant sind.
Ein Add-In für Project Server 2013 kann sowohl mit einer lokalen Installation als auch mit Project Online verwendet werden. Project Server-Add-Ins können Webparts, Remoteereignisempfänger und Geschäftslogik enthalten. Der Zugriff auf das Project Server-Objektmodell in einem Add-In erfolgt über das CSOM, nicht über die PSI. Die Datenspeicherung kann cloudbasiert sein, z. B. mit SQL Azure, extern, z. B. über Microsoft Business Connectivity Services (BCS), intern mit einer lokalen Datenbank oder gemischt.
Add-In-Sicherheit
Im Allgemeinen werden Aktionen, die ein Add-In ausführt, im Namen des Benutzers ausgeführt, der das Add-In ausführt. Sie verwenden nicht explizit den Identitätswechsel oder geben an, wer das Add-In ausführen kann. Aktionen dürfen die Berechtigungsstufe des Benutzers, der das Add-In ausführt, nicht überschreiten.
In Office Developer Tools für Visual Studio 2012 verfügt die datei AppManifext.xml über einen grafischen Editor, in dem Sie den Berechtigungsanforderungsbereich festlegen können. Wenn Sie beispielsweise ein Add-In erstellen möchten, mit dem Projektmanager ihre Projekte aktualisieren können, wählen Sie auf der Registerkarte Berechtigungen des BereichsAppManifest.xml Designer die Option Mehrere Projekte für den Bereich und Schreiben für die Berechtigung aus. Wenn der Add-In-Benutzer über Projektmanagerberechtigungen verfügt, kann er das Add-In für projekte ausführen, die er verwaltet. Der Code in der AppManifest.xml-Datei würde Folgendes enthalten:
<AppPermissionRequests>
<AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
</AppPermissionRequests>
Tabelle 1. Berechtigungsanforderungsbereiche für Project Server-Add-Ins
Bereich | Berechtigungen |
---|---|
Project Server |
Verwalten (Erfordert Project Server-Administratorberechtigungen.) |
Mehrere Projekte |
Lesen, Schreiben (Erfordert Berechtigungen des Projektmanagers für einige Vorgänge; Berechtigungen des Projektteams für grundlegende Lesevorgänge, z. B. Aufgabenzuweisungen.) |
Einzelnes Projekt |
Lesen, Schreiben (Erfordert mindestens Berechtigungen des Projektteams; der Zugriff auf einige Daten in einem Projekt hängt von anderen Berechtigungsstufen ab.) |
Enterprise-Ressourcen |
Lesen, Schreiben (Erfordert Resource Manager-Berechtigungen.) |
Statusing |
SubmitStatus (Erfordert die Berechtigung zum Übermitteln des Status für Ihre Projekte.) |
Berichterstellung |
Lesen (Erfordert die Berechtigung zum Anmelden bei Project Server.) |
Workflow |
Erhöhen (Erfordert die Berechtigung zum Ausführen von Workflows. Das Add-In wird mit erhöhten Berechtigungen ausgeführt, um Übergänge von einer Phase in eine Phase in einem Workflow zu ermöglichen. Geschäftslogik in den Phasenübergängen der Add-In-Steuerelemente.) |
Hinweis
Project Server 2013 und Project Online verwenden nicht das reine App-Authentifizierungsmodell in SharePoint 2013 (siehe Add-In-Autorisierungsrichtlinientypen in SharePoint 2013).
Informationen zum Entwickeln, Verteilen, Hosten und Verwalten von Add-Ins finden Sie unter SharePoint-Add-Ins und Office-Add-Ins sowie verwandte Themen in der SharePoint Server 2013- und Office 2013-Entwicklerdokumentation. Informationen zum Berechtigungsanforderungsbereich für andere SharePoint-Add-Ins finden Sie unter Add-In-Berechtigungen in SharePoint 2013.
Integration in SharePoint Server
Viele Features in Project Web App erfordern die neue Infrastruktur in SharePoint Server 2013, z. B. OAuth und anspruchsbasierte Authentifizierung, Project Server-Autorisierung und -Berechtigungen über SharePoint-Gruppen, Synchronisierung von Projekten mit SharePoint-Aufgabenlisten und deklarative Project Server-Workflows. Die Project-Dienstanwendung kann einer beliebigen Websitesammlung in einer SharePoint-Farm zugeordnet werden. Die Projektsynchronisierung kann mit einer SharePoint-Aufgabenliste erfolgen, in der SharePoint das Projekt verwaltet. Ein Enterprise-Projekt kann auch mit einer SharePoint-Aufgabenliste synchronisiert werden, in der Project Server die Vollständige Kontrolle behält. Architekturdiagramme und eine Erläuterung der Projektsynchronisierung finden Sie unter Project Server 2013-Architektur.
Es gibt viele neue Features in SharePoint Server 2013. Weitere Informationen finden Sie unter SharePoint für Entwickler.
Integration in Workflows
Workflows sind ein Hauptfeature der Projektportfolioverwaltung. Ein Projektlebenszyklus kann prozesse mit langer Ausführungsdauer umfassen, die sich über viele Phasen erstrecken. Zu den Governancephasen gehören Projektvorschläge, Analysen der geschäftlichen Auswirkungen sowie das Auswählen, Erstellen, Planen, Verwalten und Nachverfolgen von Projekten.
Project Server 2013-Workflows basieren auf der SharePoint 2013-Workflowplattform, die WF4 verwendet. Im Gegensatz zu früheren Versionen können deklarative Workflows für Project Server 2013 mithilfe von SharePoint Designer 2013 erstellt werden und sind sowohl für die lokale als auch für die Onlinenutzung zugänglich. Project Server-Workflows verwenden das SharePoint-Workflowsicherheitsmodell mit OAuth und können auf einer Project Web App-Website installiert werden. Abbildung 1 zeigt, dass SharePoint Designer 2013 einem Websiteworkflow für die Bedarfsverwaltung Phasen hinzufügen kann, in denen die Phasen in Project Web App definiert sind.
Abbildung 1: Hinzufügen einer Phase zu einem Workflow für Project Web App mithilfe von SharePoint Designer
Sie erstellen einen deklarativen Workflow, indem Sie Workflowphasen, Aktionen, Bedingungen und andere Elemente in einem Entwurfstool hinzufügen, das entweder SharePoint Designer 2013 oder Visual Studio 2012 sein kann. Das Entwurfstool speichert den Workflow dann als XAML-Code, der zur Laufzeit interpretiert wird. Deklarative Workflows können entweder lokal in Project Server 2013 oder in Project Online ausgeführt werden. Mithilfe von Visual Studio 2012 können Sie auch benutzerdefinierte Aktionen und Formulare für zusätzliche Steuerungen erstellen und Workflowvorlagen für die Wiederverwendung mit mehreren Project Web App-Instanzen speichern. SharePoint Designer 2013 kann benutzerdefinierte Aktionen nutzen, die in Visual Studio 2012 erstellt wurden.
Ein Project Server 2013-Workflow fungiert als App, in der ein Administrator, der über Entwurfsberechtigungen für Project Web App verfügt, einen deklarativen Workflow veröffentlichen und einem Enterprise-Projekttyp (EPT) zuordnen kann. Das EPT muss für ein Enterprise-Projekt vorgesehen sein, bei dem Project Server die vollständige Kontrolle behält. Eine SharePoint-Aufgabenliste kann keinen Project Server-Workflow verwenden.
OAuth ermöglicht Projektmanagern mit Projekterstellungsberechtigungen, den Workflow ohne Identitätswechsel aufzurufen. Workflowaufrufe an Project Server, z. B. zum Lesen eines benutzerdefinierten Feldwerts, um zu entscheiden, welcher Branch folgen soll, erfolgen im Auftrag des Projektmanagers. Um zu verhindern, dass der Projektmanager einen Workflow erstellt, der automatisch zur nächsten Phase wechselt, wird der Aufruf für den Wechsel zur nächsten Workflowphase als Workflowautor (der Administrator) ausgeführt. Im Gegensatz dazu führen Benutzer von älteren Project Server 2010-Workflows imitierte Anrufe über das Workflowproxybenutzerkonto aus, um Administratorzugriff im gesamten Workflow zu erhalten.
Obwohl project Server 2013 lokal kompilierte WF3.5-basierte Workflows verwenden kann, empfehlen wir, legacy-Workflows auf deklarative Workflows basierend auf WF4 zu aktualisieren. Die neuere Technologie ist skalierbarer und robuster. Business Analysts und PMO-Mitarbeiter können Workflowdesigns mithilfe von Visio 2013 erstellen oder aktualisieren und Project Server-Workflows ohne Codierung mithilfe von SharePoint Designer 2013 implementieren.
Informationen zum Erstellen eines deklarativen Workflows für Project Web App finden Sie unter Erste Schritte bei der Entwicklung von Project Server-Workflows. Einen Vergleich der Funktionen von SharePoint Designer und Visual Studio für Workflows finden Sie unter Entwickeln von SharePoint 2013-Workflows mit Visual Studio.
Clientseitiges Objektmodell
Für den programmgesteuerten Zugriff auf Project Online ist ein CSOM erforderlich, das auf dem SharePoint-CSOM basiert. Die Project Online-Authentifizierung erfolgt mit OAuth unter Verwendung einer Windows Live ID, nicht mit Project Server Forms-Authentifizierung oder Windows-Authentifizierung.
Im Folgenden finden Sie die Prinzipien und Features des CSOM in Project Server 2013:
Das CSOM ist auf einfache Bedienung ausgelegt. Beispielsweise verwenden Methoden und Eigenschaften Daten direkt nach Namen oder stellen sie bereit, anstatt viele GUIDs, changeXml-Parameter oder die Übergabe von Datasets zu erfordern.
Das Project Server-CSOM implementiert eine Teilmenge der PSI-Funktionalität basierend auf den häufigsten Anforderungen für Drittanbieterlösungen.
Das CSOM ruft die PSI intern auf, wird jedoch anders berechnet. Beispielsweise werden Aktualisierungen für alle Statusänderungen über die StatusAssignmentCollection.SubmitAllStatusUpdates-Methode durchgeführt, nicht durch die PSI-Methode Statusing.SubmitStatus für den Benutzer oder die SubmitStatusForResource-Methode für andere Ressourcen.
Auf das CSOM kann über einen WCF-Dienst (Client.svc) und nicht über die 22 öffentlichen Dienste der PSI zugegriffen werden.
Die Initialisierung des Project Server-CSOM erfolgt direkt über die ProjectContext-Klasse mit der Project Web App-URL, nicht mithilfe eines WCF-Verweises oder einer Proxyassembly.
Das CSOM implementiert mehrere Clientbibliotheken und Schnittstellen, die von der internen SharePoint-CSOM-Infrastruktur unterstützt werden. Die Clientbibliotheken und -schnittstellen umfassen Folgendes:
Microsoft .NET-Clientbibliothek in der Microsoft.ProjectServer.Client.dll Assembly
Silverlight-Bibliothek in der Microsoft.ProjectServer.Client.Silverlight.dll Assembly
Windows Phone 8-Bibliothek in der Microsoft.ProjectServer.Client.Phone.dll-Assembly
JavaScript-Bibliothek für Webanwendungen in der PS.js-Datei oder PS.debug.js-Datei
REST-Endpunkte für den Zugriff mit dem OData-Protokoll
Native Unterstützung für LINQ-Abfragen mit Filterung, um die zurückgegebene Datenmenge zu begrenzen
Das CSOM kann sowohl für Project Online-Projektmappen als auch für lokale Lösungen verwendet werden, unabhängig von der PSI und anderen Project Server-Assemblys wie Microsoft.Office.Project.Server.Library.dll.
Zusätzliche Funktionen des Project Server 2013-CSOM können basierend auf Anforderungen von Project Server-Partnern und der Entwicklercommunity für kumulative Updates und Service Packs in Betracht gezogen werden.
Hinweis
Das CSOM ist die bevorzugte Schnittstelle für Project Server-Entwickler von Drittanbietern. Wir empfehlen, dass Sie für die Entwicklung neuer Anwendungen das CSOM verwenden, sofern das CSOM alle für Ihre Anwendung erforderlichen Funktionen umfasst.
Informationen zur Entwicklung mit dem CSOM finden Sie unter Clientseitiges Objektmodell (CSOM) für Project 2013. Informationen zur REST-Schnittstelle in SharePoint-Anwendungen finden Sie unter Programmieren mit dem SharePoint REST-Dienst in der SharePoint 2013-Entwicklerdokumentation.
Änderungen in der Berichtsdatenbank
Die vier Datenbanken in Project Server 2010 werden in Project Server 2013 in einer einzelnen Project-Datenbank zusammengefasst. Der Standardname der Project-Datenbank lautet ProjectService. Berichtstabellen und -sichten behalten ihre vorherigen Namen bei, und Tabellen und Sichten aus den Datenbanken Entwurf, Veröffentlicht und Archiv haben die Präfixe draft
, pub
und ver
in der ProjectService-Datenbank. Beispielsweise ist die Tabelle der veröffentlichten Projekte pub. MSP_PROJECTS.
Wichtig
Der direkte Zugriff wird für die Tabellen und Sichten des Entwurfs (draft
Präfix), veröffentlicht (pub
) und Archivs (ver
) nicht unterstützt. Berichte sollten nur die Berichtstabellen und -ansichten mit dem Präfix dbo
verwenden. Beispiel: dbo. MSP_EpmProject Tabelle enthält die Liste der Projekte in der Project Web App-Instanz.
Es gibt nichts, das Sie aktiv daran hindert, direkten programmgesteuerten Datenbankzugriff zum Aktualisieren von Daten in einer der Tabellen und Sichten in der Project-Datenbank zu verwenden. Beachten Sie, dass der Project Professional-Cache, die Tabellen für Entwurfs- und veröffentlichte Daten und die Berichtstabellen alle auf einem Cachesynchronisierungsprotokoll basieren, das durch die direkte Datenbearbeitung unterbrochen werden kann. Wenn Sie Ihre Project Server-Datenbanken beschädigen oder clientseitige Project Professional-Caches mit direktem Zugriff auf Änderungsdaten beschädigen, sollten Sie gewarnt werden, dass der Produktsupport nicht helfen kann!
Project Server 2013 führt einen OData-Dienst für den Online- und lokalen Zugriff ein. Die Onlineberichtstabellen und -sichten werden nur über die OData-Schnittstelle verfügbar gemacht. Für die lokale Verwendung können Sie die OData-Schnittstelle verwenden oder direkt auf die Berichtstabellen und -sichten in der ProjectService-Datenbank in der SharePoint-Farm zugreifen. Project Online unterstützt keine mehrinstanzenfähige Datenbank. Das heißt, mehrere Instanzen von Project Web App verfügen jeweils über eine eigene Project-Datenbank. Der OData-Dienst führt intern SQL-Abfragen für die Berichtstabellen und -sichten aus und übermittelt eine XML- oder JSON-Nutzlast. Eine Einführung in den OData-Dienst für die Berichterstellung in Project Server 2013 und die ProjectData-Schemareferenz finden Sie unter ProjectData – Project OData-Dienstreferenz.
Allgemeine Informationen zu OData-Abfragen finden Sie unter OData: URI-Konventionen. Beispielsweise können Sie alle Projekte in einer lokalen Instanz von Project Web App anzeigen, bei der der Projektname mit "Test" beginnt, indem Sie die folgende Abfrage in einem Browser verwenden. Klicken Sie mit der rechten Maustaste auf die Browserseite, und klicken Sie dann auf Quelle anzeigen.
https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true
Wählen Sie zum Importieren von Projektdaten in PowerPivot in Excel 2013 im Menüband DATEN im Dropdownmenü Aus anderen Quellen die Option Aus OData-Datenfeed aus. Geben https://ServerName/ProjectServerName/_api/ProjectData/ Sie im Dialogfeld Datenverbindungs-Assistent den Datenfeedspeicherort ein, wählen Sie Weiter aus, und wählen Sie dann auf der Seite Tabellen auswählen des Assistenten die Tabelle Projekte aus. Benennen und speichern Sie die ODC-Datei, und wählen Sie dann Fertig stellen aus. Wählen Sie im Dialogfeld Daten importieren die Option PivotTable-Bericht aus. Wählen Sie auf dem Excel-Arbeitsblatt Felder für die PivotTable-Zeilen und -Spalten aus, die Sie anzeigen möchten.
Lokale Project Server-Benutzer, die über die richtigen Berechtigungen verfügen, können wie in Project Server 2010 direkt über Microsoft SQL Server auf die Berichtstabellen und -sichten zugreifen, um Berichte zu erstellen. In Project Server 2013 können Benutzer auch über die OData-Schnittstelle auf die lokalen Berichtstabellen zugreifen. Sie können Project Server-Daten online oder lokal über REST-Endpunkte für den OData-Dienst abrufen. Beispiel: dbo. MSP_PROJECT Tabelle und dbo. MSP_EpmProject_UserView Ansicht kann für Berichte verwendet werden. Alle Tabellen oder Sichten, die über ein draft
Präfix , pub
oder ver
verfügen, sind nur für die interne Verwendung durch Project Server und nicht für die Verwendung in Berichten vorgesehen. Beispiel: Der Entwurf. MSP_TASKS Tabelle und pub. MSP_PROJECTS_WORKING_VIEW Ansicht sind nicht dokumentiert und dienen nur zur internen Verwendung.
Hinweis
Sie können die lokale Berichterstellung erweitern, indem Sie Tabellen, Sichten, Felder und gespeicherte Prozeduren in einer separaten Datenbank hinzufügen. Sie sollten die vorhandenen Berichtstabellen und Sichten in der Project Server-Datenbank nicht ändern.
Die Berichtstabellen, Ansichten und Felder in der Project-Datenbank werden in einer HTML-Hilfedatei in einem späteren Update des Project 2013 SDK-Downloads dokumentiert. Eine Dokumentation zum OData-XML-Schema für den ProjectData-Dienst finden Sie unter ProjectData – Project OData-Dienstreferenz. Abfragen der Berichtstabellen und Sichten, die für Project Server 2010 erstellt wurden, funktionieren in den meisten Fällen mit der Project-Datenbank in Project Server 2013. Lokale Benutzer können wie derzeit auf die Project Server OLAP-Cubes in SQL Server Analysis Services zugreifen. In Project Online stehen keine OLAP-Cubes zur Verfügung.
Aufgabenbereich-Add-Ins in Project
Sowohl Project Standard 2013 als auch Project Professional 2013 unterstützen Aufgabenbereich-Add-Ins, die zum Integrieren und Anzeigen externer Inhalte auf einer Webseite verwendet werden können. Im Aufgabenbereich werden Webseiteninhalte angezeigt, die über JavaScript Zugriff auf Vorgänge, Ressourcen, Ansichten und allgemeine Projektdaten haben. Das JavaScript-Objektmodell für Project kann Informationen zu einem ausgewählten Vorgang oder einer ausgewählten Ressource sowie Daten in einer ausgewählten Zelle im Raster für Ansichten wie das Gantt-Diagramm abrufen. Aufgabenbereich-Add-Ins für Project können auch Ereignishandler für Vorgänge, Ressourcen implementieren oder geänderte Auswahlereignisse anzeigen.
Abbildung 2 zeigt das Aufgabenbereich-Add-In Hello ProjectData , das den ProjectData-Dienst abfragt und dann Daten im aktuellen Projekt mit den Durchschnittswerten für alle Projekte vergleicht. Der Project 2013 SDK-Download enthält den vollständigen Quellcode für das Add-In.
Abbildung 2: Ein Aufgabenbereich-Add-In in Project Professional kann auf Daten in Project Server zugreifen.
Hinweis
Project Standard 2013 kann über Aufgabenbereich-Add-Ins nicht direkt in Project Server 2013 integriert werden.
Aufgabenbereich-Add-Ins in Project Professional können Webparts unterstützen, die für Project Server 2013 erstellt wurden, sodass Entwickler eine Erweiterung erstellen können, sobald sie mit Project Web App und Project Professional ausgeführt wird. Allgemeine Aufgabenbereich-Add-Ins, die für andere Office 2013-Produkte entwickelt wurden, können auch mit Project Standard 2013 und Project Professional 2013 verwendet werden. Weitere Informationen finden Sie unter Aufgabenbereich-Add-Ins für Project.
Project Server-Ereignisempfänger
Es können mehrere Project Web App-Server (auch als Web-Front-End-Server oder WFEs bezeichnet) in einer SharePoint-Farm vorhanden sein, die die Back-End-Project-Dienstanwendung enthält. Ereignisempfänger werden auch Ereignishandler genannt. Lokale Ereignishandler können mit voll vertrauenswürdigem Code implementiert und für alle WFEs für eine lokale Project Server-Installation bereitgestellt werden. Remoteereignisempfänger können in Webdiensten auf lokalen oder Remoteservern implementiert werden und von mehreren WFEs und mehreren Project Server-Installationen darauf zugreifen. Project Online kann nur Remoteereignisempfänger verwenden.
Project Server-Ereignishandler werden von SharePoint für jede Project Web App-Instanz und nicht von einer bestimmten Project Web App-Einstellungsseite verwaltet. Wählen Sie in der Anwendung SharePoint-Zentraladministration die Option Allgemeine Anwendungseinstellungen, unter PWA-Einstellungen die Option Verwalten aus, und wählen Sie dann auf der Seite PWA-Einstellungen in der Dropdownliste Project Web App-Instanz die Instanz aus. Um einen lokalen Ereignishandler oder einen Remoteereignisempfänger hinzuzufügen, wählen Sie Serverseitige Ereignishandler aus.
Für eine lokale Installation von Project Server können Sie einen Remoteereignisempfänger als SharePoint-Feature erstellen, das die Microsoft.ProjectServer.Client.EventHandlerCreationInformation-Klasse im CSOM verwendet, und dann den Ereignisempfänger programmgesteuert mithilfe von Methoden in der EventHandlerCollection-Klasse verwalten. Bei Remoteereignisempfängern sind Vorereignisse synchron, Postereignisse sind asynchron, und es gibt ein Timeout für Fälle, in denen der Remoteereignisempfänger nicht zurückgibt.
Hinweis
Die SharePoint-Zentraladministration ist nur für lokale Installationen verfügbar. Für Project Online und SharePoint Online können Sie Remoteereignisempfänger mithilfe eines CSOM-basierten App-Pakets hinzufügen oder entfernen.
Auf der Seite Serverseitige Ereignishandler ist der Prozess zum Hinzufügen eines lokalen Ereignishandlers für eine lokale Project Server-Installation nahezu identisch mit dem Prozess, der im Thema Erstellen eines Project Server-Ereignishandlers und Protokollieren eines Ereignisses für Project Server 2010 beschrieben wird. Der Unterschied besteht darin, dass die Seite Neuer Ereignishandler über zusätzliche Optionen verfügt. Wählen Sie beispielsweise projekterstellung in der Liste Ereignisse und dann NEUER EREIGNISHANDLER aus. Auf der Seite Neuer Ereignishandler sind nur die beiden Felder Name und Reihenfolge erforderlich (siehe Abbildung 3). Wenn Sie einen lokalen voll vertrauenswürdigen Ereignishandler hinzufügen, fügen Sie das Feld Assemblyname und das Feld Klassenname hinzu. Lassen Sie die Endpunkt-URL leer. Wenn Sie einen Remoteereignisempfänger hinzufügen, fügen Sie endpunkt-URL hinzu, und lassen Sie Assemblyname und Klassenname leer.
Achtung
Wenn Sie sowohl den Assemblynamen/Klassennamen als auch die Endpunkt-URL angeben, ruft Project Server nur den lokalen (lokalen) Ereignishandler auf. Der Remoteereignisempfänger wird ignoriert.
Wenn Sie zwei Ereignishandler für dasselbe Ereignis erstellen, wobei ein Ereignishandler lokal und einer ein Remoteereignisempfänger ist und der Order-Wert für beide identisch ist, ignoriert Project Server den Remoteereignisempfänger.
Abbildung 3: Hinzufügen eines lokalen Ereignishandlers oder eines Remoteereignisempfängers
Wenn Sie Zugriff auf PSI-Datasets für einen lokalen Ereignishandler benötigen, können Sie die Microsoft.Office.Project.Schema.dll Assembly aus dem Verzeichnis [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c kopieren.
Anstelle der PSI empfiehlt es sich, die Ereignisklassen im Microsoft.ProjectServer.Client-Namespace zu verwenden. Für die Entwicklung mit dem CSOM ist keine Manipulation von Datasets erforderlich. Um Remoteereignisempfänger für Project Online zu entwickeln, müssen Sie die Event-Klasse und die EventHandlerCreationInformation-Klasse im CSOM verwenden.
Bevor Sie einen Project Server-Ereignishandler bereitstellen, installieren und testen Sie den Ereignishandler gründlich in einer Testinstallation von Project Server. Wenn bei einer lokalen Project Server-Installation der lokale Ereignishandler, den Sie hinzufügen, nicht mehr funktioniert, kann der Project Server 2013-Ereignisdienst die anderen gültigen benutzerdefinierten Ereignishandler nicht laden. In diesem Fall müssen Sie den Problemereignishandler entfernen und den Ereignisdienst neu starten.
Hinweis
Für eine lokale Project Server-Installation wird empfohlen, dass Sie zu Remoteereignisempfängern migrieren, indem Sie das CSOM zum Entwickeln von Ereignisempfängern verwenden. Da Remoteereignisempfänger keinen Code von Drittanbietern im Project Server-Ereignisdienst ausführen, sind Remoteereignisempfänger stabiler. Lokale Administratoren werden von der Verantwortung für die Wartung des Project Server-Ereignisdiensts befreit.
Allgemeine Informationen zu Ereignissen finden Sie unter Behandeln von Ereignissen in Apps für SharePoint.
Veraltete Features
Hinweis
Informationen zu Features und APIs, die in Project Server 2016 Preview veraltet oder entfernt wurden, finden Sie unter Was ist in Project Server 2016 Preview veraltet oder entfernt?
Veraltete Features sind in Project 2013 für einige Projektmappen weiterhin verfügbar, sollten aber nicht für neue Entwicklungen verwendet werden. Die meisten der folgenden Features und Methoden funktionieren nicht mit Project Online oder der standardmäßigen lokalen Installation von Project Server 2013 im SharePoint-Berechtigungsmodus. Vorhandene Lösungen, die diese Features verwenden, funktionieren möglicherweise nicht für ein Upgrade von Project Server 2010 auf Project Server 2013. Obwohl Lösungen, die veraltete Features verwenden, in einigen Fällen weiterhin funktionieren, werden sie nicht für alle Project 2013-Installationen vollständig unterstützt.
Wenn Ihre Lösungen veraltete Features verwenden, sollten sie vor der Bereitstellung gründlich getestet werden, und Sie sollten sie so ändern, dass sie unterstützte Features verwenden, sobald dies praktikabel ist. Informationen zum Konfigurieren der lokalen Project Server 2013-Sicherheit für den Project-Berechtigungsmodus finden Sie im Abschnitt SharePoint-Berechtigungsmodus unter Neuerungen für IT-Experten in Project Server 2013.
Psi-Erweiterungsszenarien für Erweiterungen sind veraltet und werden in zukünftigen Versionen nicht mehr unterstützt. Diese lokalen Project Server 2013-Szenarien ermöglichten die Integration mithilfe benutzerdefinierter WCF-Dienste (Windows Communication Foundation).
Projekt PSI Die Project-Klasse der PSI ist veraltet. Verwenden Sie für alle Neuentwicklungen das Project CSOM. Project Server 2013-Apps, die die Project PSI verwenden, funktionieren weiterhin, aber Project Online-Apps müssen alle PROJECT-Klassen-PSI-Methoden durch ihre entsprechenden CSOM-Methoden ersetzen.
Ressourcenplan PSI Die PSI des Ressourcenplans ist veraltet. Es wird weiterhin für die Project 2013-Entwicklung unterstützt, wird aber in zukünftigen Versionen nicht unterstützt.
ASMX-Schnittstelle für die PSI Die PSI enthält doppelte Schnittstellen für die Entwicklung lokaler Project Server-Erweiterungen. Die ASMX-Webdienstschnittstelle wurde mit der ersten Implementierung der PSI in Office Project Server 2007 eingeführt. Project Server 2010 hat die WCF-Dienstschnittstelle hinzugefügt, bei der das Objektmodell im Wesentlichen die ASMX-Webdienste dupliziert. Obwohl Project Server 2013 weiterhin sowohl ASMX als auch WCF unterstützt, sollten neue Projektmappen, die psi erfordern, die WCF-Dienste verwenden. Wenn möglich, sollten neue Lösungen mithilfe des CSOM geschrieben werden.
Die ASMX-Webdienste der PSI sind in Project Server 2013 veraltet. Um in zukünftigen Project Server-Versionen arbeiten zu können, müssen Lösungen, die die ASMX-Webdienste verwenden, neu geschrieben werden, um entweder die WCF-Dienste oder das CSOM zu verwenden. Weitere Informationen finden Sie im Abschnitt Aktualisieren von Anwendungen mit den Project Server-APIs unter Project Server-Programmierbarkeit.
Objektlinkanbieter (Object Link Provider, OLP) In früheren Versionen von Project Server bietet der ObjectLinkProvider-Dienst in der PSI (siehe WebSvcObjectLinkProvider eine Möglichkeit zum Verwalten von Webobjektverknüpfungen zwischen Enterprise-Projektaufgaben und spezialisierten SharePoint-Listen auf der Projektwebsite für Probleme, Risiken, Lieferumfang und Dokumente. In Project Server 2013 ist olp veraltet.
Sie können die RelatedItemManager-Klasse im SharePoint-CSOM verwenden, um Webobjektverknüpfungen zwischen Elementen in der Aufgabenliste und den anderen Listen in einer Projektwebsite zu erstellen, zu lesen und zu löschen. Wenn Sie z. B. einen Link aus einem Aufgabenelement zu einem Issue hinzufügen möchten, können Sie die AddSingleLink-Methode oder eine von zwei ähnlichen Methoden verwenden: AddSingleLinkFromUrl oder AddSingleLinkToUrl. Die RelatedItemManager-Klasse enthält auch Methoden zum Löschen eines Webobjektlinks und zum Lesen verwandter Elemente. Die entsprechende Klasse im JSOM (das JavaScript-Objektmodell) finden Sie unter SP. RelatedItemManager-Objekt (sp.js).
Es wird empfohlen, das SharePoint-CSOM zu verwenden, um OLP-artige Apps für eine lokale Installation von Project Server 2013 und für Project Online zu erstellen. Der Microsoft.SharePoint-Namespace enthält keine RelatedItemManager ****-Klasse.
Benutzerdefinierte Berechtigungen Benutzerdefinierte Sicherheitsberechtigungen für den Zugriff auf bestimmte Project Server-Features oder -Erweiterungen wurden in Office Project Server 2007 unterstützt, wo in einem SDK-Artikel erläutert wurde, wie sie durch direktes Ändern der veröffentlichten Datenbank erstellt werden. In Project Server 2010 funktionieren benutzerdefinierte Berechtigungen weiterhin, sind aber veraltet. In Project Server 2013 funktionieren benutzerdefinierte Berechtigungen nicht mit dem Standardmäßigen SharePoint-Berechtigungsmodus für lokale Installationen. Für den Project-Berechtigungsmodus werden benutzerdefinierte Berechtigungen unterstützt. Mit Project Online ist kein direkter Datenbankzugriff möglich.
Personifikation Der Identitätswechsel in PSI-basierten Apps, bei denen der Benutzer einer App die Sicherheitsberechtigungen eines anderen Project Server-Benutzers übernehmen kann, ist in Project Server 2013 veraltet. Wie bereits erwähnt, verwendet eine lokale Standardinstallation von Project Server 2013 den SharePoint-Berechtigungsmodus, der keinen Identitätswechsel in den Project Server-Sicherheitsgruppen zulässt. Weitere Informationen finden Sie unter Authentication, authorization, and security in SharePoint 2013.
Statusanwendungen sind typische Erweiterungen, die in früheren Versionen von Project Server möglicherweise einen Identitätswechsel verwendet haben. Project Server 2010 führte die ReadStatusForResource-Methode und die SubmitStatusForResource-Methode in der PSI zusammen mit der globalen StatusBrokerPermission-Berechtigung ein, die den Identitätswechsel zum Lesen und Aktualisieren des Status im Namen eines anderen Benutzers entfällt. Das CSOM in Project Server 2013 verwendet die zugrunde liegende PSI, um Statuserweiterungen transparent zu aktivieren, und kann für Project Online- oder lokale Installationen verwendet werden.
Berichtsdatenbankerweiterungen Das Hinzufügen benutzerdefinierter Tabellen und Sichten zur Berichtsdatenbank ist eine gängige Methode in früheren Versionen von Project Server. Da Project Server 2013 die vier Datenbanken früherer Versionen in einer Datenbank kombiniert, übertragen Upgrades keine benutzerdefinierten Tabellen, Sichten oder SPROCs in die Berichtstabellen in der Project Server 2013-Datenbank.
Es wird empfohlen, entweder SQL Azure oder eine separate SQL Server-Datenbank für benutzerdefinierte Berichtstabellen und -sichten zu verwenden, in denen Sie Datenbanksicherungen und -updates verwalten können. Für Project Online ist dies erforderlich.
Berichtend Die lokalen Berichtstabellen und Sichten in der Project Server-Datenbank und die OLAP-Cubes sind nicht veraltet und werden weiterhin vollständig unterstützt. Auf die Berichtstabellen und -sichten (die Berichtsdatenbank in früheren Project Server-Versionen) kann in Project Online jedoch nicht zugegriffen werden. Ebenso sind OLAP-Cubes nur bei lokalen Installationen von Project Server 2013 verfügbar. Für Berichterstellungsanwendungen mit Project Online können Sie den ProjectData-Dienst über REST-Abfragen mit dem OData-Protokoll verwenden.
Projektleitfaden Der Projektleitfaden ist ein Standardfeature in office Project 2007-Desktopanwendungen, bei dem HTML- und JavaScript-Inhalte in einem Aufgabenbereich interaktive Anleitungen zum Erstellen und Verwalten von Projekten bieten. In Project 2010 ist der Projektleitfaden nicht in einer Standardinstallation verfügbar, kann aber über VBA oder ein VSTO-Add-In aktiviert werden. Der Project 2010 SDK-Download enthält die geänderten Projektleitfadendateien.
Das VBA-Objektmodell und das Microsoft.Office.Interop.MSProject-Objektmodell in Project 2013 enthalten weiterhin die 22 Member der Application-Klasse und der Project-Klasse , die den Projektleitfaden verwalten können. Project 2013-Aufgabenbereich-Apps können jedoch mit Aktionen in einem Projektberater-Aufgabenbereich in Konflikt stehen, und Inhalte des Projekthandbuchs können nicht einfach im Office Store verteilt oder verkauft werden. Es wird dringend empfohlen, Projektaufgabenbereichslösungen mit Office-Add-Ins und nicht mit benutzerdefinierten Projektleitfadeninhalten zu entwickeln. Weitere Informationen zum Projektleitfaden finden Sie in der Project 2010 SDK-Dokumentation.
Vergleich von Project Server lokal mit Project Online
Damit Sie entscheiden können, ob Sie Project Server lokal oder Project Online verwenden möchten und welche Arten von Erweiterungen Sie in beiden Fällen entwickeln können, vergleicht Tabelle 2 die erweiterbaren Features einer lokalen Installation von Project Server 2013 mit Project Online. Tabelle 2 enthält keine Unterschiede in der Bereitstellung, Verwaltung oder Nutzung. Weitere Informationen zu Project Online und Project Server 2013 finden Sie unter Project 2013 für Entwickler und Project Online.
Tabelle 2. Erweiterbarkeit von Project Server lokal und Project Online
Feature | Project Server lokal | Project Online |
---|---|---|
Programmierbarkeit |
CSOM-basierte Apps; Konsistentes Programmiermodell – .NET, Silverlight, Windows Phone Clientbibliotheken – JavaScript-Bibliothek für benutzerdefinierte Seiten, Webparts und Menübanderweiterungen – OData- und REST-Protokolle PSI-basierte Apps; komplexes Programmiermodell, kann auch Apps für Verwaltung, Portfolioanalyse, Benachrichtigungen, Sicherheit im Projektmodus, Warteschlangensystem und andere Bereiche erstellen. PSI-Erweiterungen Benutzerdefinierte Berechtigungen mit Sicherheit im Projektmodus (veraltet) Identitätswechsel mit der PSI (veraltet) Voll vertrauenswürdiger Code; Installieren von Erweiterungen in der SharePoint-Farm |
CSOM-basierte Apps; Konsistentes Programmiermodell – .NET, Silverlight, Windows Phone Clientbibliotheken – JavaScript-Bibliothek für benutzerdefinierte Seiten, Webparts und Menübanderweiterungen – OData- und REST-Protokolle Psi kann verwendet werden, wird aber nicht unterstützt: keine OAuth-Verbindung und keine Dienst-zu-Dienst-Verbindungen Keine Erweiterungen der CSOM-API Keine benutzerdefinierten Berechtigungen Kein Identitätswechsel Kein voll vertrauenswürdiger Code |
Benutzerdefinierte Datenbanken |
– SQL Azure – SQL Server (Änderung von Berichtstabellen und Sichten in der Project Server-Datenbank wird nicht unterstützt) |
– SQL Azure – SQL Server (Änderung von Berichtstabellen und Sichten in der Project Server-Datenbank wird nicht unterstützt) |
Berichterstellung |
-
ProjectData-Dienst ; OData- und REST-Protokolle – Berichtstabellen und Sichten in der Project Server-Datenbank – OLAP-Datenbank |
-
ProjectData-Dienst ; OData- und REST-Protokolle |
Ereignishandler |
– Remoteereignisempfänger, auf die über WCF-Endpunkte zugegriffen werden kann – Voll vertrauenswürdige Ereignishandler, die in der SharePoint-Farm installiert sind |
– Remoteereignisempfänger, auf die über WCF-Endpunkte zugegriffen werden kann |
Workflows |
Deklarative Workflows, erstellt mit SharePoint Designer 2013 – Nur für eine bestimmte Project Web App-Instanz verwenden – Kann ein Workflowdesign aus Visio 2013 importieren – Kann benutzerdefinierte Aktionen importieren und verwenden Deklarative Workflows, erstellt mit Visual Studio 2012 – Erstellen einer App, die Workflows enthalten kann – Erstellen eines SharePoint-Lösungspakets (WSP), das Workflows enthalten kann – Erstellen von Workflowvorlagen für die Wiederverwendung – Erstellen und Verwenden von benutzerdefinierten Aktionen Kann legacykompilierte Workflows verwenden, die mit WF3.5 erstellt wurden (empfehlen, ein Upgrade auf einen deklarativen WF4-Workflow durchzuführen) |
Deklarative Workflows, erstellt mit SharePoint Designer 2013 – Nur für eine bestimmte Project Web App-Instanz verwenden – Kann ein Workflowdesign aus Visio 2013 importieren – Kann benutzerdefinierte Aktionen importieren und verwenden Deklarative Workflows, erstellt mit Visual Studio 2012 – Erstellen einer App, die Workflows enthalten kann – Erstellen eines SharePoint-Lösungspakets (WSP), das Workflows enthalten kann – Erstellen von Workflowvorlagen für die Wiederverwendung – Erstellen und Verwenden von benutzerdefinierten Aktionen |
Distribution |
– Office Store (für CSOM-basierte Apps) – Privater App-Katalog in SharePoint - Intranetdateifreigabe |
– Office Store – Privater App-Katalog in SharePoint |
Zusammenfassung
Project Server 2013 bietet eine Vielzahl neuer Entwicklungsfunktionen und Szenarien, mit denen Partner und Kunden die Funktionen und nützlichen Funktionen von Project Server in großen Unternehmen und kleinen Organisationen anpassen und erweitern können. Sie können die Infrastruktur für Office 2013 und SharePoint 2013 verwenden, um Apps für Project 2013 zu erstellen und zu verteilen, die die Marktfähigkeit und Verwendung benutzerdefinierter Anwendungen erheblich erweitern können. Einige Erweiterbarkeitsfeatures und -methoden früherer Versionen sind in Project 2013 veraltet, insbesondere die ASMX-Webdienste der PSI und Features, die Identitätswechsel oder direkte Datenbankänderungen beinhalten, die nicht mit Project Online verwendet werden können.
Die Einführung des CSOM ermöglicht den programmgesteuerten Zugriff auf Project Online für eine Vielzahl von Geräten und durch Die Verwendung von JavaScript in Webanwendungen. Das CSOM bietet im Vergleich zur PSI ein konsistenteres Programmiermodell. Der Zugriff auf Project Server-Daten kann auf viele andere Arten als in früheren Versionen erfolgen, z. B. über den OData-Onlinedienst und rest-Endpunkte für Berichterstellungsdaten in der Project-Datenbank. Vorhandene Berichte funktionieren für die lokale Verwendung weiterhin auf die gleiche Weise; neue Berichte haben mehr Flexibilität.
Office-Add-Ins bieten eine neue Möglichkeit für den Verkauf von Lösungen und die Integration von Project Standard 2013 in Webinhalte und andere Office 2013-Produkte. Sie können auch neue Möglichkeiten zum Integrieren von Project Professional 2013 in Project Server-Daten und SharePoint-Listen über Office-Add-Ins im Aufgabenbereich erstellen.
Weitere Informationen zum Entwickeln von Apps und zur Verwendung der Programmierbarkeitsfeatures und des CSOM von SharePoint Server 2013 finden Sie unter SharePoint für Entwickler und Office für Entwickler.
Siehe auch
- Project Server 2013-Architektur
- Project-Programmieraufgaben
- Clientseitiges Objektmodell (CSOM) für Project 2013
- ProjectData – OData-Dienstreferenz für Project
- Aufgabenbereich-Add-Ins für Project
- OData: URI-Konventionen
- SharePoint für Entwickler
- Office für Entwickler
- Behandeln von Ereignissen in Apps für SharePoint
- AppSource
- Project Online