Getting Started: Developing with Project 2003
Microsoft® Office Project 2003
Microsoft Office Project Server 2003
Summary: There are many different approaches to developing extensions for Microsoft Office Project 2003, or integrating Project with other applications. In general, Project development can be categorized as client-based or server-based. Frequently, one solution combines both client and server extensions. This article summarizes the technologies for client- and server-based development for Project 2003, and points to resources for specific information and sample downloads. This article will be updated as necessary when new information for the Project 2003 SDK becomes available. (3 printed pages)
You can extend or integrate Microsoft Office Project Standard or Project Professional in the following ways:
- Microsoft Visual Basic for Applications (VBA): The built-in VBA macro recorder and Integrated Development Environment (IDE) enable you to create simple macros to automate repetitive tasks. You can also develop simple or complex extensions that integrate the Project client with other applications such as Microsoft Office Word 2003 and Microsoft Office Excel 2003 in the Microsoft Office System, and the hundreds of other applications that include VBA.
VBA Help is built into Project Standard and Project Professional, and documents and explains how to use the properties, methods, events, and objects in the Project object model.
- Project Guide and Custom Views: The Project Guide was introduced in Project 2002, and is improved in Project 2003. Project Guides are Office task pane-like wizards or views that help lead users through tasks within specific project management goals. You can customize the default Project Guide for your customers, or create new Project Guide content. Essentially, you create an XML content definition that references HTML pages, using script code that accesses the Project object model.
- OLE DB Provider: You can read data from Project files on a local computer, or from Project Server, through the Project OLE DB provider. However, the preferred method for accessing Project Server data is with the Project Data Service (explained later in this article). For more information on the Project OLE DB provider, see PJOLEDB.HTM in the Project installation directory. The default English installation directory is Program Files\Microsoft Office\OFFICE11\1033\, where 1033 is the Locale ID (LCID). The LCID for other localized versions varies; for example, the LCID for Japanese is 1041.
- COM add-ins: A Component Object Model (COM) add-in provides new functionality to Project, such as a custom dialog box that is accessed from a new menu item and adds new features. For a template that uses Visual Basic 6.0, see Create a COM Add-in for Microsoft Office Project 2003. For an example that uses Visual C#, see Creating Managed COM Add-ins for Microsoft Office Project 2003.
- Integration with managed code: You can use the Primary Interop Assembly (PIA) that is installed with Project 2003 to integrate the COM-based Project object model with managed code assemblies and applications that are developed with Visual Basic .NET, Visual C#, and other languages that use the Microsoft .NET Framework.
The Project 2003 PIA is normally installed with Project on your computer. To see it, you can open the global assembly cache as follows: On the Windows Start menu, click Run, and then type assembly in the drop-down list box. This opens the assembly window, where you can scroll and see Microsoft.Office.Interop.MSProject. If you don't see the Project PIA in the global assembly cache, along with the other PIAs for the Microsoft Office 2003 applications that are installed on your computer, see How to: Install Office Primary Interop Assemblies. For more information on integrating Project and developing extensions with the .NET Framework, see Managed Code and Office Programming with Visual Studio .NET.
Microsoft Office Project Server 2003 is where most of the action is for Project development in an enterprise project management (EPM) environment. Development for Project Web Access is server-based, because the pages you see in Project Web Access are from Project Server and Microsoft® Windows SharePoint™ Services.
- Project Data Service (PDS): The PDS is an extensible XML-based API for Project Server. The PDS was introduced in Microsoft Project Server 2002, and in Project Server 2003 the PDS is significantly expanded for enterprise projects, timesheet methods, and user management.
Integration of other applications with Project Server is usually done through the PDS; there are several examples in the Solution Starters in the Project 2003 SDK.
You can extend the PDS with an essentially unlimited range of methods; the PDS and PDS extensions are the recommended way to programmatically access or manipulate Project Server data. The SDK shows how to write a PDS Extender with Visual Basic 6.0, and how to create a managed code PDS extension in Visual C# with the .NET Framework.
- Service for Enterprise Data Maintenance (EDM): The Service for EDM in Project Server 2003 is based on the PDS, for higher-level programmatic management of enterprise projects, resources, and custom fields. The Service for EDM supports communication across disparate systems by SOAP messages or by file-drop: Applications on other computer systems can simply drop an XML file to a specified network share, and Project Server processes that data and drops a reply file in return.
- Object Link Provider (OLP): Use the OLP to integrate Project Server with external document management systems, scheduling systems, contact managers, or other third-party applications. The OLP is the basis for Project Server integration with Windows SharePoint Services and Microsoft Office SharePoint Portal Server. The section Interface Properties and Methods for the Object Link Provider documents the API.
- Project Server Web Parts and URL options: URL options allow you to hide or show different sections of each page that is visible in Project Web Access. In addition, you can use the six custom Project Server Web Parts individually with Windows SharePoint Services or SharePoint Portal Server, for views of Project Server data across the organization.
You can also easily create and manage your own set of Web Parts based any view of a Project Server page with URL options, by simply using the assembly that is developed with the .NET Framework—or go farther and modify the Microsoft Visual C#® code that is provided in the download for additional customization. For more information, see Installing and Using the Custom Web Parts .NET Assembly.
The entire Project 2003 SDK is available as a download that includes sample solutions that show how to use the PDS and other technologies for integrating Project Server with other applications.
The full download includes HTML Help topics and sample code for everything in the Project 2003 SDK that is in the MSDN® online library, including the following major sections that are in addition to the sections previously described:
- Integration with Microsoft Office InfoPath 2003
- Integration with Windows SharePoint Services, including Modifying the Default Project Web Access Site Definition and Creating Project-Specific Windows SharePoint Services Web Sites.
- Enterprise Reporting: learn how to generate reports from multiple Project Server installations.
- Portfolio Analyzer OLAP Extensions: create extended Online Analytical Processing (OLAP) charts in SQL Server™ Analysis Manager for use in Project Server Portfolio Analyzer.
- BizTalk Server Workflow shows how to integrate Project Server 2003 with Microsoft BizTalk® Server to help automate business processes.
- Project Server 2003 to Siebel Solution Starter implements an integration of Project Server with the Siebel Customer Relationship Manager (CRM) suite of applications.
Development for Project 2003 goes well beyond Project itself. The MSDN Office Developer Center has a wide variety of information about development for all products in the Microsoft Office System, and integration with other products. The Project 2003 Developer Center is one part of the Microsoft Office Developer Center, which includes links to technical articles, updated SDK documentation, related resources, and Project newsgroups.
It is also important for any developer of a solution that involves Project 2003 to understand Project itself. The Project page on Microsoft Office Online includes many resources for assistance, training, and information on how to use Project 2003. For example, a popular page is the Project Map.
Finally, you could not use the best developer solution in the world if Project Server or Windows SharePoint Services were not correctly configured for your needs. For great information about installing, configuring, administering, and recovering from (or preventing) disasters, see the Project Server 2003 Technical Library.