What the PSI Does and Does Not Do
Applies to: Office 2010 | Project 2010 | Project Server 2010 | SharePoint Server 2010
The Project Server Interface (PSI) in Microsoft Project Server 2010 is designed to complement the capabilities of Microsoft Project Professional 2010, rather than provide a server-based alternative for all Project Professional functions. Third-party developers can use the PSI to help create Web Parts for Project Web App and project workspaces, create custom Windows and Web applications, develop workflow logic for project portfolio management, and integrate with other Microsoft Office and enterprise applications.
This article includes the following sections:
Usage Scenarios for the PSI
What the PSI Does Not Do
Usage Scenarios for the PSI
Following are some usage scenarios that the PSI supports for server-side projects and calculations.
Workflows for demand management Use the PSI in workflow activities to modify and update project proposals based on enterprise project templates. Use project custom fields to tag the project with information needed for the initiation and approval process. Add tasks to identify project phases for key milestones or deliverables. When project proposals are approved, a workflow can change the proposals into full-scale projects that are managed with Project Professional.
Read data in the Published or Archive databases Because direct database access to the Draft, Published, and Archive databases is not supported, you can use the PSI to read data that is not available in the Reporting database. For example, get information about project versions, dates, and changes that are stored in the Archive database, and then populate the AJAX Grid in a Web Part with the information.
Maintenance projects Create placeholder projects to use with resource plans. Reserve or book time against resources for maintenance work or base business. Maintenance projects generally do not have tasks.
Financial projects Create projects for time capture through the timesheet for integration with a financial system. Create a hierarchy of financial codes that reflect the cost breakdown structure of the financial system. These projects do not require scheduling or status updates.
Integrate with project accounting systems Capture the resource costs and expenses associated with projects to feed financial and billing systems and for budget comparison purposes. Synchronize tasks, resources, and assignments between the systems. Capture timesheet data in one system to feed the other (which timesheet is used depends on needs of the organization or of individual projects).
Integrate with work or task management systems Synchronize tasks and assignments between Project Server and systems such as Microsoft Visual Studio Team Foundation Server. The 2010 version of Team Foundation Server integrates with Project Standard or Project Professional. The integration with Project Server uses components developed with the PSI. For more information, see Visual Studio Application Lifecycle Management.
Process updates from team members For projects that are not actively managed, automatically update projects on the server with progress and other changes from project team members. Projects can be updated and republished without a project manager reviewing the results or making adjustments to the plan.
What the PSI Does Not Do
Although there are many things the PSI can do, there are some things the PSI does not do. The following sections include actions that require Project Professional 2010.
Local Data
Manipulating data in local projects (.mpp files). For example, defining cost rate tables or availability contours for local resources.
Defining or editing local base calendars or resource calendars, including calendar exceptions.
Defining local custom fields. However, the PSI does support editing local custom field values on tasks, resources, and assignments.
Enterprise Data
Checking out or editing the enterprise global template. The enterprise global data in Project Server 2010 is a set of binary data tables in the Published database, not a project template as in Office Project Server 2007 and earlier versions.
Defining or editing enterprise calendars. The Calendar methods manage only calendar exceptions.
Master Projects and Cross-Project Links
Creating master projects and inserting subprojects.
Scheduling a critical path across a master project.
Creating cross-project links.
Resources
Requesting or performing resource leveling.
Changing the resource on an assignment. However, you can use the PSI to delete the assignment and create a new one.
Deleting or replacing a resource that has actual work accepted (actuals).
Changing a resource type between Work, Material, and Cost.
Creating or editing resource calendars.
When adding a resource to a task, the PSI does not automatically redistribute work the way Project Professional does. It is up to the developer to choose and explicitly set the work distribution on the assignments.
Cost Resources
- Editing, creating, or deleting cost resources and assignments using the Project methods. The Resource methods can create cost resources but cannot edit them.
Work Contours
Editing timephased data.
Note
The UpdateStatus method in the Statusing Web service can edit timephased actuals on assignments after the project manager updates and publishes the assignment data.
Setting or changing the assignment contour type (such as flat, back-loaded, or front-loaded).
Baselines and Earned Value
Saving a baseline or editing baseline data.
Setting a progress date.
Calculating variance and earned value.
Interactive Scheduling
- Supporting interactive scheduling. Because Project Server handles interactions asynchronously, interactive scheduling should be done with Project Professional.
WBS
- Defining a work breakdown structure (WBS) code mask.
Tasks
Changing the task type (fixed work, duration, or units).
Changing whether a task is effort-driven.
Changing task fixed-cost accrual.
Changing the content of the TASK_NOTES field. The PSI can read only the text part of the task notes, which are .rtf binary data. However, you can edit assignment notes (ASSN_NOTES), which are text data. The Reporting database does not include task or assignment notes.
Creating or editing recurring tasks.
Assigning or changing the task calendar on existing tasks.
Creating a new task with a task calendar.
Changing the value of the TASK_IGNORES_RES_CAL field (task ignores resource calendar).
Changing the active status of a task by using QueueUpdateProject, if additional changes are made in the same call. For more information, see the Project Scheduling on the Server section in Project Server Programmability.
Summary Tasks
Creating or changing assignments on summary tasks.
Note
We recommend that you do not make assignments on summary tasks with Project Professional or any other method. For more information, see the Project Scheduling on the Server section in Project Server Programmability.
Editing summary task fields that are normally rolled up from the subtask. Server-side projects always roll up summary information, instead of setting information on the summary task and pushing it down to the subtasks. You can edit only the following fields on summary tasks:
Task dependencies
Non-formula custom fields
TASK_FIXED_COST_ACCRUAL (set the value only when creating the task)
For the project summary task, the PSI limitations are the same as for Project Professional. The PSI can edit budget assignments—including cost budgets.
Project-level Calculation Options
Changing a project type between Schedule From Start (SFS) and Schedule From Finish (SFF). The PSI can create a project as either SFS or SFF, but once created it can be changed only in Project Professional.
Changing the project base calendar (CAL_UID) after project creation.
Changing options for calculations. You can use the PSI to set the following calculation options when the project is created, but changing the options requires Project Professional. In the Backstage view, click Options, and then click the Schedule tab in the Project Options dialog box).
See Also
Concepts
Project Server Programmability