Project 2013 developer documentation
Find documentation, code samples, how-to articles, and programming references to help build apps for the Office Store or a private app catalog and to customize and integrate Project Server and the Project clients with a wide variety of other desktop and business applications for enterprise project management.
Last modified: April 04, 2016
Applies to: Project Professional 2013 | Project Server 2013 | Project Standard 2013
Welcome to the Microsoft Project 2013 Software Development Kit (SDK). The SDK contains documentation, code samples, how-to articles, and programming references to help build apps for a public store or private app catalog and to customize and integrate Project Server and the Project clients with a wide variety of other desktop and business applications for enterprise project management.
Project Server 2013 is built on the SharePoint Server 2013 platform, and Project 2013 includes much of the same infrastructure as the other Office 2013 applications. For documentation of the model for SharePoint Add-ins, SharePoint-based workflows, Web Parts, development with other SharePoint features, and documentation of Office Add-ins, see Apps for Office and SharePoint.
Project Server 2013 is a platform for building on-premises or cloud-based enterprise project management solutions and for building apps that end users can discover and acquire through a public store or a private app catalog. The Project Server 2013 architecture is based on the platform introduced in Microsoft Office Project Server 2007, with many additions and improvements. The new features include a client-side object model (CSOM) to enable access to Project Online, an OData service for online access to Project Server reporting data, remote event receivers, workflow architecture that is based on version 4 of the Windows Workflow Foundation (WF4), and Office Add-ins, which is a common architecture for task pane extensions in Microsoft Office 2013 client applications.
A major change in Project Server 2013 is the use of a single database in place of the Draft, Published, Archive, and Reporting databases in Project Server 2010. For more information about new features and deprecated features, see Updates for developers in Project 2013. For information about changes in the Project Server platform, see Project Server 2013 architecture. For an overview of the development platform that exists in Project Server 2010 and that Project Server 2013 is based on, see Getting Started with Development for Project 2010 on MSDN.
Project Server 2013 is built on the Microsoft .NET Framework 4 and Microsoft SharePoint Server 2013. The articles and samples in this SDK provide a starting place for developing custom solutions and apps; they do not address all programmability features of Project Server or Project Professional. The Project Developer Center includes links to Project articles, blogs, videos, webcasts, visual how-to articles, and other resources.
The Project 2013 SDK includes developer information for Project Server 2013, Project Web App, Project Professional 2013, and Project Standard 2013. The SDK articles are designed to help developers and administrators evaluate Project and Project Server for extensibility and plan for custom solutions.
We would like to hear from you. In the online topics on MSDN, you can add comments, code samples, or flag the content as a bug in the Community Content section at the bottom of each page. When you install the Project 2013 SDK download, the local documentation articles each have a Send Feedback link that is located below the title. At any point in reading the SDK, choose the link to send an email to the SDK team. You can send corrections, a request for clarification or a code sample, or other comments, and help us make the content stronger.
The Project 2013 SDK download is available in the Microsoft Download Center (https://www.microsoft.com/en-us/download/details.aspx?id=30435%20). The download includes Project2013SDK.HxS (the file that includes this article), related code samples, redistributable assemblies, and other resources. The Project 2013 SDK does not yet include the Reporting datatables reference.
What's new in the Project SDK
The main purpose of the Project 2013 SDK is to provide an overview of programmability and documentation of the CSOM and related features for creating apps, the Project Server Interface (PSI) services, and task pane apps for Project Professional 2013. The Project 2013 SDK includes step-by-step examples of key areas for customization of Project Server 2013 and the Project clients (Project Standard 2013, Project Professional 2013, and Project Web App). The documentation is incomplete; more content will be added in later releases.
The underlying technology for network communication is Windows Communication Foundation (WCF) in Project Server 2013, including cloud scenarios that use the Project Server CSOM and on-premises development using the PSI. The legacy ASMX web service references are also based on the WCF architecture. Setting a reference to a PSI web service (ASMX file) in Project Server 2013 requires appending the ?wsdl URL option to the path. For example, http://ServerName/ProjectServerName/_vti_bin/PSI/Resource.asmx?wsdl.
Although it addresses only the most commonly used Project Server features, we recommend that you use the CSOM where possible for applications both on-premises and in the cloud. Although it is still available in Project Server 2013, the ASMX interface for the PSI is deprecated. For on-premises applications that require full access to the PSI, you should use the WCF interface for the PSI, rather than the ASMX interface.
Development on a Windows 7 computer is supported by copying the CSOM assemblies for Project Server 2013 and for SharePoint Server 2013 to the development computer. The SDK download includes the CSOM assemblies for Project Server and a redistribution license. To get the SharePoint CSOM assemblies, see SharePoint Server 2013 Client Components SDK.
For development with the WCF services, you can set a reference to a PSI proxy assembly or add PSI proxy files to the solution. You can set direct references to the front-end Project Server ASMX web services from a remote computer within the same domain, or use a proxy assembly or proxy files. The SDK download includes proxy files for the WCF services and the ASMX web services, plus scripts for building the proxy assemblies and for generating updated proxy files.
In Project Server 2013, you can create declarative Project Server workflows by using Microsoft SharePoint Designer 2013, for both on-premises and online use. SharePoint Designer 2013 uses the workflow activity properties and methods in the CSOM. Development and deployment of Visual Studio 2012 solutions that include Project Server Web Parts, or customizations of Project Web App, is supported only on a Project Server computer.
For an overview of new programmability features and deprecated features in Project Server 2013, see Updates for developers in Project 2013. Another major change in Project Server 2013 is the use of WF4-based workflows to manage the creation and approval of project proposals that are based on enterprise project templates.
New topics include the following:
Walkthrough: Create a SharePoint-hosted Project Server add-in shows how to use Visual Studio for remote development of an app that can be used with Project Server 2013 and Project Online.
Project Server 2013 architecture explains the major new features of the Project Server platform.
Getting started with the Project Server CSOM and .NET shows how to use the client-side object model to develop applications, instead of using the PSI services.
Task pane apps for Project Professional introduces Office Add-ins, as applied to Project 2013. The Office 2013 SDK includes articles that show how to develop task pane apps for Project and the other Office 2013 clients.
Create a Project Server workflow for Demand Management shows how SharePoint Designer 2013 can be used to create Project Server workflows.
ProjectData - Project OData service reference includes an overview of the OData interface for Project Server reporting, plus XML reference topics for the ProjectData service.
Topics in the Microsoft.ProjectServer.Client namespace and new methods in the PSI services have only minimal documentation. Most of the reference topics for the PSI services are unchanged from the July 2011 release of the Project 2010 SDK.
Future SDK releases
The Project 2013 SDK will be updated with new articles and reference content for the general availability release.
There are two top-level sections in the Project 2013 SDK:
The Project conceptual and how-to articles section contains overviews of major features and articles with step-by-step procedures for development.
The Project Server 2013 class library and web service reference section documents the object model of the public assemblies, the Microsoft.ProjectServer.Client.dll assembly for the CSOM, and the PSI services.
The Conceptual and how-to articles section includes the following:
What's new and what's out for developers describes the major new programmability features and deprecated features in Project 2013.
Project overview for developers includes articles about Project Server architecture, articles that show how to get started developing with the CSOM, information about new features in VBA for Project, and a reference to the Office 2013 SDK, which contains topics about developing task pane apps for Project Professional 2013.
Project 2013 programming references includes an introduction to the PSI reference for Project Server 2013, information about Project Server error codes, and the OData schema reference for the ProjectData service.
Following are requirements to develop and deploy EPM solutions and apps from the public Office Store that integrate with Project Server 2013:
We recommend that you develop custom solutions in a test environment. If you develop solutions for the current builds of Project Server 2013 and Project 2013, they should be recompiled with updated references, and may need additional changes, to work with later releases. Solutions developed for any pre-release version may not work with the released version.