Deploying a Custom Project Guide

There are two main steps to deploying a custom Project Guide to the appropriate users of Microsoft® Office Project 2003 in your organization: distributing the HTML pages along with any modified XML documents, and configuring Project to use the custom Project Guide.

Distribute the HTML Pages and Modified XML Documents

Any customized HTML, Microsoft JScript®, or XML documents need to be stored locally on users' computers, or centrally on a network share or intranet/Internet server. Clearly, one advantage of the latter storage location is that only one copy of the custom Project Guide content has to be stored and maintained, so that any updates can be done centrally in one place.

Note  If you distribute Project Guides on a network share, make sure that Microsoft Internet Explorer on each user's computer includes the necessary list of trusted sites.

Update Project to Use the Custom Project Guide

The Project properties ProjectGuideUseDefaultFunctionalLayoutPage, ProjectGuideFunctionalLayoutPage, ProjectGuideUseDefaultContent, and ProjectGuideContent control which Project Guide to use. An organization can update these properties for Project users in several ways. For more information about these properties and the related OptionsInterface method, see Defining the Project Guide.

  • Distribute Templates   You can distribute a template file that has ProjectGuideUseDefaultContent and ProjectGuideUseDefaultFunctionalLayoutPage set to False, and ProjectGuideContent and/or ProjectGuideFunctionalLayoutPage properties set to point to a custom Project Guide. Then all projects created from this template automatically inherit the custom Project Guide.

  • Set Default Registry Entries through System Policy   The default settings for the Project Guide are stored in the registry, so it is possible to set these defaults through system policy. Using system policies may be a better approach if you want to change the default Project Guide for multiple users in an organization.

    You can also use system policies to lock the default Project Guide settings and prevent end users from changing them. You can actually use system policies to lock several settings that users can otherwise change in the Options dialog box in Project. Locking defaults through system policies is explained in detail in the Microsoft Office Project 2003 Resource Kit.

  • Create a Project_Open Macro    Macros are useful for attaching custom Project Guides to individual Project files, and you can also use macros in Project templates. When you open a project file, Project fires the Open event. If you use Microsoft Visual Basic for Applications to create a macro named Project_Open in the ThisProject code page, that macro runs on the Open event. You can dynamically set the ProjectGuideContent or ProjectGuideFunctionalLayoutPage property for that project. You can even detect the current user's role as part of the Project_Open macro, to dynamically set the Project Guide.

    Note  The AutoOpen macro is deprecated, but can do nearly the same thing. Project still supports AutoOpen; however, by using Project_Open you have the advantage of running a different Project_Open macro both in the .mpp project file and in the global Project template, Global.mpt.

  • Use the Project Object Model   You can develop other macros that set the Project Guide properties for all projects. Use the OptionsInterface method of the Application object and set corresponding properties on the Project object. For example, you could call the following method from a Project_Open macro.

    Sub SetProjectGuide()
        'Use the following only if you want to change the default 
        'functionality and layout page in the Project Guide.
        Dim sURL4Layout As String
        Dim sURL4XML As String
    
       If Projects.Count = 0 Then
          MsgBox "You must have at least one active project open."
          Exit Sub
       End If
    
        'Set sURL4Layout to the URL of HTML page defining layout and functionality.
        'Set sURL4XML to URL of XML document defining content.
    
        Application.OptionsInterface ProjectGuideUseDefaultFunctionalLayoutPage:=False
        With ActiveProject
            .ProjectGuideFunctionalLayoutPage = sURL4Layout
            .ProjectGuideUseDefaultContent = False
            .ProjectGuideContent = sURL4XML
        End With
    End Sub
    
  • Set the Project Guide Manually   Each user can change the Project Guide for one project — all projects — manually, using the Options dialog box, as described in Tips for Defining a Custom Project Guide.