Export (0) Print
Expand All
0 out of 1 rated this helpful - Rate this topic

What's New for Developers in Project 2010

Published: May 2010

Microsoft Project Server 2010 builds on the framework introduced with Microsoft Office Project Server 2007. Project Server 2010 integrates the functionality of Microsoft Office Project Portfolio Server 2007 with workflows, custom fields, the Reporting database (RDB), and Online Analytical Processing (OLAP) cubes. Web services in the Project Server Interface (PSI) include a Windows Communication Foundation (WCF) interface. Project Web App is improved with more functionality for enterprise project management (EPM), portfolio analyses and workflow for demand management, greater performance and scalability, and a deeper integration with Microsoft SharePoint Server 2010—and a customizable Ribbon interface.

This article contains the following sections:

Service Pack 1 (SP1) for Project 2010 and Project Server 2010 is releasing at the end of June, 2011. After installing SP1, you can programmatically set status on manually scheduled tasks by using the Statusing service of the PSI. A cumulative update (the June 2011 CU) will release shortly after SP1. The June CU also includes changes that improve messages for canceled events.

Note Note

There are no object model changes in the PSI for SP1, so the proxy files in the Project 2010 SDK download are the same as in previous releases of the SDK. After installing SP1, you do not need to generate new PSI proxy files with the GenWCFProxyAssembly.cmd script, as described in How to: Create a Proxy Assembly for WCF Services.

After installing SP1, you can:

  • Support multiple browsers. In addition to Internet Explorer, Mozilla Firefox, Apple Safari, and Google Chrome are supported by the Project Web App main page and all pages in the My Work section of the Quick Launch.

  • Edit timephased data for manually scheduled tasks. For a code example that uses the Statusing service to update work for manually scheduled tasks or auto-scheduled tasks, see the UpdateStatus method, the SubmitStatusForResource method, or the ReadStatusForResource method. The complete Microsoft Visual Studio 2010 solution is in the Project 2010 SDK download.

  • Use Project Web App to edit project plans that contain effort-driven tasks or fixed-work tasks. Before SP1, that could be done with Project Professional 2010, or programmatically by using the PSI.

  • Synchronize auto-scheduled tasks from Project Professional 2010 to a SharePoint task list. Before SP1, you could synchronize only manually scheduled tasks. Because SharePoint does not include a task scheduling engine, schedule changes to auto-scheduled tasks in SharePoint did not get recalculated in Project. Now changes made in SharePoint are shown correctly in Project when you synchronize, for both manually scheduled tasks and auto-scheduled tasks.

For more information about major changes in Project SP1, see Announcing Service Pack 1 for Microsoft Project & Project Server 2010 in the Project team blog.

Among the new features in Microsoft Project Standard 2010 are a Ribbon interface and manually scheduled tasks. Project Professional 2010 adds a new Team Planner view for managing assignments and enables sharing and synchronizing projects on SharePoint Server 2010.

There are many new features in Project Server 2010. Some do not have a major programmability story, such as single entry mode for time tracking (combining timesheet entry with project task status data). Those features will be documented in the product help and end-user documentation on Microsoft Office Online and in topics targeted at administrators and IT professionals on Microsoft TechNet.

Project Server 2010 performance and scalability is also improved in many areas such as task status, timesheets, project management, and portfolio management. Use of WCF with the PSI improves security, performance, and scalability. For example, you can change the transport protocol of WCF-based applications by using configuration files, without changing the application code and recompiling. Project Web App caches many of the PSI calls where data does not change significantly.

Note Note

For development with Project Server 2010, you can generally use Microsoft Visual Studio 2008, or Microsoft Visual Studio 2010 with the Microsoft SharePoint Foundation 2010 tools extensions. Project Server 2010 requires Visual Studio 2010 to fully enable development of features such as Project Server workflows, project detail pages, and WCF-based applications. Visual Studio 2010, with the SharePoint Foundation 2010 tools extensions, can deploy site and list workflows directly to SharePoint sites.

Integration with SharePoint Server

Project Server 2010 depends on the Enterprise edition of SharePoint Server 2010, the successor to Microsoft Office SharePoint Server 2007. New features in Project Web App require SharePoint Server 2010, such as pages that use the SharePoint Server Report Center for storing and viewing reports. Portfolio analysis also extensively integrates with the SharePoint Server workflow architecture. Before you can install Project Server 2010, you must install the Enterprise edition of SharePoint Server 2010. For an architectural diagram, see Project Server 2010 Architecture.

SharePoint Foundation 2010 succeeds Windows SharePoint Services 3.0. SharePoint Foundation 2010 remains a free download to provide core SharePoint functionality on servers that do not run Project Server 2010 or SharePoint Server 2010.

There are many new features in SharePoint Foundation 2010 and in SharePoint Server 2010. For more information, see the SDKs for SharePoint Foundation 2010 and SharePoint Server 2010.

Project Portfolio Services

The essential functionality of Project Portfolio Server 2007 is now integrated and extended within Project Server 2010. The PSI Web services are extended to include portfolio analysis, workflows, and business drivers. The benefits of having portfolio analysis capabilities in Project Server 2010 include the following:

  • Project Web App provides both project and portfolio management capabilities in one application, with a consistent and extensible SharePoint user interface.

  • A common data store eliminates the need for the Project Server Gateway.

  • Administration is centralized.

  • Duplicate functionality, such as a module for capturing project requests, is eliminated.

  • The common object model enables much better extensibility and integration with other applications.

  • Reporting and OLAP cubes can easily provide integrated views.

The core feature of Project Portfolio Server 2007 is the Optimizer. Integration with Project Server 2010 does the following:.

  • Analyzes a set of project proposals based on business driver priorities.

  • Iimproves Optimizer usability and provides integrated security with Project Server permissions, international reach, and ease of deployment.

  • Eliminates duplication of functionality and data in the separate Project Server and Portfolio Server products.

  • Business driver libraries, cost constraints, and related project entities also are accessible through Web Parts and SharePoint Server 2010 lists.

Because Project Server 2010 adds departmental custom fields, projects can be evaluated for business driver priorities at the departmental level. Users can associate business drivers with one or more departments. Reports that compare individual priorities enable executives to arrive at a consensus on driver priority at the departmental or organizational level. Figure 1 shows the general process for portfolio planning among executives, the project management office (PMO), and a resource manager (RM).

Figure 1. Project portfolio planning process

Project Portfolio planning process

The PSI provides full create, read, update, and delete (CRUD) capabilities for business drivers and driver prioritizations. A user with appropriate permissions can define business drivers by using Project Web App or another application that uses the PSI. If you try to delete a driver that is in use by a project portfolio, the PSI generates an exception that includes the list of prioritizations that use the driver.

Project Detail Pages

Demand management for project proposals and the portfolio planning processes in Project Web App use project detail pages (PDPs) that can be integrated with workflows. PDPs are Web Part pages; they are built with the SharePoint Server infrastructure to show or edit details of entities for project planning such as project information, resources, schedule, or strategic impact. Additional infrastructure for PDPs in Project Server 2010 incorporates the business case capability of the Builder component in Project Portfolio Server 2007.

PDPs can be used in many different ways in Project Web App and other applications in the SharePoint farm where Project Server resides. You can create three kinds of PDPs in the Project Detail Pages page of Project Web App (http://ServerName/ProjectServerName/Project%20Detail%20Pages/Forms/AllItems.aspx). Use the Documents tab of the page to create a PDP.

  • Project   Used for editing project details in a non-workflow enterprise project template, or in other applications.

  • New Project   Used for creating a project. This type of PDP is required with an enterprise project template that has a workflow for portfolio analysis.

  • Workflow Status   Shows the current stage and status for a project proposal.

You can customize PDPs by using Web Parts and a ribbon interface. For a code example, see Walkthrough: Creating a Project Server Web Part with a JS Grid.

Project Server 2010 includes the following new Web Parts for PDPs:

  • Workflow Status Web Part   Enables users to check the status of Project Server workflows.

  • Project Fields Web Part   Enables users to select or edit project custom fields for the PDP. Project summary task fields such as cost and actual work are read-only. Custom fields such as the project name, department, managing workflow, start date, and owner are read/write.

  • Strategic Impact Web Part   Includes all business driver definitions filtered by one or more departments. This Web Part enables users to rate the project impact on each driver.

PDPs offer a project management experience that is improved from the project proposal feature in Project Server 2007. Project Web Access in Project Server 2007 has only two pages for project proposals that cannot be customized: a page for an alphabetical list of all project custom fields and a page for tasks in the proposed project. Project Server 2010 enables users to create an unlimited number of pages and to control exactly what project data is available on each page.

For example, users can create workflow-controlled pages by using the Project Fields Web Part to capture detailed project and business case information. The pages can include rich text and can access the Project Timeline Web Part and Schedule Web Part by using the PDP infrastructure. PDPs can include simple Web Parts, such as the Content Editor Web Part that displays rich text and images, or custom Web Parts that capture or display data from an external line-of-business (LOB) system.

PDPs provide a highly customizable project-creation experience. They can integrate with the Ribbon user interface in Project Web App, provide Quick Launch navigation elements specific to individual project data, and dynamically filter custom fields by departmental association.

PDPs can integrate Project Web App with many different project management scenarios, such as the following:

  • Assessing project impact of strategic objectives.

  • Providing workflow-driven capture of details in project proposals.

  • Providing workflow-driven strategic alignment; for example, get executive buy-in before proceeding to a certain stage.

  • Performing portfolio analyses based on cost and resource capacity constraints.

  • Performing project cost budgeting.

  • Performing customized resource planning.

  • Providing step-by-step detailed task scheduling.

Many of these scenarios are involved with demand management. For more information, see Workflow and Demand Management.

Workflow Integration

Workflows are a core feature of project portfolio management. A project life cycle can include long-running processes that span many phases. Governance phases include project proposals, analyses of business impact, selection, creation, planning, managing, and tracking.

Although Project Portfolio Server 2007 includes workflows, Project Portfolio Server itself is not extensible and the workflows are difficult to build. The integration in Project Server 2010 of portfolio and project management provides a rich and extensible platform for building workflows that are based on the SharePoint Server 2010 workflow platform.

Project Server 2010 workflows extend the SharePoint workflow security model to allow installation across a SharePoint farm and access by multiple users who have the appropriate Project Server permissions. Workflows are run by impersonation of a special Project Server user. Impersonation and classes in the Microsoft.Office.Project.Server.WebServiceProxy namespace enable built-in Project Server workflow activities to call the PSI on the application server, instead of calling the PSI through the front-end Web server (Project Web App).

To directly use the PSI from a custom workflow, you must create a custom workflow activity. For information about creating a custom workflow activity, and a complete code sample, see the \Samples\Workflow\CustomActivityWorkflow subdirectory in the Project 2010 SDK download. For a link to the download, see Project 2010 SDK Documentation.

In addition to portfolio management, Project Server 2010 also enables the creation of workflows for resource, task, and timesheet management. For more information, see Workflow and Demand Management. For a series of how-to articles, see Developing Project Server Workflows.

Dual Interfaces for the PSI

The PSI Web services are accessible through WCF and through ASP.NET Web Services (ASMX), using the Web Service Description Language (WSDL). The WCF interface consolidates development and deployment of service-oriented solutions, and can improve performance. Other benefits of the WCF interface include better scalability, improved interoperability, and more secure and reliable messaging. WCF represents the future of distributed application development for solutions based on Microsoft applications.

For more information, see Overview of WCF and the PSI. For procedures and sample code that show how to use WCF, see Walkthrough: Developing PSI Applications Using WCF.

Changes in the Reporting Database

The RDB in Project Server 2010 has several improvements. For information about custom field data in the RDB, see Custom Fields and the Reporting Database.

Table 1 lists new tables and views, many of which address portfolio analysis and governance workflows (see Workflow and Demand Management). The RDB schema is documented in the pj14_ReportingDB.chm file in the Project 2010 SDK download.

Reports based on user views and fields in the RDB in Project Server 2007 will, in most cases, work with the RDB in Project Server 2010. OLAP views might change.

Table 1. New tables and views in the RDB (as of build 3224)

New Tables

New Views

Multilevel custom field values and strings

Project decisions

Enterprise project type

Timesheet line and line status: user views

Metadata attributes for OLAP departments and settings

Timesheet line custom field

OLAP database

Primary objective and project custom field association

Optimizer decision type

Areas impacted

Planner decision type

Department

Committed projects

Project impact

Task class association

Relative importance

Workflow phase

Technologies involved

Workflow stage

 

Workflow status information and status type

 

Timesheet custom field association

 

Timesheet line and period status

 

The RDB in Project Server 2010 also includes the following data in other default tables and views:

  • Project category, company, keywords, subject, description, and title fields in MSP_EpmProject tables and views. These fields are in the .MPP file properties and are useful in creating report headers and footers without resorting to custom fields.

  • The enterprise project type (for more information, see the Enterprise Project Templates section in Workflow and Demand Management).

  • Timesheet custom fields. Reports can show different timesheet custom field values for different team members.

  • Timesheet administrative time, included by using a "pseudo-project" for administrative (nonwork) time.

  • Multilevel custom field support, up to 4000 characters per field. This enables building project detail pages by using custom fields from portfolio analyses.

  • Combined work contour in the MSP_EpmAssignmentByDay_UserView table in the RDB and in the AssignmentTimephased cube. This gives project managers more control over tracking and reporting on resource capacity and work.

In Project Server 2007, creating reports with the previous data required custom programming and complex queries of the RDB. In Project Server 2010, the data is easily retrievable.

In Project Server 2007, only the RDB could be stored in a different server running Microsoft SQL Server from the server where the Draft, Published, and Archive databases are stored. Although the RDB is still the only documented Project Server 2010 database, all four databases can be configured for different SQL Server instances, which can improve performance and scalability for large installations.

Departmental Custom Fields

Many enterprise customers manage projects for multiple departments on one instance of Project Web App. An important issue is how to deal with different requirements for enterprise custom fields in different departments. In Project Server 2007, all users can see all enterprise custom fields, even though a subset of the custom fields might apply to only one of the departments. Some customers have created workarounds to the problem by using local custom fields with additional custom programming, but that is a poor long-term solution.

Project Server 2010 introduces departmental custom fields. Each department can use its own set of enterprise project, task, and resource custom fields, and departments can also share specified custom fields. Project Server can filter out custom fields that are not assigned to a department, so users see only relevant custom fields.

Project Server 2010 can restrict users who have permission to edit custom fields in one department from using Project Web App to edit the custom fields of another department where they do not have permission. Project Professional enables access to all custom fields, although it can filter lists based on the department for a project. If you are not a member of a department, then you only have to fill in the global required fields, not other departmental fields.

The PSI is extended to specify departments and includes setting custom fields and permissions by department. The PSI can also create departmental collections, associate projects, resources, lookup tables, and custom fields within a collection, and define which custom fields are required in a departmental collection. Collections are defined in the default Collections lookup table. The Collections lookup table can be modified, but it cannot be deleted. The PSI enables users to edit custom fields in collections owned by other departments.

OLAP Multicubes

The Cube Building Service (CBS) in Project Server 2010 supports building departmental and multiple data-sliced cubes. Site collection administrators for EPM can build multiple customized cubes, such as:

  • Cubes that contain only data for project and resources that they administer.

  • Cubes that contain only the facts and dimensions that they select.

Multicubes enable you to slice the data in cubes by picking groups of data and adding fields from each group. Administrators can constrain access to cubes by department. Project Server 2010 also supports localized data in cubes, with the use of translators. All data can have localized field name aliases, so you can build PDPs that show field names in the language of the locale where they are deployed. Cubes support "manually scheduled task" data, with tasks shown as properties instead of in a task dimension. Manually scheduled tasks are a new feature in Project Professional 2010, which allow you to choose the task mode as automatically scheduled (the traditional mode) or manually scheduled. Cubes exclude inactive tasks by default, but can include a dimension for task assignments and show active or inactive tasks.

The CBS in Project Server 2010 also reduces blocking of RDB updates when a cube build begins. One of the problems with OLAP cubes for large deployments of Project Server 2007 is that project reports that use the RDB can be delayed by waiting for the central cube to be rebuilt before seeing new data. Project Server users who have the relevant administrative permissions can build smaller custom cubes at a time they select. Project Server administrators can push the administrative load of building new custom fields and cubes down to departmental teams, thereby helping to reduce the squabbles about data in the cubes and timing of reports. For more information about the CBS, see Cube Build Service.

OLAP multicubes do not support Microsoft SQL Server Analysis Services 2000 or Decision Support Objects (DSO). The minimum requirement is Microsoft SQL Server 2005 SP2 and the Analysis Management Objects (AMO) managed code API. AMO is also a 64-bit implementation in the 64-bit versions of SQL Server and reduces version configuration issues for upgrades.

You can port cube event code that uses Visual Basic Script Edition (VBScript) in DSO to Microsoft Visual C# or Microsoft Visual Basic code in AMO. For more information, see Porting DSO to AMO (http://msdn.microsoft.com/en-us/library/ms403376.aspx).

JS Grid Control

Project Web App in Project Server 2010 does not use ActiveX controls, and therefore there are no issues with deployment of ActiveX controls to team members' computers. Pages in earlier versions of Project Web App that used the ActiveX grid, such as the Project Details page, now use the new JS Grid control control that is installed with SharePoint Foundation 2010. The JS Grid control was developed for Project Server, but is being delivered with SharePoint Foundation 2010 for use in other SharePoint applications.

Developers can add the JS Grid control to a custom SharePoint page or Web Part and program it with ECMAScript (JavaScript). The JS Grid control includes many features such as the use of CSS files for easy modification of styles and an object model that enables developers to use the grid in a wide variety of applications—not just in Project Web App.

Caution note Caution

The DHTML grid is still used in some Project Web App pages for administrators and project managers, just as in Project Server 2007. Because the DHTML grid relies on the internal and undocumented Microsoft.Office.Project.Server.PWA.dll assembly, it cannot be used by third-party developers.

For a code sample that uses the JS Grid control on a Project Web App page, see Walkthrough: Customizing the PWA Ribbon and Accessing the JS Grid. For a code sample that uses the JS Grid control in a Web Part, see Walkthrough: Creating a Project Server Web Part with a JS Grid. For a general scenario about third-party development using the JS Grid control, see the Extend the JS Grid control Control section in Scenarios for Project Server Development.

Note Note

General articles about the JS Grid control are in the SharePoint Foundation 2010 SDK. They include an overview of JS Grid control features, how to create a basic grid and a pivoted grid, and JS Grid control implementation tips. For more information, see JS Grid Control. For the managed code reference, see Microsoft.SharePoint.JSGrid Namespace.

Ribbon User Interface in the Project Client Application

Project 2010 includes the Fluent user interface (the ribbon). You can modify the ribbon by using Microsoft Visual Basic for Applications (VBA) macros or by using Microsoft Office development tools in Microsoft Visual Studio 2010. For more information, see How to: Use VBA to Add a Custom Command to the Ribbon and How to: Use Managed Code to Add a Custom Command to the Ribbon

Ribbon User Interface in Project Web App

SharePoint Foundation 2010, SharePoint Server 2010, and Project Web App in Project Server 2010 are adopting the ribbon user interface component. The Project Web App experience will be more consistent with the Project Professional 2010 user experience, so project managers can work in similar ways within both client applications. The ribbon interface also makes it easier for users familiar with other SharePoint applications to move to Project Web App.

Figure 2. Ribbon interface in the Project Center page

Ribbon interface in the Project Center page

Pages in Project Web App that are frequently used by the PMO, project managers, resource managers, and team members use the Server Ribbon interface (Figure 2). Other pages that are infrequently used, such as administrative pages in Server Settings and some pages in Personal Settings, do not need the Ribbon.

The ribbon is customizable and extensible. In Project Server 2007, it was difficult or impossible for third-party developers to customize many pages in Project Web App. Project Server 2010 makes it easier to customize and extend the nonadministrative pages. For more information, see the Customize the Project Web App Ribbon section in Scenarios for Project Server Development. See also How to: Modify the Ribbon in PWA and Walkthrough: Customizing the PWA Ribbon and Accessing the JS Grid.

Note Note

Project Web App is a SharePoint application. However, Project Server does not support customization of Project Web App master pages using Microsoft SharePoint Designer 2010. You can customize the master pages of project sites. For more information, see Project Server Programmability.

Timesheet Single Entry Mode

Project Server 2010 introduces a new time-tracking mode that unifies the data entered via the timesheet and status pages in Project Web App. The timesheet single entry mode is implemented through the Timesheet methods in the PSI to provide integrated access to Administrative time. The single entry mode is augmented with additional data that is required to transfer items not previously available in the Timesheet schema.

Note Note

To set timesheet single entry mode, on the Server Settings page in Project Web App, click Timesheet Settings and Defaults in the Time and Task Management section. On the Timesheet Settings and Defaults page, click Single Entry Mode.

When programmatically reading data that users enter in the single entry mode, you should use a combination of the Timesheet and Statusing methods.

  • Use the Statusing methods for task assignment data such as regular billable work and overtime work.

  • Use the Timesheet methods for other timesheet line types, including Administrative time and timesheet line classes used for project task assignments.

Important note Important

The Statusing methods support only regular work and overtime work. They have no concept of timesheet line classifications or nonbillable time. If you use nonstandard or nonbillable timesheet line classifications, then you should sum pre-existing timesheet data and subtract that from the Statusing data. When a user saves data in single-entry mode, Statusing methods add nonstandard and nonbillable time as regular or overtime work.

To replicate the full functionality of the Project Web App user interface when updating data, you should use the new TimesheetDataSet.StatusingChangeLogDataTable class. For information about the StatusingChangeLogDataTable schema, see the properties of the TimesheetDataSet.StatusingChangeLogRow class, such as ENTITY_TYPE and PID.

Note Note

The StatusingChangeLogDataTable is not designed for timephased data changes, such as those that are provided by the PeriodChange element in the ChangeXML parameter for Statusing methods. This is because Project Server generates timephased data changes from the core timesheet tables.

Integration with Exchange Server

Project Server 2007 integrates with the Microsoft Office Outlook 2007 client application, which enables team members to see and report time on assignments via an Outlook add-in. Project Server 2010 integrates directly with Exchange Server 2007 SP1 (or later), not with Outlook, so team members anywhere with access to Exchange Server can interact with assignment data in Outlook or Microsoft Outlook Web Access.

Project Server sends updated task and assignment information to Exchange Server, which handles all client interaction with Outlook and Outlook Web Access. Exchange Server notifies Project Server when an Outlook client changes the assignment data. Project Server spawns a queue job that gets the data from Exchange Server, and then uses the public Statusing API to update the information in Project Web App.

Although the ExchangeSync Web service is private and for internal use only in Project Server 2010, third-party developers can use the Exchange Server API to access the data that Outlook uses. For example, third-party developers can set an Assignment event handler that checks assignment changes from Outlook. A third-party application can also implement a Web service that iterates over team members' Exchange Server mailboxes and have Exchange Server send notifications of changes in the same way that Project Server gets notifications.

Project Server 2010 provides a wealth of new development capabilities and scenarios that partners and customers can use to adapt and extend the capabilities and usefulness of Project Server in large enterprises and in small organizations. The integration of Project Server 2010 with SharePoint Server 2010 enables easier customization of many pages in Project Web App and the use of many new technologies and SharePoint features. Use of WCF improves performance, security, and deployment of client applications that connect with Project Server.

Demand management of project proposals integrates the processes of project portfolio analysis with workflows and custom project detail pages in Project Web App. The JS Grid control enables Project Server to remove all dependencies on ActiveX controls. Departmental custom fields improve the use and security of Project Server in large organizations and enable building multiple OLAP cubes by department. Integration with Exchange Server, instead of directly with Outlook, enables team members to easily access and update assignment data on mobile devices and from anywhere that they can access Exchange Server.

For more information about the programmability features of server products in the Office 2010 release, see the SharePoint Server 2010 and SharePoint Foundation 2010 SDKs.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.