Skip to main content

Project developer curriculum

The Project Developer Curriculum is a collection of resources for developers of solutions for Microsoft Office Project Server 2007 and Microsoft Project Server 2010. You can compare development features for Microsoft SharePoint 2010 and Project Server 2010, and quickly find the main articles and code samples in the Project 2007 SDK and the Project 2010 SDK, the MSDN Code Gallery, and related MSDN webcasts.

The Project Developer Curriculum is compiled by Steven Haden, Microsoft Corporation.

SharePoint 2010 and Project 2010 development approach comparison

Feature
SharePoint 2010
Project Server 2010
Notes
UI control (Ribbon API)
Full
Full
Client Object Model (OM)
Full
Partial
Yes, for custom Web Parts
JavaScript
Full
Full
CustomAction for PWA
Ajax JS Grid
Full
Full
SilverLight
Full
Full
Yes, for custom Web Parts
Workflow
Full
Full
SharePoint Designer is not supported for authoring Project Server specific workflows.
Server Object Model (WCF)
Full
Full
LINQ
Full
Partial
Yes, for custom Web Parts
Exposing Open Data protocol (as REST services)
Full
Partial
For any SharePoint lists - including out-of-the-box project sites
Event handling
Full
Full
Solution packaging (WSP)
Full
Full
SharePoint Designer 2010
Full
Partial
Limited use (no PWA, no workflow)
Dedicated Reporting Database
Not included
Full
Including multi-dimensional OLAP database
Development platform with VS 2010
Windows 7 and Windows Server 2008 R2
Windows Server 2008 and higher

Project 2010 SDK

Getting Started with Development for Project 2010 is an overview Project 2010 development, including using the PSI, event handlers, and checking errors. The article also includes a summary of documentation sources for Project.

Project Server 2010 Architecture describes the major parts of the Project platform, including the Project clients and Project Server.

Workflow and Demand Management provides an overview of governance workflows for project proposals, enterprise project templates, phases, and stages of a project life cycle, and project detail pages.

Scenarios for Project Server Development describes new development scenarios for Project Server 2010.

Cube Build Service lists the OLAP cubes available in Project Server 2010 and summarizes the main new features of the Cube Build Service (CBS).

Custom Fields in Project 2010 lists new features for custom fields in Project 2010. Subtopics include explanations of local and enterprise custom fields, graphical indicators, and using custom fields with the Reporting database and OLAP cubes.

Project Client Programming summarizes changes in the VBA object model for Project 2010.

Blogs

List of Project 2010 SDK samples

Samples Subdirectory
Description
CustomizeProjectCenter

Customizing the PWA Ribbon and Accessing the JS Grid.

Walkthrough: Customizing the PWA Ribbon and Accessing the JS Grid

EventHandlers

Includes sample event handlers for the custom field Created post-event (which is described in the Getting Started article) and the project Creating pre-event.

See Getting Started with Development for Project 2010 and How to: Create a Project Server Event Handler and Log an Event.

Impersonation
Using Impersonation with WCF: see How to: Use Impersonation with WCF.
ManagedCodeReference
Code samples in the managed code reference for the following methods: QueueCreateProject, ReadCustomFields2, and ReadLookupTables. The solutions also use the WriteFaultOutput method for listing errors that is described in the Code Example for WCF section of the Project Server Error Codes topic.
RibbonCustomization
MultiAuthentication
ASMX- and WCF-based solutions used for multi-authentication, which are described in Prerequisites for ASMX-Based Code Samples and Prerequisites for WCF-Based Code Samples
ProjectGuide
The default Project Guide files from Office Project 2007, modified for compatibility with Project 2010.
ProjectGuide\ProjectGuideAddIn
Sample code that shows how to use Project Guide files in Project 2010, with a custom ribbon tab. The sample code uses Office development tools in Visual Studio 2010.
ProjTool_P14
PSIExtensions
VSTO
Microsoft Office development tools in Microsoft Visual Studio 2010 solutions named RibbonAddIn and RibbonAddIn_VB for modifying the Project 2010 ribbon, as described in How to: Use Managed Code to Add a Custom Command to the Ribbon.
WCFHelloProject
Two variations of a Visual Studio solution described in Walkthrough: Developing PSI Applications Using WCF.
WebParts\ListProjects
The ListProjects Web Part solution that is described in Walkthrough: Creating a Project Server Web Part with a JS Grid.
WebParts\ListProjects_Sorting
The ListProjects solution that implements column sorting in the JS Grid control.
Workflow\BranchingWorkflow
The Visual Studio 2010 solution for the BranchingWorkflow solution described in Developing Project Server Workflows.
Workflow\SampleProposal2
The Visual Studio 2010 solution for the Sample Proposal workflow that is installed with Project Server 2010.
Workflow\CustomActivity
A solution for creating and using a custom workflow activity.

List of Project 2007 SDK samples

Samples Subdirectory
Description
ChangeXML Utility

A Test application as a model for other specialized applications or to generate values for the ChangeXML parameter in Statusing methods.

How to: Generate ChangeXML for Statusing Updates

Custom Web Parts

How to create a custom Web Part for Microsoft Office Project Server 2007 that you can use to display the upcoming tasks for a specified project.

Creating Custom Web Parts for Project Server 2007

ERPConnector

How to integrate Project Server with enterprise resource planning applications. Synchronize human resources data, create projects and tasks based on finance system orders, and export work actuals to a financial accounting system.

ERP Connector Solution Starter shows how to integrate Project Server with enterprise resource planning applications such as mySAP ERP Human Capital Management and mySAP ERP Financials.

Impersonation
LoginDemo
NotificationsEventHandler

Learn how to extract the default XSLT files, configure an SMTP virtual server for a test installation of Project Server, and create an event handler for the Notifications Sending event that uses a custom XSLT to send an e-mail for a specific alert or reminder.

How to: Customize E-Mail for Project Server Notifications

OLP Example

ObjectLinkProvider (OLP): Link tasks to any kind of SharePoint list item, including issues, risks, deliverables, and custom lists.

How to: Use the OLP to Link an Object to a Task

ProjectWorkspace

Learn to create and register a new project workspace template, and to change the default template that Project Server uses when a new project is published.

Extending the Project Workspace Template

ProjTool

The ProjTool application source code in the Project 2007 SDK download includes many PSI examples that use the Project, Resource, LookupTable, CustomFields, and other Web services.

Using the ProjTool Test Application

PSIExtensions
Report Pack
TestEventHandler

Code Gallery and CodePlex

MSDN Webcasts

MSDN Webcasts on Solution Starters

Title
Level
Abstract
Presenter
200
This webcast will go over the user experience of these tools.
Sam Chung,
Program Manager, Microsoft Corporation
200
This webcast will go over the user experience of these tools.
Sam Chung,
Program Manager, Microsoft Corporation
400
This webcast drills down and provide detailed code-level walkthrough for Bulk Edit and Bulk Import Solution Starters.
Mike Shughrue,
Principal Consultant, Microsoft Corporation
400
This webcast drills down and provide detailed code-level walkthrough for Demand Management Import, Export and Association Tool Solution Starters.
Mike Shughrue,
Principal Consultant, Microsoft Corporation
400
This webcast drills down and provide detailed code-level walkthrough for Sequential Workflow Builder, Workflow Visualization Solution Starters.
Mike Shughrue,
Principal Consultant, Microsoft Corporation
400
This webcast drills down and provide detailed code-level walkthrough for Project Detail Pages extensions using Excel Services and Forms Services - Cost and Benefit, InfoPath/Forms Services Form Viewer Web part Solution Starters.
Mike Shughrue,
Principal Consultant, Microsoft Corporation

MSDN Webcasts on Project 2010 Workflow Development

Title
Level
Abstract
Presenter
200
This webcast will cover technical details of how workflows work within Project Server 2010. We will go into how we are built on top of SharePoint, how workflows connect with PWA, and what customizations can be done through UI level.
Sam Chung,
Program Manager, Microsoft Corporation
400
This webcast will cover the end to end story of creating workflows within Visual Studio. We will discussing how to setup Visual Studio, how to create a basic workflow, and go over the different activities a developer will need in order to create a Project Server 2010 workflow.
Sam Chung,
Program Manager, Microsoft Corporation
300
This webcast will cover the different approaches customers and partners can take to create Project Server 2010 Workflows. Whereas previous only Visual Studio was supported for creating Project 2010 Workflows, investments within this area has now opened up different avenues for our customers and partners to create these workflows. In particular we will be covering some tools and partnerships which have been created for this particular purpose.
Sam Chung,
Program Manager, Microsoft Corporation

MSDN Webcasts on Project 2010 Business Intelligence

Title
Level
Abstract
Presenter
300
Webcast 1 users will have the ability to understand how to utilize Excel Services, Reporting Services and Dashboard Designer to create organizational specific Dashboards.
Marc Soester,
Project MVP, General Manager, i-PMO
300
Within Webcast 2 users receive a deep dive experience on how to generate reports utilizing Project Servers data sources. This web cast will also allow users to generate a Visio Services Report and Power Pivot analytics by utilizing the Project Server 2010 Data Sources.
Marc Soester,
Project MVP, General Manager, i-PMO

Webcasts: "Real-World Solution" Project Developer Series

Title
Level
Abstract
Presenter
300
A client has requested a Project Center view that displays the number of active issues for each project. This is not possible out of the box.
Stephen C. Sanderlin,
Project MVP, Vice President, msProjectExperts
300
A client has requested a SQL Reporting Services report that displays sensitive financial data. However, they only want executors of the report to see information on projects to which they have access.
Stephen C. Sanderlin,
Project MVP, Vice President, msProjectExperts
300
You are creating a custom Windows application for a client that extracts and displays Project and Resource information. Because the PSI provides no way to filter these entities prior to retrieval from the PSI, you must retrieve all of the projects or resources in order to filter them by Custom Field value. Because this client has some international users on slow WAN links, you must minimize the payload sent to the user by the PSI call.
Stephen C. Sanderlin,
Project MVP, Vice President, msProjectExperts
300
A client would like to export data from Project Server into a legacy Line of Business system. This system only accepts data in a CSV format.
Stephen C. Sanderlin,
Project MVP, Vice President, msProjectExperts

Other MSDN Project 2010 Webcasts

Title
Level
Abstract
Presenter
300
This webcast covers Project Server development features from a Microsoft SharePoint developer's perspective. We explain the logical architecture of Project Server in a SharePoint farm, compare development features, and give real-world examples.
Steven Haden and Olivier Laymand,
Senior Consultants, Microsoft Corporation
200
In this webcast, we provide an overview of the programmability enhancements that are in the upcoming versions of Microsoft Office Project 2010 and Microsoft Office Project Server 2010. We highlight Windows Communication Foundation, Ribbon programmability, and the new programmability features such as Workflow. We also discuss writing backwards compatibility for Microsoft Office Project 2007 applications.
Chris Boyd,
Program Manager, Microsoft Corporation
400
The first in a series of webcasts on extending grid pages in Project Web App it will focus on initializing custom grid code and interactions between the grid and the Project Web App Ribbon. In particular we will see how to add additional functionality to the project center.
Pat Malatack,
Program Manager, Microsoft Corporation
400
This second grid talk will focus on the use of events and delegates to interact with the timesheet grid in a way that allows one to at custom features and functionality to that page.
Pat Malatack,
Program Manager, Microsoft Corporation
400
In this final grid extensibility talk we will walk through even more grid customizations including adding custom commands to the column header dropdown and custom row header states.
Pat Malatack,
Program Manager, Microsoft Corporation
300
This presentation will focus on Project Client user interface customization. In particular, the new Ribbon interface and custom task panes. It will also introduce the Project 2010 VSTO add-in and show how to use the Ribbon designer.
Chris Boyd,
Program Manager, Microsoft Corporation
200
Learn about the Project 2010 SDK content for Project Professional as well as for Project Server. This Web Cast explores the major parts of the SDK and includes development demonstrations using some the new Project 2010 features.
Jim Corbin,
Senior Programming Writer, Microsoft Corporation
400

Using the extensibility features of Microsoft Project 2010, I will show you how to :

  1. Create a list of tasks in Microsoft Project that will require updating during a regular status update cycle
  2. Display that list as flexible grid using a Windows Form that can be sorted.
  3. Export the data to an XML file for opening in another program such as Excel or a Browser.

We'll do this using Visual Studio, so it will be for real.

Jim Aksel,
Project MVP, Director, Celeris Systems

Other MSDN Project 2007 Webcasts

Title
Level
Abstract
Presenter
200
The Microsoft Office Enterprise Project Management (EPM) 2007 Report Pack provides rich reports for common information needs. The EPM 2007 Report Pack is a collection of 12 Microsoft SQL Server Reporting Services (SSRS) reports designed for various user groups of the EPM solution. In this webcast, we provide an overview and demonstration of the EPM 2007 Report Pack. We discuss the different usage scenarios the reports are tailored to fit and review the components used to move, store, and render the reports. With this information, you should have a better understanding of how to use the EPM 2007 Report Pack to provide business value for your organization
Bulent Guzel,
Senior Consultant, Microsoft Corporation , and T.R. Sloan, Solutions Architect, Microsoft Corporation
300
During this webcast we will explore a new solution starter for Microsoft Office Project Server 2007, EPM Auditing. EPM Auditing provides a framework to capture event data from Project Server 2007 and use the data for reporting, debugging, auditing, or whatever use you find. We will analyze all of the components that make up EPM Auditing. We'll then dive into the code, because this solution is made to be extended and customized.
Larry Duff,
Engagement Manager, Microsoft Corporation
300
In this webcast, we show you how to develop against the Microsoft Office Project client object model. We look at using Microsoft .NET and Microsoft Visual Studio Tools for the Microsoft Office System (VSTO) for programming to supplement standard Microsoft Visual Basic for Applications (VBA), and we examine connecting to Microsoft Office Project Server via the Project client object model.
Larry Duff,
Engagement Manager, Microsoft Corporation
400
During this webcast, we analyze all of the components that make up Project Server 2007. Once we examine the components, we discuss their importance in programming Microsoft Office Project Server 2007
Larry Duff,
Engagement Manager, Microsoft Corporation
400
In this webcast, we provide an overview of what the Microsoft Project Server Interface (PSI) is and how the PSI is built. We also discuss the concepts of using Web services, custom datasets, and error handling.
Larry Duff,
Engagement Manager, Microsoft Corporation
400
In this webcast, we walk you through each of the Microsoft Project Server Interface (PSI) Web services, identify key usage of each of the Web services, and provide tips and tricks for working with PSI Web services. Part A will cover the following Administrative PSIs: Admin, Archive, CubeAdmin, Events, LoginForms, LoginWindows, Notifications, ObjectLinkProvider, QueueSystem, and WssInterop.
Larry Duff,
Engagement Manager, Microsoft Corporation
400
In this webcast, we walk you through each of the Microsoft Project Server Interface (PSI) Web services, identify key usage of each of the Web services, and provide tips and tricks for working with PSI Web services. Part B will cover the following Project PSIs: Calendar, CustomFields, LookupTable, Project, Resource, ResourcePlan, Security, Statusing, and TimeSheet.
Larry Duff,
Engagement Manager, Microsoft Corporation
400
During this webcast, we describe how events extend Microsoft Office Project Server 2007, build handlers for different events explaining when or when not to use them, and demonstrate how to use workflow as a way to illustrate event usage.
Larry Duff,
Engagement Manager, Microsoft Corporation