Share via


The Project Guide Content Schema

A Project Guide is organized into a collection of goal areas and into tasks within each goal area. The following figure shows a generalized representation of the default Project Guide goal areas and tasks.

Goal areas and goal area tasks in a Project Guide

Goal areas and goal area tasks of the default Project Guide

For a complete list of the default goal area tasks, see Default Project Guide Files.

Every side pane is associated with a goal area; the side pane name reflects the purpose of the side pane as it relates to the goal. Task-related side panes such as Schedule tasks fit into the Tasks goal area, report-related side panes such as See project costs fit into the Report goal area, and so on. Users can find the functionality they need by looking at the goal area and the drop-down list of tasks or options within that goal area. GoalArea nodes define goal areas, and GoalAreaTask nodes define single side panes. Following is an excerpt from the XML definition of the Critical Task sample Project Guide, in the file sample.xml, with the definition of one goal area.

Note  Project Guide documents and files often refer to the XML definition as a Project Guide schema. The file, such as sample.xml, is a metadata definition for the Project Guide, not a standard XML schema definition (such as an .xsd file).

<GoalArea>
   <GoalAreaID> 4 </GoalAreaID>
   <GoalAreaName> Report </GoalAreaName>
   <GoalAreaDescription>View and report the status of your projects
     by clicking an item below. Clicking an item displays tools
     and instructions for completing that step.</GoalAreaDescription>
   <URL> gbui://report_main.htm </URL>
   <RelevantViews>
      <ViewType> 0 </ViewType>
      <ViewType> 1 </ViewType>
   </RelevantViews>
   <!-- GoalAreaTasks go here -->
</GoalArea>

GoalAreaID is an identifier used in navigating to side panes associated with the goal area. A GoalAreaID must be unique to accommodate the navigation code, but the IDs do not need to be in any particular order. GoalAreaName controls how the goal area is listed on the Project Guide toolbar. The URL node provides the URL of the goal area side pane that shows a menu of goal area tasks. The default main page creates goal area menus based on the content schema, so there's no need to modify the goal area's HTML content when you're adding a side pane. Just put the new GoalAreaTask in a GoalArea node, and the main page parses it and adds it to the goal area menu. The following example in GoalID 4 of the sample.xml file shows the GoalAreaTask named Critical path monitor:

<GoalAreaTask>
   <TaskID> 34 </TaskID>
   <Title> Critical path monitor </Title>
   <TaskName> Monitor the critical path </TaskName>
   <URL> pgcontent://critpath.htm </URL>
   <TaskHelp>
      <HelpName> More Information </HelpName>
      <URL> pgcontent://critpath_help.htm </URL>
   </TaskHelp>
   <RelevantViews>
      <ViewName> Gantt Chart </ViewName>
   </RelevantViews></GoalAreaTask>

The Title appears in the side pane header, and the TaskName is its entry in the Reports goal area menu. URL gives its file location, using the location-independent pgcontent:// custom protocol. TaskID is a unique number used to identify the task for navigation. TaskHelp is an optional section. The pDisplayTaskFooter function in the HTML code uses TaskHelp to create a footer with a link to the side pane's Help file. HelpName controls the link's label while URL controls its destination.

Relevant Views

It's important to determine relevant views in the Project Guide schema. Some side panes only make sense when the Project view control is showing a particular view. Suppose you have a side pane for estimating task duration. If a user puts a resource view next to that side pane, it doesn't make sense anymore. By default, the main page solves the problem by getting rid of the side pane. The main page responds to any nonrelevant view change by closing the current side pane and going back to its goal area menu. RelevantViews is a child element of the GoalArea or GoalAreaTask elements, which specifies which views are relevant to that goal area or task.

For more information about the specific schema requirements, see RelevantViews Element in the topic that discusses the GoalArea Element.

Examples of these elements are available in the sample.xml file of the Critical Task sample Project Guide.

The position of GoalAreaTask nodes also matters. Side pane tasks show on the goal area menu in the order they are listed within the GoalArea element. For example, compare the GoalAreaTask order in sample.xml to the on-screen goal area menus.

Implementation

Now you have a Project Guide XML definition file with the new Critical path monitorGoalAreaTask in the Reports goal area. All the side pane code is in place. The next step is to see the custom Project Guide in action.

The files you install with the download for the Critical Path custom Project Guide are stored by default in the following location:

[Program Files]\Microsoft Office 2003 SDKs\Microsoft Office Project 2003 SDK\Project Guide 101\Samples\CustomProjectGuides\CritPath

Note  If you installed the download to a different location, use that path instead.

To use the Critical Path Project Guide:

  1. Start Project. On the Tools menu, click Options.
  2. In the Options dialog box, click the Interface tab.
  3. In Project Guide Content, click Use custom content and type the path to sample.xml in the URL text box that appears.
  4. Click OK to refresh the Project Guide and show Critical path monitor at the bottom of the drop-down list in the Report goal area of the Project Guide toolbar.

You now have the custom Critical Path Project Guide available.

Type some task names and durations in the main Task view area, as shown in the following figure, and then connect the tasks so that at least two of them are on a critical path.

Critical path monitor in the Critical Path sample Project Guide

Critical path monitor in the Critical Path sample Project Guide

Click one of the critical task names, and then, in the Project Guide toolbar, click the drop-down menu on the Report goal area. Scroll to the bottom of the menu and click Critical path monitor. The critical path tasks in the Gantt Chart turn red, and you can use the Critical path monitor side pane to jump to the previous or next task on the critical path.

Note  The Project Guide refreshes its schema only after you change the custom content path in the Options dialog box. If you later add another side pane to sample.xml, you'll need to turn the Project Guide off and restart it to refresh it. When you click the Show/Hide Project Guide icon on the Project Guide toolbar twice, you refresh the toolbar and goal area menus. This is useful to keep in mind if the Project Guide ever gets out of synchronization with the schema.