431
PSS Learning Services Module 1.1 Contents Lesson 1: New Feature Overview

Project 2000 Training Manual

Embed Size (px)

Citation preview

Page 1: Project 2000 Training Manual

PSS Learning Services

Module 1.1

Contents

Lesson 1: New Feature Overview

Page 2: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 3: Project 2000 Training Manual

Module 1.1 3

Lesson 1: New Feature Overview

Overview This lesson introduces you briefly to the new features of

Microsoft® Project 2000 and its companion product, Microsoft Project Central. It also reviews how Microsoft Project 2000 helps reduce Total Cost of Ownership (TCO) in large organizations.

What You Will Learn After completing this lesson, you will be able to:

• Briefly discuss the new features of Microsoft Project 2000 and Microsoft Project Central

• List the system requirements for Microsoft Project 2000 and Microsoft Project Central

• Describe how Microsoft Project 2000 reduces TCO

Page 4: Project 2000 Training Manual

Module 1.1 4

New Feature Overview In this latest release of Microsoft Project, Microsoft has delivered two different products with two different feature sets. The first is the desktop application, Microsoft Project 2000. The second is a Web-based, workgroup application called Microsoft Project Central. In this portion of the course, we will briefly describe the product and some of the new features of each product. This is done to help introduce the product. It is not intended that you will have an in-depth understanding of these features after completing this lesson. That understanding should come later in this course when the features listed below are covered in further depth.

Microsoft Project 2000 Microsoft Project 2000 is an enhanced version of the desktop application Microsoft Project 98. It includes many new features that greatly increase and expand its functionality and ease of use. Among the new features are the following:

HTML Help Microsoft Project 2000 includes a new help feature that includes the following: • HTML-based help – follows the familiar Web format

• Help Home Page – this page includes links to all parts of Help

• Project Map – a new map based on project management principles and user goals

• Quick Preview – a brief presentation on the capabilities of Microsoft Project 2000

• Tutorial – a brief lesson on working in Microsoft Project 2000

Accessibility The Microsoft Project 2000 user interface is now consistent with Control Panel Settings when running on Microsoft® Windows® 95 or Microsoft® Windows NT®. Some features, however, work best on Microsoft® Windows® 98 or Microsoft® Windows® 2000.

If you choose the High Contrast appearance scheme on a Microsoft® Windows NT® 4.0 machine, you may experience printing problems. This is because high contrast formats text as white, much like you changed the text color yourself. On a Windows 98 or Windows 2000 machine, however, schemes are treated differently and you will not experience this problem. Microsoft Project 2000 has also added support for Microsoft® Active Accessibility® (MSAA). This allows third-party accessibility aids such as screen readers and voice-input utilities to work directly with Microsoft Project 2000. For more information on accessibility options or add-ons, consult Microsoft Project’s online help.

Delivery Tip Go through each of the new features and introduce each one. Spend time briefly demonstrating each of the features not covered later in the course.

Page 5: Project 2000 Training Manual

Module 1.1 5

Try This: Display Additional Screen Tips

One accessibility option that is available in Microsoft Project 2000 is the ability to display more information within the screen tips. Find out how to enable this feature in Microsoft Project 2000 by using the online help. While doing this, make sure to look at other accessibility information.

1. Press the F1 button to call online help.

2. Query the Office Assistant using key words such as “accessibility.”

How do you automatically display additional screen tips?

AutoSave Microsoft Project 2000 includes the option to automatically save a file at predefined intervals. It can be set to save only the active project or to automatically save all open files. AutoSave is located on the Tools menu under Options on the Save tab.

Figure 1 – Autosave/Default Save Format and Path

Note that this feature is simply a timed save only. It should not be confused with Microsoft Word’s AutoRecover feature.

Default Save Format and Path Microsoft Project 2000 now lets you set both the default file format and the default directory when saving your project. Different directories can also be specified for project files, user templates, and workgroup templates. This feature is located on the Tools menu under Options on the Save tab.

Answer A. Open RegEdit.exe, usually found in C:\Windows. B. Open HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\MS Project. C. Right-click the Options folder, point to New, and then click Key. D. Type Accessibility as the name of the new folder, and then press ENTER. E. Right-click the Accessibility folder, point to New, and then click DWORD Value. F. Type EnableControlTooltips as the name of the value, and then press ENTER. G. Click EnableControlTooltips, click Edit, and then click Modify. H. In the Value Data box, type 1, and then click OK. I. Click Registry, click Exit, and then restart Microsoft Project.

Page 6: Project 2000 Training Manual

Module 1.1 6

Click Gantt Bar to Select a Task Microsoft Project 2000 now allows you to select a task by clicking on its Gantt bar. This helps you to determine more easily to which task a given Gantt bar belongs.

Fill Handle In Microsoft Project 98, you could use a fill handle to populate cells in a time-phased view such as Task Usage. However, you could not do this in a table such as the left-hand portion of the Gantt Chart view. Microsoft Project 2000 now gives you this capability. Fill handles make fill up or down operations easier. To try this feature, go into a table in the Gantt Chart view and select the cell that you want to copy. In the lower right hand corner, you will notice a small square. Click and drag the square to highlight the other cells within the same column that you want to populate. Releasing the mouse button populates the highlighted cells with the information within the original cell.

Grouping Microsoft Project 2000 allows you to group tasks and resources based on criteria you define. This allows you to view rolled up totals and other information for criteria that are important to you. Grouping is covered in greater detail later on in this course.

WBS and Outline Codes Microsoft Project 2000 allows you to specify your own WBS numbering format. Additionally it allows you to create multiple outline structures in custom fields. These allow you to sort and group information based on predefined outline codes. WBS and Outline Codes will be covered in further detail later on in this course.

Custom Field Enhancements Microsoft Project 2000 allows you to create pick lists for more accurate data entry, create custom formulas for doing calculations on data, and use customized graphical indicators to represent data in a custom field. Custom Fields will be covered in further detail later on in this course.

Increased Tool Tips Microsoft Project 2000 has increased tool tips. Two notable examples are as follows: • When pointing to a timescale unit, the date for that unit is now displayed.

• When pointing to a table cell where the column width is too narrow for the data contained, the tool tip now shows the data contained in the cell.

Page 7: Project 2000 Training Manual

Module 1.1 7

In Cell Editing Microsoft Project 2000 allows you to edit cells in place as well as on the edit bar. To use in-cell editing, single-click on the desired cell.

Hyperlink Improvements Microsoft Project 2000 includes the same improved hyperlink functionality found in other Microsoft Office 2000 products. New features include the ability to customize a hyperlink’s screen tip and the ability to select links from a list of previously viewed sites. Hyperlinks will be covered in more detail later on in this course.

Multiple Files & Resource Pool Improvements Microsoft Project 2000 delivers better performance when working with multiple files and resource pools. Additionally it allows you greater ability to manipulate these files via Microsoft® Visual Basic® for Applications (VBA). Microsoft Project 2000 now also stores the relative path to files. This allows you move linked and inserted projects without the need to resave them to a new location from within Microsoft Project. Working with multiple files and resource pools is covered in further detail later in this course.

Clear Baseline Feature Microsoft Project 2000 includes a new feature that allows you to clear the baseline or interim plan on a project. To find this feature, go to the Tools menu, select Tracking and click Clear Baseline. Doing so gives you a dialog box like that below.

Figure 1 – Clear Baseline

Project Template Improvements Microsoft Project 2000 now makes it easy to base a new project on a pre-defined template. Similar to Microsoft Office 2000, you now see the File New dialog box when selecting new from the File menu.

Page 8: Project 2000 Training Manual

Module 1.1 8

Figure 2 - File New dialog

Microsoft Project 2000 also includes an easy way to remove data from actual projects when you save them as templates. This is accomplished through the following dialog box that appears when you save a project as a template.

Figure 3 - Templates Remove Data

Printing Improvements Microsoft Project 2000 includes a number of printing improvements. These include improved scaling, improved fit to page, and improved headers and footers. Printing improvements are covered in more detail later on in this course.

New Rollup Behavior Customizing the rollup behavior of Gantt bars in Microsoft Project 2000 is much easier than in previous versions. Microsoft Project 2000 includes a new option called “Always roll up Gantt bars.” This is found on the Format menu under Layout. When selected it gives you the following behavior.

Page 9: Project 2000 Training Manual

Module 1.1 9

Figure 4 - Always Roll Up

In conjunction with this is the option “Hide rollup bars when summary expanded.” With both of these options selected you get the behavior displayed below:

Figure 5 - Hide Rollup Bars

Single Document Interface Project supports the Single Document Interface (SDI) similar to other Microsoft Office applications like Microsoft Excel. This interface exposes each project on the Window Menu as a “process” (i.e., on the Windows task bar and in the Alt-Tab list). SDI makes switching between individual projects no different than switching between Web pages today. To disable this feature, go to the Tools menu and click Options. Then, on the View tab, deselect the “Windows in Taskbar” option.

NOTE: SDI is only available if Internet Explorer 4.01 SP1 or above is installed with Active Desktop components.

Project Open and Save Microsoft Project 2000 open and save dialog boxes have been improved to be less cluttered and include the new “Places Bar.”

Page 10: Project 2000 Training Manual

Module 1.1 10

Figure 6 - Places Bar

To improve access to projects in a database, the Import/Export dialog box is enhanced to provide better display of projects in the database, better navigation among these projects, and to allow simple maintenance operation such as rename and delete for projects in the database.

Figure 7 - Database Import/Export

Note that you can now simply delete and rename projects stored within a database via this dialog box. You no longer need to manually edit the database or use VBA.

Page 11: Project 2000 Training Manual

Module 1.1 11

Month Duration Unit Microsoft Project 2000 now supports months as a unit of duration. Typing “3mon” in the duration field is recognized as three months. Months should be used as a measure of time as defined by the user. They do not correspond to actual months such as Jan, Feb, etc.

The number of days that constitutes a months is defined on the Calendar tab under Tools/Options. It is set to 20 days by default.

Fiscal Year Timescale Labeling Microsoft Project 2000 now includes the ability to independently set the “Use Fiscal Year” option on both your major and minor timescales. To set this option, go to the Format menu and click Timescale. Doing so displays the following dialog box.

Figure 8 - Fiscal Year Timescale

Because this option can be set independently for each timescale, the minor timescale may display a different year than the major timescale.

Variable Row Height Microsoft Project 2000 now allows you to independently set the row height of individual rows. To do so, simply drag the row line between tasks to the height that you want. To change multiple rows, select the rows you want and then drag any one of the rows in the selection to set a uniform height for the rows. Any data in a cell that is too wide to fit a column width automatically wraps as the row height gets larger.

Page 12: Project 2000 Training Manual

Module 1.1 12

Copy Picture The Copy Picture command in Microsoft Project 2000 has been improved. It now includes better picture quality, increased size, and better scaling. Microsoft Project 2000 now alerts you if the picture you are copying is particularly large or will not fit well into another document. This alert gives you the option of making changes before saving or pasting. The Copy Picture command is now also found on the Edit menu as well as on the Standard Toolbar. This feature will be covered in more detail later on in this course.

Task Outline Improvement Microsoft Project 2000 now allows you to expand and contract outline levels more efficiently. You can now directly select the outline level to which you would like to display your tasks. To do this, click Show on the Format tool bar and then click the desired outline level. To find this option on the Project menu, point to Outline, then point to Show and click the desired outline level.

Figure 9 - Outline Levels

Office Namespace Extensions Microsoft Project 2000 allows you to easily save to a Web Server that is running FrontPage or Office Server Extensions. This helps facilitate workgroup collaboration. This topic will be covered in further detail later on in this course.

Page 13: Project 2000 Training Manual

Module 1.1 13

Clear Leveling Values Before Leveling Option Microsoft Project 2000 users now have the option to clear leveling values before re-leveling. This option is found in the Resource Leveling dialog box under the Tools/Resource Leveling. It is located in the top portion of the dialog box as shown in the following picture.

Figure 10 - Clear Leveling

With this feature enabled, all leveling delay values are set to zero at the outset of the leveling process. This behavior is the same as Microsoft Project 98. With this option off, any previous leveling delay values are initially untouched, which means leveling can only make the current leveling delay larger. Therefore tasks that are currently leveled will likely remain scheduled the same.

Priorities Microsoft Project 2000 allows you to set 1000 different priority levels to both tasks and projects. These different priorities are used to better control how resource leveling adjusts a project’s schedule. Priorities are covered in more detail later in the course.

Inserted Projects Calculated Like Summary Tasks Microsoft Project 2000 master (or consolidated) projects calculate late finish across all inserted projects. This allows you to see one critical path

Page 14: Project 2000 Training Manual

Module 1.1 14

across a master project. Enabled by default, you can find this feature if you go to the Tools menu and click Options. It is found on the Calculation tab and is entitled “Inserted projects are calculated like summary tasks.” This feature will be covered in more detail later in the course.

Contoured Resource Availability Microsoft Project 2000 now includes the ability for a resource’s availability (Max. Units) to be contoured. This feature is most useful in defining the available units over time for a resource group. For example, you may have a group of electricians that will be working on your project. In March, only two of these electricians may be available for your project. In April, two more may be available, giving you a total of four. However, one may be retiring in May, bringing the available electricians down to three for that month. In Microsoft Project 2000, you can set the availability of your electricians and thus influence your scheduling and leveling. Resource Availability can be set on the General Tab of the Resource Information dialog box. This feature will be covered in more detail later in the course.

Deadline Date Microsoft Project 2000 allows you to apply deadline dates to tasks. This allows an indicator to be displayed if a task finishes after the deadline. (No indicator displays if a task finishes before the deadline) A deadline is different than a constraint in that it is not used when calculating a project’s schedule. It does, however, affect the Late Finish date of a task and the calculation of Total Slack.

Deadline dates affect the calculation of Total Slack and thus can affect the critical path. Deadline dates will be covered in more detail later on in this course.

Estimated Durations In Microsoft Project 2000, a task’s duration may be entered as an estimated duration. This is denoted by a “?” after the duration. Estimated durations allow a user to quickly find tasks with durations that may not be firm. Tasks with estimated durations are easily found using the new “Tasks With Estimated Durations” filter. Estimated durations roll up to the highest connected outline level. Tasks can be marked as estimated duration by typing a “?” after the duration or by choosing “Yes” in the new Estimated field. Enabled by default, you may control whether or not tasks appear with estimated durations from the Schedule tab of the Tools Options dialog box. The two options that control this feature are named “Show that tasks have estimated durations” and “New tasks have estimated durations.”

Page 15: Project 2000 Training Manual

Module 1.1 15

Material Resources Microsoft Project 2000 now includes material resources. Material resources allow you to specify consumable resources such as lumber or concrete and assign them to tasks. Material Resources are covered in further detail later in this course.

Task Calendars Microsoft Project 2000 allows you to assign calendars to specific tasks. This allows you to create schedules that only affect selected tasks. Task calendars are covered in more detail later in this course.

Network Diagram The Network Diagram is a new view in Microsoft Project 2000 that replaces the Pert Chart. (Correspondingly the Task Pert has been renamed the Relationship Diagram.) In addition to the new name, this view has many new features including filtering and detailed node formatting. The Network Diagram and its features are covered in more detail later in this course.

Microsoft Project Central Microsoft Project Central is a completely new companion product to Microsoft Project. It takes the Web-based messaging portion of Microsoft Project 98 and greatly increases its functionality. This Web-based workgroup application is based on database (MSDE, SQL, or Oracle), Microsoft Internet Information Server (IIS) and Active Server Pages (ASP) technology. It integrates with Microsoft Project 2000 and allows users to manage their tasks via a Web browser. Project Central has five main areas.

Messages

• Send/receive messages – allows resources and managers to exchange messages.

• Set up rules to manage messages – allows managers to create automated actions to manage messages.

Tasks

• Timesheet – allows you to see your assignments, working hours, and non-working time. Its layout is very similar to the Resource Usage view in Microsoft Project 98.

• Personal Gantt – allows you to see your assignments in a Gantt Chart view.

• Work Day Change – allows the resource to send a message to the manager indicating a change in available working times.

Views

• Assignments – allows you to view assignments for multiple resources. The administrator specifies the assignment view. Thus, you can only see the assignments that the administrator allows.

Page 16: Project 2000 Training Manual

Module 1.1 16

• Portfolios – allows you to see multiple projects. Once again, the administrator specifies the portfolio view. Thus you can only see the projects that the administrator allows.

Status Reports

• Submit – allows a resource to submit a status report to the project manager.

• Request – allows a project manager to request a status report.

Administration

• Users – allows the administrator to add or delete users of Project Central.

• Delete Items – allows the administrator to get rid of old tasks, messages, status reports, or even whole projects.

• Customize – allows the administrator to customize appearance, add links to homepages, and adjust security settings.

• Manage Views – allows the administrator to create and customize assignment and portfolio views.

System Requirements Microsoft Project 2000 and Microsoft Project Central are different not only in their feature sets, but also in the way they are designed. As such, each product has its own unique set of system requirements.

Microsoft Project 2000 System requirements are as follows: • PC with Intel Pentium 75 MHz or higher or compatible

• Microsoft Windows 9.x, Windows NT Workstation 4.0 (SP3 or later), or Windows 2000 Professional.

• On Windows 9.x, 24 MB of RAM is required. On Windows NT or 2000, 40 MB of RAM is required.

• 30-204 MB of hard disk is required. Microsoft Project 2000 shares components with Microsoft Office 2000. Hard disk usage will vary depending on configuration. 30 MB is required for a typical installation that already has Microsoft Office 2000 installed. 204 MB is recommended for a full installation without Microsoft Office 2000 installed.

• CD-ROM and VGA or higher resolution monitor are required. A mouse is recommended.

Microsoft Project Central System requirements are as follows:

Server

• PC Intel Pentium 200 MHz or higher or compatible

• Windows NT 4.0 Server (with SP4 or later) and the Windows NT 4.0 Option Pack or Windows 2000 Server.

• 128 MB of RAM

• 100-150 MB of available hard disk space is recommended. Hard disk usage will vary depending on configuration.

Page 17: Project 2000 Training Manual

Module 1.1 17

Client

• PC with Intel Pentium 75 MHz or higher or compatible

• Microsoft Windows 9.x, Windows NT Workstation 4.0 (SP4 or later), or Windows 2000 Professional.

• On Windows 9.x, 16 MB of RAM is required. On Windows NT or 2000, 32 MB of RAM is required.

• 10-20 MB of available hard disk space is recommended. Hard disk usage will vary depending on configuration.

Total Cost of Ownership Both Microsoft Project 2000 and Microsoft Project Central use new technologies in the installation process. The technologies used are the same as those used by other Microsoft Office 2000 applications. One of the major purposes of these new technologies is to reduce Total Cost of Ownership (TCO) in large organizations. Since these organizations often deploy Microsoft Project to thousands of computers, the need for easier deployment, administration and maintenance was key in the development of Microsoft Project 2000. Note: Although Project Central uses the same installation technologies as Microsoft Project 2000, TCO is not a major issue for this product. This is because Project Central is a workgroup application designed to be installed on a server. As such, thousands of installations within a single organization are not likely. Total Cost of Ownership, the cost of owning a PC, includes initial cost of hardware and software, costs associated with deployment and configuration, training, day-to-day maintenance and administration, and telephone and onsite technical support. Below is a brief overview of the Microsoft Project 2000 technologies that help to reduce Total Cost of Ownership: Custom Installation Wizard (CIW) The Custom Installation Wizard is a tool used to customize Project installations. This tool is much improved over the Network Installation Wizard (NIW) used by Microsoft Project 98 allowing for customizations at the individual feature level. This, in return, reduces costs associated with installation and deployment. Office Profile Wizard (OPW) The Office Profile Wizard is a stand-alone tool that captures all preferences and settings made to Project in a single Office Profile Settings (*.ops) file. If users need to move to a new machine or reconfigure an existing one, they can use the Office Profile Wizard to “pack up” their personal settings and preferences in one location so they can "unpack" and

Page 18: Project 2000 Training Manual

Module 1.1 18

personalize the new installation quickly and easily. Individuals can also use the Office Profile Wizard if a hard drive crashes and they want to get going again quickly, without having to re-customize personal Project settings. In the enterprise, the Office Profile Wizard is primarily used for customizing Project in conjunction with the Custom Installation Wizard. New System Policy Editor and Templates One of the major costs to a corporation is the loss of productivity at the desktop caused by user error (e.g., changing the system configuration and rendering the system unworkable) or system distractions (e.g., too many features or nonessential applications installed on the desktop). To assist in reducing this cost, the Microsoft Project 2000 release and the Microsoft Project 2000 Resource Kit include an updated System Policy Editor and a number of system policy templates that provide a means for controlling a user’s access to application features and settings. Support for the Microsoft® Windows® Installer Technology This new setup program helps to reduce Total Cost of Ownership by providing a more consistent set of installation rules and an easier method of customization. In addition, it also provides a method of managing the removal of previous versions of Project and the ability to track necessary Microsoft Project 2000 components (i.e. shared DLLs). Furthermore, automatic repair and installation processes are provided, as well as easier ways to configure new systems and update or patch Microsoft Project 2000 features. Language Pack (LPK) The Language Pack allows you to proof a document in other languages without having to purchase different localized versions of Project. The Language Pack also includes the help files and a user interface (menus, toolbars, and help) localized in those other languages. This may considerably reduce Total Cost of Ownership for multi-national organizations. Self-repairing Applications (Resiliency) In previous versions of Microsoft Project, missing files could result in obscure error messages or the failure of Microsoft Project to start. Microsoft Project 2000 is resilient and will therefore automatically verify and reinstall any missing files and registry entries. As a result, fewer calls to the help desk are needed and Total Cost of Ownership is reduced. Optimized to Run on Microsoft Terminal Server Terminal Server provides the ability to run Windows and 32-bit Windows-based applications from a back-end Windows NT server while the client serves only as the front-end display. Microsoft Project 2000 was specifically designed to run optimally in a Terminal Server environment. Running Microsoft Project 2000 in this environment reduces the Total

Page 19: Project 2000 Training Manual

Module 1.1 19

Cost of Ownership by allowing organizations the ability to effectively use computers with limited disk space, memory or processing speed. Support of Roaming and Multi-user Environments Advancements in how Microsoft Project 2000 stores user-customized settings provide users with an easier transition between different computers and also makes it easier for two or more users to share the same computer. Unlike previous versions of Project, users can roam between different computers without any changes to the user experience. These improvements in roaming and a multi-user environment help to reduce Total Cost of Ownership. The above technologies are the same technologies used by Office 2000 to reduce Total Cost of Ownership. As such, much of the information in the white papers written for Office 2000 is applicable to Microsoft Project 2000.

Page 20: Project 2000 Training Manual

PSS Learning Services

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Contents

Lesson 2: Windows Installer 33

Module 1.2

Page 21: Project 2000 Training Manual
Page 22: Project 2000 Training Manual

Module 1.2 33

Lesson 2: Windows Installer

Overview Microsoft® Project 2000 uses a new setup technology based on Microsoft® Windows® Installer. Through this technology, setup has been able to reduce many of the problems associated with installing and maintaining Microsoft Project installations.

What You Will Learn After completing this lesson, you will be able to:

� Identify two main components responsible for Microsoft Project 2000 installation

� Define the function of setup.exe

� Define the function of msiexec.exe and the files it uses

� Define the function of instmsi.exe and instmsiw.exe

� Compare and contrast Windows Installer vs. ACME setup

� Define components of an .MSI file

� Define a transform

� Flowchart the installation process

� List and describe the features of Windows Installer

Page 23: Project 2000 Training Manual

34 Module 1.2

Microsoft Project 2000 Installation

The Two Components of a Microsoft Project 2000 Installation Installing Microsoft Project 2000 is preformed in a two-step process.

� The file SETUP.EXE performs the first step. It runs through a series of checks to make sure system and permission parameters are correct.

� Windows Installer (MSIEXEC.EXE) performs the second step. It executes the actual installation of the application.

Functionality Overview of SETUP.EXE

SETUP.EXE’s main functionality is to prepare a system for installation. Among the more important steps it performs are verifying that the OS meets minimum system requirements, installing Windows Installer (if necessary) and parsing the command line for custom switches to pass on to Windows installer. More specifically it performs the functions listed below.

1. Searches to find a SETUP.INI file that may alter the path to needed installer files.

2. Parses the command line for custom switches the installer may need.

3. Detects if the installer requested the CD-ROM when SETUP.EXE is called with the /AutoRun switch.

4. Checks if SETUP.EXE was called from source and if Office was previously installed.

5. Checks to make sure the operating system is qualified, and has the correct level of operating system service pack installed.

6. Checks version of MSI.DLL to make sure it meets the minimum version requirements.

7. Determines if the user has appropriate permissions to update the operating system.

8. If SETUP.EXE is run with the /AutoRun Switch, goes to AUTORUN.INF and starts the actions in that file.

9. If the /AutoRun switch is not used and the installer is already on the target computer SETUP.EXE calls the local installer to start Microsoft Project 2000 setup and exits.

10. If SETUP.EXE detects that the installer is not present on the target computer it makes a call to INSTMSI(W).EXE on the CD or source network drive. (Note: INSTMSI.EXE is used for the Microsoft® Windows® 95 and/or Microsoft® Windows® 98 platforms, INSTMSIW.EXE for Microsoft® Windows NT® 4.0)

Page 24: Project 2000 Training Manual

Module 1.2 35

The logic flow chart of SETUP.EXE is shown below in Figure 1.

Figure 1 - Flowchart of SETUP.EXE Logic

Looking at SETUP.EXE Level Customization In-Depth

As noted in the above steps, SETUP.EXE parses customization information and passes that on to installation. There are three types of customization information that is passed on by SETUP.EXE. They are Command Line Switches, the information within the SETUP.INI file, and Setup Properties. Below we look more in-depth at these three areas.

The first area where we can customize a Microsoft Project 2000 installation is with switches.

Switches are usually run from the command line, but can also be included in a batch file or a shortcut. Switches can customize installations in various ways. For example, to install Microsoft Project 2000 as an administrative install point, the /a switch would be used. (The /a switch also allows an .MSI file name to be

Command Line Switches

InsertCD

ROM

DidInstallerRequest

CD?

End

HasProjectBeen

Installed?

RunProjectFrom

Source?

Is OSNT

3.51?

Is OSWin 9.x?

IsWindowsInstaller

Present?

Is Useran

Admin?

Alert User and End

Call INSTMSI.EXEfrom source & End

Call local Installerand End

End

Yes

Yes Yes

Yes

Yes

Yes

YesNo

No No

No

No

No

No

Page 25: Project 2000 Training Manual

36 Module 1.2

specified.) When typed at a command prompt, the syntax would look as follows:

D:\setup.exe /a data1.msi

Command-Line Switches are most useful when few customizations are

needed or when users want to create several different installations quickly. There is no need to edit any Project files (such as the Setup settings file) or run any special tools (such as the Office Custom Installation Wizard).

It is possible to create multiple custom installations by defining different command lines for different users or by creating multiple batch files or shortcuts. This method is especially useful if there is a need to create multiple deployment packages by using a systems management tool — and each package requires a different command line.

For example, if the Engineering and Accounting departments install the same version of Project but use unique organization names, the Administrator may create two shortcuts that have the following command lines:

setup.exe /q companyname="Engineering Department"

setup.exe /q companyname="Accounting Department"

SETUP.EXE does not actually process command line switches. Instead it reads them from the command line and passes them to the Windows Installer to be processed.

There are exceptions to this rule however. The following three switches are processed by SETUP.EXE.

/autorun - This switch is only used only in the AUTORUN.INF file. Its purpose is to indicate that setup is being run automatically after you insert the CD in the CD-ROM drive. /settings - Specifies a settings file and path that customizes Setup actions.

/wait - Waits for installation to complete before exiting.

Below is a list of switches that can be used when installing Microsoft Project 2000.

For more information, see the following Knowledge Base article: Q202946 "Setup Switches for Microsoft Office 2000 ".

Command-line Switch

Description Example

When To Use Command-Line Switches

Page 26: Project 2000 Training Manual

Module 1.2 37

/a

Setup performs an administrative installation, using the specified MSI file, to create an administrative point. NOTE: This option cannot be used along with the /i switch (discussed later).

Create a network share.

The share must be accessible by all users who need to install Microsoft Project, and you must have write access to it.

Run Setup from Microsoft Project CD by using the /a command-line option. For example:

e:\setup.exe /a data1.msi

When Setup prompts you for the installation location, enter the network share that you created.

Setup copies all of the files from Microsoft Project CD to the network share.

/autorun This switch is only used only in the AUTORUN.INF file. Its purpose is to indicate that setup is being run automatically after you insert the CD in the CD-ROM drive.

/autorun

Page 27: Project 2000 Training Manual

38 Module 1.2

Command-line Switch

Description Example

/i <file> Specifies the name of the MSI file. This option cannot be used along with the /a option.

/i Mso9.msi

/p <package file>

Applies a patch.

To apply a patch to an installed Admin image you must combine options as follows /p <PatchPackage> /a <Package>/p <PatchPackage> /a <Package>

PROPERTY=value

Specifies a property value. If the property value contains spaces, enclose the string in double quotation marks ("). You can specify more than one property and value pair on the command line, separated by spaces. See section on Properties below.

TRANSFORMS= "C:\Acct Dept.mst" INSTALLLANGUAGE=German"

Page 28: Project 2000 Training Manual

Module 1.2 39

Command-line Switch

Description Example

/q<option> Selects the user interface level. Valid options are:

n: None — No user interface is displayed

b: Basic — Only simple progress indicators and errors are displayed.

r : Reduced — No user information is collected, and full progress indicators and errors are displayed.

f: Full – With a modal dialog box displayed at the end

qn+ - No UI except for a modal dialog box displayed at the end.

qb+ - Basic UI with a modal dialog box displayed at the end. The modal dialog box is not displayed if the user cancels the installation

qb- - Basic UI with no modal dialog boxes. Note that /qb+- is not a support UI level. This can be used to automatically reboot the machine at the end of setup, but if you use /qb- the machine will simply restart automatically.

/qn

Page 29: Project 2000 Training Manual

40 Module 1.2

Command-line Switch

Description Example

/settings <INI file>

Specifies a settings file and path that customizes Setup actions.

/settings

C:\office9.ini

/? Displays a list of valid Setup command-line options.

/?

/wait Wait for installation to complete before exiting.

/wait

/j <option> <package path>

Advertise Locally

u – User

m – All users

Note When using the /j<option> switch the /t switch should be used to point to a particular transform list. Otherwise with other switches the TRANSFORM property should be used.

[u|m]Package

or

[u|m]Package /t Transform List

or

[u|m]Package /g LanguageID

Page 30: Project 2000 Training Manual

Module 1.2 41

Command-line Switch

Description Example

/f<options> <package path>

Setup repairs the Microsoft Project installation. The .MSI file specified must be the .MSI file used to install Microsoft Project originally. The .MSI file must be in the same folder as SETUP.EXE.

p – Reinstall a file only if it is missing.

o – Reinstall a file if its is missing, or an older version is present.

e – Reinstall a file if it is missing, or an equal or older version is present.

d – Reinstall a file if it is missing, or a different version is present.

c – Reinstall a file if it is missing or corrupt (the stored checksum doesn’t match the computed value)

a – Force all files to be reinstalled regardless of checksum or version.

u – Re-Write all required user registry entries

m – Re-Write all required local machine registry entries

s – Reinstall all shortcuts, overwriting any existing shortcut

v– Run from the source package and re-cache the local package.

The Detect and Repair command (Help menu) in Microsoft Project performs the same function as using the options /focums.

If you run Setup and select Reinstall, Setup performs the same function as using the options /fecums.

Page 31: Project 2000 Training Manual

42 Module 1.2

Command-line Switch

Description Example

/x <package path>

Setup uninstalls Microsoft Project. The MSI file specified must be the MSI file used to install Microsoft Project originally. The MSI file must be in the same folder as Setup.exe.

/x e:\data1.msi

/t <transform> Specifies the name of the transform (MST) file. When using the /jm switches, the /t switch must be used, other wise the TRANSFORM property should be used.

/t accounting.mst

/l [i|w|e|a|r|u|c|m|p|v

|+]Logfile

Logging switches for MSIEXEC.EXE Specifies path to log file and the flags indicate which information to log.

'i' - Status messages

'w' - Non-fatal warnings

'e' - All error messages

'a' - Start up of actions

'r' - Action-specific records

'u' - User requests

'c' - Initial UI parameters

'm' - Out-of-memory

'p' - Terminal properties

'v' - Verbose output

'+' - Append to existing file

"*" - Wildcard, log all information (except Verbose output)

“!” - Flushes each line to the log file. The default behavior is to cache 20 lines of log file text in memory, and then dump 20 lines to the log file at once. This is done to improve performance.

/l* c:\logname.txt

Page 32: Project 2000 Training Manual

Module 1.2 43

Command-line Switch

Description Example

/m SMS status .MIF generation option

Creates a .MIF file in the %TEMP% folder.

The SMS status MIF generation option, -m filename, where filename is the 1-8 char base name without the .MIF, is available only for install (-i), remove (-x), admin install (-a), and reinstall product (-fv). Fields are filled as follows:

Manufacturer - SummaryInfo PID_AUTHOR, 4 (Author)

Product - SummaryInfo PID_REVNUMBER, 9 (ProductCode)

Version - SummaryInfo PID_SUBJECT, 3 (Product description and version)

Locale - SummaryInfo PID_TEMPLATE, 7 (Platform and language)

Serial Number - not set, not available

Installation - not settable via API, set by ISMIF32.DLL to "DateTime"

InstallStatus - "Success" or "Failed", depending on success of install

Description - Error message (as much as can be obtained), or empty if successful

An example command line would be of the form: msiexec /i Data1.msi /m 12345678 (note .MIF extension is not included.

/g Language ID

Page 33: Project 2000 Training Manual

44 Module 1.2

Command-line Switch

Description Example

/y Module Calls the system API DllRegisterServer to self-register modules passed in on the command line. For example, msiexec /y my_file.dll.

This option is only used for registry information that can't be added using the registry tables of the .msi file. This is not used the same way /y was used in previous versions of Office

/z Module Calls the system API DllUnRegisterServer to unregister modules passed in on the command line. For example, msiexec /z my_file.dll.

This option is only used for registry information that can't be removed using the registry tables of the .msi file.

Setup Properties are global variables used during the installation process. They can be used to set the information

normally entered by a user during installation. For example, the setup property COMPANYNAME can be set to automatically populate the organization name that appears in the Help/About box. Numerous setup properties exist.

Setup Properties

Page 34: Project 2000 Training Manual

Module 1.2 45

For a complete list of setup properties for Microsoft Project 2000, see the Microsoft Project 2000 Resource Kit.

Some properties are public, meaning that they can be overridden at the command line or set dynamically during the installation using standard actions or custom actions. (Note: The names of public properties are always in all uppercase letters.)

Some properties are private, meaning that they cannot be overridden from the command line because they describe the local system or operating system. (Note: The names of private properties contain lowercase letters.)

To install Microsoft Project 2000 with the PROPERTY set to a certain VALUE, you must be careful of the syntax used at the command line. You can put the property anywhere except between an option and its argument.

For example, you must specify a file when you use the /i switch. In this case, the /i switch is the option and the specified file is the argument. Thus, when setting a property and using a switch, we must put the property before or after the option and its argument, not in between.

Correct syntax:

setup /i A:\Example.msi PROPERTY=VALUE

Incorrect syntax:

setup /i PROPERTY=VALUE A:\Example.msi

Command line switches and setup properties can be combined to

customize installations. However some switches should not be used together and some properties cannot be used with some switches.

Command Line Switches can generally be divided into two types: verb

switches and adverb switches.

Verb switches are switches that influence setup in a major way. For example, the /a switch performs an administrative setup, while /x uninstalls Project. Verb switches should not be used together (except for patching an admin image which requires both the /p and /a). There are eight verb switches. They are /i, /x, /f[p|o|e|d|c|a|u|m|s|v], /j[u|m], /a, /p, /y and /z.

Adverb switches are modifier switches that affect a verb switch. There are four adverb switches. They are /t, /g, /l[a|e|c|i|m|p|r|u|v|w|+|!], /q[n|b|r|f].

/t and /g are for use with /j only.

/l and /q can be used with all verbs except /y and /z.

While Setup Properties do not interact directly with

Command Line Switches, the switches used can influence their efficacy. For example, all Setup Properties are ignored when used with a /j, /y, or /z switch.

Using Switches & Properties in Combination

Using Multiple Command Line Switches

Using Command Line Switches and Setup Properties

Page 35: Project 2000 Training Manual

46 Module 1.2

And some (like TRANSFORMS*) are also ignored with /x and /f. Thus caution must be exercised when using these five switches.

Setup.ini files are also used to customize installations. Their main advantage is that they are easier to create than long

command lines with multiple switches and setup properties.

Like command line switches, SETUP.EXE does not actually process the setup.ini file. Instead it reads the setup.ini file and creates a command line that is then passed on to the Windows Installer.

When a property or value is found in both the SETUP.INI file and on the command line, the command line overrides the .INI file settings.

SETUP.INI files consist of the following five sections:

� [MSI] - specifies the path to the installation package for this installation. This is the same as the /i option on the command line.

� [MST] - specifies the path to transforms used with this installation. This is the same as the /t option on the command line.

� [OPTIONS] - section that displays where administrators can set and override properties in the MSI or MST files. Each option in the option section must have a property name and a value.

� [DISPLAY] - is used to set the User Interface level used during setup. This corresponds to the /q option on the command line. Valid values are - none, basic, reduced, and full.

� [LOGGING] - is used to set what logging switches are on by default and the path to where the logging file is created.

Below is an example of the contents of a SETUP.INI file for Microsoft Project 2000.

; Microsoft Project 2000 Windows installer setup.exe information file.

; If a file exists in the same directory as setup.exe named "setup.ini", or

; /settings <path to ini file> is passed on the command line, that file will

; be read and modify the default behavior of setup as shown below.

;[MSI]

; If a value is present, the MSI section gives the name of the MSI file to install.

; This file must be in the same directory as setup.exe, and both must be in the root

; of the installation tree.

; If no value is present, setup.exe will look for exactly one file matching "*.msi"

; in its directory and if found, use that.

;

Setup.ini Files

Page 36: Project 2000 Training Manual

Module 1.2 47

MSI=INSTALL.MSI

;[MST]

; If a value is present, the MST section gives the full path to a transform to apply.

; Specify it in the form MST1=path to MST

; Remember to uncomment both the section name and the value names.

;

;MST1=\\server\share\some transform.mst

;MST1=D:\transforms\my transform.mst

;[Options]

; If a value is present, the [Options] section gives the values of properties to apply to

; this installation. Specify them in the format:

; PropName=PropValue

; Remember to uncomment both the section name and the value names.

;

;USERNAME=Customer

;[Display]

; If a value is present, the [Display] section overrides default UI modes.

; Display has one of the following values:

; quiet, none, basic, reduced, full

; CompletionNotice - if this value is present gives whether or not to display

; a setup completion noticefor otherwise quiet setups. The completion notice will

; only appear if Setup does not need to reboot to complete the installation.

; Remember to uncomment both the section name and the value names.

;

;Display=None

;CompletionNotice=Yes

Page 37: Project 2000 Training Manual

48 Module 1.2

[Logging]

; If a value is present, the logging section provides default logging information.

; There are three possible values, all are optional and have defaults as shown below

;

; Value Default Description

; Type <none> Logging mode to use, e.g. ea

; Use * to get all logging modes; + to append to the

; logfile if it exists.

; Path %TEMP% Path to create logfiles in. May contain environment variables.

; Final component may be non-existent and will be created.

; Template SetupLog(*).txt File name for log file. May contain environment variables.

; Should end in "(*).txt"; the * is replaced with a zero-padded

; 4 digit number to make the file name unique.

;Type=icewarmup

;Path=\\ProjSrv\logfiles\

;Template=Microsoft Project %UserName%(*).txt

Template=Microsoft Project 2000 Setup(*).txt

Type=voicewarmup

When a user double-clicks Setup.exe, Setup reads the customizations from the

SETUP.INI file automatically. A Setup settings file should be used when it is not necessary or viable for users to enter a complicated command line when they run Setup or when there is no need to create a batch file or shortcut.

The settings file is also useful when an administrator wants to set options that are awkward to include in a command line. The settings file organizes Setup options in an easy-to-read format that typically will be more helpful than creating a long command line.

When To Use The Setup Settings File

Page 38: Project 2000 Training Manual

Module 1.2 49

Administrators can create multiple settings files for different groups of users. Users specify the settings file they want to use by using the /settings Setup command-line option. It is also possible to specify Setup command-line options along with a custom Setup settings file. If a command-line option is specified that conflicts with a value in the settings file, Setup uses the command-line option.

For example, an administrator can create two settings files for the Engineering and Accounting departments. Users in each department run Setup by using one of the following command lines:

setup.exe /settings off9engr.ini

setup.exe /settings off9acct.ini

Suppose, however, that these two departments need to use a common

set of custom options, except that each needs a different organization name. Then it is possible to customize the default settings file (Setup.ini) with the standard options, and then the Engineering and Accounting departments use the following command lines to run Setup:

setup.exe companyname="Engineering Department" /settings

off9engr.ini

setup.exe companyname="Accounting Department" /settings

off9acct.ini

Setup uses the options defined in the settings file and sets the organization name according to the command line.

Windows Installer

During the course of its operation, SETUP.EXE looks for the installation of Windows Installer (MSIEXEC.EXE). If it is already installed on the system, SETUP.EXE calls upon MSIEXEC.EXE, passes on any switch, property and .INI information, and the installation proceeds on to the second phase of the installation process.

SETUP.EXE will use the Windows Installer currently on the system, regardless of the application from which it was installed. For example, if Office 2000 is already on the system, Project will simply use the Windows Installer placed on the system at that time, rather than install Windows Installer again. The reason for this is that Windows Installer is an operating system “service” that allows the operating system to take over the installation process. Of the current operating systems, only Windows 2000 ships with this service pre-installed. Therefore, it is necessary to install the Windows Installer files on Windows 95/Windows 98 and Windows NT 4.0 before Microsoft Project 2000 installation can proceed.

If Windows Installer is not detected, SETUP.EXE installs it. On Windows 9x platforms, this is done using the file INSTMSI.EXE. On Windows NT platforms the file INSTMSIW.EXE is used.

Both INSTMSI.EXE & INSTMSIW.EXE files are

IExpress packages that decompress the complete list of Windows installer files to a new directory within the temp directory. The name of this directory usually is of the form IXP###.tmp, for example: IXP001.tmp.

Using Switches, Properties, and *.ini Files

The Windows Installer Package: INSTMSI(W).EXE

Page 39: Project 2000 Training Manual

50 Module 1.2

A complete list of Windows Installer files is presented in the following table:

Windows installer File Notes

MSI.DLL This is the main Windows installer engine .DLL. Contains all the functions that the installer uses to install and manage applications.

MSIEXEC.EXE The Service used to control .MSI package setups.

MSIHND.DLL The installer handler .DLL. It is responsible for the behavior of the user interface of the installer

CABINET.DLL Always installed since later installs may have compressed cabinets.

MSPATCHA.DLL System .DLL needed by the installer to support its file patching capabilities.

SHFOLDER.DLL Exposes API's to create special shell folders for Windows 2000.

IMAGEHLP.DLL Except on Windows 98 where it is already present.

RICHED20.DLL Renders text and handles user input and navigation through languages such as Arabic, Hebrew, Thai, Vietnamese and Indic.

MSLS3.DLL Support file for RICHED20.DLL.

USP10.DLL Support file for RICHED20.DLL.

MSIINST.EXE Part of the IExpress package that gets expanded with the installer files. Handles installation of the Windows Installer files, then is deleted.

Once the files are expanded, INTSMSI.EXE calls on the internal file MSIINST.EXE to install the Windows Installer files. MSIINST then performs the following steps:

� Checks the platform and the version of the files to be installed. On incompatible platforms, the message box below will appear.

Page 40: Project 2000 Training Manual

Module 1.2 51

� MSIINST then opens the package containing the included database(s). It looks for an appropriate language transform (.MST) for the user's system.

� It first tries the User's default language, then the system, then English.

� If there is a transform available, it will be applied when MSIEXEC.EXE is run.

� If the operating system of the computer is Microsoft® Windows® 95/Microsoft® Windows® 98, MSIINST will use the decompressed files to run the install. If the operating system of the computer is Microsoft® Windows NT® or Microsoft® Windows® 2000, the following are true:

� If the user is not an administrator on the machine and Project setup has been run with the /jm switches: MSIINST looks for an existing install of the installer with which to run. This allows non-administrators to upgrade to newer versions of the installer if the product code has been assigned to them. (Product codes can be assigned in Windows 2000)

� If a previous version of the installer cannot be found, or the user is an administrator on the machine, MSIINST attempts to register the decompressed files as the installer service. These files will be used to run the install. MSIINST then calls MSIEXEC.EXE against the included database(s). The default database is named INSTALL.MSI for Microsoft Project 2000. It is called with a basic logging /lv switch, which overrides any policy settings. The log file is created in the temporary directory along with the other decompressed files. You must retrieve the log file before completing the installation or it will be deleted. You can override the default command line to generate a full log elsewhere. The basic command line (currently) for a normal install is:

msiexec /I instmsi.msi /lv instmsi.log /qb+

To override this, you can run the following:

msiexec /I instmsi.msi /lv c:\instmsi.log /qb+

Or the suggested:

msiexec /I instmsi.msi /lv* c:\intmsi.log /qb+

Note

In the example above, the command line switches are passed directly to MSIEXEC.EXE. The same functionality happens when including these switches on the SETUP.EXE command line.

1. The included database copies files as needed, based on file versions. COPYMSI will always copy MSI.DLL, MSIHND.DLL, and MSIEXEC.EXE regardless of file versions. This allows you to install older versions of the installer over your existing copy. COPYMSI is not included with Office 2000.

2. Next extension and OLE information is registered.

Page 41: Project 2000 Training Manual

52 Module 1.2

a. On Windows 95/98, this is accomplished via the following commands: MSIEXEC /d is called to register the extension .msi and .msp. MSIEXEC /y msi.dll is called to register other OLE information. These steps are performed via custom actions to prevent the installer descriptors from being created. The bootstrapping process for the installer necessitates these steps, which would normally not be acceptable for a fully functional application using the installer.

b. On Windows NT, the special command line switch MSIEXEC /regserverCA is called to perform the basic OLE, Service, and extension registration. Unlike MSIEXEC /regserver, the service is not stopped by this call. This, again, is necessary because it is called from within the running service.

3. The verbs for the Windows Installer are then registered from the registry table in the installer database. Again, these cannot be written from the verb or extension table because of the procedure the installer uses for installing.

4. If a reboot is detected as necessary, and the installation was run in a mode that did not suppress reboots (msiexec /q) the installer will prompt you to reboot. Note that versions of Internet Explorer 4.01 and later will use the MSI.DLL when available, and this will generally require a reboot to completely release files in use. Windows installer version 1.1 will probably attempt to force these applications to close and restart.

5. After the database install is complete, control is returned to MSIINST. If an administrator ran the install, the service registered to the temporary folder is stopped. MSIINST waits up to 30 seconds for the service to complete its operation, and then returns control to INSTMSI.

6. INSTMSI then cleans up any files that are not in use, deletes MSIINST.EXE, and exits.

Note

INSTMSI and COPYMSI are only available on Windows 2000 during the betas and for development purposes. The Windows installer comes pre-installed on these computers, and will only be updated by service packs.

Overview of Windows Installer (MSIEXEC.EXE)

As mentioned previously, Windows Installer is a service of the operating system that allows it to take over the installation process. Windows Installer consists of two parts:

1. MSIEXEC.EXE – a client-side installer service that controls the installation process

2. MSI Package File – contains information used by Windows Installer to install Project. It is similar in function to the STF file found in ACME setup.

The MSIEXEC.EXE program is the main component of the Windows installer. When called by SETUP.EXE, MSIEXEC.EXE uses the dynamic link library, MSI.DLL, to read the windows installer package (MSI file), apply the Windows installer transform (MST file), incorporate command-line options supplied by SETUP.EXE and install Office applications.

MSIEXEC.EXE

Page 42: Project 2000 Training Manual

Module 1.2 53

Warning!

Never run MSIEXEC.EXE directly. Instead SETUP.EXE should be used to invoke MSIEXEC.EXE. Running SETUP.EXE ensures that all system verifications are performed.

The Window Installer database (.MSI file) consists of many interrelated tables that together comprise a relational

database of the information necessary to install a group of features. This database replaces the ACME Setup STF and INF text files as the key components for installing applications. Because the database is relational, changes made to one table are propagated automatically throughout the database. This is a very efficient process for introducing consistent changes into the installation process and means that users can more easily customize a large application or group of applications. The database tables reflect the general layout of the entire group of applications, including:

� Available features

� Components

� Relationships between features and components

� Necessary registry settings

� User interface for the application

To create an installation database, program developers must populate the tables with all the information about the applications and the installation process. Even though these files are considered relational databases, it is not possible to open or modify these databases with tools such as Microsoft Access or Microsoft® SQL Server™. Manually authoring all these tables is a large task even for a moderate size installation. Microsoft Technical Support does not support the modification of the MSI package File.

The Microsoft Window Installer SDK is available to programmers and contains database creator/editor tools.

For more information on the general scheme of the installer database, see the Microsoft Project 2000 Resource Kit.

While the MSI Package could theoretically be changed to customize an installation, the amount of work to do so prohibits it.

Instead, the installation process can be manipulated by applying transforms (.MST) to the MSI Package. A transform makes changes to some of the elements of the MSI Package, such as changing the language in the user interface of an application.

It is important to note that the installer does not change the .MSI package itself, but only temporarily applies the changes from the transform in memory before executing the package instructions. A transform is typically much smaller than the package, so you can easily create multiple custom installations by creating multiple transforms to use with the default package.

MSI Package File

Transforms

Page 43: Project 2000 Training Manual

54 Module 1.2

While the function of the MSI package relates directly to that of the SETUP.STF file in ACME setup, the role it plays in customization does not. Unlike editing the Acme SETUP.STF in the previous versions of Project to customize the installation, it is not possible to directly modify the MSI Package File. Instead the Office Custom Installation Wizard is used to create a new transform with all the changes necessary to customize the Project installation. When Setup is run with both the package and the transform, the installer applies the transform to the original package, and Setup uses the altered configuration to perform the installation. Creating transforms is described in more detail in Module 2 of this course.

During the setup process the MSI Package and any transforms are initially copied to a temp folder. At the same time these files are cached in the system folders of the operating system for use during additional component installs and maintenance mode. During setup the files in the temp folder are used. After the initial setup is completed, the temp files and folder are deleted.

On all platforms, the MSI and MST files cached in the system folder are stored in a file called Installer. These files must be present for any feature to be installed when “Installed on First Use” is used. These files are also necessary during additional component installs and maintenance mode setups. All files in the Installer folder are Read-Only for Everyone on an NTFS partition.

Looking at Windows Installer In-depth

The following are the actions that Windows installer performs during Microsoft Project 2000 setup:

� Determines if setup is a new install or a maintenance mode setup

� Determines the installation location

� Determines features installed for a typical installation

� Presents the setup user interface

� Completes setup and installs any patches

� Continues after file migration

� Completes setup at first run

Page 44: Project 2000 Training Manual

Module 1.2 55

The following flowchart illustrates the installation process performed by the Windows Installer:

Check to see if Project is installed Welcome Screen

Name, Org, CD Key

Licensing Agreement & PID

No

Feature Tree

Remove Previous Version

Typical or Custom Install?

Install location & Disk Space

Install Project Launch Maintenance Mode

Yes

Next

Complete Setup

Reboot &

Resume ?

Clean-up Process

Upgrade

Upgrade

Cus

tom

Yes

Typ

ical

No

No

Custom

Yes

Figure 2 - Windows Installer

Page 45: Project 2000 Training Manual

56 Module 1.2

Determining Installation Location

The default installation folder for Microsoft Project 2000 is the \Program Files\Microsoft Office folder on the same drive where the operating system exists. This folder also is the default folder for other Microsoft Office products. If you already have an Office 2000 family product installed and you choose to install Microsoft Project 2000 into a different folder, extra disk space could be utilized because of the duplicate files in the two folders.

File Versioning Rules of Window Installer

One of the basic processes of any installer is the copying of files. The Window Installer makes installation of different products more consistent by enforcing some rules for copying a file to a folder that already contains a file with the same name. When a file conflict occurs, it is very important to note that Window Installer never asks you how to handle the situation, but instead decides how to handle the situation silently. The rules involve the following three properties of a file:

� Version

� Date

� Language

The rules Window Installer uses in deciding whether to install a file are the following with more detail below:

� Highest Version Wins

� Versioned Files Win

� Favor Product Language

� Mismatched Multiple Languages

� Preserve Superset Languages

� Non-versioned Files Are User Data (files with no version number)

� Non-versioned Files Using Companion

� Rules Are Global

All other things being equal, the file with the highest version wins, even if the file on the machine has the

highest version.

All other things being equal, a versioned file gets installed over a non-versioned file.

All other things being equal, if the file being installed has a different language than the file on the machine,

favor the file with the language that matches the product being installed. Language neutral files are treated as just another language so the product being installed is favored again.

This is new setup behavior that is introduced by Window Installer. The behavior is motivated by the desire to guarantee the application being installed will function.

All other things being equal, after factoring out any common languages between the file

Highest Version Wins

Versioned Files Win

Favor Product Language

Mismatched Multiple Languages

Page 46: Project 2000 Training Manual

Module 1.2 57

being installed and the file on the machine, any remaining languages are favored according to what is needed by the product being installed.

Example:

� Both files have the same version.

� The file on the machine is a multi-language file (English, French, and Spanish)

� The file to be installed is a multi-language file (English, Italian, and German).

The new file is installed since there are languages’ remaining after English is factored out.

All other things being equal preserve the file that supports multiple languages regardless of

whether it is already on the machine or is being installed.

Example 1:

� Both files have the same version.

� The file on the machine is for English and French.

� The file being installed is for English, French, and Spanish.

The new file is installed since it supports a superset of the languages that the file on the machine supports.

Example 2:

� Both files have the same version.

� The file on the machine is for English, German and Italian.

� The file being installed is for German.

The existing file is used since it supports a superset of the languages that the file being installed supports.

All other things being equal, when the Modified date is later than the Create date

for the file on the machine, Window Installer does not install the file because user customizations would be wiped out. When the Modified and Create dates are the same, the file is installed. Windows Installer assumes that if the created and modified dates are essentially the same that the file does not contain any user data so it is safe to overwrite.

All other things being equal, a non-versioned file that is associated with a

versioned file using the companion mechanism abides by the rules for the versioned file. The only exception is when the versioned file on the machine and the versioned file being installed have the same version and language but the companion file is missing on the machine. In this case, the companion file being installed is used even though the versioned file on the machine is used.

Non-versioned files can inherit installation rules from a versioned file using the “companion file mechanism”. Placing the primary key of a versioned file in the Version field for a non-versioned file associates these two files as “companions”. An example would be an application executable like MYWARE.EXE and a corresponding settings file like MYWARE.SET. In general, the settings file should follow the same installation rules as the

Preserve Superset Languages

Non-versioned Files Are User Data

Non-versioned Files Using Companion

Page 47: Project 2000 Training Manual

58 Module 1.2

application executable. So if the companion versioned file being installed gets used, so should the non-versioned file being installed. The only exception is when the versioned file being installed is identical to the versioned file on the machine, but the non-versioned companion file is missing on the computer. In this case the non-versioned companion file being installed is used even though the versioned file being installed does not get used.

The rules for determining when to install a file reside in one place within the installer and are global, meaning they apply

to all files equally. For example, an author of the installation of a product cannot specify to always overwrite a particular file

Rules Are Global

Page 48: Project 2000 Training Manual
Page 49: Project 2000 Training Manual
Page 50: Project 2000 Training Manual

PSS Learning Services

Module 1.3

Contents

Lesson 3: Local and Upgrade Installation 61

Page 51: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 52: Project 2000 Training Manual

Module 1.3 61

Lesson 3: Local and Upgrade Installation

Overview This lesson discusses the installation of Microsoft® Project 2000. It also discusses rollbacks, registration and component detection.

What You Will Learn After completing this lesson, you will be able to:

� Discuss and install Microsoft Project 2000 locally as a new application

� Discuss and install Microsoft Project 2000 locally as an upgrade

� List different system components used or upgraded by Microsoft Project 2000

� Explain the differences of installing and using Microsoft Project 2000 on different systems (Microsoft® Windows NT® vs. Microsoft Windows 9x, using Microsoft Internet Explorer vs. Netscape, etc.)

� Discuss piracy protection and registration features of Microsoft Project 2000

� Describe how rollbacks are implemented

� Describe how component detection works

Page 53: Project 2000 Training Manual

62 Module 1.3

Installing Microsoft Project 2000 When installing Microsoft Project 2000 on a computer without a previous version of Microsoft Project.

Launching Microsoft Project 2000 setup first displays the welcome screen for the installation wizard. Here it will prompt you for a user and organization name as well as the 25-character CD key found on the back of the jewel case.

Figure 1 - Welcome Screen

Clicking Next displays the end-user license agreement for Microsoft Project 2000. At this point you are given the choice of accepting or rejecting the agreement. If you do not accept the license agreement, setup is cancelled. To continue with setup, the user must accept the licensing agreement.

Page 54: Project 2000 Training Manual

Module 1.3 63

Figure 2 - End User License Agreement

Install Now

Accepting the agreement and clicking, displays the Ready To Install screen. Here you are given two options. They are “Install Now” and “Customize.” The first option installs Microsoft Project 2000 in the default location with the default options. The default location is “C:\Program Files\Microsoft Office\”. If Office 2000 or one of its applications is installed on the system, the default folder is the folder in which Office 2000 is installed.

Page 55: Project 2000 Training Manual

64 Module 1.3

Figure 3 - Ready to Install

By choosing Install Now, you not only accept the default installation location, you also accept for only the default features to be installed in their default state. For Microsoft Project 2000, the following features are installed as noted when Install Now is chosen.

Feature Default Install State

Microsoft Project for Windows Run From My Computer

Add-ins: Adjust Dates Run From My Computer

Add-ins: Analyze Timescaled Data Run From My Computer

Add-ins: Compare Projects Run From My Computer

Add-ins: Euro Currency Run From My Computer

Add-ins: DB Conversion Run From My Computer

Add-ins: PERT Analysis Run From My Computer

Help Run From My Computer

Microsoft Project Templates Installed On First UseRun From My Computer

Digital Signature for Microsoft® Visual Basic® for Applications (VBA) projects

Installed On First Use

Core Support Files Run From My Computer

Page 56: Project 2000 Training Manual

Module 1.3 65

Feature Default Install State

Extended Support Files Not Available

Bi-directional Support Installed On First Use

Universal Font Not Available

Japanese Font Installed On First Use

Korean Font Installed On First Use

Traditional Chinese Fonts Installed On First Use

Simplified Chinese Fonts Installed On First Use

Language Settings Tool Installed On First Use

Find Fast Search Engine Installed On First Use

Find Fast Search Converters Installed On First Use

Run From My Computer

Office Assistant: Rocky Installed On First Use

Office Assistant: Dot Installed On First Use

Office Assistant: MotherNature Installed On First Use

Office Assistant: Genius Installed On First Use

Office Assistant: Logo Installed On First Use

Office Assistant: F1 Installed On First Use

Office Assistant: Clipit Run From My Computer

Office Assistant: OfficeCat Installed On First Use

Web Publishing Run From My Computer

Spelling Checker (Spanish) Installed On First Use

Spelling Checker (French) Installed On First Use

Microsoft® Visual Basic® Help Installed On First Use

Table 1

Customize

If you choose Customize instead of Install Now, you are given the options to make modifications to the installation location and the state in which certain features are installed. First you are taken to the installation location screen. Here you can see how much space is available on each system drive. You are also given the opportunity to change the installation folder.

Page 57: Project 2000 Training Manual

66 Module 1.3

Figure 4 - Installation Location

After selecting an installation location, you are taken to one of two screens, depending on your system configuration. If you do not have IE 5 or higher installed on you system, you are taken to the Updating Windows screen. Here you are given the opportunity to install Internet Explorer 5 in either a standard or minimal configuration. You may also choose not to install Internet Explorer 5 at all.

Internet Explorer 5.1 is installed with Microsoft Project 2000. If you have no browser or a browser other than IE 5 (such as Netscape or Internet Explorer 4) installed on your system, you will be lead to the Updating Windows screen to install Internet Explorer 5.1. If you have Internet Explorer 5 installed, but not Internet Explorer 5.1, your browser will be updated automatically without displaying the Updating Windows screen.

Although Microsoft Project 2000 will work without installing Internet Explorer 5, it is recommended that the user choose to install it. Not installing Internet Explorer 5 can cause some features, such as on-line help, to not work.

Note

Page 58: Project 2000 Training Manual

Module 1.3 67

If you already have Internet Explorer 5 or later installed on your system, (or once Internet Explorer 5 installation has been completed) you are taken to the Selecting Features screen. Here you can change the installation state of any of the features that ship with Microsoft Project 2000.

Figure 5 - Selecting Features

Installing Microsoft Project 2000 updates your MDAC components to version 2.5 automatically. There is no option to disable this during installation.

Once you have selected the desired features, Microsoft Project 2000 is installed on the system.

Try This: Install Microsoft Project 2000

Install Microsoft Project 2000 using the Customize Option.

1. Run SETUP.EXE from the install location given you by the instructor.

2. Enter a user name, organization name, and your CD key as required. Click Next.

3. Agree to the license agreement and click next

4. Click Customize.

5. Install Project to the “C:\Program Files\Project 2000” directory. Click next.

6. Click Microsoft Project and choose Run all from My Computer.

7. Click Install Now.

Microsoft Project 2000 should then install to the designated directory.

Page 59: Project 2000 Training Manual

68 Module 1.3

Installing Microsoft Project 2000 as an Upgrade If a previous version of Microsoft Project has been installed on the system, Microsoft Project 2000 setup behaves a little differently than noted above. At the Ready To Install screen, you are presented with the following two options: Upgrade Now and Customize.

Figure 6 - Upgrade Ready to Install

Choosing Upgrade Now automatically uninstalls any previous versions of Microsoft Project that are on the system. It then installs Microsoft Project 2000 in the default location. If you choose Customize, you receive the same options as before with one exception. Between choosing the installation location and selecting features, (or Updating Windows if Internet Explorer 5 is not installed) you will get the Removing Previous Versions Screen. Here you have the option to keep or remove previous versions of Microsoft Project.

Page 60: Project 2000 Training Manual

Module 1.3 69

Figure 7 - Removing Previous Version

Other than uninstalling previous versions of Microsoft Project, installing Microsoft Project 2000 as an upgrade is not different than installing it as a new product.

If you have a previous version of Microsoft Project already installed on your system and you want to preserve the previous version, you should install Microsoft Project 2000 to a different folder. Please note that if the previous version is Microsoft Project 98, inserted projects, cross project dependencies and resource sharing links may not work as expected. Also, workgroup messaging features may not work as expected. Uninstalling Microsoft Project 2000 “fixes” the unwanted connection between the two versions.

Note

Page 61: Project 2000 Training Manual

70 Module 1.3

Use Rollback to Recover from a Failed Installation Attempt

When an installation is unsuccessful, the installer automatically restores (rollbacks) the original state of the computer. Microsoft Project 2000 takes advantage of this feature during installation. This means that you could cancel the Microsoft Project 2000 installation in the middle of overwriting your Microsoft Project 98 files and still be able to run Microsoft Project 98 when Microsoft Project 2000 setup quits successfully. This also means that you can resume installation if Microsoft Project 2000 setup unexpectedly quits before completion.

Rollback Script Window Installer accomplishes rollback by creating a rollback script. A rollback script is a file containing a linear sequence of operations to perform such as file and registry updates, configuration information updates, user interface notifications, and state information for other operations. Each operation recorded in the rollback script is a direct response of an operation in the installation script. See the table below for some examples of what would go into a rollback script.

During the Install Process Creating the Rollback Script

Write a registry key. If the registry key did not previously exist, then describe how to remove the registry key. If the key already existed, then back up the existing registry key so it can be restored.

Install a file. If a file did not previously exist in the folder, then describe how to remove the file. If the file already existed, then back up the existing file so it can be restored.

Create a shortcut to the file. If the shortcut did not previously exist in the folder, then describe how to remove the shortcut. If the shortcut already existed, then back up the existing shortcut so it can be restored.

Page 62: Project 2000 Training Manual

Module 1.3 71

Why are rollback scripts in binary format? Rollback scripts are in binary file format for the following reasons:

� Efficiency

� Avoids the need for parsing

� To discourage manual editing

Where Rollback Files are Located The rollback script and files (.RBS & .RBF) are stored in hidden folders called CONFIG.MSI. RBS files are rollback scripts. RBF files are backups of existing files (Microsoft Project 98).

Config.Msi folders

The Config.Msi folders are created when MSIEXEC.EXE starts copying files from the install point.

Rollback Scripts

The rollback script (.RBS) file is always stored in the CONFIG.MSI folder on the drive where the operating system is installed. The .RBF files are stored in the CONFIG.MSI folder located on the drive where the application that is being backed up currently resides. This is done so that there is no crossing of drives when backing up the application files. Files with a RBS file extension are rollback script files and files with a RBF file extension are backups of existing files. All rollback files and the CONFIG.MSI folder are deleted when the installation completes successfully.

For more information on disabling rollbacks, see the following Knowledge Base article: Q227181 "How to Manage Windows Installer Local Policies".

Page 63: Project 2000 Training Manual

72 Module 1.3

Use Logging to Troubleshoot Installation Issues

Although there are a number of ways that we can troubleshoot installation issues with Microsoft Project 2000, logging can be a particularly effective way to find out what is happening during the installation process.

Logging can be useful to see where a setup failure may have occurred. Both SETUP.EXE and MSIEXEC.EXE create a play-by-play report of the install process. Logs might be especially helpful if an escalation is deemed necessary. Microsoft Project 2000 ships with logging turned off by default.

To enable logging during the Microsoft Project 2000 setup, start setup using the following switches: Setup.exe /l c:\logfile.txt

Additional switches are available to specify which information is written to the log file.

For more information on which switches to use with logging, see the Microsoft Project 2000 Resource Kit.

Installing Features and Components on Demand

With traditional installation technology, it was necessary to exit an application and rerun setup to perform an installation task. This commonly occurred whenever a user wanted a feature or product they had not chosen during the first run of setup. This often made the process of product configuration inefficient because it required the user to anticipate which functionality they required before they ever used the product. With the Windows Installer, however, users can install functionality on the fly.

Page 64: Project 2000 Training Manual

Module 1.3 73

Installation-On-Demand – Advertising Features Installation-on-demand makes it possible to offer functionality to users and applications in the absence of the files themselves. This notion is known as advertising. The Windows Installer has the capability of advertising functionality and to install-on-demand application features or entire products. Whenever a user or application activates an advertised feature or product, the installer proceeds with an installation of the needed components. This speeds up the configuration process because additional functionality can be accessed without having to exit and rerun another setup procedure.

Component Detection

A large portion of logic used in the Window Installer hinges on component detection. Component detection is key in preventing DLL conflicts that often plague applications that share common files. Whereas ACME used a procedural script to install a disjointed collection of files, registry keys and other resources, the Window Installer views all applications as three logical building blocks: Components, Features, and Products. You can use the Window Installer to detect missing components or files and then to reinstall features containing the missing components. Because the installer installs features, and not components, it must first resolve to which component a missing file belongs and then install the feature containing that component.

Before addressing “Component Detection”, we need to look at these basic building blocks of Window Installer.

The smallest installation unit for Window Installer is the component. A component can be a collection of files, registry

keys, shortcuts or INI file entries. Components are commonly hidden from the user. Whenever a user selects some feature for installation, the installer determines which components are required. Only a single instance of any component is ever installed and so several features may end up sharing some components. A component does not necessarily have to contain any files. When a component contains one or more files, all files are installed into the same folder. This is a rule of Window Installer.

The “Golden Rule” of installer components: No single file (as defined by filename and install location), registry entry, shortcut or other resource should ever be shipped as a member of multiple installer components. This rule applies across products, product versions, and companies.

Component detection information is stored in the registry at the following location: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Currentversion\Installer \Components

A feature is a collection of one or more components. When you perform a custom installation, you see a list of features to choose to

install (any item on the Feature tree). For example, Add-ins is a feature in Microsoft Project. Features can share components.

Components

Features

Page 65: Project 2000 Training Manual

74 Module 1.3

As you would expect, a product represents a single product. “Microsoft Project” is a product. There exists one package file (.MSI

database) for each product. For Microsoft Project 2000, this file is INSTALL.MSI. Each product has a unique product code. Products consist of one or more features.

The product code for Microsoft Project 2000 is 8061EFD2ACDB1D117BEA000CF49BF2D3.

The product code for Project Central is 00A52CA4AE703D116815000CF4E6902F.

How Component Detection Works

The Windows Installer uses component detection to determine whether a component is available and is in good working order. The Window Installer performs component detection every time a product that was installed by the installer attempts to use a feature. One use of component detection is determining whether a component being installed is already installed and a running product requesting a component, which in turn triggers component detection. A single component contains the exact same set of resources, regardless of which product ships it. Also, a resource cannot be shared across components. This prevents collisions between components where the components should have been unique from each other.

One of the objects that make up a component can be designated as the “keypath” for that component. Typically this object is a file (for example, winproj.exe), but it can be a registry key. The keypath represents two things:

1. The keypath represents the path to a given component. When an application requests the path to the component, the Window Installer returns the path to the keypath resource (usually a path to a file).

2. The keypath represents the only resource the Window Installer checks for existence to see whether the component is properly installed.

When the keypath resource is missing, the Window Installer treats the component as broken and triggers a reinstall of the missing component.

Products

Note

Page 66: Project 2000 Training Manual

Module 1.3 75

Component Detection Example A user wants Rocky, the Office Assistant that was not originally installed. After starting setup in maintenance mode, the installer checks the following registry key:

Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Installer\Components\COMPRESSED_COMPONENT_GUID\COMPRESSED_PRODUCT_GUID = c:\path\to\keypath

When the keypath exists at the specified path, the installer informs the calling application (i.e. Microsoft Project) of the path and the assistant is loaded.

When the keypath does not exist, the installer returns the appropriate error code, which in this case is INSTALLSTATE_ABSENT.

Registry Keys

The installer then looks in the following registry hives to determine whether Project is installed per-user or per-computer, and whether it is a managed application. A managed application is an application assigned on Microsoft® Windows® 2000 by an administrator via the App Deployment service. Per-User means that each user on the machine has a profile enabled. For Microsoft® Windows® 95/Microsoft® Windows® 98, user profiles must be turned on in order to use per-user. For Microsoft® Windows NT® 4.0 and Windows 2000, user profiles are turned on by default. Per-computer means that the applications are the same for all users and no profiles are enabled.

Per-user, non-managed (Windows 95/Windows 98 and Windows NT 4.0):

Hkey_Current_User\Software\Microsoft\Installer\Products\ COMPRESSED_PRODUCT_GUID

Per-user, managed (Windows 2000):

Hkey_Current_User\Software\Classes\Installer\Products\ COMPRESSED_PRODUCT_GUID

Per-computer, managed and non-managed (Windows 95/Windows 98, Windows NT 4.0 and Windows 2000):

Hkey_Current_User\Software\Microsoft\Installer\Products\ COMPRESSED_PRODUCT_GUID

Page 67: Project 2000 Training Manual

76 Module 1.3

LastUsedSource and PackageName When the installer finds the Product in one of these locations, it looks at the \Sourcelist key to find the PackageName and LastUsedSource location.

LastUsedSource value is in the format:

<n/u/m (net/url/media)>;<item# from n,u, or m

list>;<Sourcepath>

For example,

“n;1;\\united\dartest\public\”

When the package exists at the LastUsedSource, installer launches to install all the components in the feature, from the list of SQUIDs in:

Hkey_Local_Machine\Sofware\Microsoft\Windows\CurrentVersion\Installer\Features\COMP_PRODUCT_GUID

Feature_name = SQUID1SQUID2SQUIDn

A SQUID is simply a compressed (SQuished) GUID that is written to the registry to save space.

When the package does not exist at the install point in LastUsedSource, installer checks the \Sourcelist\[Net, URL, Media] sourcelist keys for alternate sources.

The sourcelist is checked in the order of Net, Media, URL by default – but setting the SearchOrder System Policy can change this.

When a correct MSI package file (correct Filename and Product code) is found at one of the sources, the installer proceeds to install the components. If a valid source is not found, the installer pops up the Network Resource Dialog box to give the user the option of specifying another valid source. However, if the DisableBrowse system policy is set, the browse button is not displayed to the user.

Once a source is selected or typed into the combo box, the source is validated. If valid, the installer proceeds to install the above. Otherwise, the installer brings the dialog box back up again and this continues until a valid source is found or the user cancels.

Source lists are explained in more detail in the next lesson.

Removing Components Each installed component is registered in Hkey_Local_Machine with a list of products that are "clients" of that component. If four different products (as defined by the installer package code) install the same component (as defined by the installers component code), then there will be four products in the client list - in essence, a reference count of 4 on that component.

When the installer removes a component, it first checks the client lists of the component to make sure that no other installer based products are using that

Page 68: Project 2000 Training Manual

Module 1.3 77

component. If there is another product in the list, the installer removes the product code of the product that is removing from the client list, and is done. If the list is empty except for the product the installer is uninstalling, then it performs a check of the SharedDLL key. If the installer finds a SharedDLL count that's higher than is expected, it leaves the entire component behind. Otherwise it will remove the entire component.

There also may be a registry entry at this location that is all zeros. This is a system component and is never removed.

Page 69: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 4: Maintaining a Microsoft Project

2000 Installation 79

Module 1.4

Page 70: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 71: Project 2000 Training Manual
Page 72: Project 2000 Training Manual

Lesson 4: Maintaining a Microsoft Project 2000 Installation

Overview Once Microsoft® Project 2000 is installed, there are many potential issues that could cause the program to not work correctly. The new Windows Installer technology, however, provides solutions that address the most common of these issues.

What You Will Learn After completing this lesson, you will be able to:

� Discuss resiliency and how Microsoft Project 2000 implements it

� Describe how source lists are created and maintained

� Detect and repair errors within Microsoft Project using two different methods

� Add, remove, and update Microsoft Project 2000 components

� Describe Microsoft Project 2000’s uninstall process.

� List files removed and files left behind when Microsoft Project 2000 is uninstalled

Page 73: Project 2000 Training Manual

Resiliency of Microsoft Project 2000 In previous versions of Microsoft Project, you would receive error messages whenever files were corrupt or missing. Usually the error message did not really tell you how to fix the problem. Microsoft Project 2000 addresses this problem by using Windows Installer to attempt to resolve the problem before telling you there is a problem.

Resiliency Microsoft Project 2000 uses resiliency to resolve many problems before letting the user know a problem exists. The definition of a resilient application is as follows:

An application that is a self-maintaining, fault tolerant and that knows how to fix itself when files are missing or damaged. The application will know how to retrieve or provide all necessary information and files to maintain a functional state, with a minimal amount of effort by the user.

In the case of Microsoft Project 2000, it lets Windows Installer process error message as a first attempt to try to remedy the problem. In many cases, Windows Installer detects and fixes the problem without user intervention.

In some cases, Windows Installer is not able to detect errors. An example of Windows Installer not detecting an error is when a font used in a dialog box is damaged.

Note

Page 74: Project 2000 Training Manual

Registry Resiliency All Microsoft Office 2000 applications use a single Office Application Programming Interface (API) to read and write settings between the Office applications and the Windows registry. This API is called the Office Registry API (ORAPI).

In earlier versions of Office, a missing registry key could bring an application to a halt. In Office 2000, if an entry is somehow deleted from the registry, ORAPI can find and use the default value without interruption.

Also, ORAPI reduces clutter in the registry by storing the default values and locations for Office 2000 registry entries within each application in either the executable file or in MSO9.DLL. In earlier versions of Office, values for default settings were spread out in the registry and in the application.

These changes address problems in earlier versions of Office with registry bloat, resiliency and management of registry values.

Where Default Values are Stored

As mentioned earlier, default values are stored within each application in either the application executable (.EXE) or in MSO9.DLL. Storing the default values in the application minimizes hard disk usage and speeds up registry access.

Setup /y no longer works to restore the user registry settings. However, you can use the Office Profile Wizard from the Microsoft Project 2000 Resource Kit to reset your user registry values back to default settings.

ORAPI Does Not Control All Office Registry Values

It is very important to note that not all Microsoft Project registry values are stored within the application and controlled via ORAPI. Only Hkey_Current_User (HKCU) registry values are controlled via ORAPI. All other registry values are written at setup and are located in the MSI registry table, or they are registry values that are directly written by the application at run-time.

To ensure that all user data is written for each user that logs onto a computer, all HKCU registry data that is currently being written at setup, is stored and sorted in the MSI registry table.

Microsoft Project does not provide any resiliency for the MSI registry values or the registry values that do not use ORAPI as they use the Win32 registry API.

The Microsoft Project 2000 Resource Kit contains an Excel workbook called REGKEY.XLS that contains a list of the ORAPI registry values. The ORAPI workbook contains the defaults for each registry setting along with the location of the setting within the registry.

Page 75: Project 2000 Training Manual

How Does the Office Registry API Work?

In general, when Microsoft Project 2000 needs a value, the following events occur.

1. Microsoft Project calls ORAPI to read a value.

2. ORAPI searches for the value in the registry.

3. If the value exists in the registry, ORAPI returns the value to the application. If the value does not exist, ORAPI locates the default value, found in either Winproj.exe or Mso9.dll, and returns the default value to the application.

The above steps were specific to reading a value from the registry. ORAPI registry values only are written to the registry if the following occurs:

� The application needs to write a value that is different from the default.

-OR-

� The user changed the feature that uses the registry value from the default to a non-default. Therefore, all ORAPI registry values are missing if the registry value was not modified by the application or by the user.

System policies always take precedence when the ORAPI reads or writes a value in the Windows registry. As a first step, ORAPI always checks to see whether a system policy has been set for the entry. If a policy has been set, ORAPI uses the policy value.

Page 76: Project 2000 Training Manual

File Resiliency Microsoft Project 2000 improves resiliency by preventing the following common errors.

� Loading a missing DLL

� Opening a missing data file (not a user-created data file, but a non-program file needed by Microsoft Project)

� Finding a valid source

Source Lists

One of the most important items that file resiliency depends on is the source list. Source lists provide the location information necessary for Windows Installer to find original copies of the Microsoft Project 2000 files. Because of its importance, let’s take a look at it before looking at resiliency in more depth.

Source Lists for Microsoft Project 2000 Installation Locations

Applications that rely heavily on network resources for on-demand installation and resiliency are susceptible to source failures if the source location should change for any reason or become damaged. The Windows Installer provides source resiliency for features that are installed on-demand in the form of the source list.

What is a Source List?

The source list contains the locations searched by the installer for installation packages. The entries in this list can be network locations, Uniform Resource Locators (URLs), or local media such as a CD. If one of these sources fails, Windows Installer can quickly and seamlessly try the next.

Windows Installer manages the source list per installed product. Thus Microsoft Project 2000 has a separate source list than another software product such as Microsoft Word. However to improve performance the installer stores source list data in the registry at the following location.

Hkey_Current_User\Software\Microsoft\Installer\Products\{PackageCode}\SourceList

Source lists are product specific. Information required to build a source list is stored in SourceList key below the {ProductCode} key for the product. This guarantees a unique source list for each product. The key resides in the Hkey_Current_User hive so that it follows the user that has user-assigned roaming profiles.

Note

On Microsoft Windows 2000, the registry location for the source list is different. It resides in the following location: HKEY_Local_Machine\Software\Classes\Installer\Products\{PackageCode}\SourceList

This appears to be an issue for users that use user-assigned roaming profiles.

Page 77: Project 2000 Training Manual

Last Used Source

To ensure fast access to network install sources, the last successfully used source is a value directly under the {ProductCode}\SourceList key. This way, a single key is all that needs to be opened in most common cases.

There are three types of sources: Media, Network and URL. The LastUsedSource is specified via an ordered source type (N, M, or U) and integer index within the particular list for that type. For example:

“M;3;d:\project\bin”

“N;1;\\installpoint\applications\office\project\bin”

“U;2;http//www.Microsoft.com/office/project/bin”

You should note that a “source” is a fully qualified path to a folder, not a fully qualified path to an installer package. Entries in the source list are folder paths. The name of a package, which is appended onto a source, is stored separately as the PackageName value. For all sources in a particular source list belonging to a product, the package name is identical.

List of Network Sources

In addition to the LastUsedSource values in the registry, the installer maintains a list of alternative install points. This list is used in the event that the LastUsedSource install point is not available. The list of network sources is stored in the following registry key:

Hkey_Current_User\Software\Microsoft\Installer\Products\{PackageCode} \SourceList\Net

Name Data Description

<Index> (REG_EXPAND_SZ) Full path (via Drive letter or UNC) to the root of the source image

Page 78: Project 2000 Training Manual

<Index> is the first positive integer not already in use as a value name in the network list. Any attempt to add more than 26 network sources to the list is ignored. A sample list of network sources might contain the following values:

Name Data

(Default) (no set value)

1 “f:\Prj2k\image”

2 “%APPSERVER%\project\image

3 “\\server\share\apps%USERNAME

4 %MYAPPDRIVE%\office2k\

You are limited to 26 network sources in your list of network sources.

List of Media Sources

Another class of install sources is media. There is never more than a single source in the Media SourceList since it is assumed that there is only one form (CD or otherwise) of source media. (In the case of product installed via multiple disks, however there are multiple entries in the Media SourceList.)

While Microsoft Project 2000 ships on one CD, it is important to understand that other Microsoft products may ship on floppy disk, and the installer uses multiple entries in the Media Sourcelist to keep track.

The Media Sourcelist is stored under:

Hkey_Current_User\Software\Microsoft\Installer\Products\{PackageCode} \SourceList\Media

It may contain the following values:

Name Data Description

Default (value not set)

DiskPrompt (REG_SZ) Friendly name that describes all CDs or other media disk. Contains a template entry that gets filled in for the appropriate disk in a sequence. The template entry gets filled in with the appropriate DiskPrompt entry from the Media table, which appears under the <DiskID> key below.

<DiskID> (REG_SZ) Contains both the volume label of the appropriate disk in the sequence, as well as the variable string, which gets plugged into the template DiskPrompt value above to form a complete user prompt.

List of URL Sources

Like network sources, URL sources are handled the same way. The list of URL sources is stored in the following registry key:

For Your Information The items with % are environment variables.

Page 79: Project 2000 Training Manual

Hkey_Current_User\Software\Microsoft\Installer\Products\{PackageCode} \SourceList\URL

It may contain the following values:

Name Data Description

<Index> (REG_EXPAND_SZ) A fully qualified URL: “Http://www.microsoft.com/apps/office2k”

“file://www.microsoft.com/apps/download”

As with the network list <Index> is the first positive integer not already in use as the value name in the URL list. There is a limit of 26 URLs that can be stored in the list. A sample list of URL sources might look like the example below:

Name Data

(Default) (no set value)

1 “http://www.microsoft.com/download”

2 “file://\\families\installapps”

3 “http://appserver/%GROUPNAME%/apps”

Page 80: Project 2000 Training Manual

Searching the Source List

When there is a need to install or repair a feature from the source, the installer performs the following steps:

1. The installer retrieves the PackageName value from the SourceList key, if available. It then appends the PackageName value to the value in the LastUsedSource key. A back-slash is added between the source and the PackageName since the sources may not have a trailing back-slash.

2. The resulting fully qualified path to an installer package is checked for validity, meaning the existence of the package file is checked. For Media sources only the first disk contains the MSI. For these disks the installer verifies that the volume label is correct.

If the package file exists the source is deemed to be valid.

Once a valid source has been found, that source is cached in memory for the process that requested it. This means that a given source is trusted as valid during a single session of a given application. If the source becomes unavailable during a session after it has been previously validated during that same session, the installer does not go back through checking for a valid source. The user will receive an error and must try to install the component or feature again.

Should this check fail for any reason, the source is deemed invalid. The installer then begins looking through the list of network sources and the list of URL resources. By default the installer looks through the network drives first, followed by any disks that might be in the removable media drive or drives (for example, a CD-ROM changer) and finally any URL sources.

If after the installer has checked the LastUsedSource value and all additional sources in the network list, media list and URL list there remains no valid source, the installer will give the user the opportunity to browse for a new valid source.

Page 81: Project 2000 Training Manual

Source Browsing

The Window Installer provides two distinct browse dialogs; one for browsing network sources and one for browsing Media sources. The decision of which one to display is made according to the following rule:

If there are any network or URL sources in the SourceList, the network browse dialog box (a user can still insert a CD and choose it from the “Use feature from:” combo box), is displayed otherwise the dialog to browse media sources is displayed.

The source list displayed in the “Use feature from:” combo box is the value from the LastUsedSource key, so that a user can retry easily, assuming network traffic caused a temporary time out. Clicking the dropdown for the combo box shows all sources in the source list, sorted according to the search rules described above. By default this list contains all network sources built using drive letter information, followed by a media volume label and any URLs from the URL source list. Order of network and URL sources is defined by the order in which they appear in their respective lists.

By choosing OK the installer attempts to validate the source specified in the combo box, by checking both the existence of the package file and the {PackageCode} in the property stream of the package file. If the path to the package file is invalid, an error is generated. Clicking OK gives you another opportunity to find the correct location of the package.

Choosing Browse brings up the standard system File:Open dialog box with the file type filter set to “Installation Package (*.msi)”. The path returned for the File:Open dialog is verified by comparing the {PackageCode} in the referenced *.MSI file with the {PackageCode} for the source list. If they match, the source is added to the Use feature from combo box, set as the LastUsedSource value and added to the network or URL list depending on the type of source. If the source browsed is already in the source list, the source is not added again.

For more information, see Knowledge Base article Q224097 "OFF2000: ErrMsg "The feature you are trying to use is on a ...".

For more information, see Knowledge Base article Q217706 "OFF2000: "The feature you are trying..." Error Removing Office".

Page 82: Project 2000 Training Manual

Altering a Source List

There are two scenarios when the source list needs to be modified:

� An administrator is making plans to deploy Microsoft Project 2000, has set up several identical application servers and wants to make them available to a group of users.

� All known sources are searched and no valid one is found, so the user is prompted for a valid source. The resulting valid source is added to that user’s source list.

Methods for Altering a Source List

Administrators and users have several options that allow fast modifications to the source list.

Method 1 – Using the Custom Installation Wizard:

Use the Office Custom Installation Wizard to incorporate the sources into the Transform file.

1. Start the Custom Installation Wizard.

2. When you get to Step 12 within the wizard, click Add.

3. Either type or browse to the desired server location.

4. Click OK

5. Repeat Steps 2-4 above for each source location.

6. Finish the Custom Installation Wizard.

7. Start setup using the following command line:

<path>\setup.exe \i<name of .msi file>

\t<name of transform>.mst

Note

When you use the Transform approach, you can modify the SETUP.INI to include the transform so you don't have to add it to the command line.

To modify the SETUP.INI to include the Transform, perform the following steps:

1. Open the SETUP.INI.

2. Remove the semi-colon before [MST]. Do not forget to remove the semi-colon before [MST] or else this section will be ignored.

3. Add the following line to this section: MST1=<path>\<name of transform file>\.mst

4. When you do not rename SETUP.INI and keep it at the root where SETUP.EXE is located, you can run SETUP.EXE from this location without using any command line switch(es).

Page 83: Project 2000 Training Manual

Method 2 – SETUP.INI:

Modify the SETUP.INI to include network paths during setup. To do this, perform the following steps:

1. Open SETUP.INI on your source with Microsoft Notepad.

2. Remove the semi-colon before [Options], or else this section is ignored.

3. Add the following line to the [Options] section: SourceList=\\server1\adminpath\Prjfolder;\\server2\adminpath2\prjfolder2

4. Save the SETUP.INI.

If the admin modified the SETUP.INI on the install share, then they run setup.

If the admin changed the name of SETUP.INI or saved it to a location other than the root where SETUP.EXE is located, then they need to start setup using the /settings switch:

<path>\setup.exe /settings <path>\<name of setup.ini>

Both Method 1 and Method 2 are best done before Microsoft Project 2000 has been installed on a user’s computers.

Method 3 – Modifying the Registry:

To modify the source list in the Registry, perform the following steps:

1. Run Regedit (or Regedt32 depending on operating system.)

2. Go to the following Registry key:

Hkey_Current_User\Software\Microsoft\Installer\Products\{PackageCode} \SourceList\Net

3. Add a name value and a valid path to the Data1.msi file

4. Close the Registry.

Page 84: Project 2000 Training Manual

Repairing Microsoft Project 2000 Although resiliency can fix many errors before the user detects them, sometimes there are issues best resolved by repairing a Microsoft Project 2000 installation. A new command called Detect and Repair that is found on the Help menu is the primary way of doing this. Detect and Repair performs the following actions:

� Reinstalls a file if it is missing or an older version is present.

� Reinstalls a file if it is missing or corrupt (the stored checksum does not match the computed value).

� Re-writes all required user registry entries.

� Re-writes all required local machine registry entries.

� Reinstalls all Windows Installer shortcuts for Microsoft Project 2000.

Repair Errors from within Microsoft Project When you click Detect and Repair on the Help menu of Microsoft Project 2000, the following alert message displays. When Detect and Repair runs, all files, registry entries, and shortcuts of Microsoft Project are verified and repaired.

Figure 1 Detect and Repair

Repair does not touch user-customized settings such as the Global.mpt file. Microsoft Project 2000 regards customizations as intentional.

Use the Profile Wizard from the Microsoft Project 2000 Resource Kit to reset all user-customized settings to default.

Detect and Repair on the Help menu only replaces damaged EXE and DLL files. These are files that have a version when you check the properties of the file from Windows Explorer. When you need to repair a non-EXE or non-DLL file, run Reinstall from Maintenance Mode.

Page 85: Project 2000 Training Manual

Detect and Repair from within Maintenance Mode When you click Reinstall on the Maintenance Mode Setup dialog box and then choose to Repair Errors, it performs the same actions as Detect and Repair on the Help menu. The Reinstall option is different in that it copies down a file even when the files are of equal version. Detect and Repair does not copy over the file when the installed file has the correct version and correct checksum.

Neither Reinstall from the Maintenance Mode Setup dialog box nor Detect and Repair on the Help menu can repair damaged projects.

Detect and Repair from the Command Line You can also run Detect and Repair from the command line using the following string:

<drive>:\setup.exe /focums data1.msi

The /f<options> command-line switch repairs a Microsoft Project installation and is documented in the Setupref.xls file in the Microsoft Project Resource Kit.

You can also use the /L<options> command-line switch with the previous command-line to create a log file of the results of the Detect and Repair and place the log file in the root of the C: drive in the file Repairlog.txt.

<drive>\setup.exe /focum data1.msi /L* c:\repairlog.txt

The following actions are performed as a result of this /f<options> command-line switch.

Switch Description

E Reinstall if a file is missing, or if an older or equal version is present.

O Reinstall a file if it is missing, or an older version is present

C Reinstall a file if it is missing, or corrupt (the stored checksum doesn't match the computed value).

U Re-write all required user registry entries

M Re-write all required local machine registry entries.

s* Reinstall all shortcuts, overwriting any existing shortcut.

*The “s” option is added when you check Restore my shortcuts while repairing.

There is no command line switch equivalent to the Setup /y switch in Microsoft Project 98 which resets the registry to defaults. In Microsoft Project 2000, the Detect and Repair feature fixes registry issues without setting them to defaults. This is an improvement over Microsoft Project 98 in that a user does not lose their customized settings if only one key is invalid.

Page 86: Project 2000 Training Manual

Reinstall Microsoft Project 2000 On some occasions you may choose to reinstall Microsoft Project 2000. As mentioned above, you can also choose to reinstall from within Maintenance mode. This option reinstalls all files and thus replacing missing, earlier version and existing files. Reinstall is more intense than Repair in that Microsoft Project is essentially installed again, whereas Repair looks at the files first to determine if they need to be replaced.

Technically, Reinstall is different from the repair option in that Reinstall replaces not only files that are missing or of an earlier version, it also replaces current version files.

Reinstall from the Command Line As with Detect and repair, you can run also run Reinstall from the command line using the following string:

<drive>:\setup.exe /fecums data1.msi

The /f<options> command-line switch repairs a Microsoft Project installation and is documented in the Setupref.xls file in the Microsoft Project Resource Kit. Notice that "e" replaces "o" of Detect and Repair. The "e" option reinstalls files if they are missing, or an equal or older version is present.

Compare the Methods to Fix Microsoft Project 2000 The table below compares the self-repairing resiliency feature of Microsoft Project 2000 with the Reinstall and the Detect and Repair features of Microsoft Project 2000 setup.

Page 87: Project 2000 Training Manual

Name Automatically Occurs

Replaces damaged

non-versioned program

files*

Fixes Microsoft Project

2000 HKCU Registry Settings

Can occur while

Microsoft Project

applications are open

Microsoft Project Self-repair when starting a feature (Resiliency)

Yes No Yes Yes

Reinstall from Maintenance Mode

No. You must start it.

Yes Yes No

Detect and Repair from the Help menu.

No. You must start it.

No Yes Yes

Repair Errors from Maintenance Mode

No. You must start it.

No Yes No

* Microsoft Project setup replaces missing Microsoft Project files regardless if the file is versioned or not.

Page 88: Project 2000 Training Manual

Maintenance Mode Setup Maintenance Mode setup in Microsoft Project 2000 has not changed significantly from previous versions of Microsoft Project. You can launch Microsoft Project 2000 Maintenance Mode setup after successfully installing Microsoft Project 2000.

� On the Start menu, click Control Panel. Click Add/Remove Programs and then double-click Microsoft Project 2000.

-OR-

� Open SETUP.EXE from the Microsoft Project CD.

Figure 2 - Maintenance Mode

From the Maintenance Mode setup dialog box, your choices are

� Repair Microsoft Project

� Add or Remove Features

� Remove Microsoft Project

For more information, see Knowledge Base article Q217683 "OFF2000: Maintenance Mode Requires 1280KB of Disk Space".

For more information, see Knowledge Base article Q229381 "OFF2000: Cannot Install Internet Explorer 5 in Maintenance Mode".

Page 89: Project 2000 Training Manual

Adding and Removing Features When you click Add or Remove Features on the Maintenance Mode Setup dialog box, you will see the Update Features dialog box illustrated in the figure below. This dialog box allows you to change the installation choice for a feature.

If you change an install choice of a feature from Run from My Computer to Installed on First Use, files are removed from your computer. This also applies if you change the install choice to Run from Network or Not Available.

In the Size group of the dialog box in the figure below, Selected Features starts at about 1 MB (for temporary files) and increases as features are added. If you change a feature from running on your computer to running from the network, running from the CD, Not available or Installed on First Use, the Selected Features size becomes a negative number showing you how much disk space is reclaimed.

Figure 3 - Updating Microsoft Project 2000 Features

The Free Disk Space size in the Update Features dialog box shows you how much free disk space you have on the drive where Microsoft Project is installed.

Changes made during installation are backed up until the installation is completed successfully so that you can abort the action after you start the update process.

For more information, see Knowledge Base article Q217706 "OFF2000: "The feature you are trying..." Error Removing Office".

For Your Information The 1 MB temp space is for the rollback script file that must be created.

For Your Information “Selected Features” and “Free Disk Space” may work differently at RTM.

Page 90: Project 2000 Training Manual

Removing Microsoft Project 2000 To remove Microsoft Project 2000, click Remove Microsoft Project from the Maintenance Mode setup dialog box. Removing Microsoft Project 2000 does not remove Microsoft Internet Explorer 5. You can remove Internet Explorer 5 using the Add/Remove Control Panel.

To see the remove information for a Windows Installer product, see the following uninstall registry key.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\{ProductCode}

The Product Code is a Global Unique Identifier (GUID). In order to maintain global uniqueness, each component is assigned a GUID that appear in the registry. The GUID prevents collisions between components that should be distinct from one another. The entire Microsoft Project 2000 product is a component. You cannot run Maintenance Mode setup if the previous registry key is missing.

Files that Remain Like previous versions of Microsoft Project, removing Microsoft Project 2000 does not remove all the files associated with the product as some may still be in use by the operating system.

Note

Removing Microsoft Project 2000 on Microsoft® Windows NT® removes the Microsoft Project 2000 files when you are a member of the local User group. A member of the User group can remove all of Microsoft Project, even when the Administrator installs Microsoft Project 2000 with the /jm switch. The appropriate system policy must be applied to prevent a non-Administrator from removing Microsoft Project 2000 from a Windows NT machine.

Uninstalling Microsoft Project 2000 does not uninstall the Windows Installer. Once this is installed, it becomes a part of the operating system and is separate from Microsoft Project. If you want to remove Windows Installer, Microsoft provides the Windows Installer CleanUp Utility. For more information on this utility, see KB Article Q238413.

Page 91: Project 2000 Training Manual

Resiliency, Repairs, and Windows The resiliency of Microsoft Project 2000 is tightly integrated with the operating system. Therefore, the desktop shell must meet minimum requirements in order for Microsoft Project to be self-repairing. For example, clicking a shortcut makes an immediate call to the associated file and attempts to open it. When you click on the Microsoft Project 2000 shortcut installed by Microsoft Project, API calls must go to a intermediate source that checks to make sure all files are in place before an attempt is made to open the file. This also applies to when the feature is set for installation on first use.

The operating system “patch” that makes this happen is the Windows Desktop Update feature of Microsoft Internet Explorer version 4.01. In order for Installed on First Use to be an option for Microsoft® Windows 95® or Windows NT 4.0 and for self-repairing operations to occur from shortcuts on the desktop, you must have Internet Explorer 4.01, Service Pack1 or later with Microsoft® Windows® Desktop Update installed. This is not a problem for Microsoft® Windows® 98 or Microsoft® Windows® 2000 since these files come pre-installed.

When the proper operating system files are in place, “fake” shortcuts are created in the Programs folder for Microsoft Project 2000. Instead of directly attempting to open the associated file, Windows makes a call to the resiliency features of Microsoft Project 2000 to allow resiliency and self-repairing of the application.

If you install Internet Explorer 5 on either Windows 95 or Windows NT 4.0 and you did not previously have Internet Explorer 4.01 with Service Pack 1 and during the installation enable Windows Desktop Update, you perform the following step to enable the self-repairing behavior from the desktop.

1. Uninstall Internet Explorer 5 through Add/Remove Programs.

2. Install Internet Explorer 4.01 with Service Pack 1 and enable Windows Desktop Update.

3. Install Internet Explorer 5 (\ie5\en\ie5setup.exe).

Fix the shortcuts by running the following command-line: [path]\setup.exe /fs install.msi where [path] is the path to your setup source.

Page 92: Project 2000 Training Manual

Updating Microsoft Project 2000 Components Microsoft Project 98 shipped with several extra components on the CD called the Value Pak. With Microsoft Project 2000, the value pack is no longer located on the CD but is available on the Microsoft OfficeUpdate Web site, HTTP://OFFICEUPDATE.MICROSOFT.COM. This is a great resource for updates, patches, and other Internet downloads for Microsoft Project.

THIS PAGE INTENTIONALLY LEFT BLANK

Page 93: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 1: Moving From Microsoft Project 98 1

Module 2.1

Page 94: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. ©2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 95: Project 2000 Training Manual

Module 2.1 1

Lesson 1: Moving From Microsoft Project 98

Overview In this lesson we will cover some basic knowledge regarding upgrading from a project in Microsoft® Project 98 to a project in Microsoft Project 2000. In particular we will discuss upgrading the global template, scheduling in Microsoft Project 2000 (pointing out differences with Microsoft Project 98) and using the Microsoft Project 98 file format with Microsoft Project 2000.

What You Will Learn After completing this lesson, you will be able to:

� Discuss the options for upgrading the global template

� List new features of Microsoft Project 2000 that can affect scheduling

� Compare and contrast scheduling in Microsoft Project 2000 to that in Microsoft Project 98

� Discuss how Microsoft Project 98 and Microsoft Project 2000 react when opening files in the other format

� Describe potential data loss when saving to the Microsoft Project 98 file format from within Microsoft Project 2000

Page 96: Project 2000 Training Manual

2 Module 2.1

Upgrading the GLOBAL.MPT

The global template (GLOBAL.MPT) is the file upon which all new projects are based. Upgrading your global template is also one of the first choices you are presented with when moving from a Microsoft Project 98 to a Microsoft Project 2000 environment. As such, it is very important to understand the behavior of Microsoft Project 2000 and possible changes in the global template that can occur when running Microsoft Project 2000 for the first time.

The first time you run Microsoft Project 2000, you will receive a planning wizard that gives you the following three choices:

� Upgrade Automatically - This moves all user-edited items from the old global to the new. These items are then available within the new global template and you are not prompted to upgrade your global template on subsequent launches of Microsoft Project 2000.

� Upgrade manually - This launches the organizer and allows you to manually move items to the new global template. Doing so makes the moved items available in Microsoft Project 2000. You are not prompted to upgrade your global template on subsequent launches of Microsoft Project 2000.

� Cancel - This cancels the upgrade of the global template. The user receives a prompt to upgrade the global the next time Microsoft Project 2000 is booted and will continue to do so until either the global template is upgraded or the option “Don’t tell me about this again” has been checked.

Page 97: Project 2000 Training Manual

Module 2.1 3

Behind the Scenes The options presented by the Planning Wizard are fairly straightforward. However, there are a few things we should understand about what is going on behind the scenes. During setup, the Microsoft Project 98 GLOBAL.MPT is copied and renamed to GLOBAL80.MPT. (“80” is appended to the file name as it denotes the version of Microsoft Project from which the global was taken. Microsoft Project 98 was version 8.0.)

Microsoft Project 2000 will not upgrade GLOBAL.MPT files from versions of Microsoft Project previous to Microsoft Project 98.

When the old GLOBAL.MPT is copied, an entry with the name GLOBAL80.MPT and its location is stored in the registry at following location:

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\MS Project\Previous Global

When Microsoft Project 2000 is booted for the first time, it uses the new GLOBAL.MPT file. It never uses the old GLOBAL.MPT from Microsoft Project 98 unless you have manually copied over the file. (See Caution below.) Microsoft Project then checks the following registry key to see if it should display the Planning Wizard to prompt you to upgrade your global template:

HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\MS Project\Previous Global

If the No Alert key is set to “false” or if this registry key does not exist, then the Planning Wizard is displayed. If it is set to “true” then no Planning Wizard is displayed and no upgrade of the global template is preformed.

You should never attempt to keep the customized items in your Microsoft Project 98 global template by manually replacing the GLOBAL.MPT file installed by Microsoft Project 2000.

Microsoft Project 2000 always attempts to use the GLOBAL.MPT file installed by Microsoft Project 2000. It is possible, however, to “trick” Microsoft Project 2000 by manually copying over the Microsoft Project 2000 GLOBAL.MPT file with the global template from an installation of Microsoft Project 98. This will not stop Microsoft Project 2000 from starting. Upon exiting from Microsoft Project 2000, the global template will be rewritten in the Microsoft Project 2000 file format. This will allow you to use the customized items from your Microsoft Project 98 global template. However, this rewritten global template will not contain the new items contained in the Microsoft Project 2000 global template and no upgrading will take place. As such, some new features of Microsoft Project 2000 will not be available.

Caution

Page 98: Project 2000 Training Manual

4 Module 2.1

When you choose to Upgrade Automatically, Microsoft Project compares the items in your Microsoft Project 98 global template with a list of the original items in an unmodified Microsoft Project 98 global template. If any of the items are different, they are moved to the new Microsoft Project 2000 global template. If the item does not have the same name as an item that natively exists in the Microsoft Project 2000 global template, it is simply added to the template. If the customized item has the same name as an item already existing in the Microsoft Project 2000 global template, it is handled in the following manner:

� Views – a view with the same name will replace the existing view in the Microsoft Project 2000 global template. Items new to a particular view (that is, bar styles) will be added to the view.

� Tables – a table with the same name will replace the existing table in the Microsoft Project 2000 global template. A field that is new to a particular table in Microsoft Project 2000 will be added to the customized table.

� Toolbars – Customized toolbar items will be added to the end of same-named toolbars that exist in the Microsoft Project 2000 global template.

� Menus – Similar to toolbars, items will be added to the end of same-named menus that exist in the Microsoft Project 2000 global template.

� Filters – a filter with the same name will replace the existing filter in the Microsoft Project 2000 global template. Filters that reference the Priority field will be rewritten to take the increased priority levels into account.

� Forms – a form with the same name will replace the existing form in the Microsoft Project 2000 global template.

� Reports – a report with the same name will replace the existing report in the Microsoft Project 2000 global template.

� Calendars – a calendar with the same name will replace the existing calendar in the Microsoft Project 2000 global template.

� Maps – a map with the same name will replace the existing map in the Microsoft Project 2000 global template.

� Macros – any user-defined modules will be moved to the new Microsoft Project 2000 global template. New macros added to Microsoft Project-supplied modules will also be moved over. However, individual macros stored in Microsoft Project-supplied modules that have the same name as macros that ship with Microsoft Project 2000 will not be moved over. Thus if you have customized Microsoft Project-supplied macros, these will not be moved to the new global template.

Note

If the previous version of the global template is from a foreign language version of Microsoft Project 98, the automatic upgrade will not work. Instead an alert will be displayed indicating that the global template was created in a language version of Microsoft Project different from that being installed. It will then launch the organizer so that items may manually be moved to the Microsoft Project 2000 global template.

Page 99: Project 2000 Training Manual

Module 2.1 5

Special Considerations

There are some situations where upgrading the global template may behave differently than you expect. These are detailed below:

Network Installs – If you do a local install of Microsoft Project 2000 over a network install of Microsoft Project 98, the global template from the Microsoft Project 98 installation will exist on the server. To upgrade the global template, it is copied from the server to the local machine and the upgrade proceeds as outlined above.

If you do a network install of Microsoft Project 2000, no upgrade of the global template will occur, regardless of type of Microsoft Project 98 installation. You must open the templates in the organizer and manually move any desired items.

Multiple Users on the Same Machine – If multiple users on the same machine make customizations to the global template, these changes are stored in a global template kept in a user’s profile. Thus multiple global templates may exist on the same machine.

Unlike previous versions of Microsoft Project, Microsoft Project 2000 looks first in the user profile for a global template and then in the folder that contains the file Winproj.exe.

Also the Upgrade Planning Wizard will appear to each user of Microsoft Project 2000, regardless of what another user has done. (that is, Even if one user has upgraded his global template, another user will see the Upgrade Planning Wizard until he upgrades his template or checks the “Do not tell me about this again” option.

System Policies – System Administrators can use system policies to set two keys that affect the global template. The first points to the location of the global template and is found at the following location:

HKCU\Software\Policies\Microsoft\Office\9.0\MS Project\Global Search\RootKey

The other key defines whether the search for the global template is restricted to one-and-only-one GLOBAL.MPT. It is found at the following location:

HKCU\Software\Policies\Microsoft\Office\9.0\MS Project\Global Search\Permission

If either of these keys is set, the global template will not be upgraded.

Page 100: Project 2000 Training Manual

6 Module 2.1

Global.mpt After the Upgrade Once the Global.mpt has been upgraded from Microsoft Project 98 to Microsoft Project 2000, there is the potential that unexpected behavior may occur. This is especially true if you are unaware of how Microsoft Project 2000 is searching for the Global.mpt.

Searching for the Global.mpt Microsoft Project 2000 searches for the Global.mpt differently than Microsoft Project 98 does. It is more robust and better able to find a Global.mpt file. Microsoft Project 2000 accomplishes this by using a search algorithm that searches multiple locations.

First Microsoft Project looks at the following registry key to see if there is a designated location for the Global.mpt. Usually this key would be set as part of a system policy.

HKCU\Software\Policies\Microsoft\Office\9.0\MS Project\GlobalSearch\RootKey

If Microsoft Project cannot find a global template at the location specified in the above registry key, Microsoft Project looks for the existence of another key. This key is usually set as part of a system policy. It specifies whether or not Microsoft Project should continue looking for the global, or whether it is restricted to only using a global specified in the above registry key. If the following key is set to 0, there is no restriction and Microsoft Project will continue to search for a global template. If the following key is set to 1, Microsoft Project is restricted to using the designated global template. If it cannot find that template, Microsoft Project 2000 will not be able to be launched.

HKCU\Software\Policies\Microsoft\Office\9.0\MS Project\GlobalSearch\Permission

If Microsoft Project 2000 cannot find a global template from the above, it will look in the following locations in the following order:

1. Current Directory

2. User Profile

3. LCID folder under the User Profile

4. The directory that contains Winproj.exe

5. The LCID folder underneath the folder that contains Winproj.exe

If a global template can still not be found, Microsoft Project will call on Windows Installer to install a new global template. If the Windows Installer can’t complete the installation, then Microsoft Project 2000 reports that a Global.mpt file cannot be found and uses default settings.

Page 101: Project 2000 Training Manual

Module 2.1 7

Microsoft Project 2000 Scheduling Overview

Microsoft Project 2000 continues to use the Critical Path Method (CPM) of scheduling. However, the addition of new features adds new items that affect scheduling or the way that a project’s schedule is perceived. Here we will present an overview of both old and new pieces and briefly discuss how they relate to scheduling as a whole. New features that affect scheduling will be covered in further detail later on in the course.

Microsoft Project 2000 Scheduling Diagram

Items marked (*) denote those used in tracking

Figure 1 – Microsoft Project 2000 Scheduling Diagram

Page 102: Project 2000 Training Manual

8 Module 2.1

The following symbols are used in this section:

[SS] = Scheduled Start (FS) – Finish to Start

FNET- Finish No Earlier Than

[ES] = Early Start

(SF) – Start to Finish

FNLT – Finish No Later Than

[LS] = Late Start

(SS) – Start to Start

MFO – Must Finish On

[SF] = Scheduled Finish

(FF) – Finish to Finish

MSO – Must Start On

[EF] = Early Finish

ALAP – As Late as Possible

SNET – Start No Earlier Than

[LF] = Late Finish

ASAP – As Soon As Possible

SNLT – Start No Later Than

Project Level

Project Information

Project Start Date – The project start date specifies the first day of the first task. Tasks are automatically scheduled from or after this date.

Current Date – This setting specifies the current date. It is used in place of the status date for the complete-through date in the Update Project dialog box if the current date is later than the status date, or the status date is set to NA.

From Start/From Finish – This option designates how a project is scheduled. When scheduled from start, the following is true:

� The project’s finish date is calculated.

� Delay values are positive and applied at the start of a task.

� ALAP tasks ignore any Leveling Delay values as the task is already as late as possible.

� Calculations are conducted as follows:

• For MSO and SNLT tasks: [LF] = [LS] + Duration

• For the predecessor task of an (SS) link: [LF] = [LS] + Duration

• On the forward pass (done first because we are scheduled from start):

• [EF] = [ES] + span of task + task leveling delay.

Page 103: Project 2000 Training Manual

Module 2.1 9

• [SS] = [ES] + task leveling delay.

• [SF] = [SS] + span of task.

• On the backwards pass:

• [LS] = [LF] – span of task

• Predecessor [LF] = successor [LS] – successor task leveling delay (if finish is linked)

• Predecessor [LS] = successor [LS] – successor task leveling delay (if start is linked)

When a project is scheduled from finish, the following are true:

� The project’s start date is calculated.

� Delay values are negative and applied at the finish of a task.

� ASAP tasks ignore any Leveling Delay values as the task is already as soon as possible.

� Calculations are conducted as follows:

• For MFO and FNET tasks: [ES] = [EF] – Duration

• For a successor task of an (FF) link: [ES] = [EF] + Duration

• On the backward pass (done first because we scheduled from finish):

• [LS] = [LF] – span of task + task leveling delay

• [SF] = [LF] + task leveling delay

• [SS] = [SF] – span of task.

• On the forward pass:

• [EF] = [ES] + span of task

• Successor [ES] = predecessor [EF] – predecessor task leveling delay (if start is linked)

• Successor [EF] = predecessor [EF] – predecessor task leveling delay (if finish is linked)

Priority – Priority sets the leveling order of importance for the project as a whole. It is used when using a resource pool or leveling a project with inserted projects. Priority may be set from 0 to 1000 with 1000 being the higher priority.

Status Date - Microsoft Project uses the status date to identify the complete-through date in the Update Project dialog box unless it is earlier than the current date setting. If you set the status date to NA, Microsoft Project uses the current date as the status date.

Project Settings

Calculation Option – Setting this option to automatic specifies that you want your project automatically recalculated when information within your project changes. Setting this option to manual allows you to choose when to recalculate the information within your project.

Show Scheduling Messages – Enabling this option displays warnings regarding problems with your project’s schedule. If this option is disabled, you will not be alerted to potential problems with your schedule.

Page 104: Project 2000 Training Manual

10 Module 2.1

Auto Link inserted or moved Tasks – Select the Auto link inserted or moved tasks check box to automatically re-link tasks when you cut, move, or insert them. If you clear this check box, Microsoft Project does not create any task dependencies when you cut, move, or insert tasks. This option only works for FS relationships. This is a local setting saved with the active project.

Split In-Progress Tasks – Select the Split in-progress tasks check box to allow rescheduling of remaining duration and work when a task slips. If you select this check box, when you update task-tracking information, you can enter the date you stopped work on the task and the date you resumed work. Microsoft Project reschedules the remaining duration and work. If the check box is cleared, you cannot edit the Stop and Resume fields when you update task-tracking information. This is a local setting saved with the active project.

Leveling calculations – This option delays or splits tasks or assignments to eliminate resource conflicts. The Automatic option causes leveling to occur whenever you make changes to your schedule. The manual option levels whenever you click Level Now.

Updating task status updates resource status – Select this option to have Microsoft Project automatically calculate the actual and remaining work for resources assigned to the task as you enter task percent complete information in your schedule. If you select this check box, Microsoft Project recalculates the actual work whenever you enter information into the Percent Complete, Actual Duration, or Remaining Duration fields. If you don't select this check box, you must manually enter values in the Actual Work field for resources. This is a local setting saved with the active project. (See also Percent Complete and Actual Start.)

Tasks will always honor their constraint dates – When this option is selected, two things occur. First, leveling cannot make adjustments to tasks that would violate their constraints. Second, a successor task must honor its constraint even if it means violating a relationship with a predecessor. When this option is not selected, leveling can adjust tasks regardless of their constraints. Also, a successor can be scheduled as its predecessors dictate, even if it means that the successor constraint will be violated.

Calendars Project Calendar – The project calendar is used to schedule summary tasks, fixed duration tasks, tasks with no task calendar, and tasks with no assignments.

Task Calendars – Task calendars impact the dates that a task is scheduled for. For example, setting Wednesday as a non-working in a task calendar day will cause a 5-day duration task that starts on Monday to finish the following Monday. This is true even on a fixed duration task. Task calendars are covered in more detail later in this course.

Resource Calendars – Resource calendars impact the dates of fixed units and fixed work tasks. For example, you cannot edit time-phased work for days specified as non-working in these calendars. (Note: You can, of course, edit actual work on these non-working days.)

Page 105: Project 2000 Training Manual

Module 2.1 11

Tasks Dependencies – Dependencies specify the manner in which two tasks are linked. Because Microsoft Project must maintain the manner in which tasks are linked, dependencies can affect the way a task is scheduled. In a scenario where there are two tasks, the following dependencies exist:

� Finish to Start – Task 2 cannot start until task 1 finishes.

� Start to Finish – Task 2 cannot finish until task 1 starts.

� Start to Start – Task 2 cannot start until task 1 starts.

� Finish to Finish – Task 2 cannot finish until task 1 finishes.

Dependencies may also include lag. This value may insert time into the relationships above.

Constraints – (see also, tasks will always honor their constraints.) Constraints allow you to set the way you want to constrain the start or finish date of a task. The following constraints can be set on tasks:

� As Late As Possible – Sets the start date of your task as late in the Project as possible, without pushing out the Project finish date.

� As Soon As Possible – Sets the start date of your task as soon as possible without preceding the project start date.

� Finish No Earlier Than – Sets the finish date of your task to the specified date or later.

� Finish No Later Than – Sets the finish date of your task to the specified date or earlier.

� Must Finish On – Sets the finish date of your task to the specified date.

� Must Start On – Sets the start date of your task to the specified date.

� Start No Earlier Than – Sets the start date of your task to the specified date or later.

� Start No Later Than – Sets the start date of your task to the specified date or earlier.

Actual Start – Denotes the actual start date and time of a task. If this date exists for a task, the task is scheduled to start at that time and Microsoft Project is limited in the scheduling of work for that task.

Outline Level – Tasks that are sub-tasks (or child tasks) to summary tasks (or parent tasks) are limited in how they are scheduled.

Deadline Date – Unlike FNLT, the deadline date is not used when calculating the schedule. However, it does affect the late finish date of a task and thus its slack. An indicator is displayed if a task is scheduled beyond its deadline date.

Task Type – Tasks innately have three interrelated variables: Duration, Units, and Work. A change in one of these affects the other two variables. In order to predict the change to these variables, Microsoft Project allows you to fix one of the variables. This allows you to change a second variable and predict the change in the third. Tasks types are merely the fixing of one of the three variables. The three types of tasks and the way a change effects that task are shown in the table below:

Page 106: Project 2000 Training Manual

12 Module 2.1

Field that you change

Field Calculated if the task is Fixed Duration

Field Calculated if the task is Fixed Units

Field Calculated if the task is Fixed Work

Work Units are recalculated

Duration is recalculated

Duration is recalculated

Duration Work is recalculated

Work is recalculated

Units are recalculated

Units Work is recalculated

Duration is recalculated

Units are recalculated

Effort Driven – The effort driven setting specifies for Microsoft Project to keep the total task remaining work value at its current value as resources are assigned or removed from the task. Effort driven has no impact unless a task has remaining work greater than zero.

Percent Complete – Percent Complete specifies the amount a task that has been completed. Giving a task a percent complete value automatically gives it an actual start date. Thus they behave similarly. (See also Updating Task Status Updates Resource Status.)

Time-phased Edits – Tasks may be manually edited on a time-phased basis. These edits directly impact the schedule of a task. Sometimes these edits are not readily seen because of the timescale settings in the Task Usage or Resource Usage view.

Priority – Affects the order that tasks are leveled in. Settings can be from 0 to 1000 with 1000 being the higher priority task. The setting of 1000 also implies “Do Not Level.”

Leveling Delay – This field shows how much time a task is delayed over its regularly scheduled start. This value may be changed when a project is leveled or may be changed manually.

Page 107: Project 2000 Training Manual

Module 2.1 13

Resources Resource Type – Microsoft Project 2000 includes both material and working resources. Material resources behave differently than working resources. For example, effort driven settings have no effect as material resources are added or removed from a task. Because material resources act differently than working resources, users may not get the behavior they expect as they assign or remove tasks. Material Resources are covered in more detail later in this course.

Units – When resources are assigned, the units setting for the assigned resource can affect the schedule of a task. For example, changing the units of an assigned resource on a fixed units task from 100% to 50% can double the length of your task.

Availability – Resource Availability (Max. Units) settings allow you to specify that a resource is available for an entire project or for a specific date range. Availability settings do not directly affect a task’s schedule, nor do they effect non-working days for a resource (that is, changing a resource’s availability dates does not affect its calendar).

Availability, however, can change a task’s schedule when combined with resource leveling. This is because a resource assigned to a task outside its availability dates is treated as over allocated (that is, A resource’s max available units are set to 0 for non-available time). Thus, leveling may try to adjust tasks and/or assignments to resolve over allocations introduced by the availability settings.

Assignments Contours – Contours allow you to shape the distribution of assigned work to a predefined pattern. If non-time-phased work values for an assignment are then changed, Microsoft Project can change the schedule of a task to accommodate the predefined pattern. Manually editing the time-phased assignment values on a task results in a custom contour.

Actual Start/ Work – The actual start date of an assignment and/or the actual work of an assignment will fix the schedule of a task to match the values entered in the actual fields.

Delay – Delay may be manually adjusted to adjust individual assignments. For example, if you want a resource to work only the last half of a 10-day duration task, you may delay the resource’s assignment 5 days. When an assignment on a task has some delay, it does not necessarily change a task’s start date, but rather just the start date of the individual assignment.

Leveling Delay – This field shows how much time an assignment is delayed over its regularly scheduled start. Delaying an assignment on a task may (or may not) delay the task as a whole. This value may be changed when a project is leveled or it may be changed manually. Leveling delay is added to any delay value on an assignment.

Page 108: Project 2000 Training Manual

14 Module 2.1

Try This: Unexpected Scheduling

As a group, develop a Project schedule that behaves unexpectedly using the scheduling areas discussed above. Exchange your schedule with another group and solve their scheduling problem.

1. Get into groups as arranged by the instructor.

2. Develop a “problem” schedule using elements listed in the scheduling diagram.

3. Write down how your group’s project is not scheduling as expected. Also write down each of the reasons it is not scheduling as expected.

4. Exchange your project with another group. Tell them how you expect for the project to schedule. DO NOT tell them why it is scheduling unexpectedly.

5. Examine the project you received during the exchange. List the factors involved in the way it is scheduling.

6. Discuss your conclusions with the group you exchanged projects with.

Did your list match the other group’s list?

Page 109: Project 2000 Training Manual

Module 2.1 15

Working With Microsoft Project 98 Files in Microsoft Project 2000

Like previous versions of Microsoft Project, Microsoft Project 2000 allows you to open project files created in the previous version. In addition, Microsoft Project 2000 allows you to save files created in Microsoft Project 2000 in the Microsoft Project 98 file format. This is a new feature to Microsoft Project. Because of its importance, let’s take a closer look at how Microsoft Project 2000 works with Microsoft Project 98 files.

Microsoft Project 2000 does not open projects from versions prior to Project 98. However, Project 2000 does open .MPX .

Opening Microsoft Project 98 Files in Microsoft Project 2000 When you open Microsoft Project 98 files, you do not get any alerts indicating that the file is not a Microsoft Project 2000 file. Unlike previous versions of Microsoft Project, you also do not get any indication that a conversion is taking place. In all respects the file appears to be a Microsoft Project 2000 file and you are able to use all new features.

Saving Your Project in the Microsoft Project 98 Format When you attempt to save your Microsoft Project 98 file, however, you receive the following alert:

Figure 2 - Alert Saving in Microsoft Project 98 Format

Page 110: Project 2000 Training Manual

16 Module 2.1

Figure 3 - Saving Microsoft Project 98 Format

Although the message indicates some things that might be affected, it is important to understand clearly what is affected and what is not affected when saving in the Microsoft Project 98 format.

Areas that are Lost When You Save in the Microsoft Project 98 Format

The following is a general list of data that could possibly be lost when saving a Microsoft Project 2000 file in the Microsoft Project 98 format.

Although there are many different areas where changes may occur, there are three main areas where there could be data loss. These areas are baselines, the Network Diagram, and fields that are new to Microsoft Project 2000.

Baseline information in Microsoft Project 2000 is handled differently than in Microsoft Project 98. Thus baseline information

may be lost when working with both Microsoft Project 98 and Microsoft Project 2000 file formats. Baseline data is handled differently depending on the situation. The following four scenarios exist.

Scenario 1 – When you open a Microsoft Project 98 file with baseline data in Microsoft Project 2000, but do not save the baseline in Microsoft Project 2000, baseline information will be preserved when saving in the Microsoft Project 98 format.

Scenario 2 – When you open a Microsoft Project 98 file with baseline data in Microsoft Project 2000, and do save the baseline in Microsoft Project 2000, baseline information is saved in the Microsoft Project 98 format.

Scenario 3 – If you create a new file in Microsoft Project 2000, but first specify the Save Format as Microsoft Project 98 (either by first directly saving the file in the Microsoft Project 98 format or by having the Default Save Format set to Microsoft Project 98), then when you do a Save Baseline in Microsoft Project 2000, the baseline information is saved in the 98 format.

Baselines

Page 111: Project 2000 Training Manual

Module 2.1 17

Scenario 4 – If you create a new file in Microsoft Project 2000, save the baseline, change the schedule, and then save the file in the Microsoft Project 98 format, baseline data will be lost. Baseline information stored in the Microsoft Project 2000 format cannot be converted back into the Microsoft Project 98 format.

In this scenario, the following alert will appear:

Figure 4 - Saving Microsoft Project 98 Format

Page 112: Project 2000 Training Manual

18 Module 2.1

From these scenarios we can assume the following generalizations:

� Baseline information saved in the Microsoft Project 2000 format cannot be converted into the Microsoft Project 98 format.

� Baseline information saved in the Microsoft Project 98 format can be converted into the Microsoft Project 2000 format.

� Microsoft Project 2000 Baseline timephased information is not saved to the Microsoft Project 98 format.

The Network Diagram in Microsoft Project 2000 is significantly different than the PERT Chart in

Microsoft Project 98. Because of the differences, data loss may occur when working between the two versions. When working with the Network Diagram between the two versions, the following five scenarios exist:

� If you have customized formatting or layout in your Microsoft Project 98 PERT Chart and you open your file in Microsoft Project 2000 and do not make any changes, the original PERT Chart will remain intact.

� If you open a Microsoft Project 98 file with customized PERT formatting or layout in Microsoft Project 2000 and add new tasks but do not go to the Network Diagram view at all, then save back to the Microsoft Project 98 format, all original PERT nodes will remain intact. New nodes, however, will get stacked up in the top left corner.

� If you open a Microsoft Project 98 file with customized PERT formatting or layout in Microsoft Project 2000, make changes in the Network Diagram, and save your project in the Microsoft Project 98 format, you will lose formatting.

� If you open a Microsoft Project 98 file in Microsoft Project 2000 with a default Pert Chart that has not changed at all, the defaults will be preserved when saving to the Microsoft Project 98 format.

� If you create a new file in Microsoft Project 2000, customize the Network Diagram view and then save in the Microsoft Project 98 format, all customizations made will be lost. Subsequently opening the file in Microsoft Project 98 PERT view will be like opening it for the first time in that view.

Any data contained in fields that are new to Microsoft Project 2000 will be lost

when saved to the Microsoft Project 98 format. The following parts of a project may reference a new field and would be affected as stated below when saving from Microsoft Project 2000 in the Microsoft Project 98 format:

1. Tables – new fields are dropped from the table.

2. Filters – reference to the new field is dropped from the filter.

3. Views – new fields that are part of the Gantt Bar text are removed.

4. Maps – references to new fields are removed from the map.

5. Forms – new fields are removed from forms saved with the project.

6. Macros – although nothing is changed, a macro that references a new field may not work correctly

Note

Network Diagram

Fields New to Microsoft Project 2000

Page 113: Project 2000 Training Manual

Module 2.1 19

Reports are not listed above because they do not directly reference new fields. However, they could be affected if the table or sort order they use reference a new field.

For more information, see the online help for New Fields in Microsoft Project 2000.

Setting the Microsoft Project 98 Format to be the Default File Format

You can set Microsoft Project 2000 to use the Microsoft Project 98 format as the default file format in which to save projects. To find this setting, click Options on the Tools menu and click the Save tab. Change the “Save Microsoft Project files as:” setting to Microsoft Project 98 (*.mpp) and click OK.

Note that although Microsoft Project 2000 can open projects from a Microsoft Project 98 database, it cannot save to the Microsoft Project 98 database format.

Page 114: Project 2000 Training Manual

20 Module 2.1

Opening Microsoft Project 98 Databases in Microsoft Project 2000

You can open a Microsoft Project 98 database within Microsoft Project 2000. However you cannot save any changes to the project back into the Microsoft Project 98 database format. Instead, Microsoft Project 2000 saves the entire project within the same database by creating all the tables necessary for the Microsoft Project 2000 format. It then saves the project information to those new tables. (Note: If the tables for the Microsoft Project 2000 format already exist, Microsoft Project 2000 simply saves the project information to those tables rather than recreating them.) Thus, saving changes to a project saved in the Microsoft Project 98 database format while in Microsoft Project 2000 actually creates a new project saved in the same database.

If a user opens a Microsoft Project 98 Database in Microsoft Project 2000, makes changes to the project and saves those changes to the same .MPD file, Microsoft Project 98 users will still be able to open the project from the database. However it will be the project saved from Microsoft Project 98 (which will not contain the changes made in 2000) and not the project saved in Microsoft Project 2000.

What Happens When Microsoft Project 98 Users Try to Open Microsoft Project 2000 Files?

Microsoft Project 2000 is fairly good at opening Microsoft Project 98 files. However, Microsoft Project 98 is not able to open Microsoft Project 2000 files. If you open a Microsoft Project 2000 file in Microsoft Project 98, you will receive the following dialog box:

Figure 4 - Opening Microsoft Project 98 files in Microsoft Project 2000

Page 115: Project 2000 Training Manual

Module 2.1 21

If you click Yes, you are directed to a web page that gives the following message:

“You have been directed to this page because Microsoft Project 98 is unable to recognize the file you are trying to open and the contents of the file indicated that it may have been created in a new version of Microsoft Project. There are no new converters available for Microsoft Project 98 and only the currently supported file types can be opened in Microsoft Project 98. In order to open the file, you can either have the file originator save it into the Project 98 file format or obtain the latest version of Microsoft Project. A trial version of Microsoft Project 2000 is orderable on www.microsoft.com/project.”

If you click No, you receive the following dialog box.

Figure 5 - Format is not recognized

Page 116: Project 2000 Training Manual

22 Module 2.1

Try This: Working with Microsoft Project 98 files in Microsoft Project 2000

Experiment to see what happens when you open a Microsoft Project 98 file in Microsoft Project 2000

1. Copy the Microsoft Project 98 file from the network share to your local computer as directed by the instructor.

2. Open the Microsoft Project 98 file in Microsoft Project 2000. Do you receive an alert warning you that this is a Microsoft Project 98 file? If yes, what does the alert say?

3. Make a change to the project and save the file.

Do you receive an alert warning you that this is a Microsoft Project 98 file? If yes, what does the alert say?

Page 117: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 2: Entering Tasks 23

Module 2.2

Page 118: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 119: Project 2000 Training Manual

Module 2.2 23

Lesson 2: Entering Tasks

Overview In this lesson we will discuss some new features of Microsoft Project 2000 such as Task Calendars, Deadlines, and WBS and Outline Codes.

What You Will Learn After completing this lesson, you will be able to:

� Set up a task calendar

� Describe how task calendars affect scheduling

� List troubleshooting steps to determine which calendar is driving a task’s schedule

� Describe what effect scheduling has on deadlines

� Describe steps to troubleshoot scheduling issues related to deadlines

� Create a complex Outline code given a scenario

� Troubleshoot WBS issues related to scheduling

Page 120: Project 2000 Training Manual

24 Module 2.2

Task Calendars Task calendars, a new feature in Microsoft® Project 2000, allow you to create schedules that affect only the tasks to which they are assigned. This feature was added to Microsoft Project 2000 in response to customers’ requests for a capability similar to some of our competitors' products.

What Is a Task Calendar? Task calendars allow you to schedule a task based on working and nonworking times that are unrelated to either the Project Calendar or the calendars for the resources assigned to the task. When a task calendar is assigned, resources will not be scheduled during task calendar nonworking periods. Thus it is not necessary to edit the resources' assignments in order to make them available for other tasks.

For example, suppose the progress on a task depends on the availability of a particular piece of equipment. Every Wednesday morning, this equipment undergoes routine maintenance that takes four hours. During this time no other resources can do any work on the task. In Microsoft Project 98 you would have to edit each resource's individual assignment to make them available for other tasks during the equipment downtime. In Microsoft Project 2000, you can create a base calendar (that will be used as a task calendar) that shows the 4 hours as nonworking time and apply it to the task, allowing the other assigned resources to be automatically scheduled on other tasks during that time.

Task calendars are not really a third type of calendar; rather they represent a new use for base calendars. If a suitable base calendar already exists in the project, it can be assigned as a task calendar. Otherwise, a new base calendar can be created to meet the needs of the task, using the Change Working Times dialog just as for any base calendar.

Page 121: Project 2000 Training Manual

Module 2.2 25

How Task Calendars Are Assigned Task calendars are assigned on the Advanced tab of the Task Information dialog.

Figure 1 - Task Information, Advanced Tab

The new dialog items related to task calendars are described below:

� Calendar – Contains a dropdown list where the user can select any base calendar currently defined in the project. The default is "None".

� Scheduling ignores resource calendars – A checkbox that controls whether resource calendars will be taken into consideration when scheduling the task. This option is unavailable if no task calendar is selected. When a task calendar is first specified, the option is unchecked by default.

New Task Fields Related to Task Calendars Two new task fields, "Task Calendar" and "Ignore Resource Calendar," have been added to store the current task calendar settings. Columns for both of these fields can also be added to any task sheet. If modified in a task sheet, the new settings are reflected in the corresponding locations in Task Information.

� Task Calendar – Contains the name of the base calendar assigned to the task. When a column for the Task Calendar field is inserted into a task table, the user can click a cell in the column and then select from a dropdown picklist of base calendars defined in the project.

� Ignore Resource Calendar – A Boolean (Yes/No) field. If Task Calendar is set to None, then Ignore Resource Calendar is set to No and is read-only.

Page 122: Project 2000 Training Manual

26 Module 2.2

How Task Calendars Work with the Project Calendar and Resource Calendars

General Rules for Task Calendar Scheduling

The basic rules that govern how the Project Calendar, resource calendars, and task calendar combine to affect task scheduling are as follows:

� When no task calendar is assigned, there is no change from the scheduling behavior in Microsoft Project 98.

� A task calendar always takes precedence over the Project Calendar for scheduling the task to which it is assigned.

� When a task calendar is assigned and Ignore Resource Calendar is set to No, the task is scheduled based on the intersection of the task and resource calendars. Nonworking time in the task calendar always takes precedence over working time in the resource calendars. How this intersection works is illustrated in Examples 1 and 2 below.

� When a task calendar is assigned and Ignore Resource Calendar is set to Yes, the task calendar takes precedence over the resource calendars for both working and nonworking time. In this situation resources will be scheduled for periods that are nonworking in the resource calendar if the same periods are working time in the task calendar. This scenario is illustrated in Example 3 below.

A resource that is scheduled during nonworking time in this fashion is not marked as overallocated.

The above rules are summarized in the following table:

Task Calendar Assigned

Resource Calendar Assigned

Ignore Resource Calendar Impact on Schedule

Schedule based on the Project Calendar

X Schedule based on the task calendar

X Schedule based on resource calendar

X X Schedule based on intersection of working time of task and resource calendars, with possible error condition set

X X X Schedule based on task calendar, with possible error condition set

Table 1

Effect of Ignore Resource Calendar Option

The following table shows the effect of the Ignore Resource Calendar option when both task and resource calendars are assigned:

Page 123: Project 2000 Training Manual

Module 2.2 27

Scenario

Ignore Resource Calendar Option Response

(A) Both calendars match

Off or On Normal schedule

(B) Nonworking time in task calendar, but available in resource calendar at the same time

Off or On Schedule based on task calendar

(C) Working time in task calendar, but nonworking time in resource calendar at the same time

Off Schedule based on resource calendar

(D) Same as above On Schedule based on task calendar

(E) Task calendar and resource calendars do not intersect; there is no period where both the task and resource calendars have working time

Off Schedule based on task calendar; alert message generated and error indicator set

(F) Same as above On Schedule based on task calendar

Table 2

Scenario E represents the only situation that cannot be resolved by the general rules for task calendar scheduling. When this occurs, an error indicator is set and the following error message is displayed:

Figure 2 - Not Enough Working time

When multiple resources are assigned at once and more than one resource has a calendar that conflicts with the task calendar, the error message is displayed only once.

Page 124: Project 2000 Training Manual

28 Module 2.2

Examples

For Examples 1, 2 and 3, let's use a 3-day task with a task calendar assigned. The task starts on a Monday, and Saturday and Sunday are nonworking periods in all calendars.

Example 1 (Ignore Resource Calendar Set to No)

M T W Th F

Task Calendar Nonworking

Resource Calendar

Working Working Working Working Working

Intersection Working Nonworking Working Working Working

In the above example, because Tuesdays are nonworking time in the task calendar, they will also be treated as nonworking time for the resource. This is how the task would look in the Gantt Chart:

Figure 3 Example 1

Example 2 (Ignore Resource Calendar Set to No)

M T W Th F

Task Calendar Nonworking

Resource Calendar

Working Working Nonworking Working Working

Intersection Working Nonworking Nonworking Working Working

In this example, Tuesday is nonworking in the task calendar and Wednesday is nonworking in the resource calendar, so both Tuesday and Wednesday are treated as nonworking time for the resource. Here is how the task would look in the Gantt Chart:

Figure 4 Example 2

Page 125: Project 2000 Training Manual

Module 2.2 29

Example 3 (Ignore Resource Calendar Set to Yes)

M T W Th F

Task Calendar Nonworking

Resource Calendar

Working Working Nonworking Working Working

Intersection Working Nonworking Working Working Working

Example 3 has the same calendars as in Example 2, but because Ignore Resource Calendar is set to Yes, the resource will be scheduled as if Wednesday were a working day in the resource calendar. Here is how the task would look in the Gantt Chart:

Figure 5 Example 3

Example 4 (Ignore Resource Calendar Set to No)

M T W Th F

Task Calendar Working Nonworking Working Working Nonworking

Resource Calendar

Working Working Nonworking Nonworking Working

Intersection Working Nonworking Nonworking Nonworking Nonworking

In this example, let's again assume a 3-day task with a task calendar is assigned. With the intersection described in the following table, the 3-day task will not finish until two weeks after it starts!

Here is the task, as it would appear in the Gantt Chart:

Figure 6 Example 4

Page 126: Project 2000 Training Manual

30 Module 2.2

Example 5 (Illustrates Scenario E in the table shown under Effect of Ignore Resource Calendar Option)

The example below illustrates Scenario E, the irresolvable schedule, in the table shown in the section "Effect of Ignore Resource Calendar Option." In the calendars shown below, the intersection of the task and resource calendars results in nonworking time for all periods. If Ignore Resource Calendar is set to Off, then there is no period in which the resource can be scheduled.

S M T W Th F S

Task Calendar

Nonworking Nonworking Working Nonworking Nonworking Nonworking Nonworking

Resource Calendar

Nonworking Working Nonworking Working Working Working Nonworking

Intersection Nonworking Nonworking Nonworking Nonworking Nonworking Nonworking Nonworking

Effect on Fixed Duration Tasks Fixed Duration is the only task type whose behavior is directly affected by assigning a task calendar. Under normal circumstances, the Start and Finish dates of a Fixed Duration task will not change unless the user modifies the Duration. However, if the user assigns a task calendar to a Fixed Duration task, and the task calendar has nonworking periods that fall within the time frame of the task, the Finish date may move out. This behavior is by design; in Microsoft Project 2000 the task calendar takes precedence over the task type, no error or alert is generated.

Important

Although the task may be rescheduled and have a different finish date, the duration of the task does not change. This behavior is the same as if a task being scheduled by the Project Calendar had a non-working day in the middle of the task.

For example, we have a 5-day Fixed Duration task that starts on Monday and ends on Friday. When a task calendar is applied which has Wednesday as nonworking time, the task would finish on the following Monday.

Effect on Constraints A task calendar takes precedence over constraints for scheduling purposes. When there is nonworking time in the task calendar, the task is not scheduled to work during that nonworking time. This has the potential of rescheduling a task despite a hard constraint.

For example, a 1 day task has a constraint of Must Start On with a Constraint Date of Tuesday 12/7/99 and a scheduled Finish of 12/7/99. When a task calendar is applied which has Tuesdays as nonworking day, the constrained Start date will remain 12/7/99, but the Finish will move to Wednesday 12/8/99.

Page 127: Project 2000 Training Manual

Module 2.2 31

Using Task Calendars with Recurring Tasks On recurring tasks, a task calendar can be assigned to both the summary task and its subtasks. The Recurring Task Information dialog has been updated as shown below to include the "Calendar" and "Scheduling ignores resource calendars" options.

Figure 7 Recurring Task Information dialog

The behavior is summarized as follows:

� When a task calendar is assigned in the Recurring Task Information dialog, the same task calendar is automatically assigned to all of its subtasks. Subtasks that already have a different task calendar will not be modified.

� When a recurring summary task is edited to select a different task calendar, every subtask currently using the same task calendar will also be changed to the new calendar.

� A task calendar assigned or removed for a recurring subtask affects only that task.

Page 128: Project 2000 Training Manual

32 Module 2.2

Using Task Calendars with Summary Tasks Task calendars can be assigned to summary tasks; however, unlike with recurring tasks, the Summary task's calendar does not roll down to the subtasks. A summary task’s calendar calculates the working span of the summary task based on the working times in the task calendar.

Comparison to Microsoft Project 98 Behavior

In Microsoft Project 98, summary task working spans are calculated against the Project Calendar, so in cases where the subtasks are calculated against resource calendars that are different than the Project Calendar, the summary task duration might not make sense to the user.

For example, in a Microsoft Project 98 project using the 24-Hour Calendar, with a day defined as 24 hours, a summary task could have subtasks whose resources are based on the Standard Calendar. The Gantt Chart might look like this:

Figure 8 Summary Working duration

Note that the subtasks each have a duration of 2 days, but the Summary Task duration calculates as 10.13 days.

In Microsoft Project 2000, you could assign the Standard Calendar to the summary task, so that the summary task would calculate its duration in a manner consistent with its subtasks. The previous example would then look like this:

Figure 9 Summary using Standard calendar

Page 129: Project 2000 Training Manual

Module 2.2 33

What Happens When a Base Calendar Is Deleted? When the Organizer is used to delete a base calendar that is in use by existing tasks, the following alert will be displayed:

Figure 10 Deleting Base Calendar

For all tasks that used the deleted calendar, the Task Calendar will be changed to the Standard Calendar. "Undo" is not available for this action.

When the calendar is deleted, the user is first asked to confirm whether they really want to delete the calendar. They are not notified that the calendar is in use by the project until it is too late to undo the result.

Page 130: Project 2000 Training Manual

34 Module 2.2

Try This: Non-working Time and Task Calendars

Experiment to see how changing non-working time affects a task’s schedule when it has a task calendar.

1. In the Task Name field, type a task name.

2. Press TAB to move to the Duration field.

3. In the Duration field, type 3d and press ENTER.

4. On the Insert menu, click Column.

5. In the Column Definition dialog box, select Task Calendar as the Field name from the drop-down list.

6. To set the column width to the longest item in the column, click Best Fit.

7. In the Task Calendar field, assign a task calendar from the drop-down list (e.g., Standard).

8. In the Resource Names field, type R1 to assign a resource named “R1” to the new task.

9. Note the finish date for the task.

10. On the Tools menu, click Change Working Time. Select the second day of the task on the calendar and click Nonworking time. Does the finish date change? If yes, why does it change?

Yes it does; the finish date slips by one day.

11. On the Project menu, click Task Information , and then click the Advanced tab. Select the Scheduling ignores resource calendars check box. Does the finish date change? If yes, why does it change?

No it does not; the finish date is the same as the scenario in number 10.

Page 131: Project 2000 Training Manual

Module 2.2 35

Deadlines In Microsoft Project 2000, tasks may now include a Deadline date that allows an indicator to be displayed if a task’s Finish date is later than the Deadline. No indicator displays if a task finishes before the Deadline. This provides the user with a visible yet unobtrusive notification that the current scheduled Finish is later than the planned Deadline. The indicator tip reads as follows:

Figure 11 Deadline Date indicator

Figure 12 Deadline indicator tip

Page 132: Project 2000 Training Manual

36 Module 2.2

Deadline dates can be added to any task, with the exception of the Project Summary Task, a summary task representing an inserted project, or the summary task of a recurring task series. Deadlines are entered in the “Constrain task” grouping on the Advanced tab of the Task Information dialog:

Figure 13 How to Create Deadline

A column for the new Deadline field can also be added to any task table. Like other date fields, if no Deadline date has been entered, the field contains “NA.”

Page 133: Project 2000 Training Manual

Module 2.2 37

New Features Related to Deadlines

New Row Definition and Appearance in Gantt Chart

A new row definition for Deadline date has been added to the Bar Styles definitions for the Gantt Chart:

Figure 14 Bar Styles, Deadline styles

Note that the bar is defined at the lowest position in the Bar Styles list, so that it will always draw on top of other bars for the same task. Because the Show For … Tasks column is left empty, the definition will be applied to tasks, summary tasks, and milestones.

The Deadline field is available in the From and To columns of the Bar Styles dialog, as well as in the Text tab.

The first Task in the Gantt Chart below shows a 5-day task as originally scheduled. The task’s Deadline marker appears as a downward pointing green arrow, and appears at the rightmost end of the task’s Gantt bar. In the second Task in the Gantt Chart, the task’s Finish date has moved past the Deadline date, so the Deadline now appears at a midway point on the task’s Gantt bar.

Figure 15 Deadline Indicator

Page 134: Project 2000 Training Manual

38 Module 2.2

New Filter – “Tasks With Deadlines”

A new filter definition, “Tasks With Deadlines,” has been added to make it easy for users to see which tasks have Deadlines. The Filter Definition for the filter is shown below:

Figure 16 Deadline filter

Page 135: Project 2000 Training Manual

Module 2.2 39

Effect of Deadlines on Scheduling

Deadline Not Used When Calculating Schedule

The Deadline field affects only the Late Finish date, and is not used when calculating the project schedule. However, because Late Finish is used in the calculation of Total Slack, deadlines can affect the critical path. For more information on the effect of the Deadline field on Late Finish, see “How a Deadline Affects Late Finish” later in this lesson.

Comparison of Deadlines and Constraints

A constraint tied to a specific date is used when calculating the schedule, and, depending on the Constraint Type and option settings, can contribute to scheduling conflicts that generate scheduling error messages.

Deadlines, on the other hand, are not used when calculating the schedule, and do not generate scheduling errors. Also, the user is not notified if a Deadline conflicts with a task’s Constraint Date, even when originally entering the Deadline or the constraint.

Effect of Deadlines on Schedule From Start and Schedule From Finish Projects

In a Schedule From Start project, a Deadline behaves like a Finish No Later Than constraint, except that scheduling is not affected. In a Schedule from Finish project, a task (the task has a ALAP constraint) will finish on its Deadline date unless a constraint or link pushes the task Finish to an earlier date.

How a Deadline Affects Late Finish

Microsoft Project 2000 Help defines the calculation of Late Finish as follows: “When you first create a task, its Late Finish date is the same as the project finish date. As you link the task to predecessors and successors and apply any other constraints, Microsoft Project calculates the late finish date as the latest possible date this task could be finished, if all predecessor and successor tasks also start and finish on their late start and late finish dates. These calculations are based on a fixed task duration. If there is a leveling delay on the successor task, this delay is also figured into the date in the Late Finish field.”

Page 136: Project 2000 Training Manual

40 Module 2.2

When a Deadline is added to the task, Late Finish equals the earlier of the Deadline date or the date calculated according to the preceding definition, except for the following special cases:

• When a task has a MSO or MFO constraint and Tools/Options/Scheduling/ Tasks will always honor their constraint dates is set to ON, the Late Finish equals the Early Finish.

• When one of the task’s successors Late Start minus lag is earlier than the Deadline, the Late Finish equals that successor’s Late Start minus the lag.

• When a task has a SNLT or FNLT constraint, Late Finish is the earliest of Early Finish, Deadline, and any successor’s Late Start minus lag.

• When a task has no successor and Tools/Options/Calculations/”Calculate Multiple Critical Paths” is set to on, the Late Finish equals the Early Finish.

Slack may be increased or decreased according to the effect of the Deadline on Late Finish. This means that it is possible to have positive or negative slack that is greater than if the Deadline was not present.

Start Slack & Finish Slack Fields

Although not strictly related to Deadlines, Microsoft Project 2000 has two new calculated fields “Start Slack” and “Finish Slack.” These fields are used to store and display the start and finish slack calculations of a task. Previously these fields were used only in internal scheduling calculations and were not permanently stored. The new fields are also related to leveling.

Start Slack and Finish Slack are calculated as follows:

� Start Slack = Late Start minus Early Start

� Finish Slack = Late Finish minus Early Finish

For more information, see the Microsoft Project 2000 Online Help Topics Start Slack and Finish Slack.

Page 137: Project 2000 Training Manual

Module 2.2 41

Try This: How a Deadline Affects the Late Finish

On the previous page, we reviewed four scenarios where Deadlines do not affect how Late Finish is calculated. Here you will recreate one of those scenarios.

1. With a partner, select one of the four scenarios as reviewed on the previous page.

2. In a new Project, recreate the scenario.

3. With another group, explain how you created the scenario and discuss the following questions: Why does it make sense for Late Finish not to equal the earlier of the Deadline or the Late Finish Date? How does this affect the calculation of the critical path? How does this affect the way this task is scheduled? How does this affect leveling?

Page 138: Project 2000 Training Manual

42 Module 2.2

Outline Codes and WBS

Microsoft Project 2000 includes enhanced functionality of the WBS (Work Breakdown Structure) field. In addition, ten new custom Outline Code fields, Outline Code1 through Outline Code10, have been added for both tasks and resources.

WBS Field Enhancements The enhanced WBS field allows users to do the following:

� Create a mask for the field so only WBS codes can be entered that adhere to the outline structure and the format specified in the code mask.

� Renumber the WBS codes based on the outline and the mask.

� Maintain the codes so they are unique and will change only under specified circumstances.

� Verify uniqueness of any user-entered codes.

Outline Codes Custom Outline Codes give users the following new features:

� Users can define a custom outline structure that is unrelated to the task outline.

� A mask can be created for the fields so the user can only enter codes that adhere to the code mask.

� Users can create a lookup table, and can optionally ensure that codes entered are one of the values listed in the lookup table.

� The lookup table provides a field picklist to help users assign codes to tasks or resources.

� Users can perform hierarchical grouping with rollups based on the codes entered.

Distinctions Between WBS and Outline Code Fields WBS is a predefined task field, which always corresponds to the task outline structure. Because it is possible for each task to have a unique WBS code, the WBS field can be used much like the task Name or ID fields to refer to tasks. The project manager can specify that codes be verified as unique whenever a code is entered or modified on a task. (For more information on ensuring that codes are unique throughout a project, see “Uniqueness of WBS Codes” later in this lesson.)

Custom Outline Code fields, on the other hand, allow users to outline tasks and/or resources in ways unrelated to the task outline structure or resource group codes. There is no provision to require a unique Outline Code for each task, but the project manager can specify that only codes that are predefined in a lookup table be used.

Page 139: Project 2000 Training Manual

Module 2.2 43

The following are examples of scenarios in which each type of code might be used:

� A company requires that all project tasks adhere to a WBS code format used throughout the company, so the project manager creates a WBS code mask based on the company’s WBS format. Whenever a new task is created, Microsoft Project 2000 generates a unique code for the task that adheres to the code mask. Maintaining the WBS codes is much easier now because of intelligent behavior of the codes, plus the ability to renumber all or selected tasks.

� Different groups in the company want to view the Project data in different ways. The project managers are most interested in the critical path, and have defined the project outline based on project phases. The accounting department wants to see a different set of rollups based on cost centers, and HR wants to see the information based on the company’s organizational structure. The accounting department creates a custom task Outline Code field called Cost Code, and populates the lookup table with a hierarchical list of codes based on cost centers. They then use the field picklist to assign the appropriate code to each task, thus ensuring that only valid codes are entered. Once codes are assigned, they can use Group By to arrange the project by Cost Code with the desired outline and rollups.

� The HR department designs a custom resource Outline Code called Departmental Workload, and creates a lookup table corresponding to the company’s organizational chart. They assign each resource the appropriate code so that they can view resource usage grouped by department and job category.

Sharing WBS and Custom Outline Code Definitions Across Projects A new tab labeled “Fields” has been added to the Organizer which allows WBS code definitions and custom Outline Codes to be copied from one open project to another or to the Global template. If an Outline Code has been renamed, its new name will appear in the Fields tab in the Organizer.

For Outline Codes only, code masks and lookup tables can also be imported from another project using the Import Outline Code command in the Outline Code Definition dialog.

Page 140: Project 2000 Training Manual
Page 141: Project 2000 Training Manual

Module 2.2 23

Page 142: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 3: Entering Resources 45

Module 2.3

Page 143: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 144: Project 2000 Training Manual

Module 2.3 47

Lesson 3: Entering Resources

Overview In this lesson, we will discuss two new features of Microsoft® Project 2000: Material Resources and Resource Contour Availability.

What You Will Learn After completing this lesson, you will be able to:

� List and explain the differences between work and material resources

� Set up a material resource

� Troubleshoot issues related to material resources

� Create a Resource Contour

� Explain the differences between a resource contour and resource calendar

� Troubleshoot issues related to resource contours

Page 145: Project 2000 Training Manual

48 Module 2.3

Material Resources

While it is possible to manage consumable material resources using previous versions of Microsoft Project, Microsoft Project 2000 makes doing so much easier through the addition of two new resource fields, “Type” and “Material Label,” and their related functionality. The Type field allows the user to specify one of two valid resource types, “Work” or “Material,” while the Material Label field indicates the type of units by which the material resource is measured.

Work resources represent the same resource type that was available in previous versions of Microsoft Project (with enhancements as discussed in other lessons). This lesson describes the new features and modifications to existing functionality, which are related to material resources.

Setting Up a Material Resource Resource Type can be specified either in a resource table or in the Resource Information dialog.

Changes to Resource Sheet

Two new fields, “Type” and “Material Label,” have been added to the Entry table in the Resource Sheet view to simplify initial setup of a material resource. The table can also be applied or columns can be added in the Resource Usage view.

When resource Type is Material, the Max. Units field in a resource table is blank and unavailable.

When the user clicks in the Type column, a drop-down list is enabled with Work and Material as the two options to choose from, as shown in the figure below. Once Material has been selected as the Type, the Material Label column is enabled for that resource. For more information on working with Material Labels, see “Material Labels” later in this lesson.

Figure 1

Page 146: Project 2000 Training Manual

Module 2.3 49

Changes to Resource Information Dialog

Modifications have also been made to the Resource Information dialog to accommodate setup of material resources. The modified dialog appears as shown below when a material resource has been selected.

Figure 2

New items in the Resource Information dialog and changes to existing behavior are further described below:

General tab: Two new items related to material resources have been added to the General tab:

� Resource type: Indicates Work or Material resource Type. The editing box has the same drop-down control as shown in the Entry table.

� Material label: A new field indicating the kind of units or materials that the material resource is measured in, for example, gallons, feet, tons, reams, and so forth. (For more information on working with Material Labels, see “Material Labels” later in this lesson.)

In addition, when the resource Type is Material, the Email, Workgroup, Windows Account, and Resource Availability grid items are all unavailable. When the resource Type is Work, the Material Label item is unavailable.

Page 147: Project 2000 Training Manual

50 Module 2.3

Working Time tab: Because Resource Calendars are not available for material resources; the Working Time tab in the Resource Information dialog is unavailable if the resource Type is Material.

� Costs tab: All items in the Cost Rate Table are available for material resources, but the functionality is different than for work resources in the following ways:

� Standard Rate: Does not include the time value. Time value has a different meaning for material resources, and is specified when assigning the resource. For more information, see “Material Labels” and “Assigning Material Resources” later in this lesson.

� Overtime Rate: Unavailable in the Cost Rate Table for a material resource.

� Cost per Use: Cost per Use is only charged once, regardless of the number of units of the material resource that are assigned.

Otherwise, editing of the Cost Rate Table is the same as for a work resource (that is, same as in Microsoft Project 98).

An example of the Costs tab, in the Resource Information dialog, filled in for a material resource appears in the figure below.

Figure 3

Page 148: Project 2000 Training Manual

Module 2.3 51

Material Labels The Material Label field indicates the kind of units or materials that the material resource is measured in, for example, gallons, feet, tons, or reams. After a resource is assigned, Material Labels are displayed in the Units column of the Assign Resources and Task Information dialogs, and are viewable in the Resource Names column in a Gantt Chart view or Task Usage view, and in the Work column in Resource Usage view. The labels are also appended to the Detail style headings in the Resource Usage view, but are not displayed in the timescaled columns of the Resource Usage view.

Labels must adhere to the following rules:

� Cannot exceed 32 characters in length.

� Cannot contain square brackets or the list separator character.

� Cannot consist solely of Duration, Work, or other reserved time units, although these can be used in a modified form, such as by adding a period.

If a Material Label is entered which does not follow the above rules, the following message is displayed:

Figure 4

When the user clicks OK, they are returned to the dialog or table where the Material Label was entered, with the focus on the cell containing the entry.

Page 149: Project 2000 Training Manual

52 Module 2.3

Assigning Material Resources Material resources can be assigned in the same dialogs and views as work resources. This section discusses the general differences in behavior when a material resource is assigned.

� The option “Show assignment units as a” (Tools/Options on the Schedule tab) has no effect on material resources. Material resource assignments are always displayed as a decimal value.

� If the resource is assigned in the Assign Resources or Task Information dialog, the number of units to be assigned are entered in the Units column. If the resource is assigned in the Resource Names column of a task view, the number of units to be assigned are typed in square brackets following the resource’s name; if no units are entered, 1 unit is assumed.

� When entering the Units for a material resource, the user can simply specify the number of units, in which case the resource’s default Material Label will be appended. For example, if the material resource has the label “tons” and the user enters 4 Units, the resulting assignment Units will display as “4 tons.” If the resource has the label “gallons/hour” and the user enters 5 Units, the resulting assignment Units will display as “5 gallons/hour.” Note, however, that this does not mean that a Variable consumption rate has been set for this assignment. For more information, see “Consumption Rate” later in this lesson.

� The user can also enter both the units and the label, but in this case the label must match the current value of the Material Label field; if the label does not match, an error message is generated. For example, if the Material Label is “reams” and the user enters Units as “4 boxes,” the following message will be displayed:

Figure 5

Page 150: Project 2000 Training Manual

Module 2.3 53

Consumption Rate When a material resource is assigned, the user has the option to specify whether the Units assigned are a fixed quantity regardless of the task Duration (“Fixed consumption rate”), or will change when the task Duration increases or decreases (“Variable consumption rate”).

Fixed Consumption Rate

Fixed consumption means that no matter the duration of a task, the same quantity of material is consumed. The total Work for the assignment will equal the Units specified. To specify a Fixed consumption rate, the user simply enters either the number of Units, or the number of Units plus the Material Label. The resulting assignment value will display as “<units> <label>”.

Variable Consumption Rate

Variable consumption means that the quantity consumed is based on the length of the task, that is, the longer the task, the more quantity is consumed. The total Work for the assignment will be calculated as:

Units x <time unit> x Task Duration

To specify a Variable consumption rate, the user enters the assignment Units followed by a forward slash and a valid time unit. The resulting value will have the form “<units> <Material Label>/<time unit>”. For example, if the Material Label is “gallons” and the user enters assignment Units of “4/hr,” the resulting assignment value will be “4 gallons/hr.” In this example, if the task has a Duration of 2 days and days are defined as 8 hours, the total assignment Work will be calculated as 4 gallons per hour times 16 hours, or 64.

Since a slash is a valid character for a Material Label, it is possible that an assignment may incorrectly appear to be a Variable consumption rate. For example, if the user creates a label such as “feet/day” and then assigns 4 Units of the resource, the resulting assignment would have the value “4 feet/day” but would still be a Fixed consumption rate. For this same example, if the Units were entered as “4/day,” the resulting assignment would have the value “4 feet/day/day” and would then be a Variable consumption rate.

Regardless of whether the consumption rate is Fixed or Variable, in the timephased assignment, the total calculated assignment Work will be spread across the timephased segments according to the assignment’s preset contour, just as for a work resource.

Page 151: Project 2000 Training Manual

54 Module 2.3

Consumption Rate Examples

The following example illustrates a material resource assigned at a Fixed consumption rate with a Flat work contour, as it would appear in the Task Usage view:

Resource Name

Material Label

Assignment Value

Task Duration

Assignment Work

Concrete tons 5 tons 5 days 5 tons

Figure 6

The next example duplicates the above assignment, except a Front-loaded contour has been applied:

Figure 7

The following example illustrates a material resource assigned at a Variable consumption rate with a Flat work contour:

Resource Name

Material Label

Assignment Value

Task Duration

Assignment Work

Concrete tons 5 tons/hr 5 days 200 tons

Figure 8

Page 152: Project 2000 Training Manual

Module 2.3 55

Scheduling Issues and Calculations Related to Material Resources

Calendars

Material resources do not have a resource calendar. Material resources are scheduled according to the Project Calendar, unless a task calendar is assigned to the task, in which case the material resource is scheduled according to the task calendar.

Effect of Task Types

Task types affect only material resource assignments that have a Variable consumption rate. Behavior according to task type setting when a field is edited by the user is summarized as follows:

Field that is changed Fixed Duration Fixed Units Fixed Work

Work Units are recalculated

Duration is recalculated

Duration is recalculated

Duration Work is recalculated

Work is recalculated

Unites are recalculated

Units Work is recalculated

Work is recalculated*

Duration is recalculated

Table 1

This is the only case where material resources are not treated like work resources with respect to task type. The assumption is made that users will regard the Work value as a function of Duration and Units.

Effect of Effort Driven Setting

The Effort Driven setting has no direct relationship to material resources, because the Work value for material resources is not included in total task Work. Thus, if a material resource is assigned or removed, there is no effect either on task scheduling or on the assignments of any work resources.

However, when a work resource is assigned or removed on a task that also has material resources assigned, if the task duration changes due to the Effort Driven setting, the material resource assignment duration will change. If the assignment units were Fixed consumption type, total assignment Work value will remain the same and timephased work will be redistributed according to the assignment contour. If assignment units were Variable consumption type, total assignment Work will change and will then be redistributed according to the assignment contour.

Page 153: Project 2000 Training Manual

56 Module 2.3

Effect of Changing Definition of “Day”

If the definition of a “day” is changed (Tools/Options on the Calendar tab), the Unit value for a Variable consumption material resource assignment will be recalculated to accommodate the new definition so that the total Work value of existing assignments is kept constant.

For example, if the definition of “day” is changed from 8 hours to 4 hours, that is, divided by 2, an assignment that was originally 80/day will be changed to 40/day, and an assignment that was originally 1/day will be changed to .5/day. If the definition is changed from 8 hours to 24 hours, that is, multiplied by 3, an assignment that was originally 80/day will be changed to 240/day.

Assignment Start and Finish

Assignment Start and Finish can be edited, but this will have no effect on total work or units for the assignment, only on how the assignment appears across time (see “Effect of Task Types” above).

Behavior of Work Field

Task Level Work (task views): At task level, work for a material resource is not included in calculation of the Work field. Only Work values for work resources are included. If only material resources are assigned to a task, task level Work will be 0 hrs unless the user has manually entered a Work value.

Resource and Assignment Level Work (usage views): At resource and assignment level, the Work column displays the number of Units assigned, with the Material Label appended if present. Resource-level Work represents the sum of calculated Work for all units assigned to all tasks in the project. Assignment-level Work represents the calculated Work value for the assignment.

Figure 9

The assignment Work field is editable for a material resource in Resource Usage views, but Unit values which are invalid for a material resource, such as hours or days, cannot be entered except in the format required for a Variable consumption rate; nor can a label be manually entered which does not match the Material Label field for the resource.

Timescaled Work (usage views): Timescaled assignment Work can be edited and manually contoured as for work resources, and edits will impact the resource’s total assignment Work and assignment unit values if the sum of the edited values is different than the Work value before editing. This is true for both Fixed and Variable consumption types.

The underlying assumption is that if the user deliberately edits timescaled Work, they want the manually edited values to take precedence over the previous values, even if this means new total Work for a Fixed consumption assignment.

Page 154: Project 2000 Training Manual

Module 2.3 57

Behavior of Assignment Units Field

For material resources, the Assignment Units column displays the number of Units assigned, with the Material Label and Variable consumption time unit appended if present. For an example, see task T2 in Figure 9.

Leveling

Leveling does not apply to material resources. The Max. Units field and Resource Availability grid are not applicable to material resources, and the Overallocated field is always set to No for a material resource.

Resource Pools; Inserting Projects into Master Project Without Linking

When projects are inserted into a master project with the “Link to project” option unchecked, or when a project is connected to an existing resource pool, if a material resource has the same name as a work resource, they will not be merged into one resource. Similarly, two material resources with the same name but with different Material Labels will not be merged. In either of these cases, the following message will be displayed to alert the user that the duplicate names exist:

Figure 10

Page 155: Project 2000 Training Manual

58 Module 2.3

Entering Actuals

Behavior when tracking progress for material resources generally works the same as tracking work resources, with the following exceptions:

� If there are both work and material resource assignments on a task, only work resources are considered in calculation of task %Complete, task Actual Duration, and task Actual Work.

� If there are only material resource assignments on a task, Task Actual Work is set to 0%. Task %Complete is calculated as the sum of all assignment actual durations divided by the sum of all assignment durations, and task %Work Complete is set to equal task %Complete and is read-only.

� At the assignment level, if a material resource assignment with a Fixed consumption rate has Actual Work and the task Duration changes, the Remaining Work value will not change but will be redistributed over the new remaining contour.

Page 156: Project 2000 Training Manual

Module 2.3 59

Changes to Resource Graph View

Changes to the Resource Graph view to accommodate material resources are summarized as follows:

� Because they do not apply to material resources, the following details are disabled for material resources in the Resource Graph view:

• Overallocation

• Percent Allocation

• Availability

• Work Availability

• Unit Availability

� The availability line cannot be drawn for a material resource. If a graph is set to display any of the details listed above, and the user switches from a work to a material resource, all bars will be drawn with 0 values.

� Unit totals only (without the associated Material Label or time unit) will be shown for the following details:

• Peak Units

• Work

• Cumulative Work

� For the following graph details, when in dual pane mode with a combination of resource types selected, material resources will be ignored when calculating the total value for the Selected Resources bar:

• Peak Units

• Work

• Cumulative Work

• Overallocation

• Percent Allocation

• Remaining Availability

• Work Availability

• Unit Availability.

If the selection includes only material resources, total value for these details will be zero.

Page 157: Project 2000 Training Manual

60 Module 2.3

Fields Disabled for Material Resources Category Disabled Fields

Resource Fields Actual Overtime Work Actual Overtime Cost Available From Available To Base Calendar Max. Units Overallocated Overtime Cost

Overtime Rate Overtime Work Percent Allocation Remaining Overtime Work Remaining Overtime Cost Resource Availability Work Availability

Assignment Fields Actual Overtime Cost Actual Overtime Work Leveling Delay Overallocated Overtime Cost

Overtime Work Percent Allocation Remaining Overtime Cost Remaining Overtime Work

VBA Methods, Properties and Constants Related to Material Resources

New Properties

New properties related to Material Resources include the following:

Item Applies to Description

Type Property Resource object Returns or sets the resource type of a resource. Can be one of the PjResourceWorkType constants.

Material Label Property Resource object Returns or sets the Material Label of a material resource. Non-editable for a work resource.

Resource Type Property Assignment object Returns the type of the assignment’s resource. Can be one of the PjResourceWorkType constants.

FixedMaterialAssignment Property

Assignment object Returns True if consumption rate is fixed, False if consumption rate is variable. Also returns True if it is the assignment of a work resource.

Page 158: Project 2000 Training Manual

Module 2.3 61

Page 159: Project 2000 Training Manual

62 Module 2.3

Unavailable Methods and Properties

The following methods and properties are not applicable and are therefore unavailable when referencing a material resource:

Category Items not Available

Application methods ResourceCalendarEditDays, ResourceCalendarReset, ResourceCalendars

Resource properties AvailableFrom, AvailableTo, ActualOvertimeWork, ActualOvertimeCost, Base Calendar, Calendar, Can Level, Max Units, Overallocated, OvertimeCost, OvertimeRate, OvertimeWork, RemainingOvertimeWork, RemainingOvertimeCost, ResourceAvailabilities, WorkAvailability, UnitAvailability

Assignment properties ActualOvertimeCost, ActualOvertimeWork, LevelingDelay, Overallocated, OvertimeCost, OvertimeWork, RemainingOvertimeCost, RemainingOvertimeWork

New Constants

The existing pjField enumerator has the following new members related to material resources:

Constant Description

PjResourceMaterialLabel References the Material Label field.

PjResourceType References the resource Type field.

PjTaskResourceType References the assignment resource Type field.

The new pjResourceTypes enumerator has the following members:

Constant Description

PjResourceTypeWork References the resource work setting for the resource Type field.

PjResourceTypeMaterial References the resource material setting for the resource Type field.

Page 160: Project 2000 Training Manual

Module 2.3 63

Contoured Resource Availability

Microsoft Project 2000 allows contouring a resource’s availability to reflect the Max. units of a work resource that will be available over the course of a project. This feature will be most useful in defining available Max. units over time for a resource that represent a group of multiple available units, such as “Engineers,” since resource calendars already provide this functionality for individual resources. Contoured Resource Availability is not available for material resources.

For example, suppose a building contractor employs two electricians year-round. For May through September, they plan to hire three additional electricians to handle increased summer workload; and in August they know that one of them will retire. They need to reflect this in their resource pool so that their project plans will know about this variable availability and flag over allocations, and so that the information will be available when leveling.

Resource availability is entered in the Resource Availability table on the General tab of the Resource Information dialog. The Maximum Units, Availability From, and Availability To fields are no longer available in the dialog, though they are still available to insert in a resource table. (For more information on the new behavior of these fields, see “New Fields; New Behavior of Existing Fields” later in this lesson.) Up to 100 unit changes can be specified for each resource. In the table, the date fields have date picker controls, and the Units field has a spin control which increments by 50%.

Figure 11 - Resource Availability

Page 161: Project 2000 Training Manual

64 Module 2.3

Resource availability can be viewed in Resource Usage view by inserting the new Unit Avail. and/or Work Avail. details in the timephased portion of the view. For more information on these new fields, see “New Fields; New Behavior of Existing Fields” later in this lesson.

Figure 12 - Resource Availability in Usage View

Changing availability dates does not affect a resource’s calendar. Changes to resource availability settings do not cause tasks to reschedule automatically, but will be taken into account when leveling. If resource availability changes such that fewer units are now available than are required to complete tasks for that period, the resource will become overallocated and require leveling.

Page 162: Project 2000 Training Manual

Module 2.3 65

Meaning of “NA” in the Resource Availability Table Before the table has been edited, the first row contains NA in both the From and To fields. Units defaults to 100%, unless a different Units value has previously been specified in the Maximum Units field in the Resource Sheet or another resource view.

NA in the From date of the first row of the table implies that the Units specified are applicable “from the start of time” until the To date specified. Similarly, NA in the To date of the last row of the table implies that the Units specified are applicable from the From date specified “to the end of time.”

If the first From date or last To date is not filled with NA, zero availability is assumed for the period preceding the first period or following the last period.

Editing the Resource Availability Table No time of day can be entered in the table. All From dates start at 12:00 midnight, and all To dates end at 12:00 midnight. This is so that the resource can have its calendar working time set to any time of day.

The user is allowed to enter rows out of sequence, but when the dialog is closed or the user clicks another tab, the rows are automatically resorted by the Available From field.

When a user enters a From or To date in a new row, Microsoft Project 2000 will try to interpret the user’s intent, supplying default dates according to the following logic:

If the user enters a From date and then moves to another row, check whether there is a conflict with the date range in another row.

� If there is a conflict, the To date is left blank.

� If there is no conflict, the To date is filled with a date one day earlier than the earliest From date in the table that is later than the From date just entered.

� If there is no later From date, the To date is filled with NA

If the user enters a From date and then selects the blank To date in the same row, the same rules as in (1) are applied, except that if there is a conflict, or if there is no later From date, the To date will be the same as the From date just entered.

If the user enters the To date first in a new row and then moves to another row, check whether there is a conflict with the date range in another row.

1. If there is a conflict, the From date is left blank.

2. If there is no conflict, the From date is filled with a date one day later than the latest To date in the table that is earlier than the To date just entered.

3. If there is no earlier To date, the To date is filled with NA.

If the user enters a To date and then selects the blank From date in the same row, the same rules as in (3) are applied, except that if there is a conflict, or if there is no earlier To date, the From date will be the same as the To date just entered.

Page 163: Project 2000 Training Manual

66 Module 2.3

After both the From and To dates are filled, Microsoft Project 2000 fills the Units with the same value as in the preceding row, or with 100% if there are no other rows.

If there is a gap in the time periods entered, the gap will be considered as a period of zero availability for the resource, but no row representing the gap will show in the table. However, the user can enter a period specifying zero as the Units, and a row entered in this way will be retained in the table.

Consistency Checking

Consistency Within Rows

When the user moves to another rowand tries to exit the Resource Information dialog, or clicks another tab within the dialog, Microsoft Project 2000 checks the row just edited for a From date which is earlier than the corresponding To date. On detection, the following message is displayed:

Figure 13 - Availability dates

� On clicking OK, the user is returned to the Resource Availability table, with the focus placed on the row containing the inconsistency.

Consistency Across Multiple Rows

When the user tries to exit the Resource Information dialog, or clicks another tab within the dialog, Microsoft Project 2000 first checks for consistency within the last edited row as described above. If no inconsistency is found, the entire table is next sorted by the Available From date and then checked for inconsistencies across multiple rows.

If a row is found with a missing From or To value, the following message is displayed:

Page 164: Project 2000 Training Manual

Module 2.3 67

Figure 14 - Missing From or To Value

If the user clicks OK, the row is deleted. If the user clicks Cancel, they are returned to the Resource Availability table with the focus on the row containing the blank date.

If an overlapping date range is found, the following message is displayed:

Figure 15 - Overlapping Date Range

On clicking OK, the user is returned to the Resource Availability table, with the focus placed on the first row containing an inconsistency.

New Fields; New Behavior of Existing Fields To handle contoured resource availability, the behavior of the Maximum Units, Availability From, and Availability To fields have been modified, and two new fields, Unit Availability and Work Availability, have been added. These fields are available and populated for work resources only.

New Field -- Unit Availability

Unit Availability is a new read-only field containing the percentage or number of maximum units that a work resource is available to accomplish any tasks during any selected time period, as distributed over time. When inserted in the timephased area of the Resource Usage view, this field shows a timephased representation for any changes in unit availability for different time periods, as established in the Resource Availability table of the Resource Information dialog box.

Page 165: Project 2000 Training Manual

68 Module 2.3

Because the Resource Availability periods will seldom coincide with the periods represented by the Resource Usage timescale, the units displayed for Unit Availability are calculated as average availability for the timescale period, calculated against working time periods only and using minute values rather than hours in order to account for small changes in the resource calendar. Let’s use the following contour as an example:

Available From Available To Units

NA 7/15/98 100%

7/16/98 NA 200%

Table 2

In addition, we’ll assume that there are ten 8-hour working days between 7/1/98 and 7/15/98, that 7/16/98 is an 8-hour working day, and that the remainder of the month is nonworking time for the resource.

For this example, the average for the month of July would be calculated as ((10 days times 480 minutes per day) * 100) + ((1 day times 480 minutes per day) * 200), divided by (11 days times 480 minutes per day):

New Field: Work Availability

The new Work Availability field is also a read-only field and contains the maximum amount of time a work resource is available to be scheduled for work during any selected time period, as distributed over time. When inserted in the timephased area of the Resource Usage view, this field shows a timephased representation for any changes in unit availability for different time periods. The displayed amount of work is based on the resource calendar and the Resource Availability table in the Resource Information dialog box, and is calculated as follows:

� Work Availability = Unit Availability X Time in Resource Calendar

New Behavior of Maximum Units Field

Though the Maximum Units field will still be editable, the behavior of the field has been modified to include the possible presence of a resource availability contour.

If there is no resource availability contour (the From and To dates in the top row of the Resource Availability table both contain NA), the Maximum Units field will contain the same value as the Units column in the Resource Availability table. If the value is edited in either location, the other location will reflect the change.

If there is a resource availability contour, then the Maximum Units field contains the current Units value derived from the Resource Availability table and the current date as shown in the Project Information dialog. If the current date is outside the range of any period currently shown in the table, then the Maximum Units field will contain 0%.

If the user edits the Maximum Units field, then Microsoft Project 2000 will update the Units value of the corresponding row in the Resource Availability table. If the current date is outside the range of any period currently shown in the table, then the behavior is as follows:

Note: The current date in this discussion means the current date from the Project Information dialog, not the system date.

Page 166: Project 2000 Training Manual

Module 2.3 69

� If the current date is before any shown period, then a new row will be added to the table with a From date of NA and a To date equal to the latest From date minus 1.

� If the current date is after any shown period, then a new row will be added to the table with a To date of NA and a From date equal to the latest To date plus 1.

� If the current date is between two shown periods, a new row will be added between the two rows, which chronologically bracket the current date. The new row will have a From date that is one day later than the To date on the previous row, and a To date that is one day earlier than the From date on the following row.

New Behavior of Availability From and Availability To Fields

These two fields are now read-only, and will contain the values of the period in the Resource Availability table corresponding to the current date. If there is no contour, or if the current date is outside the range of any period currently shown in the Resource Availability table, then these fields will both contain NA.

Page 167: Project 2000 Training Manual

70 Module 2.3

Default Units For New Assignments When resources are assigned, the default behavior is basically the same as in Microsoft Project 98. That is, the default assignment units’ value is the lesser of either 100% or the value of Maximum Units. The value of Maximum Units for the assignment is calculated as the value from the Resource Availability table for the period, which corresponds to the Start date of the assignment, except that if the value from the table is 0%, then 100% will be used (since it makes no sense to have a default assignment of 0%).

For example, consider a resource with the following contour:

Available From Available To Units

NA 7/1/98 75%

7/7/98 7/14/98 125%

7/15/98 NA 100%

Table 3

If the resource is assigned to a task that starts on 6/25/98 and ends on 7/15/98, the default assignment units will be 75% over the span of the assignment.

If the resource is assigned to a task that starts on 7/7/98 and finishes on 7/15/98, the default unit assignments will be 100% over the life of the assignment (100% is less than the Maximum Units of 125% that would be calculated as of 7/7/98).

If the resource is assigned to a task that starts on 7/5/98 and finishes on 7/15/98, the default unit assignments will be 100% over the life of the assignment (the Maximum Units would be calculated as 0% on 7/5/98, since 7/5 falls during a gap in the availability periods, so 100% will be used for the unit assignment value).

If a resource is based on a “split shift” calendar such as the Night Shift base calendar, there may be cases where the unit assignment value is not calculated as desired. A calendar must be set up with the earliest period in the day listed first even though the resource’s workday really begins before midnight, whereas the From and To dates in the Resource Availability table always begin/end at midnight.

Changes to Resource Graph View In the Resource Graph view, the Availability detail item has been renamed to “Remaining Availability” for consistency with the Resource Usage view. In addition, detail items have been added for Work Availability and Unit Availability.

Page 168: Project 2000 Training Manual

Module 2.3 71

Try This: Setting Resource Availability

Do the following exercise to understand how user’s might

1. In a new project create a two-day task.

2. Create a working resource and assign it to the new task.

3. In the resource information dialog box for the resource created in step 2, click the General tab.

4. In the Resource Availability section, change Units to 50%. Do not change anything else.

5. Notice that your resource is now over allocated. Attempt to level your project.

Where you able to level your project? If not, why?

Page 169: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 4: Entering Assignments 71

Module 2.4

Page 170: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 171: Project 2000 Training Manual

Module 2.4 71

Lesson 4: Entering Assignments

Overview In this lesson we will discuss two items related to assignments: assignment contours and leveling.

What You Will Learn After completing this lesson, you will be able to:

� Describe how a contour will change based on varying criteria

� Troubleshoot scheduling issues related to custom contours

� Describe the differences in leveling between Microsoft® Project 2000 and Microsoft Project 98

� Describe troubleshooting steps to resolve unexpected results when leveling

Page 172: Project 2000 Training Manual

72 Module 2.4

Page 173: Project 2000 Training Manual

Module 2.4 73

Assignments Assignments and assignment contours have not changed in Microsoft Project 2000. However, these areas can be confusing, so it is important to gain a firm understanding of them. Before we look at assignment contours, let’s take a look at assignments and break them down into some simple parts that we can use to discuss assignment contours.

Parts of an Assignment An assignment consists of two levels: the assignment level and the assignment timephased level. Within each level exist fields that display essentially the same information. For example, there is a work field in both levels. The way the fields of each level are calculated, however, is different.

At the assignment level, we have three fields that we are concerned with for this discussion: Duration, Units, and Work. As we know from Microsoft Project 98, these three fields are interdependent and a change in one can affect the others. At the assignment level, we can summarize the interaction of these three fields via the following equation:

WUD ×=

Where D is duration, U is units, and W is work.

For the purposes of our discussion, when we refer to the assignment level, we are not referring specifically to assignment fields. The assignment level is referring to that area that is not timephased. In other words, it incorporates task, resource, and assignment fields.

At the assignment timephased level, we have timephased information that essentially displays the information displayed at the assignment level in more detail. Contours, by definition, exist at the assignment timephased level. However, to preserve predefined contours, changes can only be made at the assignment level. When changes are made at the assignment timephased level, a contour instantly changes to an edited contour. Edited contours are discussed later on in this lesson.

To understand how changes at the assignment level affect contours, we must first understand the changes that happen at this level. We shall then look at how Microsoft Project recalculates the assignment timephased level based on this data.

Note

Page 174: Project 2000 Training Manual

74 Module 2.4

Assignment Contours

As we mentioned before, assignment contours have not changed in Microsoft Project 2000. Fundamentally they behave the same way in Microsoft Project 2000 as they did in Microsoft Project 98. However, because they can play an important role in how a project is scheduled and because they can be confusing, we will review some of the basics of assignment contours.

What is an Assignment Contour? An assignment contour is the timephased distribution of resource units on an assignment. (Note: In most cases, assignment contours refer to the distribution of work. However, in order to better understand how Microsoft Project calculates the work distribution in a contour, we will define it as the distribution of units.) There are two main categories of contours in Project: predefined contours and edited contours.

Predefined Contours Understanding predefined contours and their behaviors will help us in understanding edited contours, so let’s take a look at them first. Like Microsoft Project 98, Microsoft Project 2000 ships with eight predefined contours. Each contour takes an assignment and divides it into ten segments. In each segment, work is calculated using the units predefined per that contour’s definition. Below are the eight predefined contours and a table showing how each distributes units in each of the ten segments.

Note

Note that each table shows the percentage of the units a resource is assigned for a particular timephased segment in relationship to the units a resource is assigned to a task as a whole.

So for example, if a resource were assigned to a task at 50%, it would be shown as being assigned at 5% for the first segment of an assignment with a Back Loaded contour applied. (See table for Back Loaded Contours.)

Page 175: Project 2000 Training Manual

Module 2.4 75

The eight predefined contours and their contour definition tables are:

1. Flat

1 2 3 4 5 6 7 8 9 10

Units 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%

2. Back Loaded

1 2 3 4 5 6 7 8 9 10

Units 10% 15% 25% 50% 50% 75% 75% 100% 100% 100%

3. Front Loaded

1 2 3 4 5 6 7 8 9 10

Units 100% 100% 100% 75% 75% 50% 50% 25% 15% 10%

4. Double Peak

1 2 3 4 5 6 7 8 9 10

Units 25% 50% 100% 50% 25% 25% 50% 100% 50% 25%

5. Early Peak

1 2 3 4 5 6 7 8 9 10

Units 25% 50% 100% 100% 75% 50% 50% 25% 15% 10%

6. Late Peak

1 2 3 4 5 6 7 8 9 10

Units 10% 15% 25% 50% 50% 75% 100% 100% 50% 25%

7. Bell

1 2 3 4 5 6 7 8 9 10

Units 10% 20% 40% 80% 100% 100% 80% 40% 20% 10%

8. Turtle

1 2 3 4 5 6 7 8 9 10

Units 25% 50% 75% 100% 100% 100% 100% 75% 50% 25%

Page 176: Project 2000 Training Manual

76 Module 2.4

How Assignment Contours Work

Assignment contours work in the following manner:

� First, Microsoft Project takes the duration of a task and divides the assignment into 10 equal contour segments. This is done on a minute-by-minute level.

� Next, Microsoft Project applies Units to each contour segment per the contour’s definition as shown in the tables above. Remember, the contour definition tables show the percentage of the units a resource is assigned for a particular timephased segment in relationship to the units a resource is assigned to a task as a whole.

� The work for each contour segment is then calculated based on units and duration for the segment.

� Finally, the above figures are calculated for display in the timephased segment that is specified.

Page 177: Project 2000 Training Manual

Module 2.4 77

What Happens When Changes Occur

Understanding the definition of a contour and its basic functionality is important, but seeing how it really works when changes occur in a project is where we really begin to understand assignment contours. And to understand this, it’s important to remember the two levels of an assignment: the assignment level and the assignment timephased level. Because predefined contours, by definition, cannot be edited at the timephased level, we shall only look at the assignment level.

At the assignment level, making a change to duration, units, or work will cause a change in one of the other two variables, depending on the task type. This is accordance with the following equation:

WUD ×=

Where D is duration, U is units, and W is work.

The changes that can occur when a variable is changed are reflected in the three tables below. Each table represents a task type as denoted in the upper left hand corner. The leftmost column shows the variable that is changed by the user. Each subsequent column shows status of the variable upon making the change. A changed variable is denoted by the Greek symbol delta (∆) that is generally used in mathematics as the symbol to denote change. When delta (∆) is followed by the variable’s first letter, it denotes the variable that has been changed by the user. When delta appears alone, it means that Microsoft Project has calculated that variable’s value based on the change by the user and the task type.

Fixed Duration Task

Duration Units Work

∆D ∆D No Change ∆

∆U No Change ∆U ∆

∆W No Change ∆ ∆W

Fixed Units Task Duration Units Work

∆D ∆D No Change ∆

∆U ∆ ∆U No Change

∆W ∆ No Change ∆W

Fixed Work Task Duration Units Work

∆D ∆D ∆ No Change

∆U ∆ ∆U No Change

∆W ∆ No Change ∆W

Making Changes At the Assignment Level

Page 178: Project 2000 Training Manual

78 Module 2.4

At the assignment timephased level, there are three possible scenarios. These are reflected in the table below.

When this situation occurs… …Microsoft Project does the following for contours.

Duration and Units have both changed at the Assignment Level (∆D & ∆U)

1. The 10 Contour Segments are re-calculated.

2. Units are applied to each contour segment per the contour definition.

3. Work for each segment is recalculated.

Duration and Work have both changed at the Assignment Level (∆D & ∆W)

1. The 10 Contour Segments are re-calculated.

2. Units are applied to each contour segment per the contour definition.

3. Work for each segment is recalculated.

Units and Work have both changed at the Assignment Level (∆U & ∆W)

1. Units are applied to each contour segment per the contour definition.

2. Work for each segment is recalculated.

Calculated Changes At the Assignment Timephased Level

Page 179: Project 2000 Training Manual

Module 2.4 79

Other Possible Changes at the Assignment Level

Changing one of the three variables (duration, units, work) is not the only thing that can affect a predefined contour.

Assigning Additional Resources to a Task

Assigning additional resources to a task can also affect a current assignment contour.

Assignment contours will only be affected if a task has Effort Driven turned on. Assigning additional resources to a non-effort driven task does not affect an existing resource contour at all.

When new resources are assigned to an effort driven task, the first thing Microsoft Project must do is distribute work on the task amongst the assigned resources. To divide up the work amongst each resource (or to calculate each assignment’s work), Microsoft Project does the following:

1. First, Microsoft Project calculates a temporary value for the newly assigned resource’s assignment work by assuming it was assigned without the effort driven option being turned on. It does this by using the following equation:

Ua

DtWat =

Where Wat is the temporary assignment work, Dt is the task duration, and Ua is the assignment units. [capitalization should be consistent with below under #3]

2. Next, Microsoft Project calculates a temporary value for the total work on the task by summing all temporary assignment work values. This gives a value that we will call the temporary task work, or Wtt.

3. Microsoft Project then calculates a temporary value for the assigned units for an assignment (or Uat) by using the following equation:

Wtt

WatUat =

Where Uat is the temporary assignment units, Wat is the temporary assignment work, and Wtt is the temporary task work.

4. Next, the effort driven assignment work is calculated using the following equation:

WtUatWa ×=

Where Wa is the assignment work, Uat is the temporary assignment units, and Wt is the original task work.

Page 180: Project 2000 Training Manual

80 Module 2.4

Once the assignment work is calculated, Microsoft Project then makes the following calculations depending on the task type:

1. For a Fixed Duration Task, Microsoft Project recalculates the assignment

units using the following equation:

Usa

Dt

Wa

Ua

=

Where Ua is the assignment units, Wa is the assignment work, Dt is the task duration, and Usa is the assignment units scaled average.

2. For a Fixed Units or Fixed Work Task, Microsoft Project recalculates the task duration using the following equation:

Usa

Ua

Wa

Dt

=

Where Dt is the task duration, Wa is the assignment work, Ua is the assignment units, and Usa is the assignment units scaled average.

Note

The Assignment Units Scaled Average (Usa) is the variable that takes predefined contours into account. When assigning new resources to a task that has an assigned resource with a predefined contour, this value maintains the contoured assignment’s relevancy when calculating duration or assigned units. This value is calculated by taking the average value of the units from each predefined contour segment.

The Usa value for each predefined contour is noted in the following table:

Once the new values are calculated, Microsoft Project calculates the new assignment contours as noted above, using the new values.

Changing Working Times

Changing working times may also appear to affect assignment contours. However, when working times change, assignment contours remain essentially unchanged when considered over working times. That is to say, when working times are changed, the contour is simply moved around non-working times. For example, if you had a two-day task with a flat contour, inserting a non-working day (Day Two) between the two working days leaves the contour setting at “flat.” It does not change to “contoured.”

Page 181: Project 2000 Training Manual

Module 2.4 81

You should note, however, that in a literal sense (and to many users), the contour has changed. This is because units have gone from being distributed over two days at 100%, to being distributed over three days in the following manner:

Day One Day Two Day Three

100% 0% 100%

In actuality, there is no units’ value for day two in Microsoft Project. However, it is important to understand how other users of Microsoft Project 2000 may view contours. As noted before, many users define assignment contours as the timephased distribution of work. If viewed from this viewpoint, the contour appears to have changed. It is important to be able to understand both views in order to explain Microsoft Project’s behavior to others.

Page 182: Project 2000 Training Manual

82 Module 2.4

Edited Contours So far we’ve taken a broad look at predefined resource contours and what happens when we make changes at the assignment level. On many occasions, however, we may want to make changes to an assignment at the assignment timephased level. Doing so changes our contour from a predefined contour to an edited contour. In other words, an edited contour is, by definition, a contour that has been edited at the timephased level.

Making Changes at the Assignment Timephased Level

When we make a change at the assignment timephased level, we are actually creating a new edited contour. Once a contour is an edited contour, it has different behavior when responding to changes made at the assignment level. To understand these changes, however, we must first understand how edited contours differ structurally from predefined contours. (That is, we need to understand how contour segments behave in edited contours.)

As discussed earlier, predefined contours are divided into ten equal contour segments. Each contour segment has a predefined level of units that is applied to that segment based on the contour definition table. Edited contours, however, differ in that they are not divided into ten segments of equal duration. First, the number of contour segments in an edited assignment contour depends on the actual edits made. The duration of each contour segment depends on the timescale in which the edit was made.

Predefined Contour Units Scaled Average (Usa) Value

Flat 100%

Back Loaded 60%

Front Loaded 60%

Double Peak 50%

Early Peak 50%

Late Peak 50%

Bell 50%

Turtle 70%

Page 183: Project 2000 Training Manual

Module 2.4 83

For example, suppose you had a 12-day task and you edited the assignment contour as follows:

1 2 3 4 5 6 7 8 9 10 11 12

20% 15% 20% 15% 20% 25% 40% 25% 40% 25% 15% 20%

1.6h 1.2h 1.6h 1.2h 1.6h 2h 3.2h 2h 3.2h 2h 1.2h 1.6h

Note

In the timescaled view, you cannot directly edit the units assigned to each timephased segment; instead you would directly edit the work. However, to better understand edited contour segments, we will look at the units assigned.

In this example, you have 12 contour segments of equal duration. However, if you changed your minor timescale to weeks, you would end up with the following:

Week 1 Week 2 Week 3

18% 31% 7%

At this point the assignment contour still consists of 12 segments of equal duration. However, if we then make an edit to Week 2, our contour segments change. The five segments that make up Week 2 become one segment with a five-day duration, and we are left with a total of eight contour segments. In our example, if we change Week 2 to 38%, we are left with the following contour segments.

Contour Segment Number

1

2

3

4

5

6

7

8

Units 20% 15% 20% 15% 20% 38% 15% 20%

Duration 1d 1d 1d 1d 1d 5d 1d 1d

Note that Contour Segment Number 6 has a five-day duration. If we subsequently were to change our timescale back to days, we would see that units are spread evenly over the segment. In other words, each day of the second week would have 38%.

Important:

It is important to recognize that contour segments are independent from the timescale units that we view timephased information with. When we change our timescale units to days, we do not suddenly have additional assignment contour segments. We are simply viewing existing segments differently. This will be shown in more detail in the following example.

Now that we understand how edited contours deal with contour segments, let’s take a look at what happens when we begin to make changes to assignments with edited contours.

Page 184: Project 2000 Training Manual

84 Module 2.4

Making Changes at the Assignment Level

The most important difference between predefined contours and edited contours is the way in which segments are handled when changes are made at the assignment level. As we noted above, segments are not necessarily equal in duration, nor are they consistent in number. (That is, there can be more or less than 10 contour segments.)

When the duration of an assignment changed with a predefined contour applied, Microsoft Project recalculated the duration of the 10 contour segments so that there were consistently 10 segments of equal duration. Like predefined contours, Microsoft Project only changes edited contour segments when duration changes. However, unlike predefined contours, the way in which contour segments change is dependent on what else is changing at the assignment level.

If both duration and units change at the assignment level, contour segment length will change, but proportionality will be maintained. This means that if you have three contour segments of 8 hours in length, making a change at the assignment level where both duration and units change will cause the contour segment length to change, but all three contour segments will still be the same length.

If both duration and work are changed at the assignment level, contour segment length proportionality will not be maintained. Instead, Microsoft Project will simply extend or truncate the right most contour segment as needed. All other contour segments will maintain the same length.

The way that changes at the assignment level affect contour segments of edited assignment contours in Microsoft Project 2000 is detailed in the following table. There are three distinct scenarios for edited contours when making changes at the assignment level. They are as follows:

Changes at the Assignment Level

Reaction of Contour Segment Lengths

∆D, ∆U Segment lengths recalculated, proportionality maintained.

∆D, ∆W Last Segment Extended/Truncated

∆U, ∆W Segment Length doesn’t change.

Note

To see which variables are changing under what circumstances, refer to the table on page 74

Page 185: Project 2000 Training Manual

Module 2.4 85

Example

Let’s look at an example that shows some of the possible changes and calculations. Suppose we had a Fixed Units task with a three-day duration and that we edited the assignment contour as shown below.

Day One Day Two Day Three

38% 88% 50%

3.03h 7.03h 4h

If we increase the assignment units from 88% to 100%, we get a timephased assignment information as shown in the following table:

Day One Day Two Day Three

50% 90% 36%

4.02h 7.17h 2.9h

At first glance, it may appear that Microsoft Project is randomly changing our assigned units. In fact, however, it is being very consistent in how it maintains our assignment contour. Because the task is a fixed units task and we are changing units at the assignment level, duration must be recalculated. From our table on page 84 we know that this will cause contour segment lengths to change, but their proportionality to be retained.

This gives us a situation where our timescale units (days) overlap our contour segments as shown in the following table:

Day One – 50% Day Two – 90% Day Three – 36%

Contour One –42.94% Contour Two – 100% Contour Three – 56.5%

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Now let’s look at how Microsoft Project makes the exact calculations to come up with the scenario shown in the above table. The first thing that Microsoft Project does in this situation is calculate duration. To do this, Microsoft Project first calculates the assigned units scaled average (Usa) for the edited contour by using the following equation:

Ns

UsUsa ∑=

Where Usa is the units’ scaled average, ∑U is the sum of all of the segments’ units, and Ns is the number of segments.

Page 186: Project 2000 Training Manual

86 Module 2.4

Contour segments units are [please review this] usually not the units for the assignment during a period of time. In other words, Us does not usually correspond to the % allocation values found in the time-phased portion of the Task Usage view. Rather, Us values correspond to the values shown in the definition tables for predefined contours. In equation form:

Ua

AUs

%=

Where Us is the units for the contour segment, %A is the % allocation for the time period and Ua is the units for the assignment.

In our scenario, calculating the Usa value gives us the following:

3

%5.56%100%94.42 ++=Usa -OR- %48.66=Usa

Note

When segments are of unequal duration, Usa should be calculated as follows: ( )

Da

DsxUsxUsa ∑ ×

=

Where x is the segment number, Usx is the Units of segment number x, Dsx is the duration of segment number x, ( )∑ × DsxUsx is the sum of all segments units multiplied by their segment duration (that is, ( ) ( )...2211 DsUsDsUs ×+× ), and Da is the duration of the assignment.

Once Usa is calculated, Microsoft Project then recalculates the duration of the assignment according to the following equation:

Usa

Ua

Wa

Dt

=

Where Dt is the task duration, Wa is the assigned work, Ua is the assigned units, and Usa is the units’ scaled average.

Note

Page 187: Project 2000 Training Manual

Module 2.4 87

In our example, this works out to the following:

%48.66%100

07.14

=

h

Dt -OR- hDt 16.21= -OR- dDt 64.2=

Because duration changes, Microsoft Project is forced to recalculate the assignment contour segments while maintaining their proportionality. This it does in two steps. First, it calculates a ratio for the change in duration. This is done using the following equation:

Do

DtR =

Where R is the ratio, Dt is the new task duration calculated above and Do is the old task duration. In our scenario, R = 0.88.

Then Microsoft Project multiplies each contour segment’s duration by this ratio to determine the new contour segment duration. In this scenario, all contour segments are equal and end up being 7 hours in length.

When both duration and work change, contour segments are not recalculated. Instead, the rightmost contour is extended or truncated. In such a scenario, if duration is increased, the rightmost segment is extended. If duration is decreased, the rightmost contours are truncated as needed.

Once segment durations are recalculated, Microsoft Project calculates a multiplier by which to proportionately adjust our contour segment’s units. This is done using the following equation:

Ua

UanM =

Where M is the multiplier, Uan is the new assigned units and Ua is the assigned units. In our scenario, M = 1.13 or

%88

%100=M

Next, Microsoft Project recalculates the assigned units for each contour segment by multiplying the assigned units for each segment by the multiplier. The results for our scenario are shown in the following table:

Contour One Contour Two Contour Three

42.94% 100% 56.5%

Table 1

Note

Page 188: Project 2000 Training Manual

88 Module 2.4

Microsoft Project then calculates what is displayed to the user based on what timescale is selected. In our example, we are showing days. Because our contours are only 7 hours in duration, segment contours overlap timephased contours. Microsoft Project averages the contour segment’s units as they overlap the timephased segment and displays the value as the timephased segment’s units. This is demonstrated in the following table:

Day One – 50% Day Two – 89% Day Three – 36%

Contour One –42.94% Contour Two – 100% Contour Three – 56.5%

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Table 2

Making Changes at the Assignment Timephased Level

When changes are made at the assignment timephased level, the change only affects the timescale segment in which that edit was made. Note however, that the timescale segment may overlap contour segments. Take the following table for example:

Day One – 50% Day Two – 89% Day Three – 36%

Contour One –42.94% Contour Two – 100% Contour Three – 56.5%

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Table 3

If you changed the units on day two to 50%, you would end up with the following:

Day One – 50% Day Two – 50% Day Three – 36%

Contour One –42.94% C2 – 100%

Contour Three – 50% Contour Four – 56.5%

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Table 4

Note that you now have four assignment contours of varying length.

All edits to the timescale segment are spread evenly throughout the segment. For example, if you assigned 50% units to a day and then changed the timescale to hours, you would see 50% units for each hour as well.

Page 189: Project 2000 Training Manual

Module 2.4 89

Other Possible Changes to Edited Contour Assignments

Adding a resource to a task with an edited contour assignment is not very different from adding a resource to a task with a predefined contour. The only difference that applies is the Usa value. For predefined contours, this is a fixed value. However, for edited contours, this value is calculated based on the following calculation:

Ns

UsUsa

∑=

Where Usa is the units’ scaled average, ∑Us is the sum of all of the segments’ units, and Ns is the number of segments.

When segments are of unequal duration, Usa should be calculated as follows: ( )

Da

DsxUsxUsa

∑ ×=

Where x is the segment number, Usx is the units of segment number x, Dsx is the duration of segment number x, ( )∑ × DsxUsx is the sum of all segments units multiplied by their segment duration (THAT IS, ( ) ( )...2211 DsUsDsUs ×+× ), and Da is the duration of the assignment.

Adding Additional Resources to a Task with an Edited Contour Assignment

Page 190: Project 2000 Training Manual

90 Module 2.4

Leveling

Leveling in Microsoft Project 2000 behaves very similarly to leveling in Microsoft Project 98. However, because of new feature enhancements, leveling has changed somewhat. It now takes into account some of the new features that have been added to Microsoft Project 2000. Before we take a look at which new features are related to leveling, let’s review what Leveling does in Microsoft Project.

Leveling in Microsoft Project It is important to remember what Microsoft Project is doing when it is leveling. Although the end objective is to schedule resource work as efficiently as possible, we must remember that leveling does not change work or units on an assignment or task. Instead, when leveling makes a change, it does so by adding leveling delay or splitting work. These are the only ways in which leveling can make changes to a project. As we look at the new features related to leveling, this will become more obvious.

Microsoft Project 2000 Features Related to Leveling There are only a few new features that are related to leveling. They are as follows:

Leveling From Current Schedule

If you’ve used Microsoft Project 4.x, you’ll be familiar with this option, which is a reintroduction of an old feature. Microsoft Project 2000 gives you the option to clear leveling values before leveling. This option is checked by default.

With this option off, any previous leveling delay remains and can only be added to which means the result of a previous leveling will likely be unchanged and only newly overallocated assignments and their tasks will be leveled. For example, if a task currently has 3ed of leveling delay, with this option turned off, during subsequent leveling passes, this value may increase, but will not decrease.

When this option is not checked, the time it takes to level a large project can be reduced and is especially useful when leveling calculations have been set to automatic.

Page 191: Project 2000 Training Manual

Module 2.4 91

Figure 1 - Clear Leveling

Task Calendars

In Microsoft Project 98, when leveling delayed the start of an assignment, it gave a delay value to the assignment. This value was then applied against the resource calendar to get a new starting time for the assignment.

In Microsoft Project 2000, the calendar used by an assignment is not necessarily the resource calendar. It may be the task calendar. When leveling, Microsoft Project now looks at any applied task calendars and also checks to see if the Ignore Resource Calendar setting is on.

Try This: Leveling with a Task Calendar

Create a Customer Scenario where Leveling with Task Calendars does not behave as expected.

1. With a partner, create a project where task calendars are applied and resources are assigned to tasks. Make sure some resources are overallocated.

2. Attempt to level your project.

Did your project level as most customers might expect? Why or why not?

Page 192: Project 2000 Training Manual

92 Module 2.4

Material Resources

Material Resources are normally not leveled by Microsoft Project. This is because they have no way of measuring capacity (that is, max units) and thus cannot tell when they are overallocated.

Leveling will affect material resource, however, when they are assigned with other resources and those resources’ assignments are delayed. In this situation, material resources use the task delay value to move their assignments.

Try This: Leveling and Material Resources

Experiment with how leveling can affect material resources.

1. In a new project, create two three-day tasks that start on the same day.

2. Assign one working resource and one material resource to each task. Split your screen and note the start and finish dates for each assignment.

3. Level your project.

Did any of your assignment dates change unexpectedly? Why or why not?

Page 193: Project 2000 Training Manual

Module 2.4 93

Priority Levels

Microsoft Project 2000 has increased the amount of priority levels from 10 to 1000. They work in exactly the same fashion as they did in Microsoft Project 98. Microsoft Project 98 values map to the new Microsoft Project 2000 values as shown in Table 5.

Microsoft Project 98 Value Microsoft Project 2000 Value

Do Not Level 1000

Highest 900

Very High 800

Higher 700

High 600

Medium 500

Low 400

Lower 300

Very Low 200

Lowest 100

Table 5

Note

When saving a project in the 98 format, you should note that the values map somewhat differently than noted above. This is detailed in the following table. Note in particular that priority values from 801-999 are mapped to Highest and that only values of exactly 1000 are mapped to Do Not Level.

Page 194: Project 2000 Training Manual

94 Module 2.4

Microsoft Project 2000 Value Microsoft Project 98Value

1000 Do Not Level 801-999

701-800 Very High

601-700 Higher

501-600 High

401-500 Medium

301-400 Low

201-300 Lower

101-200 Very Low

0-100 Lowest

Table 6

Priority values can now also be used to set the priority of project summary tasks (also can be set in the Project Information dialog). Because of this, inserted projects can now contain a priority level and this priority can be taken into account when leveling multiple inserted projects.

Page 195: Project 2000 Training Manual

Module 2.4 95

Contoured Resource Availability

We’ve already discussed contoured resource availability, but let’s take a look at its affect on leveling. We know that contoured resource availability does not change work. Instead, it changes the percentage a resource is allocated. When this percentage is over 100%, the resource is marked as overallocated.

Like manually editing a resource contour, contoured resource availability spreads evenly throughout the segment in which it’s designated. In other words, if you set a resource’s availability at 50% for a week, that availability is 50% from the minute level on up through the week. If an assignment is made at 100%, leveling cannot schedule any work during that week and will move it to another time where resource availability is 100% or greater.

For example, suppose we had a 10-day task and assigned a resource to it so that the resource has 80 hours of work and is assigned at 100% every day of the task. If we then contoured the resource’s availability so that the resource is only available 50% of the time during the first 5 days of the task, the resource will appear as overallocated. (Note: the resource is available 100% of the time for all other periods.) If we then level the task, the resource will not be scheduled to work during the week at which he is available 50% of the time. Instead his work will begin in the second week.

This behavior may be different from what you might first expect. Since the resource has four hours of available time each day during the first week, you may assume that leveling should fill those hours first. It is at this point that we must remember that leveling only adds delay or splits work. It cannot change work or units. Thus, leveling cannot schedule four hours of work each day during the first week. Instead it must move the assignment to an availability contour that can accommodate the assigned units.

Page 196: Project 2000 Training Manual

96 Module 2.4

Leveling Related VBA Because Leveling has changed very little since Microsoft Project 98, there have been very few changes to the Microsoft® Visual Basic® for Applications (VBA) Object model. Below are the changes that have been made.

New Leveling Related Methods

[application].LevelingOptions Automatic, DelayInSlack, AutoClearLeveling, Order, LevelEntireProject, FromDate, ToDate, PeriodBasis, LevelIndividualAssignments, LevelingCanSplit.

All the arguments are optional. If any argument is not specified, then the values that are currently used in the dialog are assumed as the values for the arguments.

New Leveling Related Properties [application]. AutoClearLeveling[= value] as Boolean

Returns or sets the 'Clear old leveling values before performing leveling' setting. The value argument has two settings: True or False

[project]. Priority[= value] as number

Returns or sets the project priority value. This is the same value as the Project Summary Task (or Project Information dialog) priority setting.

[task]. Priority[= value] as number

Returns or sets the task priority value.

LevelingOptions

AutoClearLeveling

Priority

Page 197: Project 2000 Training Manual
Page 198: Project 2000 Training Manual

THIS PAGE INTENTIONALLY LEFT BLANK

Page 199: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 5: Using Multiple Projects 97

Module 2.5

Page 200: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 201: Project 2000 Training Manual

Module 2.5 97

Lesson 5: Using Multiple Projects

Overview In this lesson we will discuss the differences between Microsoft® Project 98 and Microsoft Project 2000 when using multiple project files. We will discuss both Resource Pools and Inserted Projects.

What You Will Learn After completing this lesson, you will be able to:

� Describe differences with multiple projects in Microsoft Project 2000 vs. Microsoft Project 98

� Describe Resource Pool differences between Microsoft Project 2000 and Microsoft Project 98

� Move file locations without breaking links

� Troubleshoot common problems with multiple projects

� Work with multiple projects in the Microsoft Project 98 format

Page 202: Project 2000 Training Manual

98 Module 2.5

Multiple Projects in Microsoft Project 2000 Using inserted projects in Microsoft Project 2000 is essentially the same as it was in Microsoft Project 98. The method for inserting a project and the user interface remain largely unchanged. Internally, however, Microsoft Project handles inserted projects differently.

The most important difference is the way in which Microsoft Project references inserted projects and resource pools. In Microsoft Project 98, a full path to the file referenced inserted projects internally. For example, the path might be “C:\My Documents\Client 1\project1.mpp.” Because of the way that inserted projects were referenced, moving groups of project files could be difficult.

In Microsoft Project 2000, relative UNC paths are used in addition to full UNC paths to reference inserted projects and resource pools. The relative paths are used first. For example, if the file project1.mpp were inserted into a project stored in the same directory, it would be referenced by both “\project1.mpp” and “C:\My Documents\Client 1\project1.mpp.” Microsoft Project 2000 would use the relative path first to locate the project. If it could not be found using the relative path, the full path is used.

Because of this additional relative path, you can now easily move groups of projects from one location to another and still maintain cross project links or links with resource pools and inserted projects. The only requirement is that files’ relative locations remain constant. So if you have a group of project files originally located in the same directory, you simply have to place the files in the same directory in the new location.

In Microsoft Project 2000, you have the opportunity to delete external predecessor links to files that cannot be found. The following dialog box will appear allowing you to delete the external link or relocate the file

Figure 1 - Links could not be found

Page 203: Project 2000 Training Manual

Module 2.5 99

When opening a consolidated file in which an inserted project cannot be located, the following dialog box is offered to locate the missing file. Notice the title of the window “ Cannot find inserted project -…..”

Figure 2 - Cannot find inserted project

Page 204: Project 2000 Training Manual

100 Module 2.5

Try This: Move Linked Files

Experiment with moving linked files to see how Microsoft Project 2000 behaves.

1. Create a Master Project with two inserted projects. Insert one project that is stored in the same directory as the master project, and insert the other from a location at the root.

2. Save all projects and close Microsoft Project 2000.

3. Save all projects to a floppy disk.

4. Choose a partner and exchange floppy disks.

5. Copy the files from the disk you received to the desktop.

6. Open the master project.

Was Microsoft Project 2000 able to find both inserted projects? What happens if you move the inserted projects to other locations?

Page 205: Project 2000 Training Manual

Module 2.5 101

Resource Pools On the surface, Resource Pools have not changed in Microsoft Project 2000. The user interface and overall usage remains the same. Below the surface, however, there are a few significant changes in the way Resource Pools work. Let’s take a look at dialog box changes first.

Opening a File Attached to a Resource Pool In Microsoft Project 98, opening a file attached to a resource pool causes a dialog box with three options to be displayed. In Microsoft Project 2000, this has been reduced to two options as shown in the following figure:

Figure 3 - Open Resource Pool Information

The first option, “Open resource pool to see assignments across all sharer files” opens the resource pool read only, along with the file. The second option, “Do not open other files” corresponds to the third option in the Microsoft Project 98 dialog box, which reads, “Do not open resource pool.” It opens only the file being opened.

Note

The second option found in the Microsoft Project 98 dialog box, “Open Resource Pool Read-Write…” has not been removed from Microsoft Project 2000. It is still found in the dialog box launched when opening the resource pool directly. This option can also be accessed via Microsoft® Visual Basic® for Applications (VBA).

Page 206: Project 2000 Training Manual

102 Module 2.5

Opening Master Projects with Multiple Inserted Projects Attached to a Resource Pool In Microsoft Project 98, when you open a master project with multiple inserted projects, each attached to a resource pool, you would receive the following dialog box for each inserted project.

Figure 4 - File shares resources

In Microsoft Project 2000, you receive the new dialog with only two options as shown below.

Figure 5 - Opening Projects attached to Pool

This dialog appears only once and the selection will be applied to all inserted projects attached to a resource pool, even if each is attached to a different resource pool.

Page 207: Project 2000 Training Manual

Module 2.5 103

Similarly, you will no longer be prompted to update the resource pool multiple times when saving or closing a master project. Instead you will receive the following dialog only once and the selection will apply to all inserted projects.

Figure 6- Update Resource Pool

Note

You will still be prompted to save each individual project unless you choose “Yes to all” or “No to all.” But you will not be asked if you want to update the resource pool for each individual project.

Page 208: Project 2000 Training Manual

104 Module 2.5

The Link (not the file) Takes Precedence Dialog boxes are not the only change to Resource Pools. In Microsoft Project 98, sharing resources made your project dependent on that particular file. In Microsoft Project 2000, it is the link (not the file) that takes precedence. Because of this, you can replace the resource pool file with another file, simply by putting it directly where the old pool resided.

Writing to the Resource Pool When It’s Opened Read Only Another change is the way in which Microsoft Project 2000 treats the resource pool when it is opened read only. In Microsoft Project 98, any update to the Resource Pool, whether editing assignment information or adding new resources, caused Microsoft Project to re-open the resource pool as read write.

In Microsoft Project 2000, this has changed. When the Resource Pool is opened read only, any edits to assignments are written to the Resource Pool while it is opened read only. This is accomplished by editing the file via a binary stream, as opposed to rewriting to the whole file. When adding or deleting resources, however, the resource pool must be re-opened as read write.

Only One Resource List Another change is that only one resource list is maintained in Microsoft Project 2000. This is true regardless of whether “Pool takes precedence” or “Sharer takes precedence” is selected. Because only one list is maintained, resources have the same ID and Unique ID numbers and order whether in the resource pool or in the sharer file.

Page 209: Project 2000 Training Manual

Module 2.5 105

Try This: Working with a Resource Pool

Experiment to see how Microsoft Project 2000 employs resource pools.

1. Create a new project with 3 tasks. Save the project as Project1.mpp, but leave it open.

2. Create a resource pool with three resources named R1, R2, and R3.

3. Save the file as RP.mpp and leave it open.

4. Have Project1.mpp use RP.mpp as a resource pool.

5. Assign each resource to one task each.

6. In the resource sheet of Project1.mpp, add a new resource named R4.

7. Save both the files and close them.

8. Open Project1.mpp. When prompted, choose do not open other files and click OK.

Is there anything unexpected about your resource list from Project1.mpp? Does anything change when you also open RP.mpp?

Page 210: Project 2000 Training Manual

106 Module 2.5

Working With Inserted Projects, Resource Pools, and Cross Project

Links in the Microsoft Project 98 Format

In some organizations, there may be situations where users of Microsoft Project may want to use both Microsoft Project 98 and Microsoft Project 2000 files together. For example, a Microsoft Project 2000 user may want to use a Resource Pool that is still being maintained as a Microsoft Project 98 file.

Microsoft strongly suggests that users do not use files of both Microsoft Project 98 and Microsoft Project 2000 format together in Inserted Project, Resource Pool, or Cross Project Link situations.

Microsoft strongly suggests that users do not use files of both Microsoft Project 98 and Microsoft Project 2000 format together in Inserted Projects, Resource Pools, or Cross Project Links situations. Doing so may cause problems with inconsistent scheduling or other odd behavior. Microsoft Project will not, however, explicitly stop you from doing so. You will not receive a message indicating that you are using an inconsistent project file type. For example, when you insert a Microsoft Project 98 project into a Microsoft Project 2000 project, you will receive no message indicating it is a Microsoft Project 98 file until you attempt to save your master project. At that point you will be asked if you want to save your inserted project in the Microsoft Project 2000 format.

If a there is an intermingling of Microsoft Project 98 and Microsoft Project 2000 files, there may be some situations where it seems to work well. More than likely, though, there will be problems. In order to troubleshoot such situations, however, you must understand the designed behavior in different situations. There are five scenarios that exist for using the two file types together.

Caution

Page 211: Project 2000 Training Manual

Module 2.5 107

Scenario 1 – Master Project in Microsoft Project 98 Format with some sub-Projects in Microsoft Project 2000 Format

Microsoft Project 98 – When opening in Microsoft Project 98, sub-projects will not be able to be expanded.

Microsoft Project 2000 – When opening in Microsoft Project 2000, sub-projects will be able to be expanded. The master project will appear just as a Microsoft Project 2000 master project would appear. For example, if one of the inserted projects has an estimated duration, that estimated duration will be reflected in any related summary tasks. However, any new features used directly in the master project itself will be lost when you save your master project. For a detailed list of what features will be lost, please refer to the new feature list in Module 1.

Scenario 2 – Master Project in Microsoft Project 2000 Format with some sub-projects in Microsoft Project 98 Format

Microsoft Project 98 – When attempting to open in Microsoft Project 98, you will fail. You cannot open Microsoft Project 2000 files in Microsoft Project 98.

Microsoft Project 2000 – When you open in Microsoft Project 2000, you will be able to open both the master and subprojects. However, if you apply any new features to a sub-project, you will lose them when you save the sub-project in the Microsoft Project 98 format. For a detailed list of what features will be lost, please refer to the new feature list in Module 1.

Scenario 3 – Resource Pool in Microsoft Project 98 format, some sharers in Microsoft Project 2000 format

Microsoft Project 98 – When attempting to open the pool and all sharers in Microsoft Project 98, those sharers that are in the Microsoft Project 2000 format will not open. Instead, the resource pool will use replicated assignment data for these sharers.

Microsoft Project 2000 – Everything will open correctly when opening the resource pool and all sharers in Microsoft Project 2000. However, if the sharers use new features, these will not be saved to the resource pool. When opening the resource pool and sharers the next time, the resource pool may overwrite the share data or vice versa, depending on the precedence settings and the type of data in question.

Data may be overwritten if using a resource pool and sharers of different versions and one of the files uses features new to Microsoft Project 2000. This is because Microsoft Project 2000 features will not be saved in a Microsoft Project 98 files. Thus when files are saved, the data between the resource pool and the sharer become out of sync. When they are re-opened together, one or the other may overwrite the other. Which overwrites which is determined by the precedence setting found in the Share Resources dialog box titled “On conflict with calendar or resource information.”

Page 212: Project 2000 Training Manual

108 Module 2.5

For assignment data, the sharer will always take precedence. For resource data, the precedence setting determines which file will overwrite which. For example, in Scenario 3 where a Microsoft Project 2000 sharer uses a new feature like Task Calendars or Estimated Durations, data for these features does not get saved to the resource pool (which is saved in the Microsoft Project 98 format.) When the files are next opened together, all assignment information from the sharer file overwrites the assignment information in the resource pool. Thus estimated duration information will be copied over. However, resource data from the resource pool may overwrite that in the sharer if “Pool takes precedence” is set. Thus data for any new features used in the sharer (that is, Material Resources or Resource Availability) will be overwritten and lost.

Scenario 4 – Resource Pool in Microsoft Project 2000 format, some sharers in Microsoft Project 98 format

Microsoft Project 98 – The pool and the sharers in the Microsoft Project 2000 format cannot be opened. Only sharers saved in the Microsoft Project 98 format can be opened.

Microsoft Project 2000 – All files will open correctly in Microsoft Project 2000. However, like Scenario 3, if you use new features in any of the files, that data will only be saved to the Microsoft Project 2000 format file. In this case it would save to the resource pool. Thus data between the resource pool and the sharer would become out of sync and may be overwritten.

Scenario 5 – Cross-project links from a task in a Microsoft Project 98 file to a task in a Microsoft Project 2000 file

Microsoft Project 98 – When opening a Microsoft Project 98 file with a cross-project link to a Microsoft Project 2000 file, the link will show with a task name of “Inserted 2000 Link.” When you attempt to open the project by double clicking the task, you receive an error message indicating that the file cannot be opened. This is because Microsoft Project 98 cannot open a Microsoft Project 2000 format file.

Microsoft Project 2000 – When opening a Microsoft Project 2000 file with a link to a Microsoft Project 98 file, the link will appear correctly. However, the ghost task in the Microsoft Project 98 file will not save any data from a new feature.

Page 213: Project 2000 Training Manual
Page 214: Project 2000 Training Manual

THIS PAGE INTENTIONALLY LEFT BLANK

Page 215: Project 2000 Training Manual

PSS Learning Services

Module 3.1

Contents

Lesson 1: The Network Diagram View 1

Page 216: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 217: Project 2000 Training Manual

Module 3.1 1

Lesson 1: The Network Diagram View

Overview Microsoft® Project 2000 offers new tools to view your project information the way you want. These include the Network Diagram, Custom Fields and Grouping. In this lesson we will discuss the first of those tools, the Network Diagram (formerly known as the PERT Chart.)

What You Will Learn After completing this lesson, you will be able to:

� Describe features of the Network Diagram

� Use formatting features of the Network Diagram

� Describe limitations of Network Diagram and potential workarounds

� List new views and tables and describe their uses

Page 218: Project 2000 Training Manual

2 Module 3.1

Network Diagram (formerly the PERT Chart) Of all the new ways to view your information, the Network Diagram is arguably the biggest change. Formerly known as the PERT Chart, the Network Diagram offers a new way for Microsoft Project users to view their projects.

Formatting Box Styles As in the Gantt Chart, you can use the Box Style dialog box to format types of tasks in the Network Diagram. To bring up the Box Styles dialog box, go to the Format menu and click Box Styles.

Figure 1 - Box Styles

In the Style Settings For section of the dialog box, you can select the type of task that you would like to format. If you select multiple types of tasks, you can simultaneously change attributes of all the types of tasks you have selected. The Preview section displays how the node will look with the currently selected settings. If multiple types of tasks are selected, the preview will be blank.

Page 219: Project 2000 Training Manual

Module 3.1 3

Directly below are the options Set highlight filter style and Show data from task ID. The Set highlight filter style option allows you to preview the highlight filter style for that particular task type. It also changes the options below it to those of the highlight filter style and allows you to customize the style by changing those options.

When entering the task ID, the “Show data from Task ID” option allows you to view that task’s information with the currently selected formatting options.

In the Data template drop down list box you can select the data template on which the selected task type is based. Data templates setup up pre-defined groups of fields to be displayed inside nodes. Data templates will be discussed in more detail latter on in this lesson.

This dialog box also contains options for formatting borders and backgrounds for the nodes. There are also toggles for displaying vertical and horizontal gridlines within a node.

Page 220: Project 2000 Training Manual

4 Module 3.1

Data Templates Data templates allow you to set up predefined groups of fields to display in your Network Diagram nodes. You can both import or create data templates in the Data Templates dialog box. To access the Data Templates dialog box, click the More Templates button in the Box Styles dialog box.

Figure 2 - Data Templates

Creating New Data Templates

To create a new data template, click the New button in the Data Templates dialog box to display the Data Template Definition dialog box.

Page 221: Project 2000 Training Manual

Module 3.1 5

Figure 3 - Data Template Definition

The name of the new template is entered into the Template Name field. Below the template name is the Format Cells section. This section is a preview pane, which displays actual task information in the preview. You can format the number of rows and columns, cell width and blank cells by using the Cell Layout dialog box. Clicking the Cell Layout button displays the following dialog.

Figure 4 - Data Template Cell Layout

Page 222: Project 2000 Training Manual

6 Module 3.1

Network Diagram nodes are divided into cells similar to cells found in a spreadsheet. Each cell displays a field. It is in the Cell Layout dialog that you select the number of cells to display in a node. A node can contain anywhere from 1 to 16 cells. In other words, it can be anywhere in size from 1 column by 1 row to 4 columns by 4 rows. In the Cell Layout dialog box, you can also change the cell width (anywhere from 50% to 400% of the standard size) and allow blank cells to merge.

In the Data Template Definition dialog box you can choose the fields you wish to display in each cell. To do so, click on the desired cell, click the down arrow, and select the field from the drop down list. You may also type the field name in the cell.

After you have chosen the fields to display, you can choose options for adjusting fonts, lines per cell, horizontal and vertical alignment, displaying labels, and adjusting date formats for fields that display dates. To add the new data template to the list of available templates in the drop down list, click OK.

Each individual cell can be formatted separately from the rest. For example, you can have some cells with Times 11 pt, Bold fonts and others with Tahoma 8 pt, Italic. As in other Microsoft Office Applications, you can format multiple cells at the same time by selecting the cells and holding down the Ctrl key.

In the Data Templates dialog box, you can also copy, edit, import and delete templates.

If you delete a data template, there is no way to recover it. Nodes that are based on a deleted data template will revert back to the default template.

Note

Page 223: Project 2000 Training Manual

Module 3.1 7

Microsoft Project 2000 ships with two Network views, Network Diagram view and Descriptive Network diagram view. The following data templates, are part of the Descriptive Network Diagram View:

Data Template Name Included Fields

Standard Name, Start, ID, Finish, Duration, Resource Names

Critical Name, ID, Duration, Percent Complete, Start, Finish, Resource Names

Critical External Name, ID, Duration, Percent Complete, Start, Finish, Project

Critical Inserted Project Name, ID, Duration, Percent Complete, Start, Finish, Subproject File

Critical Marked Name, ID, Duration, Percent Complete, Start, Finish, Resource Names

Critical Milestone Name, ID, Start, Actual Start

Data Template Name Included Fields

Critical Summary Name, ID, Duration, Percent Complete, Start, Finish

Noncritical Name, ID, Duration, Percent Complete, Start, Finish, Resource Names

Noncritical External Name, ID, Duration, Percent Complete, Start, Finish, Project

Noncritical Inserted Project Name, ID, Duration, Percent Complete, Start, Finish, Subproject

Noncritical Marked Name, ID, Duration, Percent Complete, Start, Finish, Resource Names

Noncritical Milestone Name, ID, Start, Actual Start

Noncritical Summary Name, ID, Duration, Percent Complete, Start, Finish

Project Summary Name, ID, Duration, Percent Complete, Start, Finish

Page 224: Project 2000 Training Manual

8 Module 3.1

Formatting Individual Nodes So far we’ve looked at formatting groups of nodes based on predefined types of tasks. Similar to the way Microsoft Project allows you to format Gantt Bar styles and Gantt Bars, Microsoft Project also allows you to format individual nodes. To do this, you must use the Format Box dialog box. To display the Format Box dialog box, on the Format menu, click Box:

Figure 5 - Format Box Dialog

As you can see from the above figure, this dialog box is similar to the Box Styles dialog box. The only differences are that there are no options to select the type of task, set the highlight filter style, or select a task ID to display in the preview section. All other options work similarly to those found in the Box Styles dialog box.

Individual node formats can be removed by clicking the Reset button. This causes the node to be formatted in the default style for the task type.

Page 225: Project 2000 Training Manual

Module 3.1 9

Layout One large improvement in Microsoft Project 2000 is the control that users have over the layout of a project’s nodes. An entire new dialog box has been created with all available layout options. To display this dialog box, go to the Format menu and click Layout.

Figure 6 - Layout Dialog

As you can see from the above figure, the first option of the Layout dialog box, Layout Mode, allows you to choose between automatic and manual positioning. Automatic positioning positions nodes at all times and does not allow you to manually customize a node’s position. Manual positioning allows you to position nodes as you want. When manual positioning is selected, Microsoft Project never moves nodes.

The next section of the Layout dialog box is the Box Layout section. Here you can choose from seven node layout schemes. The available schemes are as follows:

1. Top Down From Left – this is the default layout scheme, which starts laying out nodes from the upper left corner.

2. Top Down by Day – this scheme lays out nodes starting from the upper left corner, but groups tasks starting on the same day within the same column.

3. Top Down by Week – this scheme lays out nodes starting from the upper left corner, but groups tasks starting in the same week within the same column.

Page 226: Project 2000 Training Manual

10 Module 3.1

4. Top Down by Month – this scheme lays out nodes starting from the upper left corner, but groups tasks starting in the same month within the same column.

5. Top Down – Critical First – this scheme lays out nodes from the upper left corner, but lists critical nodes first, then lists all other nodes.

6. Centered From Left – this scheme lays out nodes from the center left, and expands evenly up and down while flowing to the right.

7. Centered From Top – this scheme lays out nodes from top to bottom, expanding evenly to both the right and to the left while flowing down.

The other options found in the Box Layout section of the dialog box deal with node layout within the virtual grid which overlays the Network Diagram. The virtual grid can be thought of as a set of rows and columns that covers the entire Network Diagram. Rows and columns overlap in virtual cells. A virtual cell can generally be thought of as the space in which one node resides, although more than one node can exist in a virtual cell. Microsoft Project allows you to control the alignment of nodes within the virtual cell, the spacing between the cells, and the size of the cells.

To control the alignment of nodes within virtual cells, Microsoft Project uses the following two options:

� Row Alignment – This option affects the vertical alignment of the node within the virtual cell. Available options are Top, Center, and Bottom.

� Column Alignment – This option affects the horizontal alignment of the node within the virtual cell. Available options are Left, Center, and Right.

To control the spacing between virtual cells (or more accurately the white space between rows and columns) Microsoft Project uses the following two options:

� Row Spacing – this option ranges from zero to 200. Each number represents one pixel when the zoom setting is set at 100%. The default for this option is 40.

� Column Spacing – this option ranges from zero to 200. Each number represents one pixel when the zoom setting is set at 100%. The default for this option is 60.

The size of virtual cells is dependent on the row and column in which it resides. It is set via the following two options:

� Row Height – this option sets the vertical size of a virtual row. There are two available options. The default, Best Fit, allows each virtual row to be a different height with the tallest node residing in the row determining the row height. The other available option, Fixed, sets all rows to the same height with the tallest node in the diagram determining all row heights.

� Column Width – this option sets the horizontal size of a virtual column. The default, Best Fit, allows each virtual column to be a different width with the widest node residing in the column determining the column width. The other available option, Fixed, sets all columns to the same height with the widest node in the diagram determining all column widths.

Page 227: Project 2000 Training Manual

Module 3.1 11

Three other options exist in the Box Layout section. They are listed below:

� Show summary tasks – This option shows summary tasks. It is the same setting as that found in Tools/Options on the View tab. It is simply replicated here for ease of discovery.

� Keep tasks with their summaries – This option allows you to chose whether summary tasks or predecessors should take precedence when nodes are laid out. If you check this option, Microsoft Project will position nodes in relationship to their summary tasks over their predecessors. Not checking this option does the opposite. This option comes into play when a task in a link chain has a predecessor that belongs to a different summary task; it is grayed out if Show Summary Tasks is not checked.

� Adjust for page breaks – This option keeps nodes from breaking across pages. It is on by default.

Below the Box Style section is the Link Style Section. Here you can choose between Rectilinear or Straight links. You can also choose to not display links and to display link labels. Link Labels show the type of link. (that is, SF, SS, etc.)

The next section is the Link Color section. Here you can choose between manually setting the link color for non-critical and critical tasks, or allowing links to be the same color as the preceding node’s border color.

The final section of the Layout dialog box is Diagram Options. Here you can set the Network Diagram background color and pattern. You can also choose options to show page breaks, mark in-progress and completed tasks, and to hide all fields within a node except ID. You should note that internally, choosing the option to hide all fields except for ID applies a hidden internal template to all nodes. This template does not show up in the list of data templates. For all practical purposes, it is a part of the Network Diagram view.

Manual Layout Mode Extras When manual layout is selected in the Layout dialog box, there are some extra options that become available. These options allow you to manually lay out some nodes while automatically laying out others, and automatically lining up nodes.

Selective Layout

Microsoft Project 2000 allows you to manually layout some nodes while it selectively lays out other nodes automatically. To have Microsoft Project automatically arrange nodes, select the nodes, right-click your mouse, and choose Layout Selection Now.

When you do this, Microsoft Project internally calculates the layout of the entire project, but then moves only the selected nodes to their positions.

Page 228: Project 2000 Training Manual

12 Module 3.1

Automatically Align Nodes

The align option allows you to line up selected nodes with others selected nodes. To do this, Microsoft Project uses the first node selected (also called the master node) and aligns all other selected nodes to it. When you select multiple nodes, right-click your mouse, and choose Align, you are presented with the following options:

� Lefts – changes the X coordinate of the upper left corner of each node to that of the master node.

� Centers – changes the X coordinate of the center of each node to that of the master node.

� Rights – changes the X coordinate of the upper right corner of each node to that of the master node.

� Tops – changes the Y coordinate of the top left corner of each node to that of the master node.

� Middles – changes the Y coordinate of the center of each node to that of the master node.

� Bottoms – changes the Y coordinate of the top right corner of each node to that of the master node.

Using the Align option can potentially cause your nodes to overlap. As a result, users might think that nodes have been deleted. Actually, the nodes still exist, they just overlap. If tasks still exist in another view, they should also exist in the Network Diagram view.

Viewing Summary Tasks Like summary tasks in other views, summary tasks in the Network Diagram are affected by the options found on the View tab under Tools/Options. Note that these settings are specific to each view. In other words, settings for one view do not affect other views. If you look at the View tab while in the Network Diagram view, you will notice that Indent Name and Show Outline Number are both grayed out. This is because these options are not available in the Network Diagram view.

Although most options on the View tab are not global throughout all views, the Project Summary Task option is global and will affect all views.

Page 229: Project 2000 Training Manual

Module 3.1 13

Printing Network Diagrams Printing the Network Diagram is essentially the same as printing other views in Microsoft Project 2000. Regardless of the background color and pattern chosen for the view, Microsoft Project only prints the Network Diagram with a white background.

Legends for the Network Diagram are dependent on the settings made in the Box Styles dialog box. Note that although the names of the types of tasks cannot be changed and you cannot add custom types, any changes to the nodes are reflected in the printed legend.

One scenario that is fairly unique to Network Diagrams occurs when attempting to use the Fit to option located on the Page tab in the Page Setup dialog box (File menu/Page Setup). When this option is set, the Adjust For Page Breaks option (found in the Layout dialog box) is disabled. This may cause nodes to break across pages if attempting to fit to more than one page.

To work around this issue, set the option to fit to the desired pages to see the scaling units used. Then manually adjust the scaling units to this amount while making sure Adjust For Page Breaks is enabled. This may require that you adjust the scaling units to ensure only the desired amount of pages are used.

Filtering in the Network Diagram View One powerful improvement in Microsoft Project 2000 is the ability to filter in the Network Diagram view. Filters can be applied in the Network Diagram view just as they can be in any other view. There are no special filters for Network Diagrams.

Displaying Task chains

One of the powerful features that filtering allows is the ability to display a link chain of tasks. This can be done by holding down the Shift key and selecting the first task in the chain you want to display.

A link chain can be even more clearly displayed by splitting the screen so that the top pane displays the Network Diagram view and the bottom pane displays the Gantt chart view. Selecting the first chain task in the Network Diagram while holding down the Shift key will list all tasks in the link chain in the Gantt chart.

Figure 7 - Task Chain

Page 230: Project 2000 Training Manual

14 Module 3.1

VBA Related to the Network Diagram Because the Network Diagram is essentially a new feature set in Microsoft Project and not simply a new view, there has been extensive work done on the VBA Object Model. Below are some of these changes.

Methods

BarBoxFormat Method

Displays the Bar Format or Box Format dialog box, which prompts the user to specify bar format (Gantt Chart, Resource Graph, and Calendar view) or box format (Network Diagram) respectively.

Syntax

expression.BarBoxFormat

expression Optional. An expression that returns an Application object.

Remarks

The BarBoxFormat method has the same effect as the Bar Format command (Gantt Chart, Resource Graph, and Calendar view) or the Box Format command (Network Diagram) on the Format menu.

BoxStylesEdit Method

Sets the style of boxes on the Network Diagram.

Syntax

expression.BoxStylesEdit (Style, BoxTemplate, HorizontalGridlines, VerticalGridlines, BorderShape, BorderColor, BorderWidth, BackgroundColor, BackgroundPattern)

expression Optional. An expression that returns an Application object.

Style Required Long. The box style to change. Can be one of the following PjBoxStyle constants:

PjBoxCritical pjBoxCriticalMarked pjBoxCriticalMilestone pjBoxCriticalSubproject pjBoxCriticalSummary pjBoxExternalTask pjBoxHighlightedTasks

pjBoxNoncritical pjBoxNoncriticalExternalTask pjBoxNoncriticalMarked pjBoxNoncriticalMilestone pjBoxNoncriticalSubproject pjBoxNoncriticalSummary pjBoxProjectSummary

BoxTemplate Optional String. The name of the box template to use for the style.

HorizontalGridlines Optional Boolean. True if horizontal gridlines separate each row in the box.

VerticalGridlines Optional Boolean. True if vertical gridlines separate each cell in the box.

BorderShape Optional Long. The shape of the box border. Can be one of the following PjBoxShape constants:

PjBoxRectangle pjBoxWideRectangle

pjBoxRightParallelogram pjBoxLeftParallelogram

Page 231: Project 2000 Training Manual

Module 3.1 15

pjBoxRoundedRectangle pjBoxWideRoundedRectangle pjBoxPointedEnds

pjBoxCapsule pjBoxUpTrapezoid pjBoxDownTrapezoid

BorderColor Optional Long. The color of the box border. Can be one of the following PjColor constants:

PjColorAutomatic pjAqua pjBlack pjBlue pjFuschia pjGray pjGreen pjLime pjMaroon

pjNavy pjOlive pjPurple pjRed pjSilver pjTeal pjYellow pjWhite

BorderWidth Optional Long. The width of the box border. Can be one of the following PjBoxBorderWidth constants:

PjBorderWidth1 pjBorderWidth2

pjBorderWidth3 pjBorderWidth4

BackgroundColor Optional Long. The color of the box background. Can be one of the PjColor constants.

BackgroundPattern Optional Long. The pattern for the background. Can be one of the following PjFillPattern constants:

PjBackgroundHollow pjBackgroundSolidFill pjBackgroundLightFill pjBackgroundMediumFill pjBackgroundDarkFill pjBackgroundDiagonalLeft pjBackgroundDiagonalRight

pjBackgroundDarkDiagonalLeft pjBackgroundDarkDiagonalRight pjBackgroundThinVerticalStripe pjBackgroundMediumVerticalStripe pjBackgroundLightDither pjBackgroundMediumDither pjBackgroundDarkDither

Remarks

To display the Box Styles dialog box, use the BarBoxStyles method.

Page 232: Project 2000 Training Manual

16 Module 3.1

BoxFormat Method

Formats individual boxes in the Network Diagram.

Syntax

expression.BoxFormat (ProjectName, TaskID, BoxTemplate, HorizontalGridlines, VerticalGridlines, BorderShape, BorderColor, BorderWidth, BackgroundColor, BackgroundPattern, Reset)

expression Optional. An expression that returns an Application object.

ProjectName Optional String. If the active project is a consolidated project, specifies the name of the project for the identification number specified by TaskID. If TaskID is not specified, ProjectName is ignored. The default value is the name of the active project.

TaskID Optional Long. The identification number of the task represented by the box to be changed. The default is to change the boxes of the selected tasks.

BoxDataTemplate Optional String. The name of the data template.

HorizontalGridlines Optional Boolean. True if horizontal gridlines separate each row in the box.

VerticalGridlines Optional Boolean. True if vertical gridlines separate each cell in the box.

BorderShape Optional Long. The shape of the box border. Can be one of the following PjBoxShape constants:

PjBoxRectangle pjBoxWideRectangle pjBoxRoundedRectangle pjBoxWideRoundedRectangle pjBoxPointedEnds

pjBoxRightParallelogram pjBoxLeftParallelogram pjBoxCapsule pjBoxUpTrapezoid pjBoxDownTrapezoid

BorderColor Optional Long. The color of the box border. Can be one of the following PjColor constants:

PjColorAutomatic pjAqua pjBlack pjBlue pjFuschia pjGray pjGreen pjLime pjMaroon

pjNavy pjOlive pjPurple pjRed pjSilver pjTeal pjYellow pjWhite

Page 233: Project 2000 Training Manual

Module 3.1 17

BorderWidth Optional Long. The width of the box border. Can be one of the following PjBoxBorderWidth constants:

PjBorderWidth1 pjBorderWidth2

pjBorderWidth3 pjBorderWidth4

BackgroundColor Optional Long. The color of the box background. Can be one of the PjColor constants.

BackgroundPattern Optional Long. The pattern for the background. Can be one of the following PjFillPattern constants:

PjBackgroundHollow pjBackgroundSolidFill pjBackgroundLightFill pjBackgroundMediumFill pjBackgroundDarkFill pjBackgroundDiagonalLeft pjBackgroundDiagonalRight

pjBackgroundDarkDiagonalLeft pjBackgroundDarkDiagonalRight pjBackgroundThinVerticalStripe pjBackgroundMediumVerticalStripe pjBackgroundLightDither pjBackgroundMediumDither pjBackgroundDarkDither

Reset Optional Boolean. True if the box formatting is reset to the default formatting of the style in the Box Styles dialog box. If Reset is True, all other arguments except ProjectName and TaskID are ignored.

Remarks

If the TaskID argument is used to specify a box to format, the task cannot be hidden due to application of a filter or a collapse of the outline structure.

If no arguments are specified, the BoxFormat method displays the Format Box dialog box for the selected tasks (if no tasks are selected, the BoxFormat method has no effect).

Use the BoxFormat method to change the formatting of boxes from their default styles. To define the default styles, use the BoxStylesEdit method.

BoxDataTemplate Method

Creates, copies, renames, or deletes a Network Diagram box template.

Syntax

expression.BoxDataTemplate (Name, Action, NewName, Overwrite)

expression Optional. An expression that returns an Application object.

Name Required String. The name of the template to edit, create, copy or delete.

Action Required Long. The operation to perform on the template. Can be one of the following PjDataTemplate constants:

pjDataTemplateNew pjDataTemplateCopy

pjDataTemplateRename pjDataTemplateDelete

Page 234: Project 2000 Training Manual

18 Module 3.1

NewName Optional String. The new name for an existing box template (Action is pjDataTemplateRename) or a copied box template (Action is pjDataTemplateCopy). For copying and renaming box templates, NewName is required and must not be an existing box template name. If Action is pjDataTemplateRename or pjDataTemplateDelete, NewName is ignored.

Remarks

To determine if a box template exists, rename the template to the same name (that is set NewName = Name) and check for success.

BoxCellLayout Method

Sets the cell layout and size properties for a Network Diagram box template.

Syntax

expression.BoxCellLayout (Name, CellRows, CellColumns, CellWidth, MergeCells)

expression Optional. An expression that returns an Application object.

Name Required String. The name of the box template to edit.

CellRows Optional Long. The number of rows of cells in the box template. Can be one of the following PjRowCol constants: pjRowCol1, pjRowCol2, pjRowCol3, or pjRowCol4.

CellColumns Optional Long. The number of columns of cells in the box template. Can be one of the following PjRowCol constants: pjRowCol1, pjRowCol2, pjRowCol3, or pjRowCol4.

CellWidth Optional Integer. The percentage between 100 and 200 by which to enlarge the width of every cell in the box template.

MergeCells Optional Boolean. True if blank cells will be merged with the cell to the left.

Remarks

If no arguments other than Name are specified, the BoxCellLayout method has no effect.

The initial layout of a new box template is 2 rows by 2 columns of normal (100%) width cells with cell merging enabled.

BoxCellEdit Method

Sets the properties for an individual cell in a Network Diagram box template.

Syntax

expression.BoxCellEdit (Name, Cell, FieldName, Font, FontSize, FontColor, Bold, Italic, Underline, HorizontalAlignment, VerticalAlignment, TextLineslimit, ShowLabel, Label, DateFormat)

Page 235: Project 2000 Training Manual

Module 3.1 19

expression Optional. An expression that returns an Application object.

Name Required String. The name of the box template containing the cell to edit.

Cell Required Long. The cell being edited. Can be one of the following PjCell constants:

pjCell1_1 pjCell1_2 pjCell1_3 pjCell1_4

pjCell2_1 pjCell2_2 pjCell2_3 pjCell2_4

pjCell3_1 pjCell3_2 pjCell3_3 pjCell3_4

pjCell4_1 pjCell4_2 pjCell4_3 pjCell4_4

FieldName Optional Long. The name of the field to display in the cell. Can be one of the following PjField constants:

PjTaskActualCost pjTaskActualDuration (that is, all pjTask* values -- omitted for the sake of brevity) pjTaskWorkVariance

Font Optional String. The name of the font.

FontSize Optional Integer. The size of the font in points.

Page 236: Project 2000 Training Manual

20 Module 3.1

Optional Long. The color of the font. Can be one of the following PjColor constants:

FontColor

PjColorAutomatic pjAqua pjBlack pjBlue pjFuschia pjGray pjGreen pjLime pjMaroon

pjNavy pjOlive pjPurple pjRed pjSilver pjTeal pjYellow pjWhite

Bold Optional Boolean. True if the font is bold.

Italic Optional Boolean. True if the font is italic.

Underline Optional Boolean. True if the font is underlined.

HorizontalAlignment Optional Long. A constant that specifies how to horizontally align the text in the cell. Can be one of the following PjAlignment constants: pjLeft , pjCenter, or pjRight .

VerticalAlignment Optional Long. A constant that specifies how to vertically align the text in the cell. Can be one of the following PjVerticalAlignment constants: pjTop , pjMiddle , or pjBottom .

TextLineslimit Optional Long. The maximum number of lines of text permitted in the cell. Can be on of the following PjTextLine constants: pjLine1 , pjLine2 , pjLine3 .

ShowLabel Optional Boolean. True if a label should be displayed before the field data in the cell.

Label Optional String. The label to display before the field data in the cell when ShowLabel is True.

Page 237: Project 2000 Training Manual

Module 3.1 21

DateFormat Optional Long. The date format for the cell when the field specified in FieldName is a date field. Can be one of the following PjDateFormat constants:

Constant Date format applied to 9/30/97 (12:33 PM)

PjDateDefault The default format, as specified on the View tab of the Options dialog box.

pjDate_mm_dd_yy_hh_mmAM pjDate_mm_dd_yy pjDate_mm_dd_yyyy pjDate_mmmm_dd_yyyy_hh_mmAM pjDate_mmmm_dd_yyyy pjDate_mmm_dd_hh_mmAM pjDate_mmm_dd_yyy pjDate_mmmm_dd pjDate_mmm_dd pjDate_ddd_mm_dd_yy_hh_mmAM pjDate_ddd_mm_dd_yy pjDate_ddd_mmm_dd_yyy pjDate_ddd_hh_mmAM pjDate_mm_dd pjDate_dd pjDate_hh_mmAM pjDate_ddd_mmm_dd pjDate_ddd_mm_dd pjDate_ddd_dd pjDate_Www_dd pjDate_Www_dd_yy_hh_mmAM

9/30/97 12:33 PM 9/30/97 9/30/1997 September 30, 1997 12:33 PM September 30, 1997 Sep 30 12:33 PM Sep 30, '97 September 30 Sep 30 Tue 9/30/97 12:33 PM Tue 9/30/97 Tue Sep 30, '97 Tue 12:33 PM 9/30 30 12:33 PM Tue Sep 30 Tue 9/30 Tue 30 W41/2 W41/2/97 12:33 PM

Remarks

If no arguments other than Name and Cell are specified, the BoxCellEdit method has no effect.

Page 238: Project 2000 Training Manual

22 Module 3.1

BoxLayout Method

Controls the layout of boxes in the active Network Diagram.

Syntax

expression.BoxLayout (LayoutMode, LayoutScheme, SummaryPrecedence, RowAlignment, ColumnAlignment, RowSpacing, ColumnSpacing, RowHeight, ColumnWidth, AdjustForPageBreaks, ShowSummaryTasks, ViewBackgroundColor, ViewBackgroundPattern, ShowProgressMarks, ShowPageBreaks, ShowIDOnly)

expression Optional. An expression that returns an Application object.

LayoutMode Optional Long. A constant that specifies whether the layout of boxes in the active Network Diagram occurs automatically or is controlled by the user. Can be one of the following PjLayoutMode constants: pjLayoutAutomatic or pjLayoutManual.

LayoutScheme Optional Long. The positioning scheme (algorithm) to use when laying out boxes. Can be one of the following PjLayoutScheme constants:

PjLayoutTopDown pjLayoutTopDownByDay pjLayoutTopDownByWeek pjLayoutTopDownByMonth pjLayoutTopDownCriticalFirst pjLayoutCenteredfromLeft

PjLayoutCenteredFromTop

SummaryPrecedence Optional Boolean. True if positioning a task in relation to its summary takes precedence over positioning it in relation to its predecessors. False if task links always take precedence when arranging boxes.

RowAlignment Optional Long. A constant that specifies how to align the boxes within each column. Can be one of the following PjVerticalAlignment constants: pjTop , pjMiddle , or pjBottom.

ColumnAlignment Optional Long. A constant that specifies how to align the boxes within each row. Can be one of the following PjAlignment constants: pjLeft, pjCenter, or pjRight.

RowSpacing Optional Integer. A number between 0 and 200 that represents the distance between rows of boxes. Equivalent to the number of pixels, when measured at a zoom setting of 100%.

ColumnSpacing Optional Integer. A number between 0 and 200 that represents the distance between columns of boxes. Equivalent to the number of pixels, when measured at a zoom setting of 100%.

RowHeight

Optional Long. A constant that specifies the height of each row of boxes. Can be one of the following PjRowColSize constants: pjSizeBestFit or pjSizeFixed

ColumnWidth Optional Long. A constant that specifies the width of each column of boxes. Can be one of the following PjRowColSize constants: pjSizeBestFit or pjSizeFixed

AdjustForPageBreaks Optional Boolean. True if the boxes will be adjusted around page breaks.

Page 239: Project 2000 Training Manual

Module 3.1 23

ShowSummaryTasks Optional Boolean. True if summary tasks are displayed in the active Network Diagram.

ViewBackgroundColor Optional Long. The color of the Network Diagram background. Can be one of the PjColor constants.

PjColorAutomatic pjAqua pjBlack pjBlue pjFuschia pjGray pjGreen pjLime pjMaroon

pjNavy pjOlive pjPurple pjRed pjSilver pjTeal pjYellow pjWhite

ViewBackgroundPattern Optional Long. The pattern for the Network Diagram background. Can be one of the following PjFillPattern constants:

PjBackgroundHollow pjBackgroundSolidFill pjBackgroundLightFill pjBackgroundMediumFill pjBackgroundDarkFill pjBackgroundDiagonalLeft pjBackgroundDiagonalRight

pjBackgroundDarkDiagonalLeft pjBackgroundDarkDiagonalRight pjBackgroundThinVerticalStripe pjBackgroundMediumVerticalStripe pjBackgroundLightDither pjBackgroundMediumDither pjBackgroundDarkDither

ShowProgressMarks Optional Boolean. True if in-progress tasks are marked with a diagonal line from the top left of the box to the lower right and completed tasks are marked with an additional line from the top right of the box to the lower left.

ShowPageBreaks Optional Boolean. True if page breaks are displayed in the Network Diagram.

ShowIDOnly Optional Boolean. True if only the ID field is displayed in each box. False if all fields in the box template are displayed.

Remarks

Using the BoxLayout method without specifying any arguments displays the Box Layout dialog box.

BoxLinks Method

Controls the appearance of link lines in the active Network Diagram.

Syntax

expression.BoxLinks (Style, ShowArrows, ShowLabels, ColorMode, CriticalColor, NoncriticalColor)

Expression Optional. An expression that returns an Application object.

Style Optional Long. A constant that specifies the style of link lines connecting the boxes of the active Network Diagram. Can be one of the following PjLinkStyle constants: pjLinkStraight or pjLinkRectilinear.

Page 240: Project 2000 Training Manual

24 Module 3.1

ShowArrows Optional Boolean. True if the link lines have arrows that show the direction of the links.

ShowLabels Optional Boolean. True if the link lines have labels attached that show the link type.

ColorMode Optional Long. A constant that specifies the way link line colors are determined. Can be one of the following PjLinkColorMode constants:

pjColorModeCustom Link line colors are independent of boxes and are determined by CriticalColor and NoncriticalColor.

pjColorModePredecessor Link lines are the same color as the border of the predecessor box.

Optional Long. The color of link lines between critical tasks. The default is pjRed. If ColorType is not pjColorModeCustom, CriticalColor is ignored. Can be one of the following PjColor constants:

CriticalColor

pjColorAutomatic pjAqua pjBlack pjBlue pjFuschia pjGray pjGreen pjLime pjMaroon

pjNavy pjOlive pjPurple pjRed pjSilver pjTeal pjYellow pjWhite

NoncriticalColor Optional Long. The color of link lines between noncritical tasks. The default is pjBlack. If ColorType is not pjColorModeCustom, NoncriticalColor is ignored. Can be one of the PjColor constants.

Remarks

If no arguments are specified, the BoxLinks method has no effect.

LayoutSelectionNow Method

Lays out the selected task boxes in the active Network Diagram view according to its layout options.

Syntax

expression.LayoutSelectionNow

expression Optional. An expression that returns an Application object.

Remarks

Page 241: Project 2000 Training Manual

Module 3.1 25

Layout options can be set with the BoxLayout and BoxLinks methods.

The LayoutSelectionNow method is only available when a Network Diagram view is active.

LayoutRelatedNow Method

Lays out all task boxes in the active Network Diagram that are successors or subtasks of the task with the focus.

Syntax

expression.LayoutRelatedNow()

Expression Optional. An expression that returns an Application object.

Remarks

The LayoutRelatedNow method is only available when a Network Diagram view is active.

BoxGetXPosition Method

Returns the X position of the top-left corner of a task box in the Network Diagram.

Syntax

expression.BoxGetXPosition (TaskID, ProjectName)

Expression Optional. An expression that returns an Application object.

TaskID Required Long. The identification number of the task.

ProjectName Optional String. If the active project is a consolidated project, specifies the name of the project for the identification number specified by TaskID. The default value is the name of the active project.

Remarks

The value returned by BoxGetXPosition is in non-scaleable units which are equivalent to an equal number of pixels at a zoom setting of 100%.

BoxGetYPosition Method

Returns the Y position of the top-left corner of a task box in the Network Diagram.

Syntax

expression.BoxGetYPosition (TaskID, ProjectName)

Expression Optional. An expression that returns an Application object.

TaskID Required Long. The identification number of the task.

ProjectName Optional String. If the active project is a consolidated project, specifies the name of the project for the

Page 242: Project 2000 Training Manual

26 Module 3.1

identification number specified by TaskID. The default value is the name of the active project.

Remarks

The value returned by BoxGetYPosition is in non-scaleable units which are equivalent to an equal number of pixels at a zoom setting of 100%.

BoxAlign Method

Aligns the left sides, centers, right sides, top edges, middles, or bottom edges of all selected boxes in the currently active Network Diagram with the corresponding side of the box with the focus.

Syntax

expression.BoxAlign (Alignment)

expression Optional. An expression that returns an Application object.

Alignment Required Long. A constant that specifies how to align all of the selected boxes with the box with the focus. Can be one of the following PjAlign constants:

PjAlignLefts pjAlignCenters pjAlignRights

pjAlignTops pjAlignMiddles pjAlignBottoms

Remarks

If only one box is selected, the BoxAlign method has no effect.

BoxLinkStyleToggle Method

Toggles the box link style between rectilinear links and straight links for the active Network Diagram.

Syntax

expression.BoxLinkStyleToggle (StraightLinks)

expression Optional. An expression that returns an Application object.

StraightLinks Optional Boolean. True if straight link lines are displayed. False if rectilinear link lines are displayed. The default is to toggle the current setting.

BoxProgressMarksShow Method

Shows or hides progress marks in the active Network Diagram.

Syntax

expression.BoxProgressMarksShow (Show)

expression Optional. An expression that returns an Application object.

Show Optional Boolean. True if progress marks are displayed in the active view. The default value is True if progress

Page 243: Project 2000 Training Manual

Module 3.1 27

marks are hidden and False if they are visible.

BoxLinkLabelsShow Method

Shows or hides link labels in the active Network Diagram.

Syntax

expression.BoxLinkLabelsShow (Show)

Expression Optional. An expression that returns an Application object.

Show Optional Boolean. True if link labels are displayed in the active view. The default value is True if link labels are hidden and False if they are visible.

SummaryTasksShow Method

Shows or hides summary tasks in the active Network Diagram.

Syntax

expression.SummaryTasksShow (Show)

Expression Optional. An expression that returns an Application object.

Show Optional Boolean. True if summary tasks are displayed in the active view. The default value is True if summary tasks are hidden and False if they are visible.

Remarks

SummaryTasksShow is available in a Network Diagram, Gantt, or Usage view.

Page 244: Project 2000 Training Manual

28 Module 3.1

Existing PERT Methods

Because the Network Diagram includes many different features than the PERT Chart in Microsoft Project 98, many of the old methods used in Microsoft Project 98 simply won’t work in Microsoft Project 2000. Below is a detailed table of different methods related to the PERT chart from 98 and how they have been modified in Microsoft Project 2000.

Microsoft Project 98 Method

Microsoft Project 2000 Changes

Layout No change. Displays the Layout dialog box.

LayoutNow No change. Lays out the active view based on its current layout settings.

PERTBorders Hidden and ignored, along with the PjPERTField and PjPERTBoxStyle constants.

PERTBoxStyles Hidden and ignored, along with the PjPERTBoxSize constants.

PERTLayout Hidden and ignored.

PERTSetTask Renamed to BoxSet. Similar support as before, with some changes and additional arguments. See description below.

PERTShowHideFields Renamed to BoxShowHideFields. Sets or clears the Display small boxes with ID only checkbox in the Layout dialog. The result is the same as using PERTShowHideFields in Microsoft Project 98, but in Microsoft Project 98 the method set (or unset) the Size control in the Box Styles dialog to ID only, since that's how this functionality was controlled.

ZoomPERT Renamed to BoxZoom. Zooms in on or out from the Network Diagram.

PageBreaksShow No Change. Shows or hides page breaks on the Network Diagram.

Page 245: Project 2000 Training Manual

Module 3.1 29

BoxSet Method

Creates, selects, or moves a task box in the Network Diagram.

Syntax expression.BoxSet(Action, TaskID, XPosition, YPosition, ProjectName)

Expression Optional. An expression that returns an Application object.

Action Optional Long. The operation to perform on the specified task(s). The default value is pjBoxSelect. Can be one of the following PjBoxSet constants:

PjBoxAddToSelection

PjBoxCreate

PjBoxMoveAbsolute

PjBoxMoveRelative

PjBoxSelect

pjBoxUnselect

TaskID Optional Long. The identification number of the task. Required if Action is pjBoxCreate, TaskID is ignored.

Xposition Optional Long. The horizontal position of the task, in pixels. Required if Action is pjBoxMoveAbsolute or pjBoxMoveRelative. If Action is pjBoxCreate or pjBoxMoveAbsolute, XPosition is the absolute horizontal position of the upper left corner of the task. If Action is pjBoxMoveRelative, XPosition is the amount to move the task horizontally relative to the current position. If Action is pjBoxAddToSelection, pjBoxSelect, or pjBoxUnselect, XPosition is ignored.

Yposition Optional Long. The vertical position of the task, in pixels. Required if Action is pjBoxMoveAbsolute or pjBoxMoveRelative. If Action is pjBoxCreate or pjBoxMoveAbsolute, YPosition is the absolute vertical position of the upper left corner of the task. If Action is pjBoxMoveRelative, YPosition is the amount to move the task vertically relative to the current position. If Action is pjBoxAddToSelection, pjBoxSelect, or pjBoxUnselect, YPosition is ignored.

RelativeMove Optional Boolean. True if XPosition and YPosition are relative to the current position. False if XPosition and YPosition are absolute coordinates. If Create is True, RelativeMove is ignored. The default value is False.

Page 246: Project 2000 Training Manual

30 Module 3.1

ProjectName Optional String. If the active project is a consolidated project, specifies the name of the project for the identification number specified by TaskID. If TaskID is not specified, ProjectName is ignored. The default value is the name of the active project.

Remarks

All coordinates and move amounts are measured in pixels.

Page 247: Project 2000 Training Manual

Module 3.1 31

Other Methods Affected by the Network Diagram

Although the following arguments are not changing, the following methods will need to be updated to work with the new Network Diagram view and some descriptions in Help will need to be rewritten in cases where they concern the PERT:

Microsoft Project 98 Method

Microsoft Project 2000 Changes

DefaultView Now accepts and returns the strings "Network Diagram" and "Relationship Diagram." No longer accepts or returns the strings "PERT Chart" or "Task PERT."

Filters Now enabled in Network Diagram views.

FilterApply Now enabled in Network Diagram views.

OutlineHideSubtasks Now enabled in Network Diagram views.

OutlineShowAllTasks Now enabled in Network Diagram views.

OutlineShowSubtasks Now enabled in Network Diagram views.

OutlineShowTasks New Microsoft Project 2000 method that also applies to Network Diagram views.

OutlineSymbolsToggle Now enabled in Network Diagram views.

TextStyles No longer supported in Network Diagram views. PERT-related PjTextItem constants removed (that is, pjPERTCritical, pjPERTNoncritical, pjPERTExternalTask, pjPERTNoncriticalExternalTask , etc.).

ViewEditSingle pjPERT and pjTaskPERT removed from the PjViewScreen constants. pjNetworkDiagram and pjRelationshipDiagram added.

Page 248: Project 2000 Training Manual
Page 249: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 2: Custom Fields and Grouping 33

Module 3.2

Page 250: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 251: Project 2000 Training Manual

Module 3.2 33

Lesson 2: Custom Fields and Grouping

Overview Microsoft® Project 2000 includes two new powerful features: Custom Fields and Grouping. In this lesson we will describe the various uses of Custom Fields and Grouping.

What You Will Learn After completing this lesson, you will be able to:

� Describe features of custom fields

� Create a value list

� Create complex formulas given a scenario

� Set up grouping given a scenario

� Describe rollup behavior when grouping

� Describe interaction and differences between filtering, sorting, and grouping

Page 252: Project 2000 Training Manual

34 Module 3.2

Custom Fields In previous versions of Microsoft Project, there has always been a set of custom fields that could be used to provide data to supplement information available from built-in field calculations. The functionality of these fields has been limited, however, either to data manually entered by the user or to manipulation using Microsoft® Visual Basic® for Applications (VBA).

Microsoft Project 2000 implements a number of changes that considerably enhance the capabilities and usefulness of custom fields. These enhancements include:

� Custom Outline Code fields (more fully described in an earlier module) that allow the user to define a custom outline structure that is unrelated to the task outline.

� The ability to define a table of possible values for custom fields, plus a drop-down “picklist” to allow access to the value list when the field is edited in a table.

� The ability to create custom fields containing values returned by formulas. The formulas can produce calculations using the values contained in other fields, can operate on almost any type of field, and can also utilize native Visual Basic functions.

� Graphical indicators that can be displayed for a custom field in place of the field’s actual value. This is useful as a highly visible warning when a field meets conditions specified by the user, such as a custom Cost field that has exceeded a specified dollar amount.

General Procedure for Creating Custom Fields The new Customize Fields dialog (previously titled Customize Field Names) is accessed by pointing to Customize on the Tools menu, and then clicking Fields. The dialog initially appears as shown below:

Page 253: Project 2000 Training Manual

Module 3.2 35

Figure 1 - Custom Fields

A brief description of each of the items in the dialog follows. Items requiring more detailed description are noted and are more fully discussed in other modules or later in this lesson as indicated.

Field (group):

Task / Resource: Option button group that specifies whether a custom task field or a custom resource field is to be edited.

Type: Drop-down list from which the user can select a field from all available custom fields for either tasks or resources.

Rename: Opens the Rename Field dialog in which the user can specify a new name (up to 50 characters long) by which to refer to the selected custom field. The name must be unique within the project. If the name has already been used, the following message is displayed:

Page 254: Project 2000 Training Manual

36 Module 3.2

Figure 2 - Field Name In Use

Clicking OK returns the user to the Rename Field dialog with the entered name preselected for editing. If the user then specifies a blank name or re-enters the default name and then clicks OK, the dialog is closed and the field retains only its default name.

Define Outline Code…: If a custom Outline Code field is selected, this command button opens the Define Outline Field dialog; for any other field type, the button is disabled. The Define Outline Field dialog and other dialogs to which it leads are covered in Module 2, Lesson 2, under the section “Outline Codes and WBS.”

Custom Attributes (group): These options allow the user to specify whether all data will be manually entered by the user or if the field will have an associated formula or value list.

If the selected field is a custom Outline Code field, all of these options are disabled.

None: When this option button is selected (the default), the field will not have any special attributes. The user will manually enter any data in the field.

Value List…: When this option button is selected, the associated Value List… command button is enabled. The Value List command button opens the Value List dialog for the selected field, where the user can define the picklist to be associated with the selected field.

Page 255: Project 2000 Training Manual

Module 3.2 37

Figure 3 - Value List Data Entry Option

The Value List dialog is described in greater detail under “Defining a Value List” later in this lesson. Selecting the Value List… option button brings up the following alert:

Figure 4 – Restricted Value List Data Entry

Formula…: When this option button is selected, the associated Formula… command button is enabled. The command button opens the Formula dialog for the selected field, where the user can define a custom formula which will be used to calculate the contents of the field. The Formula dialog is described in greater detail under “Defining Custom Formulas” later in this lesson. Selecting the Formula… option button brings up the following alert:

Page 256: Project 2000 Training Manual

38 Module 3.2

Figure 5 - Existing data will be discarded

Calculation for task and group summary rows (group): These options allow the user to specify what kind of value will be displayed in the summary task and group header summary row fields for the selected custom field. If the selected field is a custom Outline Code field, all of these options are disabled.

None: When selected (the default), the custom field will have default values in the summary rows. The summary fields will be read/write for summary tasks, and will be blank and non-editable for group header summary rows.

Rollup: When selected, the user can choose a method for rolling up the field values for child tasks to their associated summary task. When field Type is Outline Code or Text, this option is disabled. Otherwise, depending on the type of data contained in the selected field, there will be up to six rollup methods available as shown in the following table:

Cost Average, Average First Sublevel, Maximum, Minimum, Sum,

Date, Finish, or Start

Maximum, Minimum

Duration Average, Average First Sublevel, Maximum, Minimum, Sum,

Flag AND, OR

Number Average, Average First Sublevel, Count All, Count First Sublevel, Maximum, Minimum, Sum

Outline Code N/A

Text N/A

Use Formula: This option is only enabled if Formula is selected in the Custom Attributes group. When selected, summary task rows will be calculated using the same formula specified for non-summary tasks.

Values to display (group): These options allow the user to specify whether data is displayed as normal text or numeric data, or if the data should be replaced in tables by graphical indicators. If the selected field is a custom Outline Code field, all of these options are disabled.

Data: When selected (the default), normal data values will be displayed in the custom field.

Graphical Indicators…: When selected, the Graphical Indicators command button brings up the Graphical Indicators dialog, where the user can specify a

Page 257: Project 2000 Training Manual

Module 3.2 39

series of value tests and an image to display depending on which test the field contents matches. Up to 128 tests can be defined. The Graphical Indicators dialog is described in greater detail under “Defining Graphical Indicators” later in this lesson.

Graphical indicator information is retained with a custom field even if the indicators are later disabled. For example, if the user specifies a set of tests, values, and indicator images for a custom field and then changes the “Values to display” option to Data, the graphical indicators are no longer enabled, but the indicator criteria are retained if graphical indicators are re-enabled at a later time.

OK: Sets or modifies the customization of the selected field and closes the dialog.

Cancel: Cancels the dialog without setting or modifying the custom field.

Page 258: Project 2000 Training Manual

40 Module 3.2

Defining a Value List The Value List command button in the Customize Fields dialog brings up the Value List dialog shown below, with the selected field name (or renamed alias) as part of the dialog title:

Figure 6 - Value List dialog

A description of each of the items in the dialog follows.

Cut/Copy/Paste/Insert/Delete Row: These buttons work in the same way as in other dialogs, such as the Edit Lookup Table dialog. Standard keyboard shortcuts can also be used.

Row/Value/Description grid: Up to 10,000 entries can be added.

Row: Read-only column that contains the row numbers in the grid. Row numbers are mainly for reference, and are only significant if the Display order is set to By Row Number. The user can change the order of items in the grid by inserting, deleting, or moving rows, but row numbers do not move with the items.

Value: Contains the actual strings that will appear in the field’s drop-down picklist and in the field once they are inserted. Can be up to 255 characters long.

Page 259: Project 2000 Training Manual

Module 3.2 41

For date fields, the format for dates in the drop-down list cannot be modified and will always have a long date/time form similar to “Wed 12/15/99 8:00 AM,” as shown below (though once they are inserted into the column they take the default format as specified in Tools/Options or in the table definition).

Figure 7 - Date Formats

Description: Contains optional descriptive strings, up to 255 characters long, that can be used to provide more information than is contained in the Value column. If used, they will be displayed to the right of their corresponding Values in the picklist, separated by a dash, as shown below. Once a Value is inserted, however, the description is not included with the Value text.

Figure 8 - Value List Description

Page 260: Project 2000 Training Manual

42 Module 3.2

Descriptions will also be used in the Name column of group header summary rows, if the custom field is one of the fields being grouped. If no description is present, then the Value will be displayed instead.

Values and Descriptions can each contain up to 255 characters, but in the picklist the visible portion of the combined Value and Description will be truncated to the width of the table column, or to a minimum width of about 20 characters if the column is very narrow.

Use a value from the list as the default entry for the field: When checked (the default is unchecked), specifies whether the custom field will have a specific default value rather than simply containing Microsoft Project’s default value for the field type (blank for text fields, N/A for date fields, $0.00 for cost fields, No for Boolean fields, etc.) when new tasks are added. When checked, the Set Default button is enabled so that the default value can be specified.

Set Default: When enabled, allows the user to select one of the values in the grid and then click the button to set the chosen value as the default. Once set, the text of the default value displays as red in the grid. If the selection is on an empty row when Set Default is clicked, no default is set, or if a default was previously set, it is not changed. If “Use a value from the list as the default entry for the field” is subsequently unchecked, the default value is not remembered.

Data entry options (group): These options determine the allowable operations when entering data into a custom field that has an associated value list.

Restrict field to items in the value list: When selected (the default), specifies that the only values allowed in the custom field are the items that already exist in the value list. When this option is selected, both the “Append new entries to the value list” and “Prompt before adding new entries” checkboxes are cleared and disabled.

Allow additional items to be entered into the field: When selected, specifies that the custom field can contain values that are not already in the existing value list. When entering data, the user can select from the existing choices in the drop-down, type in the name of an existing choice, or type in any new items. When selected, this item also enables the “Append new entries to the value list” checkbox.

Append new entries to the value list: When selected, if the user types in the name of an item that is not already in the value list, the item is added to the grid in the Value List dialog, and is then available in the drop-down list for new and existing tasks. The position where the new item appears in the value list drop-down is determined by the Display order setting.

If this checkbox is not checked and the user types in the name of an item that is not already in the value list, the item is displayed in the custom field, but it is not added to the value list and will not appear in the drop-down for the custom field.

When checked, this option also enables the “Prompt before adding new entries” checkbox.

Prompt before adding new entries: When checked, specifies that whenever a new value is typed in that is not in the value list, the prompt shown below will be displayed for the user to confirm that they want to add the value to the list.

Page 261: Project 2000 Training Manual

Module 3.2 43

Figure 9 - Value not in the Value list

Display order for drop-down list (group): These options determine how value list items will be arranged in the drop-down picklist for the custom field, and also how they will be arranged in the grid the next time the Value List dialog for the field is opened. While editing the Value List dialog, the order of the items is not changed except for items inserted, deleted or moved by the user, but when the dialog is closed and reopened, items are rearranged according to the option chosen.

By row number: This is the default option. When switching from one of the sorted options to this option, the items will remain in their current positions.

Sorted ascending: This option specifies that the items in the drop-down list will be rearranged in a standard ascending sort order (lowest to highest) for the type of field selected. With this item selected, the items in the grid will be sorted in ascending order each time the dialog is closed and reopened.

Sorted descending: Similar to the Sorted ascending option, except that items will be arranged in descending sort order (highest to lowest).

Import Value List: Opens the Import Value List dialog, so that the user can copy a value list from a field in the Global template, from another open project, or from another custom field in the current project. Only the grid data is imported.

Because no data verification is done during the import process, it is possible for the user to import data of a type that does not match the field currently being edited. In this case, any error messages due to type mismatches will be generated when the user next clicks OK to close Value List dialog.

If there are already values in the Value List for the field being edited, the imported entries will be appended to the current list. This allows users to consolidate two or more lists by performing multiple imports.

Cancel: Closes the dialog and discards all changes made since the dialog was opened.

OK: Saves the value list, reordering the list if necessary according to the current Display order setting, and removing blank rows, trailing spaces, and duplicate entries. For duplicate entries, only the Value is considered; the Descriptions are ignored.

At this point Microsoft Project checks for the following conditions, updating the data in the project or generating error messages depending on the condition found:

Type mismatches: A value, which is invalid for the selected field, has been entered, either directly by the user or by importing from another field. In this case, the following message is displayed:

Page 262: Project 2000 Training Manual

44 Module 3.2

Figure 10 - Value is not Valid

When the user clicks OK, they are returned to the Value List dialog with the focus on the Value column of the first row in the grid containing a type mismatch.

Editing the Value of an existing item: All records in the project containing the old value are updated to reflect the new value.

Deleting a previously existing item, when “Restrict field to items in the value list” is selected: In this situation, tasks may already contain the value, which was just deleted, so they no longer adhere to the current list restriction. The following message will be displayed:

Figure 11 - Deleting a value

If the user clicks OK, any values no longer in the list are removed from the selected field throughout the project. If the user clicks Cancel, they are returned to the Value List dialog, but any items deleted from the grid during the current session are not restored. In order to restore deleted values to the grid, the user

Page 263: Project 2000 Training Manual

Module 3.2 45

must click Cancel to close the Value List dialog, which means that any other modifications will also be lost.

Changing from “Allow additional items to be entered into the field” to “Restrict field to items in the value list”: In this situation, records may already contain a value that is not in the just-edited list. The following message will be displayed:

Figure 12 - Invalidating existing data

If the user clicks OK, any values no longer in the list are removed from the selected field throughout the project. If the user clicks Cancel, they are returned to the Value List dialog, but any items deleted from the grid during the current session are not restored. In order to restore deleted values to the grid, the user must click Cancel to close the Value List dialog, which means that any other modifications will also be lost.

Selecting “Use a value from the list as the default entry for the field” : For every non-blank task in the project where the selected field is blank, the default value is supplied.

“Use a value from the list as the default entry for the field” is selected but no default value is specified: This can occur either when the user has selected this option during the current editing session without setting the default, or when the item that was the default has been deleted during the current session. In either case, no message is displayed and the checkbox for the option is cleared. The task data is not affected, since removing the default does not change the existing field contents.

Data Entry in Fields with Value Lists

When editing custom fields in the project, which have value lists defined, options chosen in the Value List dialog can affect user interaction when entering data in the following ways:

� If the user has a value list for a custom text field and the list does not have a default value, then whenever the drop-down is displayed, there is a blank entry at the top that can be used to set the field to a null string. For all other data types, or for text fields that specify a default value, there is no blank in the drop-down.

� If a value is typed into a custom field (rather than picking an item from the drop-down list), the entered data is considered to match a list item as long as

Page 264: Project 2000 Training Manual

46 Module 3.2

it is spelled the same; that is, case does not have to match. After the item is entered, the value is converted to match the exact case of the list entry.

� If the user has specified that new values can be entered and they should be added to the list, but “Prompt before adding new entries” is selected in the Value List dialog, the following alert is displayed when something outside the existing choices is typed in:

Figure 13 - Value not in Value List

Clicking Yes adds the item to the value list, while clicking No returns the user to the cell in edit mode, with the text highlighted. The user can modify the value they entered, select a different value list item from the drop-down, or cancel out of edit mode.

If the user has specified that the field can only contain the values in the list and no new values are allowed, the following alert is displayed when something outside the existing choices is typed in:

Figure 14 -Value no valid

Clicking OK returns the user to the cell in edit mode, with the text highlighted. The user can modify the value they entered, select a value list item from the drop-down, or cancel out of edit mode.

� A custom field with a value list may display a value not in the list, even though “Restrict field to items in the value list” is selected. This can happen for field types that are never blank because Microsoft Project always specifies a default value (that is, Cost, Date, Duration, Flag, Finish, Number, and Start custom fields). If a new task is created and there is no default value specified in the value list, the Project default will be filled in, regardless of whether it is in the value list. For example, if the value list for Duration1 is restricted to either 1d, 3d, or 5d, but none of these are specified as the default, then the Microsoft Project default of 0d will be inserted for all new tasks, even though it is not contained in the value list.

Page 265: Project 2000 Training Manual

Module 3.2 47

� If the user has specified a value list for a custom date field, the date picker drop-down will not be displayed when the user clicks in the cell. The user will be limited to the value list choices.

� If there are external tasks in a project, data entered into the custom fields for those tasks must adhere to any local value list restrictions (as opposed to following any custom field settings in the external project).

Page 266: Project 2000 Training Manual

48 Module 3.2

Defining Graphical Indicators The Graphical Indicators command button in the Customize Fields dialog brings up the Graphical Indicators dialog shown below, with the selected field name (or renamed alias) as part of the dialog title:

Figure 15 - Graphical Indicators

A description of each of the items in the dialog follows.

Indicate criteria for (group): The Indicator Criteria dialog is used to set different criteria for one or all, of the three different kinds of project tasks, non-summary, summary and project summary. You toggle between the three different grids that contain the three available types of indicator criteria lists.

Non-summary rows: When selected (the default), this option displays the grid with the comparison tests and indicators for non-summary tasks or resources (depending on the current field). The Non-summary rows grid is always enabled (except in some cases with resource pools; see “Custom Field Behavior with Consolidated Projects and Resource Pools,” later in this lesson).

Summary rows: When selected, this option toggles the display to show the grid with the comparison tests and indicators that apply to summary rows, including both summary tasks and group header summaries. The Summary rows grid and the edit and Move buttons are all disabled whenever the “Summary rows inherit criteria from non-summary rows” checkbox is checked:

Page 267: Project 2000 Training Manual

Module 3.2 49

Summary rows inherit criteria from non-summary rows: When selected (the default), this option determines whether the same set of indicators and test criteria that apply to the non-summary task or resources will be applied to the summary rows and group headers. This checkbox is checked by default, so any non-summary criteria is automatically copied here. If the checkbox is cleared, the grid and buttons are enabled.

If this item is selected after criteria different from that of non-summary rows has already been specified, Microsoft Project will copy any data from the Non-summary rows grid and overwrite the current list. Before proceeding, the following alert is displayed so that the user can choose not to overwrite the existing data:

Figure 16 - Summary rows inherit criteria

Clicking Yes copies the non-summary criteria (even if it is an empty list) and disables the grid. Clicking No retains the existing criteria and leaves the checkbox unchecked.

Project summary: When selected, displays the grid with the comparison tests and indicators to be applied only to the project summary. The Project summary grid and the row editing buttons are all disabled whenever the “Project summary inherits criteria from summary rows” checkbox is checked. If the selected field is a resource field, this option is disabled.

Project summary inherits criteria from summary rows: When checked (the default), specifies that the same set of indicators and test criteria that apply to summary tasks will be applied to the project summary. If the checkbox is cleared, the grid and buttons are enabled as described above for Summary rows. If the checkbox is re-checked and the grid is not empty, the same message shown above for Summary rows is displayed. If the selected field is a resource field, this option is disabled.

Cut Row, Copy Row, Paste Row, Insert Row, Delete Row: Standard editing buttons, applying to whatever row currently has the focus. These buttons are all disabled if the grid is disabled. Standard keyboard shortcuts can also be used.

Move up/down: Moves the row with the current selection up or down one position. These buttons are disabled whenever the grid is disabled.

Show data values in ToolTips: When checked (the default), specifies that when the user hovers the mouse over a custom field cell with a graphical indicator, a ToolTip will be displayed that contains the actual underlying data value.

Page 268: Project 2000 Training Manual

50 Module 3.2

Import Indicator Criteria: Opens the Import Graphical Indicator Criteria dialog shown below, to allow the user to copy indicator criteria lists from the Global template, from another open project, or from another field in the current project.

Figure 17 - Import Indicator Criteria

Only the criteria for enabled grids (as determined by the options specified in the Graphical Indicators dialog) are copied. For example, if criteria are imported while both the “Summary rows inherit criteria from non-summary rows” and “Project summary inherits criteria from summary rows” checkboxes are unchecked, only the non-summary criteria are imported.

When importing a criteria list, only the grid data is copied; no other options are changed by the import operation. If the data type of the imported criteria is incorrect for the current field, one or more error messages will be generated when the user next clicks OK to close the Graphical Indicators dialog.

The entries from the other fields are always appended at the end of the current list, so any existing entries are not overwritten. This allows the user to consolidate criteria from multiple other lists into a single list. If the number of imported rows combined with existing rows exceeds the maximum allowed number of test conditions, the following alert is displayed:

Figure 18 – Maximum number of rows

Page 269: Project 2000 Training Manual

Module 3.2 51

If the user clicks OK, Microsoft Project will append as many of the imported tests as will fit in combination with the existing tests in the grid.

Indicator Criteria grid: Allows the user to specify up to 128 tests and corresponding images to be displayed in the selected field, depending on which criteria are met by the value in the field.

Test for '<field-name>': Contains operators used to define the criteria that must be met by the values in the Value(s) column for the indicator in the Image column to be displayed. The column header contains the name (or alias) of the selected field to make it clear exactly what the test is referring to. Clicking in a cell in this column enables a drop-down list with the following choices:

� equals

� does not equal

� is greater than

� is greater than or equal to

� is less than

� is less than or equal to

� is within

� is not within

� contains

� does not contain

� contains exactly

� is any value

Up to 128 different tests can be entered. If conflicting test conditions or data ranges are specified, the order in which the tests are listed in the grid determines which one takes precedence. The list is applied in top-to-bottom order, and processing is halted as soon as a test evaluates to true; if there are overlapping or conflicting tests conditions further down the list, they have no impact. The Move buttons can be used to arrange the tests in the order that suits the purposes of the user.

For example, if the first row says to show a yellow circle for values greater than 10 and the second row says to show a red circle for values less than 20, then a yellow circle will be displayed for all values over 10 and a red circle will only be displayed for values less than or equal to 10. Reversing the order of these two rows will cause a yellow circle to only show for values above 20 and red will be displayed for 20 or less.

Halting the process at the first successful test allows the user to enter specific tests at the top followed by more general tests below. For example, the first test could specify a blue flag for the value 75, the second test could specify a green flag for values between 50 and 100, and the third test could specify a red flag for every value greater than zero. The result would be equivalent to explicitly specifying 75=blue, 50 to 74=green, 76 to 100=green, 1 to 49=red, and >100=red.

“is any value” test: This test is exclusive to graphical indicators. The “is any value” test means that the test is true for whatever value may be in the field, so the chosen indicator will be displayed for every row. When “is any value” is

Page 270: Project 2000 Training Manual

52 Module 3.2

selected, the label <All> is automatically inserted into the adjoining cell in the Value(s) column and that cell is disabled:

The normal use of “is any value” would be to specify an indicator that applies wherever no other comparison test is successful (that is, to serve as an "other" or "else" condition). Since it always evaluates to true, no tests following it will ever be evaluated, so it should always be put at the end of the list.

Similar to editing a filter, any test condition can be selected in the drop-down independent of the data type of the custom field for which the test is being specified, but once OK is pressed in the dialog, the following message is displayed if the test is not valid for the current data type:

Figure 19 - Test is not apply

When the user clicks OK, they are returned to the Graphical Indicators dialog with the focus on the first cell in the Test column containing a problem.

Value(s): This column is where the user enters the actual values or range of values to which the test criteria are to be applied. Clicking in the column enables a drop-down combo box. The user can type in an appropriate data value up to 255 characters in length, or can use the value in another task or resource field by selecting the field from the drop-down list. Each field is displayed in square brackets to indicate that these are field references that will be replaced by the actual field data.

Any type of data can be entered into the Value(s) column. When the user clicks OK to close the dialog, if any value specified is the wrong data type for the selected field, or if an invalid field name is referenced, the following message will be displayed:

Figure 20 - Entry is not valid

Page 271: Project 2000 Training Manual

Module 3.2 53

When the user clicks OK, they are returned to the Graphical Indicators dialog with the focus on the first cell in the Value(s) column that contains a problem.

Image: Clicking on a cell in the Image column enables a drop-down list containing all of the available graphical images. Examples of available images include traffic lights, circles, flags, checkmarks, boxes, plus and minus signs, and miscellaneous other images; most of the images are available in multiple colors. The topmost item in the list is a blank entry, allowing the user to explicitly map a set of criteria to display no indicator.

Behavior of Graphical Indicators When Editing a Table

When graphical indicators are displayed in a field, the behavior is governed by the following rules:

� Graphical indicators are aligned based on the column alignment (left, center, or right) specified in the Align data option of the Column Definition dialog.

� Any data contained in the field is not displayed and is replaced by the appropriate indicator (except when editing an item). If the field contains a value that is not covered by any indicator test, the cell will display as blank.

� If “Show data values in ToolTips” is enabled in the Graphical Indicators dialog, the data value contained in the cell will be displayed as a ToolTip when the user hovers the mouse pointer over the cell.

� If a cell with an indicator is selected and the cell is not read-only, the indicator disappears and the underlying data is displayed in the cell and in the Entry Bar; also, if there is a value list associated with the field, the drop-down pick list will become available.

� If indicator ToolTips are enabled, the ToolTip is not displayed while the data is showing in the cell.

� If a read-only cell is selected, the indicator is always displayed and the Entry Bar always remains blank.

Page 272: Project 2000 Training Manual

54 Module 3.2

Defining Custom Formulas Formulas provide the user with the ability to perform custom calculations on project data and display the result in a custom field. Formulas cannot be defined for predefined fields.

Formulas are specified at the field level, so only a single formula can be applied to all instances of a given custom field; formulas cannot be specified for individual cells. Formulas may reference other fields in the same task, but not from other tasks. Any custom field with a formula assigned becomes a read-only field, and cannot be edited by the user, except by modifying or removing the underlying formula.

The Formula command button in the Customize Fields dialog opens the Formula dialog shown below, with the selected field name (or renamed alias) as part of the dialog title:

Figure 21 - Custom Formulas

A description of each of the items in the dialog follows.

Edit formula: A text box where the user can type in a formula or use the associated controls to select fields or Microsoft® Visual Basic® for Applications (VBA) functions from a list.

The maximum length of a formula displayed in the edit box cannot exceed 1024 characters. However, the internal limit is set to 10K to allow for changes in the length of field names (for instance, when custom fields are renamed by the user). This allows for changes in field names, with out causing the formula to stop functioning correctly.

If field names referenced by a formula have been lengthened to the extent that they exceed the 1024-character display limit, when the user attempts to open the Formula dialog in order to modify the formula the following message will be displayed:

Page 273: Project 2000 Training Manual

Module 3.2 55

Figure 22 - Maximum length of formula

If the user clicks OK, the formula will be truncated to the maximum length and the remaining portion of the formula will be displayed in the Formula dialog. If the user clicks Cancel, the formula remains intact and the user is returned to the Customize Fields dialog so that they can shorten field aliases as necessary.

Operator buttons: The mathematical and logical operator buttons below the formula box (that is, +, -, * , etc.) insert the operator at the current insertion point when the button is clicked. These buttons all have ToolTips that describe their operation, as shown in the following table:

Button ToolTip Text Button ToolTip Text

+ Addition ( Left Parenthesis

- Subtraction ) Right Parenthesis

* Multiplication = Equals

/ Division <> Not Equals

& String Concatenation < Less Than

MOD Modulus > Greater Than

\ Integer Division AND Logical AND

^ Exponentiation OR Logical OR

NOT Logical NOT

Page 274: Project 2000 Training Manual

56 Module 3.2

Import Formula: Opens the Import Formula dialog where the user can copy a formula from the Global template, from another open project, or from another field in the current project. When importing a formula, the formula string from the other field is appended after any existing text in the formula edit box for the current field. If combining the existing text with the imported formula will cause the text to exceed the 1024-character limit, the following alert is displayed:

Figure 23 - Formula cannot be imported

When the user clicks OK, Microsoft Project appends as much of the imported formula as will fit in combination with the current formula text. None of the current formula is removed.

Field: Opens a popup menu listing all of the fields in a hierarchical structure arranged by field type. The menu contains either all task fields or all resource fields, depending on the Type for the selected field. For task fields, the menu appears as shown below:

Page 275: Project 2000 Training Manual

Module 3.2 57

Figure 24 - Formula Fields

Page 276: Project 2000 Training Manual

58 Module 3.2

Selecting an item from the Field menu collapses the menu and enters the field name into the formula at the current insertion point. The inserted field is displayed with square brackets around the field name (for example, [% Complete])

If a custom field has been renamed, then the alias and the original name both show in the menu entry in the same manner as they appear in other field lists, with the alias first, followed by the default name in parentheses (for example, Salary (Cost4)). Clicking on the combined name inserts only the alias into the formula (e.g., [Salary]). Though aliases are always displayed in the formula, the user can type either the alias or the default field name. If default field names are entered, the alias names will appear in place of the default names once the Formula dialog has been closed and reopened.

If the user enters many default field names which have aliases longer than the default names, it is possible that the formula will exceed the 1024-character display limit the next time the Formula dialog is opened for the selected field.

Function: Opens a popup menu listing all supported functions in a hierarchical structure arranged by function type:

Figure 25 - Supported Functions

The Function menu includes all intrinsic VBA functions as well as some special Microsoft Project 2000 functions.

As shown above, each function name is displayed along with its related arguments. Selecting a function from the Function menu collapses the menu and enters the function name and the placeholder arguments into the formula at the current insertion point. The user can then double-click on the placeholder and replace it by selecting either a field name from the Field menu, another function from the Function menu, or by just typing in a value.

Page 277: Project 2000 Training Manual

Module 3.2 59

The special Project 2000 functions available are shown with their arguments in the following image and are further described below:

Figure 26 - Microsoft Project 2000 Functions Available

ProjDateAdd: Adds a duration to a date and returns a new date based on a calendar.

ProjDateConv: Converts a value to a date.

ProjDateDiff: Calculates the difference between two dates based on a calendar.

ProjDateSub: Returns the date that precedes another date by a specified duration based on a calendar.

ProjDateValue: Returns the date value of an expression.

ProjDurConv: Converts a numeric duration value in minutes (which the expression evaluator returns) to a display format duration with a value and label in the units specified (e.g., converts 480 to 8h)

ProjDurValue: Returns the number of minutes in a duration.

OK: When the user clicks OK in the Formula dialog, Microsoft Project verifies the formula syntax, checks for circular references, saves the formula, and then closes the dialog. Correct functioning and result of the formula is not verified, since there is potentially an unlimited interaction of functions, fields, and operators that would make verification overly burdensome. For additional details on formula calculation and error checking, see “Formula Calculation and Error Checking,” later in this lesson.

Page 278: Project 2000 Training Manual

60 Module 3.2

Syntax checking: If the user has incorrectly typed in a field or function name, or has made some other detectable syntax error such as a missing bracket, the following message is displayed when the user clicks OK in the Formula dialog:

Figure 27 - Syntax error

When the user clicks OK, they are returned to the Formula dialog with the invalid item highlighted.

Circular references: If a formula causes a circular reference with other formulas (for example, if a formula being entered for Number1 depends on the value in Number2 and Number2 already depends on Number1), the following message is displayed:

Figure 28 - Circular reference

Pressing OK in the dialog returns the user to the Formula dialog with the invalid item highlighted.

If the user has left the formula blank, no message is generated when the user clicks OK; the user is returned to the Customize Fields dialog, with None selected for Custom attributes (instead of Formula).

Formula Calculation and Error Checking

The Microsoft Jet Expression Service (JES) is used as the expression evaluator for custom field formulas. This section contains miscellaneous information on how Microsoft Project custom field formulas work with the JES.

� Formulas can be created that will result in errors, since it is impossible to check all the possible data types and compute what the type of the result would be, and there is no way of insuring that all possible results of a calculation will be within the range of permitted values. Therefore, if the result of the calculation for a given custom field is invalid, "#ERROR" will be displayed in the custom field.

Page 279: Project 2000 Training Manual

Module 3.2 61

� Formula errors cascade to dependent fields, so whenever a calculation results in #ERROR, all other fields with formulas that reference that field will also show #ERROR.

� Fields in formulas are replaced with values that are in Visual Basic data format, rather than the Microsoft Project 2000 internal data format. For example, duration and work values are in minutes rather than tenths of minutes, and dates are in vbDate format (a 64-bit (8-byte) number, where the value to the left of the decimal represents a date, and the value to the right of the decimal represents a time).

� Estimated durations can be used in formulas, but they will be treated as normal durations, and the result is not flagged as estimated.

� When calculation is set to Manual in Tools/Options, custom fields will not recalculate until the user forces a recalculation. When recalculation is performed, every custom field will be recalculated, since due to unpredictable formula interaction there is no easy way to detect which values may have changed.

� If a custom formula is removed, any existing values in the affected custom field are converted to static data, and the field reverts to its normal user-editable state.

Formula Examples

In a text field, the following formula will display "zero" if Duration is zero, "greater than 1" if a task's duration is greater than 1, and "less than 1" if a task's duration is less than 1 day:

IIf([Duration]=0,"zero",(IIf([Duration]>1440,"greater than

1","less than 1")))

The following formula will take a task name like "My Task" and return only the left portion of the name, e.g., "My":

Mid([Name],1,InStr(1,[Name]," "))

In a text field, the following formula will display "in progress" if a task is in progress, meaning it has both Actual Work and Remaining Work. Otherwise, it will display "not in progress":

IIf(([Actual Work]>0) And ([Remaining Work]>0),"in

progress","not in progress")

Page 280: Project 2000 Training Manual

62 Module 3.2

The following formula concatenates the first names of the first two resources assigned to a task, separated by a comma and a space; for example, if the first resource is “Tom Smith” and the second resource is “Bill White,” the formula will return “Tom, Bill”. (The formula assumes all resource names are in the format "Firstname Lastname".):

Mid([Resource Names],1,InStr(1,[Resource Names]," ")-1) & ", "

& Mid([Resource Names],InStr((InStr(1,[Resource Names],"

")+1),[Resource Names],",")+1,InStr((InStr(1,[Resource

Names]," ")+1),[Resource Names]," ")-InStr((InStr(1,[Resource

Names]," ")+1),[Resource Names],","))

Page 281: Project 2000 Training Manual

Module 3.2 63

Pasting Data Into Custom Fields; Importing Selective Data

Importing Selective Data

When importing selective data using a data map, if the import/export map specifies that the data is to be merged into the currently active project, custom field data must adhere to any value list restrictions for the target field. Any data that does not match a restricted value list cannot be inserted, and the standard import error message for invalid data is displayed.

This also means that imported data is ignored and no merge occurs if an import/export map specifies merging into a field with a formula, since custom fields based on a formula are read-only.

Pasting Into a Custom Field

When a custom field has a formula, the field is treated as read-only, so the normal read-only rules apply. Attempting to paste into a field with a formula generates an error beep just as for any other read-only field.

Custom Field Behavior with Consolidated Projects and Resource Pools When projects with custom field attributes are inserted into a master project with “Link to project” checked, all projects retain their own attributes. The master project can have its own formulas, value lists, and graphical indicators which will not affect the subprojects. The subprojects continue to reflect their own custom field attributes for tasks and summary tasks contained within the subproject. However, since the project summary tasks for the inserted projects are considered tasks of the master project, the master project's summary rollup method and summary formulas will apply to those rows.

On the other hand, if the “Link to project” checkbox is cleared when a project is inserted, the tasks and resources in the subproject are inserted as if they were typed directly into the master project, so any custom field attributes are not carried over. If a master project custom field has a formula, the subproject data is discarded and the values are calculated based on the master's formula. If a subproject custom field has a formula and the master does not, the results of the subproject calculations are just pasted into the master as plain data, similar to when a formula is deleted. If a custom field in the master has a restricted value list, the values in the subproject must conform to the list. If any values do not conform, the following message will be displayed:

Figure 29 - Restricted value list

Page 282: Project 2000 Training Manual

64 Module 3.2

If the user clicks OK, any non-compliant values are removed from the inserted data and replaced with the custom field’s default value (if one is defined) or with the Microsoft Project 2000 default for that field type if no custom field default is defined.

When pooling resources, the resource pool always takes precedence for resource custom field attributes. When a project is attached to a pool, the attributes for all resource custom fields are copied to the sharing project. Custom field properties can only be viewed or modified by opening the pool and accessing the Customize Fields dialog within the pool file. In the sharing project’s Customize Fields dialog, the Formula, Graphical Indicators, and Value List options buttons are all disabled while connected to the pool.

If a new resource is added to a sharer while the pool is not open and a value list item is specified for a resource custom field with a restricted value list, and in the mean time, the original value list in the pool is modified and that same list item is removed, then when the pool is opened for synchronization the value in the sharer field will be considered invalid and the following message will be displayed:

Figure 30 - Value list in Resource pool is modified

When the user clicks OK, synchronization with the pool continues, but the offending custom field reverts to the default value.

Page 283: Project 2000 Training Manual

Module 3.2 65

Programmability

Changes to Existing Methods

The following table lists existing Microsoft Project VBA methods that are either custom field-related or are newly impacted by the enhancements to custom fields.

Method New or Changed Functionality

CustomizeField Displays the new Customize Fields dialog.

Organizer The Type argument now accepts the new PjOrganizer constant pjFields for displaying the Fields tab in the Organizer dialog.

OrganizerDeleteItem The Type argument now accepts the new PjOrganizer constant pjFields for specifying Fields as the type of item to delete.

OrganizerMoveItem The Type argument now accepts the new PjOrganizer constant pjFields for specifying Fields as the type of item to move.

New Methods

A number of new VBA methods have been provided to work with the new custom field functionality. The new methods are listed in the following table along with a brief description. For more information on each method, use the Object Browser in the Microsoft Project 2000 Visual Basic Editor.

Method Description

CustomFieldProperties Method Sets various attributes associated with custom fields.

CustomFieldSetFormula Method Sets a formula for a custom field.

CustomFieldGetFormula Method Returns the formula associated with a custom field.

CustomFieldIndicators Method Sets options for graphical indicators for a custom field.

CustomFieldIndicatorAdd Method

Adds a test condition for the value of a custom field and associates a graphical indicator to be displayed in place of the data when the test is successful.

CustomFieldIndicatorDelete Method

Removes a test condition from a custom field graphical indicator criteria list.

Page 284: Project 2000 Training Manual

66 Module 3.2

Method Description

CustomFieldValueList Method Sets options for a value list for a custom field.

CustomFieldValueListGetItem Method

Returns the value, description, or phonetic spelling of an item in the value list for a custom field.

CustomFieldValueListAdd Method

Adds an item to a value list for a custom field.

CustomFieldValueListDelete Method

Removes an item from the value list for a custom field.

Page 285: Project 2000 Training Manual

Module 3.2 67

Try This: Create Custom Formulas for Customer Scenarios Create a customer scenario and then create a formula to fit.

1. With a partner, write down a customer scenario that requires a custom formula.

2. Create a custom formula that meets the needs of the scenario you created in step one.

3. Exchange your scenario (but not the formula) with another group.

4. Develop a custom formula that fits the needs of the scenario you received.

5. Discuss your answers with the group you exchanged scenarios with.

Was your formula the same as the formula the other group developed? Did it really meet the needs of the customer based on the scenario?

Page 286: Project 2000 Training Manual

68 Module 3.2

Grouping Grouping allows users to categorize and view rolled up information for their tasks and resources in a variety of ways, using up to ten fields. Grouping gives users the following new capabilities:

� Allows multi-level grouping of tasks and resources based on fields specified by the user, in order to analyze and report project data in a variety of ways.

� Provides non-editable summary header rows for each value in the grouped field, containing rollup totals similar to a summary task.

� Allows grouping on interval ranges for a given field, to reduce the number of summary header rows in cases where fields contain a wide variation in values.

� Allows grouping by custom Outline Code fields.

� “Intelligent” grouping allows users to perform hierarchical grouping based on a single coding field.

Applying and Defining Groups

Grouping is applied or defined using the new Group By submenu available from the Project menu. Similar to filters and views, a number of predefined groups are listed on the menu by default and can be applied simply by clicking on the desired group name. Predefined groups can also be applied using the new Group By drop-down available on the Standard toolbar. Groups defined by the user can be added to the default menu, and default groups that the user does not want to see can be removed from the menu.

Figure 31 - Default Groups

Page 287: Project 2000 Training Manual

Module 3.2 69

More Groups/Group Definition

If the user selects More Groups from the Project/Group By submenu, the following dialog is displayed, which behaves just like the More Filters and other similar definition dialogs

Figure 32 - More Groups - Task

Figure 33 - Default Groups - Resource

If the user clicks New or Edit in the More Groups dialog, the following Group Definition dialog is displayed. Each item in the dialog is explained in greater detail below.

Page 288: Project 2000 Training Manual

70 Module 3.2

Figure 34 - New or Edit Group

Name: The name to be used for the new group. If one of the default groups was selected and the user chose Edit in the More Groups dialog, then if a different name is entered, a copy of the default group will be created and the default group will remain unmodified. If one of the default groups was selected and a different name is not entered, any modifications will be made to the default group.

Shown in menu: When checked, allows the current group definition to be displayed on the Group By menu so that the user can apply the group easily.

Group By, Field Name, Order: Columns that display the fields to be grouped by and whether each field will be displayed in ascending or descending order. For a group definition that contains more than one field, the fields are listed in descending hierarchical order, similar to the Sort By dialog. Up to 10 fields can be grouped.

Group by setting for: Allows the user to change the font formatting, cell background color, and cell pattern to be used for the display of the group heading summary associated with the field when the group is applied.

Show summary tasks: When checked, summary tasks will be displayed in the grouped view. For more information on the behavior of summary tasks in a grouped view, see “Grouping and Rollup Behavior of Summary Tasks” later in this lesson. Show summary tasks is unchecked by default, and is unavailable if the group is being defined for resources.

OK: Saves the current group definition and returns the user to the More Groups dialog.

Page 289: Project 2000 Training Manual

Module 3.2 71

Cancel: Cancels any changes made to the current group definition, and returns the user to the More Groups dialog.

Define Group Intervals: For most fields, clicking the Define Group Intervals button opens the dialog shown below, in which grouping intervals for the selected field can be defined.

Figure 35 - Define Group Intervals

Define Group Intervals is unavailable for Boolean field types such as Flag fields, and for fields which make no sense or which might cause a conflict in connection with application of a custom group order, such as Outline Number.

The options in the Define Group Intervals dialog perform the following functions:

Field name: Displays the name of the field currently being used to group by.

Group on: Depending on the field type, contains a drop-down list of choices for grouping the selected field. The drop-down list contents depend on the field being edited.

Start at: For date fields, this is a drop-down date picker control. For all other fields, this is a spin control with increments appropriate to the field being edited. Disabled for field types Custom Outline Codes, Percentage, Percentage/Number, Notes, and Text.

Group Interval: A spin control with a default value of 1. For Custom Outline Code fields, the button label is replaced with “Group Level.”

For a more detailed discussion of Group Intervals, see “Interval Grouping” later in this lesson.

When an interval other than “Each Value” has been defined for a selected field, the selected interval will be displayed to the right of the Define Group Intervals button in the Group Definition dialog, so that the user does not have to open the Define Group Interval dialog in order to see the current setting.

Page 290: Project 2000 Training Manual

72 Module 3.2

Customize Group By

If Customize Group By is selected from the Project/Group By submenu, the following dialog is shown, in which the user can customize the behavior for the currently applied group definition:

Figure 36 - Customize Group By

Note that unless the user chooses to save the customized definition, settings in the dialog will not be retained if a different group definition (or No Group) is subsequently applied. Also, when a grouping is applied by clicking OK in the Customize Group By dialog, unless the definition has been saved, the currently applied group will be displayed as “Custom Group” in the Group By submenu and drop-down list.

The items in the Customize Group By dialog behave similarly to those in the Group Definition dialog as previously described, except that clicking OK immediately applies the new settings. There are also two additional command buttons, Save and Reset, whose behavior is described as follows:

Save: Opens the dialog shown below, in which the user can enter a name for the new group and can optionally specify whether the new group should be shown in the More Groups menu:

Page 291: Project 2000 Training Manual

Module 3.2 73

Figure 37 - Customize Group By - Save

If the user clicks Cancel, the group is not saved and the user is returned to the Customize Group By dialog. If the name entered is the same as for an existing group definition, the following message is displayed:

Figure 38 - Group already exists

Reset: Clicking Reset returns all settings to their default values, that is, font and cell formatting are reset to the application defaults, and all field names are removed from the Field Name column. Note that clicking OK at this point would have the effect of applying No Group, so to retain the previously applied groupings, the user should instead click Cancel.

Page 292: Project 2000 Training Manual

74 Module 3.2

General Grouping Behavior The general behavior that applies to most grouping is outlined in the following rules:

1. Group summary headers have no task numbers, that is, the ID column is blank.

2. The Name column contains the heading for each level in a group definition. The text in the Name column consists of the field name and a colon, followed by the field value for the immediately following tasks. For example, if the grouping is by Priority, there would be headings similar to “Priority: <number>” for each Priority value contained in the available tasks. For a grouping by Flag1, the heading would be either “Flag1: No” or “Flag1: Yes” (because there are only two possible values for a Flag field).

• If the grouping is based on intervals, the Name text will consist of the field name and a colon, followed by the interval grouping for the immediately following tasks. For example, if the field is Cost, the starting value is zero, and group intervals are $1000, the headings would be “Cost: $0 - $999,” “Cost: $1000 - $1999,” etc.

• If the grouping is by custom Outline Codes, the Name text will consist of the Description for each outline code level (as defined in the Custom Field definition dialog). If the Description is blank, the Name text will be the Outline Code itself.

• If the grouping is by customer fields other than customer Outline Codes, the Name text will consist of the value only.

3. The display of font formatting, background color and pattern (or “data banding”) for a group header row, as defined in the Group Definition Dialog, will begin wherever the Name column appears in the current view and extend across all columns to the right of the Name column. Formatting and banding will not be applied to columns that appear to the left of the Name column. The background color and pattern also appears as a vertical bar on the leftmost side of the Name column.

If the Name column is not shown in the current view, there will be no obvious indication that grouping has been applied except for the name displayed in the Group By submenu and drop-down, because even the display of the vertical color bar is controlled by the presence of the Name field.

4. Tasks with a blank value for a specified grouping field will be grouped together at the top of the view, under a group header displaying the field name but indicating “No Value.” For example, if the field being grouped is Text1, any tasks having Text1 blank will be displayed together under the heading “Text1: No Value.”

Page 293: Project 2000 Training Manual

Module 3.2 75

Figure 39 - No Value Group

5. A separate group summary row is only created for those values that have at least one entry; no summary item is created if no task meets a particular value. In other words, if tasks are grouped by Priority, and no tasks have a Priority equal to 700, then no summary item will be created for Priority: 700.

6. Actions that can be performed on regular summary tasks are not available for group summary headers. For instance, the Task Information dialog, is not available, nor is TeamAssign or cut-and-paste operations, and the values for any fields displayed in the group summary header cannot be modified.

7. Editing individual field formatting is not allowed for any fields displayed on a group summary header row. Users can only change the formatting for group summary rows, using options in the Customize Group By or the Group Definition dialogs.

8. A new default bar style called “*Group By Summary” has been added to the Bar Styles dialog. The formatting is the same as the default bar style for summary tasks. Users can change the default formatting, or can define criteria for new bars using the “Group By Summary” item in the Show For…Tasks column of the Bar Styles dialog. However, bars cannot be individually edited.

9. Indenting and outdenting are unavailable, both for group summary headers and for summary and subtasks.

10. Group summary headers can be expanded and collapsed, and the currently expanded or collapsed state of a group summary heading will be “remembered” when the grouping is reapplied. Summary tasks (if displayed) cannot be expanded or collapsed in a grouped view.

11. For each separate field in a multiple field group definition, grouping can be by each value or by specified intervals.

12. If a view has been filtered, rollup totals include values only for the filtered tasks or resources.

13. Grouping is view-specific, so the user can have different grouping applied in different views. Also, in the View Definition dialog a new Group item has been added so that a predefined grouping can be included in custom view definitions.

Page 294: Project 2000 Training Manual

76 Module 3.2

Figure 40 - New View Definition

14. A new field, “Group By Summary,” is set to Yes for group summary headers and No for all other tasks. Also, the existing Summary field is set to Yes for group summary headers.

15. The principal difference between group rollups and summary task rollups is that while summary tasks can include values entered directly for the summary task, such as Fixed Costs, Work, or Priority, group rollups contain only pure rollup values. Fields that can be edited on normal summary tasks are unavailable for group rollup headers.

Grouping by Outline Number

Because the Outline Number field always exactly matches the project’s task outline structure, using Outline Number as the primary grouping field allows the user to keep the project’s outline structure but display rollup totals that would otherwise not be available. For example, suppose we have the following list of tasks:

Figure 41 - Group by: Outline Number

Page 295: Project 2000 Training Manual

Module 3.2 77

If these tasks are grouped using the default Priority Keeping Outline Structure, the result is as follows:

Figure 42 - Group by: Priority Keeping Outline Structure

Grouping Behavior for Inserted Projects

No distinction is made between tasks from inserted projects and those in the master project. If the inserted project is expanded, then all its tasks are grouped as along with the other tasks in the project. This behavior is different for a regular summary task; its subtasks are still grouped regardless of the state of the summary task.

If the user wants to see grouping project by project, the field can be included as the first grouping level.

Page 296: Project 2000 Training Manual

78 Module 3.2

Interval Grouping In the Define Group Intervals dialog, the drop-down options available for various field types are as summarized in the following table:

Field type Group on Start at Range

Interval Range

Notes

Currency each value interval

any real number

any real number

When grouping by each value, $1.10 will be in a separate group from $1.20 etc. In order that they be in the same group, the user will have to group on interval set to 1.

Currency Rate each value interval

any real number

any real number

Date each value minute hour day week month qtr year

Jan 1, 1984-Dec 31, 2049

integer > 0 The date format used for display will be the format specified in Tools. Options. View tab. The default for Group on is 'day'. If the user chooses to group on each value, dates with different times are placed in separate groups. If the user is grouping on 'week', the starting day of week is defined in the Tools. Options. Calendar 'Week starts on' setting. Also, for the display of the year, we will respect the 'Fiscal year starts in' as well as the 'Use starting year for FY numbering' settings in Tools. Options. Calendar. The 'Start at' datepicker for date fields sets the appropriate value depending on the 'Group on' item selected. For instance, if the user is grouping on 'month', the day and time entered does not matter - just the month and the year. The grouping intervals are then constructed forward and backwards from that month and year. The same

Page 297: Project 2000 Training Manual

Module 3.2 79

Field type Group on Start at Range

Interval Range

Notes

applies to the rest of the 'group on' categories.

Duration each value minutes hours days weeks months

integer >= 0

integer > 0 This includes duration and work fields. The format for duration fields will be as specified in the Tools. Options. Edit tab. Also, in the calculation for duration and work fields, we will use the Tools. Options. Calendar setting for Hours/day, Hours/Week and Days/Month.

Integer each value interval

integer >=0

integer > 0

Number each value interval

any real number

any real number

Custom Outline Code

each value level

NA NA

Percentage each value interval 0, 1-99, 100 0,1-50, 51-99, 100 0, 1-25, 26-50, …, 100 0, 1-10, 11-20, …, 100

integer >=0

integer > 0

Percentage/Number each value interval

integer >=0

integer > 0

Text each value prefix characters

NA NA

Note that when the “Group on” value is “Each Value,” the Group interval is set to 1 and is disabled. When the “Group on” value is anything else (except as noted in the above table), the Group interval can be increased to any number that is valid for the field being edited.

Page 298: Project 2000 Training Manual

80 Module 3.2

Errors Associated With Start At Values

If the user enters an invalid value for Start at for a date field, the following message is displayed:

Figure 43 - Invalid value for Start at – Date field

If an invalid Start at value is entered for any other field type, the following message is displayed:

Figure 44 - Invalid value for Start at - Other field type

Page 299: Project 2000 Training Manual

Module 3.2 81

Errors Associated With Group Interval Values

If a user enters a value for the Group interval that is out of the valid range or that does not match the field type (entering text for a number field, for example), the following message is displayed:

Figure 45 - Invalid Group Interval Value

Page 300: Project 2000 Training Manual

82 Module 3.2

Grouping By Custom Outline Codes When one of the custom Outline Code fields is selected for grouping, the following rules will apply:

1. A grouping header will be created for every value in the lookup table for the specified Outline Code.

2. Tasks or resources that have a blank outline code value will be grouped at the top of the view, just as for any other field.

3. Rollups for the non-Outline Code fields in the grouping header will behave the same as in other situations. If the Outline Code field is one of the displayed columns, the rollup value will be the value from the lookup table.

4. In a consolidated project, grouping will work across all tasks in all of the projects, ignoring the projects’ outline structure, except if a project is collapsed, only the collapsed project summary task will be included in the grouping.

5. The order of grouping will depend on whether the group is by ascending or descending order.

Sorting and Filtering All standard sorting and filtering operations can be performed along with grouping, either before or after grouping is applied. There are two exceptions when sorting is combined with grouping; the sorting options to “Permanently renumber tasks” and “Keep outline structure” are ignored and unavailable. For filtering combined with grouping, the setting for “Show related summary rows” is ignored. Any sorting or filtering performed, applies only to the actual tasks or resources in the project, though the group summaries may be rearranged in order to keep them with their subtasks after sorting.

Sorting

When sorting is combined with a grouped view, the tasks or resources are sorted within each group. Group header rows always stay with their subtasks, and the last operation performed (grouping or sorting) takes precedence in the arrangement of the group headers.

For example, suppose we have the following list of tasks:

ID Name Work Start

1 T1 24h 1/1/98

2 T2 16h 1/1/98

3 T3 16h 1/2/98

4 T4 8h 1/2/98

Page 301: Project 2000 Training Manual

Module 3.2 83

If these tasks are grouped by Start (Descending) and then sorted by Work (Ascending), the following will be the result:

ID Name Work Start

Start: 1/2/98 24h 1/2/98

4 T4 8h 1/2/98

3 T3 16h 1/2/98

Start: 1/1/98 40h 1/1/98

2 T2 16h 1/1/98

1 T1 24h 1/1/98

If the tasks are then regrouped by Start (Ascending), the result is as shown below. Note that within their groups the tasks remain sorted by Work (Ascending), but the group headers have been rearranged according to the group definition.

ID Name Work Start

Start: 1/1/98 40h 1/1/98

2 T2 16h 1/1/98

1 T1 24h 1/1/98

Start: 1/2/98 24h 1/2/98

4 T4 8h 1/2/98

3 T3 16h 1/2/98

Filtering

For non-highlight filtering, the order of applying the grouping or filtering makes no difference. Grouping will be applied according to standard rules, on all tasks remaining after the filter is applied.

For highlight filtering, grouping will be the same as when no filter is applied, except that those items, which satisfy the filter criteria, will be highlighted appropriately.

Page 302: Project 2000 Training Manual

84 Module 3.2

Rollup Calculation for Non-Summary Task Fields

General Rollup Behavior for Group Summary Headers

Rollup behavior is essentially the same as for normal summary tasks. For example, the Work value in a group summary header will be the sum of the Work value for its subtasks; the Start value will be the lowest Start value for any subtasks; Finish value will be the highest Finish value; etc.

Though external tasks are grouped along with other tasks, their field values are not included in group summary header rollup values.

Rollup Calculation of Non-Timephased Task Fields

The value for specific rolled up task fields in a group summary header is summarized in the following table:

Task Field Type Rollup Function

% Complete Percentage (Actual Duration / Duration) * 100

% Work Complete Percentage (Actual Work / Work) * 100

Actual Cost Currency Sum

Actual Duration Duration

Actual Finish - Actual Start based on project calendar and tools.option setting

Actual Finish Date Max(if there is an NA, then value = NA)

Actual Overtime Cost Currency Sum

Actual Overtime Work Duration Sum

Actual Start Date Min(if there is an NA, then value = NA)

Actual Work Duration Sum

ACWP Currency Sum

Assignment Boolean No

Assignment Delay Duration No

Page 303: Project 2000 Training Manual

Module 3.2 85

Task Field Type Rollup Function

Assignment Units Percentage/Number No

Baseline Cost Currency Sum

Baseline Duration Duration

Baseline Finish - Baseline Start based on project calendar and tools.option setting

Baseline Finish Date Max

Baseline Start Date Min

Baseline Work Duration Sum

BCWP Currency Sum

BCWS Currency Sum

Confirmed Boolean OR

Constraint Date Date No

Constraint Type Enumerated No

Contact Text No

Cost Currency Sum

Cost Rate Table Enumerated No

Cost Variance Currency Sum

Cost1-10 Currency Custom Field formula

Created Date MIN

Critical Boolean OR

CV Currency Sum

Date1-10 Date Custom Field formula

Duration Duration Shed. Finish - Sched. Start based on project

Page 304: Project 2000 Training Manual

86 Module 3.2

Task Field Type Rollup Function

calendar and tools.option setting

Duration Variance Duration Baseline Dur. - Sceh Dur.

Duration1-10 Duration Custom Field formula

Early Finish Date Max

Early Start Date Min

Effort Driven Boolean No

Estimated Boolean OR

External Task Boolean No

Finish Date Max

Finish Variance Duration Baseline Fin. - Sched. Fin.

Finish1-10 Date Custom field formula

Fixed Cost Currency Sum

Fixed Cost Accrual Enumerated No

Flag1-20 Boolean Custom field formula

Free Slack Duration No

Hide Bar Boolean No

Hyperlink Text No

Hyperlink Address Text No

Hyperlink Href Text No

Hyperlink SubAddress Text No

ID Integer No

Page 305: Project 2000 Training Manual

Module 3.2 87

Task Field Type Rollup Function

Ignore Resource Calendar

Boolean No

Indicators Indicator No

Late Finish Date Max

Late Start Date Min

Level Assignments Boolean No

Leveling Can Split Boolean No

Leveling Delay Duration No

Linked Fields Boolean No

Marked Boolean OR

Milestone Boolean True if Dur=0

Name Text No

Notes Text No

Number1-20 Number Custom field formula

Objects Boolean No

Outline Code 1-10 Outline Code No

Outline Level Integer No: All values recalculated based on grouping structure

Outline Number Text No

Overallocated Boolean OR

Overtime Cost Currency Sum

Overtime Work Duration Sum

Predecessors Integer List No

Page 306: Project 2000 Training Manual

88 Module 3.2

Task Field Type Rollup Function

Preleveled Finish Date Max

Preleveled Start Date Min

Priority Enumerated No

Project Text No

Recurring Boolean No

Regular Work Duration Sum

Remaining Cost Currency Sum

Remaining Duration Duration Sched. Dur. - Act. Dur.

Remaining Overtime Cost

Currency Sum

Remaining Overtime Work

Duration Sum

Remaining Work Duration Sum

Resource Group Text List No

Resource Initials Text List No

Resource Names Text List No

Resource Phonetics Text List No

Response Pending Boolean No

Resume Date Min

Rollup Boolean No

Start Date Min

Start Variance Duration Baseline Start - Sched. Start

Start1-10 Date Custom field formula

Page 307: Project 2000 Training Manual

Module 3.2 89

Task Field Type Rollup Function

Stop Date End of actual duration of task

Subproject File Text No

Subproject Read Only Boolean No

Successors Integer List No

Summary Boolean No

SV Currency Sum

Task Calendar Enumerated No

TeamStatus Pending Boolean No

Text1-30 Text Custom field formula

Total Slack Duration No

Type Enumerated No

Unique ID Integer No

Unique ID Predecessors Integer List No

Unique ID Successors Integer List No

Update Needed Boolean OR

WBS Text No

Work Duration Sum

Work Contour Enumerated No

Work Variance Duration Sum

Rollup Calculation of Timephased Task Fields

Timephased task fields do not rollup when in the Task Usage view.

Page 308: Project 2000 Training Manual

90 Module 3.2

Rollup Calculations for Summary Tasks

General Rollup Behavior for Summary Tasks

Users can choose whether to show regular summary tasks in a grouped view by selecting the Show summary tasks checkbox in the Group Definition or Customize Group By dialogs. When summary tasks are shown, they are treated like non-summary tasks, except that they retain their default summary task formatting (but not their indentation). Outline symbols are displayed for summary tasks in a grouped view, but clicking the symbol does not expand or collapse the summary task’s subtasks.

Group rollup totals will include only the totals attributable to all individual tasks listed under them. If summary tasks are included, only the totals directly attributable to the summary task are included in the group rollup total. However, summary task fields will always include both the totals for their subtasks plus the totals for any values associated directly with the summary task, just as they do in non-grouped views. This can have the effect of displaying rollup group summary totals, which do not appear to be the total of their subtasks.

This behavior occurs because at the summary task level, summary tasks do not store work and cost values separately for their own assignments; but group rollup totals are based on the assignment values for any grouped subtasks, regardless of whether the grouped subtasks are normal or summary tasks.

For example, consider Figure 46 - Group Rollup – Summary Task. Note that Summary 2 has resource R2 assigned, and that the Group Work total of 24 hrs includes 16 hours attributable to R2’s assignment plus 8 hours for R1 assigned to task Task3.

Figure 46 - Group Rollup – Summary Task

Page 309: Project 2000 Training Manual

Module 3.2 91

Suppose we have the following two group definitions. Note that the definitions are essentially the same, except Group 1A has the Show summary tasks option checked:

Figure 47 - Group 1 Definition

Figure 48 - Group 1A Definition

Page 310: Project 2000 Training Manual

92 Module 3.2

When Group 1 is applied, we see the following. Note that all totals are correct for the tasks which are currently displayed, and that totals for summary tasks are not included.

Figure 49 - Group 1 - Show summary task not selected

When Group 1A is applied; it looks like the total Work should be 32hrs. However, the Work total for the group summary row “Start: 12/28/99” is correct at 24 hrs. It is the total of the work group summary rows, 16 hrs for Summary2 plus 8 hrs for T1.

Figure 50 - Group 1A - Show summary task selected

Page 311: Project 2000 Training Manual

Module 3.2 93

Rollup Calculations for Specific Summary Task Fields

The value for specific rolled up summary task fields in a group summary header is summarized in the following table:

Task Field Type Rollup

% Complete Percentage No - Calced

% Work Complete Percentage No - Calced

Actual Cost Currency Sum of assign.

Actual Duration Duration No - Calced

Actual Finish Date Displayed

Actual Overtime Cost Currency Sum of assign.

Actual Overtime Work Duration Sum of assign.

Actual Start Date Displayed

Actual Work Duration Sum of assign.

ACWP Currency Sum of assign.

Assignment Boolean No

Assignment Delay Duration No

Assignment Units Percentage/Number No

Baseline Cost Currency Sum of assign.

Baseline Duration Duration No - Calced

Baseline Finish Date Displayed

Baseline Start Date Displayed

Baseline Work Duration Sum of assign.

BCWP Currency Sum of assign.

BCWS Currency Sum of assign.

Page 312: Project 2000 Training Manual

94 Module 3.2

Task Field Type Rollup

Confirmed Boolean No

Constraint Date Date No

Constraint Type Enumerated No

Contact Text No

Cost Currency Sum of assign.

Cost Rate Table Enumerated No

Cost Variance Currency Sum of assign.

Cost1-10 Currency Custom Field formula

Created Date Displayed

Critical Boolean No

CV Currency Sum of assign.

Date1-10 Date Custom Field formula

Duration Duration No - Calced

Duration Variance Duration No - Calced

Duration1-10 Duration Custom Field formula

Early Finish Date Displayed

Early Start Date Displayed

Effort Driven Boolean No

Estimated Boolean No

External Task Boolean No

Finish Date Displayed

Finish Variance Duration No - Calced.

Page 313: Project 2000 Training Manual

Module 3.2 95

Task Field Type Rollup

Finish1-10 Date Custom field formula

Fixed Cost Currency Displayed

Fixed Cost Accrual Enumerated No

Flag1-20 Boolean Custom field formula

Free Slack Duration No

Hide Bar Boolean No

Hyperlink Text No

Hyperlink Address Text No

Hyperlink Href Text No

Hyperlink SubAddress Text No

ID Integer No

Ignore Resource Calendar

Boolean No

Indicators Indicator No

Late Finish Date Displayed

Late Start Date Displayed

Level Assignments Boolean No

Leveling Can Split Boolean No

Leveling Delay Duration No

Linked Fields Boolean No

Marked Boolean Displayed

Milestone Boolean No - Calced

Name Text No

Page 314: Project 2000 Training Manual

96 Module 3.2

Task Field Type Rollup

Notes Text No

Number1-20 Number Custom field formula

Objects Boolean No

Outline Code 1-10 Outline Code No

Outline Level Integer No: All values recalculated based on grouping structure

Outline Number Text No

Overallocated Boolean Displayed

Overtime Cost Currency Sum of assign.

Overtime Work Duration Sum of assign.

Predecessors Integer List No

Preleveled Finish Date Displayed

Preleveled Start Date Displayed

Priority Enumerated Displayed

Project Text No

Recurring Boolean No

Regular Work Duration Sum of assign.

Remaining Cost Currency Sum of assign.

Remaining Duration Duration No – Calced

Remaining Overtime Cost

Currency Sum of assign.

Remaining Overtime Work

Duration Sum of assign.

Remaining Work Duration Sum of assign.

Page 315: Project 2000 Training Manual

Module 3.2 97

Task Field Type Rollup

Resource Group Text List No

Resource Initials Text List No

Resource Names Text List No

Resource Phonetics Text List No

Response Pending Boolean No

Resume Date Displayed

Rollup Boolean No

Start Date Displayed

Start Variance Duration No - Calced

Start1-10 Date Custom field formula

Stop Date No - Calced

Subproject File Text No

Subproject Read Only Boolean No

Successors Integer List No

Summary Boolean No

SV Currency Sum of assign.

Task Calendar Enumerated No

TeamStatus Pending Boolean No

Text1-30 Text Custom field formula

Total Slack Duration No

Type Enumerated No

Unique ID Integer No

Page 316: Project 2000 Training Manual

98 Module 3.2

Task Field Type Rollup

Unique ID Predecessors

Integer List No

Unique ID Successors Integer List No

Update Needed Boolean Displayed

WBS Text No

Work Duration Sum of assign.

Work Contour Enumerated No

Work Variance Duration Sum of assign.

Page 317: Project 2000 Training Manual

Module 3.2 99

Rollup Behavior of Resources

Non-Timephased Resource Fields

The following table summarizes the rollup behavior of various non-timephased resource fields when a grouping is performed on resources. Note that the following behavior only applies when the listed field is not actually one of the fields being grouped; otherwise the behavior is as described under “General Grouping Behavior,” earlier in this lesson.

Resource Field Field Type Roll Up function Material Resource rolled up?

% Work Complete Percentage Calculated: Act. Work/Total Work

NA

Accrue At Enumerated No NA

Actual Cost Currency Sum Yes

Actual Finish Date Max (if there is an NA, then value = NA)

Yes

Actual Overtime Cost

Currency Sum Yes

Actual Overtime Work

Duration Sum No

Actual Start Date Min (if there is an NA, then value = NA)

Yes

Actual Work Duration Sum No

ACWP Currency Sum Yes

Assignment Boolean No NA

Available From Date Min Yes

Available To Date Max Yes

Base Calendar Text No Yes

Page 318: Project 2000 Training Manual

100 Module 3.2

Resource Field Field Type Roll Up function Material Resource rolled up?

Baseline Cost Currency Sum Yes

Baseline Work Duration Sum No

BCWP Currency Sum Yes

BCWS Currency Sum Yes

Can Level Boolean No NA

Code Text No NA

Confirmed Boolean No NA

Cost Currency Sum Yes

Cost Per Use Currency Sum Yes

Cost Variance Currency Calculated NA

Cost1 - Cost10 Currency Custom Field formula

Yes

Date1 - Date10 Date Custom Field formula

Yes

Duration1 – Duration10

Duration Custom Field formula

Yes

Email Address Text No NA

Finish Date Max Yes

Finish1 – Finish10 Date Custom Field formula

Yes

Flag1 - Flag20 Boolean Custom Field formula

Yes

Group Text No NA

Hyperlink Text No NA

Page 319: Project 2000 Training Manual

Module 3.2 101

Resource Field Field Type Roll Up function Material Resource rolled up?

Hyperlink Address Text No NA

Hyperlink Href Text No NA

Hyperlink SubAddress

Text No NA

ID Integer No NA

Indicators Indicator No NA

Initials Text No NA

Linked Fields Boolean No NA

Max Units Percentage/Number Sum No

Name Text No NA

Notes Text No NA

Number1 - Number20

Number Custom Field formula

Yes

Objects Boolean No NA

Overallocated Boolean No NA

Overtime Cost Currency Sum Yes

Overtime Rate Currency Rate No NA

Overtime Work Duration Sum No

Peak Percentage/Number Max No

Phonetics Text No NA

Project Text No NA

Regular Work Duration Sum No

Page 320: Project 2000 Training Manual

102 Module 3.2

Resource Field Field Type Roll Up function Material Resource rolled up?

Remaining Cost Currency Sum Yes

Remaining Overtime Cost

Currency Sum Yes

Remaining Overtime Work

Duration Sum No

Remaining Work Duration Sum No

Response Pending Boolean No NA

Standard Rate Currency Rate No NA

Start Date Min Yes

Start1 - Start10 Date Custom Field formula

NA

Task Summary Name

Text No NA

TeamStatus Pending Boolean No NA

Text1 - Text30 Text Custom Field formula

NA

Type Enumerated No NA

Unique ID Integer No NA

Update Needed Boolean No NA

Work Duration Sum No

Work Variance Duration Sum No

Workgroup Enumerated No NA

CV Currency Sum Yes

SV Currency Sum Yes

Page 321: Project 2000 Training Manual

Module 3.2 103

For material resources, fields which are not applicable to material resources will not be included in rollup totals. These fields include Actual Work, Baseline Work, Work, Standard Rate, Units, Max. Units, and Peak Units.

Timephased Resource Fields

Timephased resource fields do not rollup when in the Resource Usage view.

More Grouping Examples For each of the following examples, we will use the following list of tasks:

Name Duration Start Cost

T1 2w 6/16/1997 "$1,500.00"

T2 1w 7/15/1997 "$2,200.00"

T3 3w 12/15/1997 $600.00

S1 3d 1/15/1998 $300.00

S2 4w 3/16/1998 "$1,700.00"

Page 322: Project 2000 Training Manual

104 Module 3.2

Grouped by Cost, with Group on set to Interval, Start at set to 0, and interval of 1000:

Grouped by Start, with Group on set to months, Start at set to 05/01/97, and interval of 3:

Grouped by Duration, with Group on set to weeks, Start at set to 0, and interval of 2:

Page 323: Project 2000 Training Manual

Module 3.2 105

Grouped by Name, with Group on set to Prefix Characters and interval of 1:

Page 324: Project 2000 Training Manual

106 Module 3.2

Try This: Customer Grouping Scenario Develop a grouping based on a customer scenario.

1. With a partner, write down a customer scenario where grouping is required.

2. Develop a grouping solution that meets the needs of the scenario developed in step one.

3. Exchange your scenario (and not the grouping) with another group.

4. Develop a grouping for the scenario that you received.

5. Discuss the results with the other group.

Did your grouping meet the needs of the scenario? Was your grouping the same as that of the other group?

Page 325: Project 2000 Training Manual
Page 326: Project 2000 Training Manual

THIS PAGE INTENTIONALLY LEFT BLANK

Page 327: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 3: Using E-mail Based Workgroup

Features 109

Module 3.3

Page 328: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 329: Project 2000 Training Manual

Module 3.3 109

Lesson 3: Using E-mail Based Workgroup Features

Overview

E-mail based workgroup messaging has changed little since Microsoft® Project 98. However, it is important to revisit it to look at the few changes that have occurred.

What You Will Learn After completing this lesson, you will be able to:

� Setup and customize workgroup features

� Describe limitations in a multi-lingual environment

� Troubleshoot e-mail based workgroup related issues

Page 330: Project 2000 Training Manual

110 Module 3.3

Workgroup Setup

Workgroup setup for e-mail has both changed and not changed in Microsoft Project 2000. For users that do not have Microsoft Project installed, things are still the same. If a resource that does not have Microsoft Project installed wants to run workgroup messaging, they must still run WGSETUP.EXE on their local machine. WGSETUP.EXE has not changed from Microsoft Project 98. It still uses ACME setup.

Things are different for users who install Microsoft Project. When a user installs Microsoft Project 2000 on their system, they are not installing the workgroup messaging components that ship with the product. If they want to install these components, they must also run WGSETUP.EXE.

Users that want to use e-mail based workgroup messaging components must run WGSETUP.EXE, even if they have installed Microsoft Project 2000 on their local machines.

Although the functionality has not changed since Microsoft Project 98, the components used in workgroup messaging have been updated. The following files have been updated in Microsoft Project 2000.

File Name Size Version Description

Openmail.exe 144kb 9.0 Open mail MFC

Olmenu.dll 32kb 9.0 Outlook Integration

Users may be running workgroup messaging components from Microsoft Project 98 and not know it. If they have Microsoft Project 98 installed on their system before upgrading to Microsoft Project 2000, the workgroup messaging components will remain and should work under most circumstances. Running WGSETUP.EXE from Microsoft Project 2000 will update these files to their Microsoft Project 2000 versions.

Page 331: Project 2000 Training Manual

Module 3.3 111

E-mail Clients Workgroup Messaging still requires a 32-bit MAPI compliant e-mail client. The clients that Microsoft Project 2000 has been tested to run with are as follows:

� Microsoft Outlook 2000. Earlier versions such as Microsoft Outlook 97 and 98, though not formally tested, will also work.

� Microsoft Exchange on Microsoft Windows 9.x and Microsoft® Windows NT®

� Microsoft Mail for Microsoft Windows NT

� Lotus cc:Mail 7.0 for Microsoft Windows 9.x and Microsoft Windows NT

� Lotus Notes 4.5a for Microsoft Windows 9.x and Microsoft Windows NT. Later versions, though not formally tested, should work fine.

Page 332: Project 2000 Training Manual

112 Module 3.3

Registry and .ini Settings Workgroup Messaging requires the following registry entries and/or .ini settings. Note, however, that workgroup messaging will not be functional until windows’ messaging has been installed on the system. The registry entries required by e-mail based workgroup messaging are as follows:

This key reflects the customization options that are available under Tools, Customize, Workgroup as seen below. Pictured below are the default settings for Workgroup customization. The fields map is as follows:

Figure 1 - Workgroup Customization in the Registry Setting

Customize Workgroup

Registry

Task Name Field1

Work Field2

Start Field3

Finish Field4

Completed and

Remaining Work

Field5

Comments Field6

When additional fields are added through Microsoft Project, they are reflected in the registry. Below is a snapshot of the registry after adding the fields text1 (field7) and percent complete (field 8). The fields are numbered in the order they appear on the Customize Workgroup dialog box.

HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\MS Microsoft Project\Workgroup Customization

Page 333: Project 2000 Training Manual

Module 3.3 113

Figure 2 - Workgroup Customization Registry settings

Value Entry: IPM.Microsoft Project.Workgroup Mail

Value Data: 3.0;;;;opml32.dll;openmail.exe <PARAMBLK>;1111200000000000;;;;

Msmail32.ini (created) – This initialization file is created when windows’ messaging is installed. The entry should contain the same information as the HKEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages registry key and should appear as follows:

[Custom Messages]

IPM.Microsoft Project.Workgroup Mail=3.0;;;;opml32.dll;openmail.exe <PARAMBLK>;1111200000000000;;;;

These entries allow mail programs that recognize custom message, such as Microsoft Outlook, Microsoft Exchange, and MS Mail Client to know which message handler to use to read the custom message. If the Msmail32.ini file is missing, then the registry settings are used.

KEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages

Page 334: Project 2000 Training Manual

114 Module 3.3

Win.ini (modified) – the following section is added to the win.ini file when Windows Messaging is installed.

[Mail] MAPI=1 MAPIX=1 OLEMessaging=1 CMC=1 CMCDLLNAME=mapi.dll CMCDLLNAME32=MAPI32.DLL Exchange=E:\Program Files\Windows NT\Windows Messaging\exchng32.exe MAPIXVER=1.0.0.1

The entries MAPI=1 and MAPIX=1 allow Microsoft Project to recognize that Email messaging is available. If these entries are missing or set to “0” then the Team Assign, Team Status, and Team Update buttons under Tools, Workgroup will not be available.

Cc:mail uses windows messaging and will install the same registry and win.ini settings as Microsoft Windows Messaging.

At least the first two entries are needed for E-mail Workgroup messaging to be available from Microsoft Project 2000. If these entries are not in place, the Team Status, Team Update, Team Assign, Set Schedule note… menu items are not available from the Tools, Workgroup menu.

Note

Verwijderd: .

Page 335: Project 2000 Training Manual

Module 3.3 115

Configuration Because Microsoft Project uses Microsoft Project Central for Web based workgroup functions, the configuration dialog box under Tools/Options/Workgroup has changed.

Figure 3 - Tools/Options/Workgroup

For e-mail based workgroup messaging, simply make certain that e-mail is selected. Note that there is no longer any option to use both e-mail and Web based messaging such that resources can track their tasks in either e-mail or a browser or both. You must use one or the other in Microsoft Project 2000.

Page 336: Project 2000 Training Manual

116 Module 3.3

Setting Up Resources Setting up resources to use e-mail based workgroup messaging is the same as in Microsoft Project 98. It still uses the information found in the e-mail field to send messages, or it resolves the resource address from the name, just as in Microsoft Project 98.

Figure 4 - Resource Information dialog

Notice that the Windows Account field is used strictly with Microsoft Project Central. It does not affect e-mail based messaging at all. Thus if you have a resource with a Windows Account set but no e-mail address entered, Microsoft Project will still attempt to resolve an address for the resource based on the resource name and will not look at the Windows Account information.

Page 337: Project 2000 Training Manual

Module 3.3 117

Customizing Workgroup Messaging Customizing workgroup messages has changed slightly in Microsoft Project 2000. You can now add virtually any task field from your project to your message. This greatly increases the information you can send. Although the User Interface has changed slightly, all the options for customizing Workgroup Messaging have remained the same.

Figure 5 - Customize Workgroup

Behind the Scenes Because little has changed with e-mail based workgroup messaging in Microsoft Project 2000, we have a good idea of where users may run into problems. Let’s take a quick look at what’s going on behind the scenes in two of these areas and then look at troubleshooting different scenarios.

How Custom Messages Work

One area that’s good to understand is what happens when a message is opened. When a Workgroup message is sent to a mail recipient that recognizes custom messages, it is recognized as a custom message by a hidden file named WINMAIL.dat. Once the message is recognized as a custom message it searches the registry key HKEY_CURRENT_USER\Software\Microsoft\Mail\ Custom Messages and MSMAIL32.ini files for further instructions.

The custom messages sections in the Registry and MSMAIL32.ini files direct the Workgroup message to the OPML32.dll file. This file examines the message, extracts the usable data, and passes it on to OPENMAIL.exe.

Page 338: Project 2000 Training Manual

118 Module 3.3

When the message is passed on to OPENMAIL.exe, the user momentarily sees a dialogue box with the title Opening Project Mail, followed by a dialogue box similar to the one below (depending upon the type of workgroup message being opened).

Figure 6 - Workgroup Messaging

The MSFLXGRD.ocx file controls the grid where the resource’s information is entered such as Accept, Work, Start and Finish dates.

Page 339: Project 2000 Training Manual

Module 3.3 119

Integration with Microsoft Outlook

Another area where it is good to understand what’s going on behind the scenes is Microsoft Project’s integration with Microsoft® Outlook®. Microsoft Project 2000 is designed to integrate with Microsoft Outlook. When WGSETUP is run, it adds the menu item New Team Status Report under the Actions menu of Microsoft® Outlook® 98 and Microsoft® Outlook® 2000. This same menu item is added under the Tasks menu of Microsoft® Outlook® 97. This menu item, which is used to send unsolicited Team Status reports, is visible only when looking at the Task View from within Outlook. When the recipient accepts a Team Assign message, the task name is added to the recipient’s task list in Outlook.

The New Team Status Report menu option is automatically available after WGSETUP.EXE is run. If there is no New Team Status Report menu item after running WGSETUP.EXE, it can be added by following the steps below:

1. Search the customer’s hard drive for a file names OLMENU.ecf. This is an add-in file that Outlook uses to insert the New Team Status Report menu item.

2. From within Outlook 98 or Outlook 2000, click on Tools, Options and then click on the Other tab.

(For Outlook 97 click on Tools, Options, General tab, Add-In Manager)

3. Click on Advanced Options… and click on Add-in Manager.

4. There should be an entry that reads Team Status Form. If it is not already selected click to select it.

(If there is no Team Status Form listed, click Install… and browse to where the OLMENU.ecf file is located. If this file is not on your hard disk then you will need to copy it from the installation CD.)

5. Once the OLMENU.ecf file is located, click Open and OK to the remaining dialogue boxes.

If you are still unable to add or run the New Team Status Report you may need to copy the OLMENU.dll file into the System folder of your windows root. Both OLMENU.ecf and OLMENU.dll can be found on the Microsoft Project 2000 CD.

Page 340: Project 2000 Training Manual

120 Module 3.3

Troubleshooting Workgroup Issues

There can be a wide range of issues that you may run into with workgroup messaging. Depending on the issue, you may take different steps. However, you should at least be able to answer the following three questions before troubleshooting any workgroup messaging issue:

1. Is the e-mail client program fully MAPI compliant?

2. Is the e-mail client program able to recognize and use custom messaging (for example Outlook, Exchange, MS Mail)? If not, then there is no need to check the MSMAIL32.ini or HKEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages settings, as these are specific to custom messaging.

3. If the customer is using a 3rd party mail client, are the file associations set correctly? The workgroup data file attached to the e-mail message has an “.mxm” extension.

Workgroup Messaging Details and Troubleshooting The following are details about the workgroup messaging and some common problems.

� When a resource gets a message, the year displays only two digits. There is no way to change this; years will always be two digits.

� When you send a TeamAssign, TeamUpdate or TeamStatus message, an indicator is displayed. If you want to remove the indicator, you can do so by switching to the Task Usage view inserting the Response Pending, Update Needed or TeamStatus Pending field and on the assignment, setting the value to No.

� When using email based workgroup messaging, you may get the message "Microsoft Project was unable to load an electronic mail program. Reinstall your electronic mail program and then restart your computer." It’s possible that the registry has a setting that is incorrect. Check in the following location for a key named MAPIDLL: HKEY_LOCAL_MACHINE\Software\Microsoft\Office\8.0\Common If this key exists, it likely shouldn't be there and is likely causing the problem. You can rename the key to something else; restart Microsoft Project 2000 and retest. Be sure that the Win.ini file has at least the following: [mail] Mapi = 1 Mapix = 1

� If a client machine has the Workgroup features installed (WGSETUP has been run) and if all messages are being intercepted by Microsoft Team Manager (MTMAIL.exe) but Microsoft Team Manager isn't on the system you'll need to completely uninstall WGSETUP and then install. If you just reinstall, the proper registry settings are not going to be updated that will allow things to work with OPENMAIL.exe.

Page 341: Project 2000 Training Manual

Module 3.3 121

� When you open a TeamAssign message received in e-mail, work will always be listed in hours as long as OPENMAIL.exe has opened the message. If you see work listed in any thing other than hours, Microsoft Team Manager (MTMMAIL.exe) has opened the mail. An easy way to tell this is to look at the bottom of the TeamAssign form where you'll see a drop-down list labeled "Make changes to:" and a Microsoft Team Manager plan listed.

� When a project manager accepts a returned TeamAssign message the associated task may receive a constraint. You may see this behavior when the following occurs: 1. A TeamAssign message is sent to the resource(s). 2. The task is rescheduled in the project before the project manager accepts the returned TeamAssign message. 3. The project manager accepts (clicks Update Project) the returned TeamAssign message. The task(s) now has a constraint date. The constraint forces the task to reschedule to the date where it was when the TeamAssign message was sent -- the agreed upon date. This is by-design.

� When you send TeamStatus messages, the smallest increment of time that a resource can report time for is 1 day. Therefore, if you have a 1-day task and a resource reports 1-minute of actual work, the 1-minute is going to spread across the entire day and pushes out the finish date for the task. This means that if this task has successors, they too will move because of the task's new finish date.

� Trying to send a TeamUpdate message may fail if Microsoft Project does not detect that a change in the task has occurred. This can happen if you change work on resource assignments and the shuffling of work doesn't change a task's or assignment's start or finish date. For example, suppose you have a 1d fixed duration task with resource R1 assigned with 8h of work. Suppose you've sent a TeamAssign message and R1 accepted and you've updated the project. If you change R1's work to 16h and try to send a TeamUpdate message, you won't be able to, because the task is fixed duration the finish date does not change. Another example would be a 1d task with R1 and R2 each with 8h of work. If the TeamAssign message has been sent, accepted and the project updated, if you then change R1's work to 4h and units to .5 and R2's work to 12h and units to 1.5, no change will be detected and you won't be able to send an Update message.

� If when a workgroup message is clicked to read it, the user may receive a message that says "Attachment could not be retrieved..." Make sure the default delivery point in their email profile isn't set to none. To find out, open the Mail Control Panel and for the given profile, click the Delivery tab; check the "Deliver new mail to the following location" option for the correct location.

� When opening a team message from your inbox, you may receive the message "An error occurred during initialization. The attachment file could not be opened." If you open the attached file, however, everything works correctly. This error may occur if your email profile Delivery option is set to None. Verify by double clicking the Mail icon in the Control Panel, switch to the Delivery tab and check the option “Deliver new mail to the following location:” has something other than None selected. The custom

Page 342: Project 2000 Training Manual

122 Module 3.3

message is trying to find the location of the "active" Inbox, whether it is in a personal store (*.pst file) or your Mailbox on the mail server.

� If you receive an error message when opening a reply from a team status report check both the registry entry HKEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages and the MSMAIL32.ini files. They should both have the following value

Under the registry key HKEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages

Value Name: IPM.Microsoft Project.Workgroup Mail

Value Entry: 3.0;;;;opml32.dll;openmail.exe <PARAMBLK>;1111200000000000;;;;

Under the MSMAIL32.ini the entry should read:

IPM.Microsoft Project.Workgroup Mail =3.0;;;;opml32.dll;openmail.exe <PARAMBLK>;1111200000000000;;;;

3rd party and other Applications

If a user is using workgroup messaging via Lotus Notes, ccMail, Novell Groupwise or any other MAPI compliant system, the manager must enter his/her email address into the Tools - Options - General tab - User Name field. Otherwise when resources try to reply to team messages there will be no address on the To line.

Note

You can use the friendly name such as John Smith as long as it can be correctly resolved to the correct email address or enter the actual email address such as Johnsm or [email protected].

Requirements to run cc: Mail: service, available for Microsoft Outlook, with Microsoft Project.

� The post office database must be a DB6 database.

� You do need to make sure that the Win.ini file [Mail] section has at least the values "MAPI=1" and "MAPIX=1".

� The project manager's name is in the User Name field in the General tab of the Options dialog.

This ensures that replies to team messages can be sent back to the project manager.

For information on the requirements for cc:Mail, see the following Knowledge Base article: Q163290.

Page 343: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 4: Using a Foreign Language 125

Module 3.4

Page 344: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 345: Project 2000 Training Manual

Module 3.4 125

Lesson 4: Using a Foreign Language

Overview In this lesson we will discuss the use of foreign languages in Microsoft® Project 2000.

What You Will Learn After completing this lesson, you will be able to:

� Discuss the use of the World Wide Executable and Language Pack versus Localized versions of Microsoft Project 2000.

� Define the difference between a Code Page and Unicode

� Enable languages and keyboards for use in Microsoft Project 2000.

� Install and use the IME.

� Define the requirements for using Help in another language.

Page 346: Project 2000 Training Manual

126 Module 3.4

Microsoft Project in Different Languages

There are three main groups of languages that Microsoft Project is released in. These are noted in the table below:

Language Group Language Example Characteristics

European English, Italian, French

Single Byte Characters (256 possible combinations) Horizontal Text only.

Bi-directional Hebrew Double Byte Characters (65,536 possible combinations) Right-to-left text with complex text rendering requirements.

Far East Chinese, Japanese, Korean

Double Byte Characters (65,536 possible combinations) vertical text, requires Input Method Editor (IME)

Microsoft Project 2000 is released in 18 languages worldwide. The specific language versions that Microsoft Project is released in are as follows:

1. Chinese (Simplified)

2. Chinese (Traditional)

3. Czech

4. Danish

5. Dutch

6. English

7. Finnish

8. French

9. German

10. Hebrew

11. Italian

12. Japanese

13. Korean

14. Norwegian

15. Polish

16. Portuguese (Brazilian)

17. Spanish

18. Swedish

Page 347: Project 2000 Training Manual

Module 3.4 127

Note

The above lists the languages that Microsoft Project 2000 is released in as localized versions. This list is different than the available language packs that run on the English version of Microsoft Project 2000.

World Wide Executable vs. Localized Versions Microsoft Project 2000, like other Microsoft Office 2000 applications, is designed to be a worldwide executable. In other words, Microsoft Project’s core functionality is designed to be language independent. This allows easier development of multiple language versions of the same product and reduces Total Cost of Ownership (TCO) for corporations that deploy multiple language versions of Microsoft Project. It also allows an individual user to create projects using multiple languages and to utilize menus, online help, and proofing tools from any language pack that is applied.

Program Structure Microsoft Project 2000 accomplishes this by using an executable file that is language independent. This executable (winproj.exe) uses global DLL’s, supports International Keyboard and Input Method Editor (IME) support, and allows for localized features to be added separately from the executable. It also allows for language packs to be applied to the program. Language packs contain in the designated language, the text that appears in menus and dialog boxes, help files, wizards, proofing tools, add-ins, and sample files.

The structure of the Microsoft Project 2000 is summarized in Figure 1 below.

Figure 1

Page 348: Project 2000 Training Manual

128 Module 3.4

LCID Folders Microsoft Project 2000 (and other Microsoft Office 2000 applications) keeps language specific information in folders called Local ID (LCID) Folders. LCID Folders are folders denoted by a four-digit name that is specific to the language. For example, the LCID number for English is 1033.

There are multiple LCID folders for the same language. They are placed in locations that are relevant to the information they contain. For example, templates that ship with the English version of Microsoft Project would be installed by default to the following location:

C:\Program Files\Microsoft Office\Templates\1033

For more information regarding the locations and contents of LCID files, see the documentation for the specific language pack you are installing.

Code Pages vs. Unicode Although Microsoft Project 2000 is able to use multiple languages, in some cases it is dependent on the underlying operating system. There are differences between running Microsoft Project 2000 on Windows 9.x and running it on Microsoft® Windows NT® or Microsoft® Windows® 2000. The difference is due to how each operating system deals with displaying languages. Windows 9.x uses code pages. Windows NT and Windows 2000 uses Unicode.

Windows 9.x uses Code Pages to display language information. When you press a key on your keyboard when using Windows 9.x, the corresponding character is selected from a Code Page. Code Pages are tables of characters containing a maximum of 256 characters per table. Each language (or set of languages that use the same characters) is associated with its own code page. Because only one code page can be accessed at a time, only one language can be used in most programs.

Unicode is the method used to display language information in Windows NT and Windows 2000. Unicode is a unified method of displaying every known character from every known language on earth. It allows for a maximum of 65,536 characters. Because Unicode contains all characters for all languages, programs and operating systems that use Unicode have no need to switch code pages and can use multiple languages from within the same program.

Microsoft Project 2000 is Unicode compliant meaning that it will use Unicode to display language information. However, it is dependent on the underlying operating system in some situations. To fully utilize Microsoft Project in a multi-lingual environment, you should run it on either Windows NT or Windows 2000.

Page 349: Project 2000 Training Manual

Module 3.4 129

Installing Different Languages

Microsoft Project 2000, like other Microsoft Office 2000 applications, uses language packs to enable language specific information like text strings and help files. However, installing a language pack may not be the only step necessary to use multiple languages in Microsoft Project 2000. First, the desired language group must be available at the operating system level. For example, if you install the Japanese language pack on a Windows 9x English system and you attempt to set Japanese as the default language for your Microsoft Office 2000 applications, you’ll see the following error:

Figure 2 – Unavailable System Language Support

Installing new languages on different operating systems requires different steps. Each operating system is unique and in some cases such as Windows 9x, you may not be able to change the operating system to the language of choice. It is beyond the scope of this course to cover the steps for each operating system. In this course, however, we will review the steps necessary to install a language on Windows 2000.

Installing Languages on Windows 2000 Installing a language is a fairly simple process in Windows 2000. Available languages are found in Regional Options in the Control Panel. On the General Tab, you will see the option Language Settings For Your System. This option lists available languages and installs all necessary components to use that language at the operating system level.

Page 350: Project 2000 Training Manual

130 Module 3.4

Figure 3 – Windows Regional Options

Note

Be aware that regional settings are different than language settings, even though regional settings are termed in languages. Regional settings set the way in which dates, numbers, currency and time are formatted. They are independent from language settings.

Input Methods Once the language is installed, you will be able to use it immediately within Microsoft Project 2000. However, there are some considerations that you should take into account. First, not all languages are input only via a keyboard. For example, Japanese uses a tool called the Input Method Editor (IME). The IME is a floating toolbar that gives you additional options for inputting the pictographs (or Kanji) that the language uses.

Other languages use hot keys to switch between inputting from one language to another. The options for all of these different input methods are found on the Input Locales tab within Regional Options.

Try This: Install the Japanese Language on Your System Install Japanese at the OS Level

1. In the Control Panel of Windows 2000, click Regional Options.

2. On the General tab in the “language Setting for the System” section, put a check by Japanese. Click OK and restart your system.

Page 351: Project 2000 Training Manual

Module 3.4 131

3. After rebooting, go back to Regional Options and click the Input Locales tab.

4. Click Add and choose Japanese for the Input Locale. Click OK twice.

You should see a small square in your system tray with the letters EN. This signifies that English is the language that you will enter in. If you click the square, you will be able to choose Microsoft IME 2000 (Japanese) for Japanese input.

Page 352: Project 2000 Training Manual

132 Module 3.4

Language Packs

Microsoft Project Language Pack Install There are five Multi-language packs available for Microsoft Project 2000. They are French, German, Italian, Spanish and Japanese.

Microsoft Project Language Pack Settings The Microsoft Office Language Settings tool is used to make your language settings for your Microsoft Office 2000 applications. The tool allows you to change the following language properties.

User Interface (UI) Language

This setting denotes which language you want menus and dialog boxes to be written in. The UI language setting only applies if the application can natively display the language you chosen or if a language pack is installed that matches your UI setting. For example, suppose you have an English system, you have installed English Microsoft Office 2000, and you have installed the German language pack. Also, you have set the UI language option to German. If you install an English version of Microsoft Project 2000 don’t install the German language pack, Microsoft Project 2000 will appear in English.

Help File Language

This setting allows you to choose the language in which you want online help topics to be written in.

Figure 4 – User Interface and Help Menu Language Settings

Page 353: Project 2000 Training Manual

Module 3.4 133

Enabled Languages

This setting allows you to use proofing tools and localized formatting (that is, for dates, time, etc.) within Microsoft Project 2000.

Installed Language Version

This setting denotes the original language version of Microsoft Office or Microsoft Project that was installed

Figure 5 – Enabled Languages

Page 354: Project 2000 Training Manual

PSS Learning Services

Contents

Lesson 5: Sharing Information 133

Module 3.5

Page 355: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 356: Project 2000 Training Manual

Module 3.5 133

Lesson 5: Sharing Information

Overview Microsoft® Project 2000 gives you various ways to share information from your project. In this section, we will briefly discuss the methods available in Microsoft Project 98 that have been improved in Microsoft Project 2000. These include printing, exporting data to Microsoft Office 2000 applications, and saving Web Pages.

What You Will Learn After completing this lesson, you will be able to:

� Describe changes to the reporting feature in Microsoft Project 2000

� Describe changes to printing related features in Microsoft Project 2000

� Describe how to find the Analyze Timescaled Data Wizard

� Describe any changes when saving static Web content

Page 357: Project 2000 Training Manual

134 Module 3.5

Working with Office 2000 Sharing information between Microsoft Project 2000 and Microsoft Office 2000 has not changed significantly from what was available in Microsoft Project 98. As in Microsoft Project 98, Microsoft Project 2000 has the ability to save projects in both Microsoft Excel and Microsoft Access formats. Microsoft Project 2000 also has the ability to export timescaled data to be analyzed in Excel via the Analyze Timescaled Data Wizard. Although the functionality of this tool has not changed in Microsoft Project 2000, its location has changed significantly.

In Microsoft Project 98, the Analyze Timescaled Data wizard was invoked by running the Analyze_Timescaled_Data macro. In Microsoft Project 2000, this macro, along with PERT analysis related macros and the Adjust Dates macros are now COM add-ins and can be found on the Analysis Toolbar.

If the Analysis Toolbar does not display one of the tools mentioned above, it is likely because that components has not been registered. To use a missing component, add the COM Add-ins button to a toolbar and click it. If the desired add-in is not listed, you must add it. The following files correspond to their respective Microsoft Project 98 Macros.

Adjust Dates Macro – adjdate.dll

Analyze Timescaled Data – anlyzts.dll

Pert Analysis – pertanl.dll

Page 358: Project 2000 Training Manual

Module 3.5 135

Printing Although printing is largely the same in Microsoft Project 2000, there have been a few improvements. Most of these are found in the Page Setup dialog box. Lets take a look at them.

Changing Paper Size You can now control the size of the paper within Microsoft Project. This new option is found in the Page Setup dialog box under the Page tab. Note that you can only change paper size to one supported by the selected printer driver. If no driver is selected, this option will be disabled.

Figure 1

First Page Number Right below the option to change the paper size, you will find the First Page Number option. This option allows you to start page numbers at the desired number. The default for this option is AUTO and will start page numbering at the number one.

Page 359: Project 2000 Training Manual

136 Module 3.5

Project Fields in Headers, Footers, and Legends Microsoft Project 2000 now also allows you to insert Project fields into your Headers, Footers, or Legends. This allows you to place key information about your project as a whole at the top or bottom of each page of your printed document.

Figure 2 - Page Setup Headers

Behind the Scenes There have also been a few printing improvements behind the scenes. Features such as scaling, fit-to-page, and placement of text on a Gantt Chart timescale have all been improved.

Page 360: Project 2000 Training Manual

Module 3.5 137

Working on the Web Microsoft Project 2000 is also capable of sharing information by publishing static information to a web page. (Note that this is different than the dynamic web solution that is provided by Microsoft Project Central. We will talk about Microsoft Project Central later on in this course.) The process to save project information to a static Web page is very similar to the process in Microsoft Project 98. However, there have been a few improvements.

Copy Picture Command The first step in saving to a static Web page is to save an image of your project. This is accomplished via the copy picture command. Looking at the User Interface, there are no changes to this process. However, this option has been rewritten to allow users to create better GIF images of their project.

You are still limited to a certain size of GIF file when using Copy Picture. However the permitted size has been increased over Microsoft Project 98. You can now create a GIF image 100 inches by 100 inches in size. If you exceed this size, you are notified by the following alert.

Figure 3 - Copy Picture Options

This alert gives you two options: scale the image to size or truncate the image. The default is to scale the image. Although Microsoft Project 2000 does a better job of scaling and maintaining a readable image than Microsoft Project 98, you can create images that are too large to scale to a readable format. In some cases, truncating may be a better choice.

Page 361: Project 2000 Training Manual

138 Module 3.5

Save As Web Page After creating a GIF image to save with your web page, you can create a static HTML page by selecting Save to Web Page found on the File menu. Doing so displays the following dialog box:

Figure 4 – Save As Web Page

Clicking Save takes you to the Export Mapping dialog box.

Figure 5 – Export Mapping

Page 362: Project 2000 Training Manual

Module 3.5 139

Although this dialog box has changed in its appearance since Microsoft Project 98, its functionality is the same. Here you can save the information that you want by selecting, editing, or creating a data map. The options available within data maps are also identical in functionality to their Microsoft Project 98 counterpart.

Web Folders and My Network Places When you are saving a file such as a static web page, you may notice a new option. When running on Windows 9.x and Windows NT; this option is called Web Folders. On Windows 2000, this option is called My Network Places. This feature allows you to create links to locations on a network to which you can save files. Web Folders in particular allow you to save files to web servers.

Figure 6

Page 363: Project 2000 Training Manual

THIS PAGE INTENTIONALLY LEFT BLANK

Page 364: Project 2000 Training Manual

PSS Learning Services

Module 4: Microsoft Project 2000 Advanced Topics

Contents

Lesson 1: Installing Microsoft Project

Central 1

Lesson 2: Using Microsoft Project Central 24

Lesson 3: Microsoft Project 2000 OLE DB

Provider 56

Lesson 4: Working With Databases 62

Page 365: Project 2000 Training Manual

Information in this document is subject to change without notice. The names of companies, products, people, characters, and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product, or event, unless otherwise noted. Complying with all applicable copyright laws is the responsibility of the user. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Microsoft Corporation. If, however, your only means of access is electronic, permission to print one copy is hereby granted. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2000 Microsoft Corporation. All rights reserved. Microsoft, Active Accessibility, ActiveX, FrontPage, MS-DOS, Outlook, PhotoDraw, PowerPoint, SQL Server, Visual Basic, Visual C++, Visual J++, Windows, and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 366: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 1

Lesson 1: Installing Microsoft Project Central

Overview Microsoft® Project Central is a separate software product that integrates with Microsoft Project 2000 to provide interactive web-based communications for managing a project. In this lesson we will discuss the installation of Microsoft Project Central.

What You Will Learn After completing this lesson, you will be able to:

� List system requirements for installing Microsoft Project Central

� Install Microsoft Project Central

� List and describe components of Microsoft Project Central

� List limitations related to installed browser

Page 367: Project 2000 Training Manual

2 Module 4: Microsoft Project 2000 Advanced Topics

Setting up Microsoft Project Central Microsoft Project Central is a web-based application that relies on Internet Information Server (IIS) and Microsoft® SQL Server (or another database) to provide web-based workgroup functionality to Microsoft Project 2000. Although Microsoft Project Central is an application, its architecture is somewhat different from that of a program such as Microsoft Project 2000. Microsoft Project Central relies not only on the operating system for functionality; it also relies on Back Office components IIS and SQL Server.

System Requirements Microsoft Project Central has the following minimum requirements:

� Microsoft® Windows NT® Server version 4.0 with Service Pack 4 or later, or Microsoft® Windows® 2000 (Advanced Server or Professional).

� If you use Microsoft® Windows NT® 4.0, then you also need Windows NT Option Pack 4.0 so that you can install Microsoft Internet Information Server version 4.0. If you use Windows 2000, you must install Microsoft Internet Information Server 5.0, which is shipped with Windows 2000.

� If you use Windows NT 4.0, you must install Microsoft Internet Service Manager as an option with Microsoft Internet Information Server 4.0. If you do not have Windows NT Server, you can also use Windows NT 4.0 Option Pack 4.0 with Windows NT Workstation; however, you will be limited to 10 connections. (To obtain either the Windows NT Service Pack or Option Pack 4.0, go to: http://www.microsoft.com/NTServer/all/downloads.asp).

� Microsoft Internet Explorer 5, available on the Microsoft Project 2000 CD.

� Microsoft® SQL Server 7.0, Oracle Server 8.0, or Microsoft Data Engine (MSDE). MSDE is included and installed with the Microsoft Project Central server setup. MSDE is installed if it's not already on the system and SQL Server is not installed. Microsoft Data Access Components (MDAC) version 2.5 is also installed with the Microsoft Project Central server setup.

� Available hard-disk space: 100–150 MB recommended.

� Processor: Intel Pentium 200 MHz or higher, or similar processor.

� Memory requirements: 128 MB RAM or more.

The hard disk and memory requirements are for a default installation. Your hard disk and memory requirement may vary depending on your configuration and the options you choose to install.

Page 368: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 3

Microsoft Project Central Components In general, Microsoft Project Central can be thought of in two parts: the Client Side and the Server Side. The client side refers to the components of Microsoft Project Central that are necessary to access Microsoft Project Central. The server side refers to the components that serve up information to the client via the web.

On the client side we have the following:

� Internet Explorer 4.01 or later, or the alternate Browser Module for Microsoft Project Central

� Files installed with PJCLIENT.cab

We will discuss the client side and its components in more depth later in this lesson.

On the server side we have the following components:

� Active Server Pages (ASP) running on IIS

� Microsoft Project Central connected to a database via OLE DB

� A Microsoft Project project connected to Microsoft Project Central via OLE DB

Each of these components can be thought of as an architectural area. As we look at the features of Microsoft Project Central in more depth, we will discuss how each of these three components relates to Microsoft Project Central features.

Microsoft Project Central Setup Before viewing those features, however, let’s install Microsoft Project Central. Like Microsoft Project 2000, Microsoft Project Central uses Windows Installer during the installation process. Microsoft Project Central has the same general steps to installation that Microsoft Project 2000 has. Running setup starts the installation process and displays the following screen:

Page 369: Project 2000 Training Manual

4 Module 4: Microsoft Project 2000 Advanced Topics

Figure 1 - Welcome to Microsoft Microsoft Project Central Server

After entering your name and organization and clicking Next, you are taken to the licensing and support information displayed in the following figure.

Figure 2 - Licensing and Support

You must agree to the licensing agreement in order to continue setup. After agreeing and continuing, you will be prompted to choose between Install Now and a Custom Install.

Page 370: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 5

Figure 3 - Ready to Install

Choosing Install Now installs all necessary Microsoft Project Central components plus the Microsoft Data Engine (MSDE). MSDE is a scaled down version of SQL server that is limited to ten connections. It is used as the back end database for “Install Now” installations.

If you already have MSDE, SQL Server installed, or an Oracle database, you must choose custom install. You may also want to choose custom installation if you want to implement tighter security or use Microsoft Project Central for large groups of resources. We will discuss custom installs later on in this lesson.

After you choose Install Now, you will be prompted to input a password and to confirm that password.

Page 371: Project 2000 Training Manual

6 Module 4: Microsoft Project 2000 Advanced Topics

Figure 4 - Passwords

This password is the system administrator password for MSDE. After inputting your password, you will see a progress bar. During the installation, you will also see a dialog box indicating that MSDE is being configured. This configuration may take several minutes.

Setup Behind the Scenes Now that we’ve seen the setup process, let’s look at what happens behind the scenes. During the setup process, there are three main things that are happening:

1. The files necessary to run Microsoft Project Central are being installed and the necessary registry keys put in place.

2. The Microsoft Data Engine (MSDE) is installed and configured to work with Microsoft Project Central. This includes running database scripts to create the necessary tables, fields and default values for Microsoft Project Central.

3. IIS is configured to work properly with Microsoft Project Central.

Each of these steps is essential for Microsoft Project Central to function properly. Let’s take a look at each of these steps in more depth.

Page 372: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 7

Microsoft Project Central Files and Registry Keys

Microsoft Project Central installs files and uses registry keys much like Microsoft Project 2000. It installs its files in the C:\ProjectCentral directory. In this directory it places 18 sub-folders. The sub-folders and a general description of what each folder contains is shown in the following table:

Folder Name Contains

Admin Contains ASP pages that relate to Administrative tasks within Microsoft Project Central.

CustError Contains two HTML files that have custom error messages for Microsoft Project Central.

Download Contains the needed components for the browser to prepare to use OCX components.

Help Contains on-line help information in HTML format

Home Contains ASP pages that relate to the Home page within Microsoft Project Central.

Images Contains images used within Microsoft Project Central.

Includes Header files used by other ASP pages.

Isapi Contains main DLL’s for Microsoft Project 2000 functionality

Library Additional ASP and Microsoft® Visual Basic® Script info

Logon Contains ASP related to logging on to Microsoft Project Central.

Objects OCX Controls for browser to connect

Shell More ASP and JavaScript to support page shell related actions

StatusReports ASP related to status reports

Styles Cascading Style Sheets

Tasks ASP pages related to tasks within Microsoft Project Central

Templates Contains templates used in generating web pages related to responding to messages.

Views ASP pages related to views within Microsoft Project Central

Page 373: Project 2000 Training Manual

8 Module 4: Microsoft Project 2000 Advanced Topics

WebCalendar ASP pages related to getting information from Microsoft® Outlook®.

The main registry key for Microsoft Project Central is the following key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\MS Project\WebClient Server

Within this key are options for the following:

� Languages

� Query File

� Connection Strings

� Username and Password

Microsoft Data Engine

In addition to the files that are strictly Microsoft Project Central files, the Microsoft Data Engine is installed. It is installed in the C:\MSSQL7 directory.

In some situations you may get a message indicating that MSDE is already installed on your system. The following registry key indicates that Microsoft Project Central installed MSDE.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\Web Server\SQLInstalledByPRJ

You may have a similar registry key if MSDE was installed by another application. If such a key exists, Microsoft Project Central will consider MSDE to be installed, regardless of its actual install state. In such situations, MSDE must be uninstalled and the registry key removed before Microsoft Project Central can be installed using the default options.

Page 374: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 9

Internet Information Server

During the installation process, Microsoft Project Central also makes some configuration changes to IIS. First, installation creates a virtual directory (or application) with the name Microsoft ProjectCentral. This virtual directory is pointed at the local directory C:\ProjectCentral. Permissions on this virtual directory are set for Read only. For the application Microsoft Project Central, Execute Permissions is set to Scripts and Executables.

Figure 5 - Microsoft Project Central Properties – Virtual Directory

After the above are done, installation sets and enables default documents for the application. These files are located in the local directory C:\ProjectCentral. They are default.asp and default.htm. These documents are enabled as the default documents via the documents tab as shown in the following image.

Page 375: Project 2000 Training Manual

10 Module 4: Microsoft Project 2000 Advanced Topics

Figure 6 - Microsoft Project Central Properties - Documents

Page 376: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 11

After the default documents have been enabled, authentication options are set for the application as a whole. These options are accessed via the Directory Security tab as shown below.

Figure 7 - Microsoft Project Central Properties - Directory Security

Page 377: Project 2000 Training Manual

12 Module 4: Microsoft Project 2000 Advanced Topics

Clicking on the Edit button underneath Anonymous Access and Authentication Control takes you to the following dialog box.

Figure 8- Microsoft Project Central Properties - Authentication Methods

At the application level, only Basic Authentication and Integrated Windows authentication should be checked. (Note that there are also two individual files on which we will configure authentication options and that their options are different. We will discuss their configuration later on in this lesson.) In some cases where security issues dictate, it is possible to turn off Basic Authentication.

Page 378: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 13

After Authentication options are set for the application as a whole, custom errors are set for the application. This is done via the custom errors tab shown below.

Figure 9 - Microsoft Project Central Properties - Custom Errors

Microsoft Project Central has two custom error messages. In the above dialog box we can see that each of these messages are stored in basic HTML files located in the C:\ProjectCentral\custerror directory.

Page 379: Project 2000 Training Manual

14 Module 4: Microsoft Project 2000 Advanced Topics

Once Custom Errors have been configured, Microsoft Project Central Installation configures authentication options for two individual files. The first is pjdbcomm.dll located in the C:\ProjectCentral\ISAPI directory. Its authentication options are set as shown in the following figure:

Figure 10 - Microsoft Project Central Properties - Authentication

Anonymous Access must be enabled. Basic Authentication and Integrated Windows Authentication are also both enabled. Basic Authentication may be disabled, however.

Page 380: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 15

The second file whose authentication options are set is BasicAuth.asp. This file is located in the C:\ProjectCentral\logon directory. Its authentication options are set as shown in the following figure:

Figure 11 - Microsoft Project Central Properties - Basic Authentication

Anonymous Access and Integrated Windows Authentication are not enabled. Basic Authentication is enabled.

Page 381: Project 2000 Training Manual

16 Module 4: Microsoft Project 2000 Advanced Topics

Working With Databases other than MSDE There are some situations where you may prefer to use a database other than MSDE as the back end for Microsoft Project Central. Such situations include those where you desire a more scalable web-based solution. For example, if you have hundreds of resources connecting simultaneously to Microsoft Project Central, you would want to use a more scalable database like Microsoft SQL Server. Microsoft Project Central supports using MSDE, SQL Server, and Oracle as its back-end database.

Preparing the Database Before you can use a database with Microsoft Project Central, you must first do some preparatory work. The database program must already be installed, a database created, and the necessary tables and fields created before Custom Installation can be run.

Database Installation and Creation

As mentioned above, Microsoft Project Central supports using both Microsoft SQL Server and Oracle. These can be installed on either the same server machine as Microsoft Project Central, or on another machine to which it has a network connection. It is beyond the scope of this course to discuss either the installation of SQL Server and Oracle or the creation of databases in either of these products. For this help, please refer to the product documentation or support offerings for these products.

Creating the Necessary Tables and Fields

Once a database is created, you must create the specific tables and fields that Microsoft Project Central uses. Running three scripts that come with Microsoft Project Central most easily creates these tables and fields.

These scripts are located in the following directory on the install media or install folder:

…\ProjectCentral\ISAPI\1033

For Microsoft SQL Server, these scripts are Crttable.sql, Insdefsq.sql and Insdefsi.sql. For Oracle, these scripts are Crttblor.sql, Insdefor.sql and Insdefoi.sql.

On Oracle, in addition to creating the necessary tables and fields, you must install the Oracle Net8 Client on the Microsoft Project Central server before Microsoft Project Central will work correctly.

For more information, see the srvrsetup.htm document that ships with Microsoft Project Central.

Page 382: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 17

Try This: Run Scripts to Create Microsoft Project Central Tables and Fields

Run the scripts that ship with Microsoft Project Central.

1. Following the steps in the srvrsetup.htm document that ships with Microsoft Project Central, identify the three scripts necessary to create the tables and fields for Microsoft Project Central.

2. Using a text editor, examine the contents of each script.

3. Run the scripts from the command line and examine the database.

Based on your examination of the scripts, does everything look as you expected? If no, what looks different?

Page 383: Project 2000 Training Manual

18 Module 4: Microsoft Project 2000 Advanced Topics

Running Custom Installation

Custom installation is very similar to the Install Now option. In fact, only one dialog box is different. That dialog is shown below:

Figure 12 - Custom Installation

The information asked for in the above dialog is necessary in order for Microsoft Project Central to connect to the prepared database. Let’s look at what each option is specifically asking for.

Database Selection – this selection simply asks if you are using SQL Server or Oracle. Note that SQL and MSDE are grouped together. This is because MSDE is essentially SQL server. It is simply a scaled down version of the database.

Database Server – this option asks for the name of the database server. This is usually the machine name of the computer on which the database is running.

Logon Information – This information asks for the user name and password necessary to logon to the database. By default the user name will be sa and the password will be blank.

Database Name – The database name is the specific database in which the Microsoft Project Central tables and fields were created. This option is not available if you are using an Oracle server.

Page 384: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 19

Try This: Custom Install Microsoft Project Central Install Microsoft Project Central to your local SQL Server.

1. Run setup from the location provided by the instructor.

2. During setup, choose to do a custom installation.

3. Enter the appropriate information to install Microsoft Project Central to use the database created in the previous try this.

4. Make certain to test your connection.

5. Finish Microsoft Project Central installation.

Page 385: Project 2000 Training Manual

20 Module 4: Microsoft Project 2000 Advanced Topics

Preparing a Project to Use Microsoft Project Central To use Microsoft Project Central with Microsoft Project 2000, you must set your Workgroup Options similar to the following:

Figure 13 - Microsoft Project 2000 Workgroup Options

Default workgroup messages must be set to Web and a URL for the Microsoft Project Central Server must also be input.

Microsoft Project Central also has two options for project managers logging onto it. Identification can be accomplished via a Microsoft® Windows® user account or by creating an account specific to Microsoft Project Central. Accounts specific to Microsoft Project Central are stored in the Microsoft Project Central database and are a specific function of Microsoft Project Central.

The “Identification for Microsoft Project Central Server” option is the account that the project manager communicates with to the Microsoft Project Central Server and is the account the manager logs on with to Microsoft Project Central when using a browser. If the “Windows user account” is selected, this is the

Page 386: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 21

account the manager has logged onto their computer with. The “Microsoft Project user name” option corresponds to an existing Microsoft Project Central account or an account that will be created.

Once the above options have been set, Workgroup Messaging (from the project manager perspective) works similarly as it did in Microsoft Project 98. Team Assigns, Updates, and Status Reports are sent from Microsoft Project to the resources using Microsoft Project Central. Messages sent from Microsoft Project 2000 to Microsoft Project Central are buffered via the Microsoft Project Central Spooler.

Microsoft Project Central Spooler

The Microsoft Project Central Spooler is a simple application that resides in your system tray when you send Team Assigns, Updates, or Status Reports to your resources on Microsoft Project Central. This application takes the messages from Microsoft Project 2000 and handles the transmission of them to Microsoft Project Central. This allows you regain control of Microsoft Project 2000 much sooner than if Microsoft Project 2000 handled the transmission itself.

The Microsoft Project Central Spooler also allows you to rollback Microsoft Project 2000 if, for some reason, your messages could not be sent to Microsoft Project Central. The spooler alerts you to such a situation by displaying an exclamation mark on top of its icon in the system tray. To rollback, simply click the icon to display the Microsoft Project Central Spooler. Then click Rollback Project on the Actions menu. This will return your project to the state previous to when you sent the last set of workgroup messages.

Try This: Sending Workgroup Messages Attempt to send workgroup messages to Microsoft Project Central.

1. In a new project, create three tasks and assign a new resource to each.

2. Configure your Project to use Microsoft Project Central for workgroup messaging. Point to your local server.

3. Send a team assign to your resources.

Were you successful in sending the messages?

Page 387: Project 2000 Training Manual

22 Module 4: Microsoft Project 2000 Advanced Topics

Connecting to Microsoft Project Central To connect to Microsoft Project Central, you must have Internet Explorer 4.01 or later installed on your system. Other browsers do not support ActiveX controls in the fashion needed. If you do not want to install Internet Explorer, you must install the Browser Module for Microsoft Project Central. This allows you to continue using the browser of your choice for surfing the Web, but allows you to use the Browser Module to use Microsoft Project Central correctly. It does this by enabling Internet Explorer functionality in Windows, but not registering itself as a browser. The Browser Module for Microsoft Project Central cannot be used as a web browser to view non-Microsoft Project Central sites.

To install the Browser Module, complete the following steps:

1. Run Setupclt.exe from the installation source.

2. Choose either Install Now or Customize. If you choose Customize, the only option you can change is the installation location.

3. After setup has finished, from the Windows Start menu, click Programs and then click Browser Module for Microsoft Project Central.

4. Inside the Browser Module, go to the Tools menu and click Server Settings.

5. Click Add and enter a server name and its address in the format http://<YourServerName>/<VirtualDirectoryName>. An example of a valid address would be http://MyServer/ProjectCentral.

6. Click OK twice.

The default connection state for the Browser Module is LAN without proxy server. If you need to use a proxy server to communicate with your Web Server, do the following:

1. On the Tools menu, click Internet Options.

2. Click the Connections tab, and then click LAN Settings.

3. Type the appropriate proxy information and click OK.

Note that the Browser Module for Microsoft Project Central uses the same connection configuration as that found in the Control Panel. Thus changing this information may affect other applications as well.

Page 388: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 23

Using Internet Explorer If you have Internet Explorer 4.01 or above already installed, you can use it to connect to your Microsoft Project Central Server. The first time you attempt to connect however, Microsoft Project Central will download a file called PJCLIENT.CAB. It contains the following files, which are installed on the client machine:

� Pjcalendar.ocx

� Pjgrid.ocx

� Pjoffline.ocx

� Pjoutlook.ocx

� Pjquery.ocx

� Pjres9c.dll

� Pjsecurity.ocx

� Pjtextconv.dll

� Pjupdate.ocx

� Riched20.dll

These files are used by Internet Explorer to connect to Microsoft Project Central and to render information correctly. In the event that the client machine does not have the proper MDAC components installed, MDAC 2.1 will also be installed on the client machine.

Page 389: Project 2000 Training Manual

24 Module 4: Microsoft Project 2000 Advanced Topics

Lesson 2: Using Microsoft Project Central

Overview In this lesson we will look at the features of Microsoft Project Central and discuss usage of the product. We will also discuss usage in a multi-lingual environment.

What You Will Learn After completing this lesson, you will be able to:

� List features of Microsoft Project Central

� Use Microsoft Project Central features such as delegate tasks, update projects, and view reports

Page 390: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 25

Logging onto Microsoft Project Central

When you log onto Microsoft Project Central, you will have different options available to you depending on which type of user you log in as. This is not a setting that you can control (unless you are the administrator) but rather it is an intrinsic part of your account on Microsoft Project Central.

User Types There are three types of users for Microsoft Project Central. They are:

Resources

Resources are those people assigned to particular tasks within a project.

Managers

Managers could be either Project Managers or managers who simply need to see information regarding a particular resource, but not a project as a whole.

Administrators

Administrators manage the Microsoft Project Central web site. This user type manages users, views, and other Microsoft Project Central configuration information.

Features of Microsoft Project Central What features are available on Microsoft Project Central depend on the type of user logging onto it. Available features expand as users move from a user type of Resource to Manager to Administrator. Below we will detail each of the available features for each user type.

Resource’s Features Resources have the following areas:

Messages

Messages gives you an inbox that shows you the messages received from your manager or other resources (in the case of delegation.) When opening the messages page, you will be presented with a page similar to the following that will list all messages in your inbox.

Page 391: Project 2000 Training Manual

26 Module 4: Microsoft Project 2000 Advanced Topics

Figure 14 - Microsoft Project Central Resource - Messages

If you click on the subject of the message, you will open the message. Doing so will present you with a page that looks similar to the following:

Figure 15 - Messages – Delete/ Reply

Here you have the option of deleting the message, going to the next or previous message (if available) or replying to the message. If you choose Reply, you are presented with a page that looks similar to the following:

Figure 16 - Messages - Accept/Reject

Page 392: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 27

Here you may enter comments, accept or reject messages. Notice also that you have the ability to use active filters to better view tasks in the table. Once you have made any changes that you want to make, you can send or close the message.

If you choose close, any changes you made such as comments will not be saved. Closing a message simply closes the message and none of your customization will be saved. Even if you use the back option of your browser, any customization will be lost.

Page 393: Project 2000 Training Manual

28 Module 4: Microsoft Project 2000 Advanced Topics

Change Password

The change password feature is not available to those users that log on to Microsoft Project Central using a Windows Account. These users are logged onto Microsoft Project Central automatically and do not need to enter their password. Users that use Microsoft Project Central security to log onto Microsoft Project Central will have the change password feature.

The change password page is similar to many other change password dialog boxes. It requires that you enter the old password and then type the new password twice to confirm it. Note that changing your password here does so only for Microsoft Project Central and in no way affects you Windows Account password. If your password is forgotten, the administrator can reset it. The change password screen is shown below:

Figure 17 - Microsoft Project Central - Change Password

Timesheet

The Timesheet page displays your tasks from all projects in which you are involved. This page can be divided into three main areas: View Options, Filter and Grouping, and Delegation.

View Options

The view options section gives you control over how you see your tasks. You can show Scheduled Work, Overtime Work, and Summary Tasks. You can also choose to show tasks that appear in your Microsoft® Outlook® Task List. Note that you must select “Show Outlook Tasks” and click Apply before they will appear in your list. Outlook tasks appear at the bottom of your list under a Summary Task marked Outlook Tasks.

When you choose to show Outlook tasks, you should also note that these tasks would only be displayed for this instance of the Timesheet page. If the “Always Show Outlook Tasks” option is not selected and you go to another page in Microsoft Project Central and then go back to the Timesheet page, your Outlook tasks will not be displayed. This is true even if you do not log off Microsoft Project Central. Outlook tasks are brought into the Microsoft Project Central task list using OLE Automation, similar to the method used to import Microsoft Project tasks into Microsoft Outlook in Microsoft Project 98 when a Team Assign message is accepted by a resource.

Page 394: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 29

If you log onto Microsoft Project Central on a computer where another user who is currently logged in has an Outlook session running, your Outlook tasks will not be displayed in Microsoft Project Central. Instead, the other’s user’s tasks from Outlook will be displayed in your task list within Microsoft Project Central. To correct this, the other user must completely exit the current Outlook session. Then when you choose to display Outlook tasks in your Microsoft Project Central task list, you will have the opportunity to select the profile used.

View Options also give you the ability to choose the timescale and timescale period used to the right of the table. The View Options of the Timesheet page is shown below.

Figure 18 - Microsoft Project Central - Views

In the View Options you can also enter and report actuals and add new tasks. Entering actuals on this page is similar to entering actuals in a Usage view inside Microsoft Project 2000. Actual values are recorded for the corresponding times that you wish to report on. Note that it is not necessary to record actuals and send them to your manager immediately. Actual values can be saved by clicking on the Save Changes button at the top of the page. Doing so gives you the following dialog box:

Figure 19 - Microsoft Project Central - Reporting Actuals

Page 395: Project 2000 Training Manual

30 Module 4: Microsoft Project 2000 Advanced Topics

When you choose to send a status report to your manager, simply click the Send Update button. Doing so will display the following alert:

Figure 20 - Microsoft Project Central - Status Report

Note

Note that the reporting period for the Task Update depends on the dates set in the “Show timescale period from” option. Note also that you must press apply for any changes in those dates to take affect.

Filter and Grouping

The filter and grouping section of the Timesheet page allows you to view information in ways that help you understand your tasks better. It allows you to apply select filters or group your tasks at two levels. It is shown below:

Figure 21 - Microsoft Project Central - Filtering/Grouping

Page 396: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 31

Microsoft Project Central allows you to apply one of eight filters to your tasks. They are as follows:

� All Tasks

� All Tasks Created by Resource

� All Completed Tasks

� All Incomplete Tasks

� All Tasks Deleted in Microsoft Project

� All Newly Assigned Tasks

� All Overdue Tasks

� All Tasks Changed by a Manager

Microsoft Project Central does not have any functionality that allows you to create your own filters. However, you do have the option of using Active Filters. This allows you to filter on any value within any displayed field.

You also have the option to group your tasks. Grouping can be done by Project Name, Start Date, Work, or Task Name. You can also group at a second level by any of the above. Microsoft Project Central does not have any functionality that allows you to create custom groupings. However, as custom fields are added, you my group on those fields. For example, if the project manager adds the hyperlink field to workgroup messages (Tools – Customize – Workgroup) this field will appear in the resource’s task list and the resource can then group on this field.

Delegation

Delegation allows you to delegate tasks to other members of Microsoft Project Central. This option must be allowed by your manager in order for it to be enabled. The Delegation section of the Timesheet page is shown below:

Figure 22 - Microsoft Project Central - Delegation

To Delegate a task, select the task and click the Delegate button. This will display the following page:

Page 397: Project 2000 Training Manual

32 Module 4: Microsoft Project 2000 Advanced Topics

Figure 23 - Delegation – Which Resource

Here you can choose whom you wish to delegate the task to, whether or not you wish to assume a lead role for this task, and whether or not you wish to track this task. Assuming a lead role means that you will receive actuals for the task and must in turn report them to the manager. If you choose to track a delegated task, it simply means that the task will remain in your timesheet and that you will be able to see actuals entered on the task.

Once you have made the above choices, you must click the Next button. This displays the following page:

Figure 24 - Delegation - Information

Here you have the options to enter a text message to the person you are delegating the task to and to make any last minute changes to the task. Note that you can also change the options you selected on the previous page. Once you are finished, you must click the Send button to finish delegating the task. Doing so displays the following alert:

Page 398: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 33

Figure 25 - Delegation Confirmation

If you originally decided to assume a lead role for a task and subsequently decide to relinquish this role to someone else, you can do so by clicking on the Delegate Lead Role button. If your manager has not updated the delegated task, you will receive the following alert:

Figure 26 - Delegated Task not updated

If your manager has updated the delegated task and you click on the Delegate Lead Role button, you will receive the following page:

Figure 27 - Delegate Lead Role

Page 399: Project 2000 Training Manual

34 Module 4: Microsoft Project 2000 Advanced Topics

Here you can specify to whom you wish to delegate the lead role and add any comments on that task. Clicking next allows you to make any last minute changes and send a message with the role delegation. To finish the process, click send. You will then be returned to the Timesheet page.

Personal Gantt

The Personal Gantt allows you the same options as the Timesheet. It simply displays a Gantt Chart to the right of your task list. Note: The bars represent the resource’s assignment on a task and not the actual task. If, for example, a task is scheduled to from 1/1/00 to 1/15/00, but the resource is scheduled from 1/5/00 to 1/7/00, the bar is drawn from 1/5/00 to 1/7/00. The only additional option you have with the Gantt Chart is the zoom control. The Gantt Chart Page is shown below.

Figure 28 - Microsoft Project Central - Personal Gantt

Note

You can toggle between the Timesheet and Gantt Chart by using the button directly above the Gantt Chart.

Page 400: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 35

New Task

Microsoft Project Central allows you to add new tasks to your list. To do so, click the New Task button. Doing so displays the following page:

Figure 29 - Microsoft Project Central - Add Task

Here you can specify the project the task should appear in (if there are multiple projects you are working on) and if the new task should be a subtask of another, existing task. You can also specify the name of the task, start date, and work involved in the task.

Once you have indicated the necessary information, you must click Create Task. This puts the new task in your task list but does not automatically send it to your manager. Tasks that have not yet been sent to your manager will have a plus sign in the indicator column of the task list. New tasks will be sent to the manager as part of any task updates that you send.

Transfer Outlook Calendar

Transfer Outlook Calendar allows you to transfer non-working time from your Outlook calendar into Microsoft Project Central. Clicking on this option takes to a page that is the first in a series that form a wizard that leads you through the steps of transferring your Outlook calendar information. This page is shown below.

Page 401: Project 2000 Training Manual

36 Module 4: Microsoft Project 2000 Advanced Topics

Figure 30 - Transfer Non-Working time

Here you can select to send the update to your manager or to your Timesheet. Sending the items to your manager allows him to see non-working time and update the project appropriately. Sending the items to your timesheet does not allow your manager to see the non-working times. The transferred items are not shown even when a task update is sent. Clicking on Next takes you to the following page:

Figure 31 - Outlook – Transfer Nonworking time update

This page allows you to choose the time period from which you wish to transfer your Outlook calendar items from. You have options of choosing a pre-defined period or specifying the time period yourself. You also have the option of specifying the time limit of the items you’d like to transfer. Clicking Next takes you to the following page:

Page 402: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 37

Figure 32 - Outlook Transfer - Time Period

Here you are given lists of items to be transferred to Microsoft Project Central. If you chose to transfer the items to your Timesheet, you must independently choose to send each item to the timesheet and you must also specify the category you wish to send it to. Clicking Next provides a list of Managers to select and send an update to.

Figure 33 - Microsoft Project Central - Update Managers

Clicking Next gives you a preview of the information to be sent to your Timesheet as shown below.

Page 403: Project 2000 Training Manual

38 Module 4: Microsoft Project 2000 Advanced Topics

Figure 34 - Microsoft Project Central - Entries from Outlook

Clicking send will give you a confirmation alert that your timesheet has been updated.

Work Day Change

This feature gives you a three-step process by which to change your working time. The first page is shown below:

Figure 35 - Microsoft Project Central - Work Day

Here you specify the period you want to change and you specify whether you are changing it from working to non-working or vice-versa. Clicking on next takes you to the following page:

Page 404: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 39

Figure 36 - Microsoft Project Central - Work Day Changes Sent to Managers

Here you specify which person you would like to send your update to. Clicking Next takes you to the final screen shown below:

Figure 37 - Microsoft Project Central - Work Day change

Here you review the information that will be sent. Clicking the Send button sends the information to those you specified in the second step.

Delegation

Selecting this option takes you to the Delegation section of the Timesheet view. For more information on this feature, see Timesheet above.

Overview (of Views)

The Overview page simply gives you a page that leads you to the next two options: View your Portfolio and View Assignments. Both of these options are views.

Page 405: Project 2000 Training Manual

40 Module 4: Microsoft Project 2000 Advanced Topics

Views allow you to see only certain areas of projects or views allow you to see more than just the tasks you are working on and it allow managers to communicate critical information about their projects. The Microsoft Project Central administrator designates the views that workgroup members can use to see project information and defines exactly what information users can see.

The project manager may need to coordinate with the system administrator to be sure all users can view the information they need.

View Your Portfolio

A portfolio allows you to view multiple projects within Microsoft Project Central. As a project team member, you can view detailed information about projects as specified by your system administrator in your portfolios. Below is an example of just such a portfolio view.

Figure 38 - Microsoft Project Central - Portfolio

View a Project

When you see a project in the Portfolio view, you have the option to “open in Microsoft Project” or to “drill in-to” to see the project. If you open the project in, the project is loaded into Microsoft Project where you can then view, print, make changes, etc. This option requires that Microsoft Project 2000 be installed on the computer.

If you drill into the project by clicking the task name, the project is loaded from its original location (an MPP file on a network file share or in a database such as Microsoft SQL Server) using the Microsoft Project 2000 OLE DB provider. The pertinent information is extracted and the results are displayed in the browser using the same control that displays the user’s Timesheet. Drilling into a project does not require Microsoft Project 2000 to be installed on the system. This makes it ideal as a project viewer. Below is an example of a Project View:

Page 406: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 41

Figure 39 - Microsoft Project Central – Project View

View Assignments

The view assignments page allows you to see assignment information contained within Microsoft Project Central for assignments that you normally would not have permission to see. Below is an example of an assignment view.

Figure 40 - Microsoft Project Central - Assignments

Overview (of Status Reports)

Status Reports in Microsoft Project Central are similar to those from Team Manager. Instead of being a report that updates actuals (reporting of actuals is now done through a Task Update via the Timesheet feature) Status Reports allow you to specify topics and then report about those topics by writing. To

Page 407: Project 2000 Training Manual

42 Module 4: Microsoft Project 2000 Advanced Topics

see an example of a Microsoft Project Central Status Report, see the following section entitled “Submit a Status Report.”

The Overview of status reports page shows all requested status reports and also gives you the option of submitting an un-requested status report. Below is an example of this page.

Figure 41 - Microsoft Project Central - Status Reports

Submit a Status Report

This page allows you to respond to a requested status report that was set up by your manager, or submit a new report that you create yourself. Below is an example of a status report.

Figure 42 - Microsoft Project Central - Submit Status Report

Once you write your report, you can fill save or send your report.

Page 408: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 43

Manager’s Features In addition to the features available to a resource, managers have the following features:

Rules

Rules allow a manager to process messages and update projects automatically. Clicking on Rules takes you to the following page:

Figure 43 - Microsoft Project Central Manager - Rules

Here you will see a list of all created rules, along with some basic information about the rule such as the types of messages affected and the resources that the rule applies to. In addition, there is a checkbox that determines whether the rule is active or disabled.

If there are no rules in you list or if you want to process messages in a new way, you must create a new rule. Doing so is a three-step process. To create a rule, click the New Rule button. This opens the following page:

Page 409: Project 2000 Training Manual

44 Module 4: Microsoft Project 2000 Advanced Topics

Figure 44 - Microsoft Project Central Manager - Rules Wizard

Here you can specify the types of messages that you wish to process. Note that you can use rules to process all New Task Requests, all Task Delegation Requests, all Task Updates and Team Status Reports, as well as Task Updates and Team Status Reports which meet criteria that you specify.

After you choose the types of messages to process, clicking Next takes you to the following page:

Figure 45 - Microsoft Project Central Manager - Rules Wizard Step 2

Here you specify the projects against which this rule will be applied. Note that you can also choose to apply this rule against all future projects. Once you have specified the projects that you want, clicking next takes you to the following page:

Page 410: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 45

Figure 46 - Microsoft Project Central Manager - Rules Wizard Step 3

Here you specify the resources and Microsoft Project Central users for whom you want this rule to apply to. Note that once again you can apply this option to all future resources. This page also gives you the opportunity to change the name of the rule.

Rules only apply to messages that are received after the rule has been implemented. IF there are currently messages in the inbox, these will not be processed by a newly created rule.

To modify a rule, select the rule and click the Modify Rule button. This will lead you the same three pages that you encounter when creating a rule.

Request a Status Report

This feature is essentially a wizard for creating and requesting a Status Report. It also allows you to edit or delete existing status reports. These options are shown on the following page:

Figure 47 - Microsoft Project Central Manager - Request Status Report

Page 411: Project 2000 Training Manual

46 Module 4: Microsoft Project 2000 Advanced Topics

The process of creating a new status report is a four-step process. The first step is shown below.

Figure 48 - Microsoft Project Central Manager - Status Report Step 1

Here you are given the options of giving the status report a name, selecting the reporting period and recurrence of the status report, and selecting when the report is due. After selecting these options, clicking Next displays the following page.

Figure 49 - Microsoft Project Central Manager - Status Report Step 2

Here you select the resources that must respond to this status report. Notice that when you select a resource, it has a check in front of its name. This check signifies that its report will be aggregated automatically into a group report. After you have selected the appropriate resources, clicking Next displays the following page.

Page 412: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 47

Figure 50 - Microsoft Project Central Manager - Status Report Step 3

Here you can specify the categories that you want your report to contain. Notice that these categories are not directly related to any particular part in Microsoft Project and that they can be whatever you want. These categories allow you (as the manager) to create a system for capturing pertinent information that may not necessarily be reflected in a single Project file. Once you have specified the topics for your Status Report, clicking Next displays the following page.

Figure 51 - Microsoft Project Central Manager - Status Report Step 4

Here you have the option of saving your Status Report request or sending it immediately.

Administrator’s Features Administrators have all features available to resources and managers in addition to the following features:

Administrative Overview

The Administrative Overview page provides links to the various areas that need to be managed by a Microsoft Project Central administrator. It also provides a link to the Microsoft Project Central server setup document that we will reference several times in this section. An example of the Administrative Overview page is provided below:

Page 413: Project 2000 Training Manual

48 Module 4: Microsoft Project 2000 Advanced Topics

Figure 52 - Microsoft Project Central Administrator - Overview

Users

The Users page provides you with a location to add, modify, delete, or merge user accounts. An example of the Users page is provided below:

Figure 53 - Microsoft Project Central Administrator - Users

Adding and modifying users is very similar. To add or modify a user, click the corresponding button and edit the information for the user. The available information that needs to be edited is authentication type and the user’s role. Depending on the authentication type, you may need to provide additional information such as a password. An example of the Add User page is provided below:

Page 414: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 49

Figure 54 - Microsoft Project Central Administrator - Add Users

Deleting user accounts does not remove the resource from the Microsoft Project Central database. Instead, it only inactivates the resource and prevents the user from seeing his or her name and logging on. It also prevents a manager from sending further “Team” messages to that user. The account inactivation instead of full deletion is done to prevent historical information such as Actuals and status reports from being lost.

Merging user accounts allows you to combine two separate user accounts into one single account. This should be done only in situations where both accounts represent the same person.

In order to merge user accounts, Microsoft Project Central must be set to single user mode. Once this has been done, simply select the two accounts that you wish to merge. Upon selection, a brief paragraph below the accounts will describe what the result will be based upon your selection. In order to make the selection permanent, click Save Changes.

Once you have merged accounts and clicked Save Changes, there is no way to separate the two accounts other than by re-creating it from scratch.

Caution

Page 415: Project 2000 Training Manual

50 Module 4: Microsoft Project 2000 Advanced Topics

An example of the Merge User page is provided below:

Figure 55 - Microsoft Project Central Administrator - Merge User

Delete From Database

The Delete from Database page allows you to delete items from the Microsoft Project Central database. For more detailed information on deleting items from the database, refer to the Microsoft Project Central server setup document. An example of the Delete From Database page is provided below:

Figure 56 - Microsoft Project Central Administrator - Delete from Database

Page 416: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 51

Although noted in the Microsoft Project Central server setup document, it is worth noting again that once items are deleted from the database, the information no longer resides in the Microsoft Project Central database, but does still exist in the original Project file.

Customize

Clicking on Customize takes you to the Administration Overview page. Here you will find links to all of the areas that you can customize.

Nonworking Time Categories is the first area that you can customize. This allows you to set up

categories such as vacation or sick leave that users can report time against. An example of the Nonworking Times Categories page is provided below:

Figure 57 - Microsoft Project Central Administrator - NonWorking Time

Note that you must click Save Changes at the top of the page for any new categories to be saved. Also, note that there is a column on the left titled Code. This column allows you to enter codes associated with the nonworking time category. These codes do no interact with the functionality of Microsoft Project Central and are not mandatory. However, they are saved to the Microsoft Project Central database and can be used in custom solutions that use the Microsoft Project Central Database.

Gantt Bar Styles and Timescale is the next area that you can customize. This area allows you to

set options to control the formatting and display of Gantt bars and the timescale in Gantt Charts. An example of the Gantt Bar Styles and Timescale page is provided below:

Caution

Nonworking Time Categories

Gantt Bar Styles and Timescale

Page 417: Project 2000 Training Manual

52 Module 4: Microsoft Project 2000 Advanced Topics

Figure 58 - Microsoft Project Central Administrator - Gantt Bar Styles

Gantt Charts are used not only in the Timesheet’s Gantt Chart view, but can also be used in any customized views that you create.

Task Delegation Settings is the next area that you can customize. Although the name of the page says

“settings,” in reality there is only one setting. This allows you to specify whether task delegation should be enabled or not. An example of the Task Delegation Settings page is provided below:

Figure 59 - Microsoft Project Central Administrator - Task Delegation

Task Delegation Settings

Page 418: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 53

Security – Account Creation is the next area that you can customize. This page allows you to set

options controlling how user accounts are created. There are two available options. The first is “Allow Managers to create accounts for themselves and their resources while sending workgroup messages or requesting status reports.” This option lets project managers create Microsoft Project Central accounts from within Microsoft Project 2000. The second option is “Allow resources to create accounts for other resources while delegating tasks.” This option allows resources create new Microsoft Project Central users to whom they can delegate tasks. An example of the Security – Account Creation page is provided below:

Figure 60 - Microsoft Project Central Administrator - Security

Authentication Options is the next area that you can customize. This page allows you to specify the authentication methods used by Microsoft Project Central server. Microsoft Project Central allows three options for authentication: Mixed, Windows NT Authentication Only, and Microsoft Project Central Server Authentication Only. For more detailed information on what is involved in each of these options, see the Microsoft Project Central server setup document.

Security - Account Creation

Authentication Options

Page 419: Project 2000 Training Manual

54 Module 4: Microsoft Project 2000 Advanced Topics

An example of the Authentication Options page is provided below:

Figure 61 - Microsoft Project Central Administrator - Authentication

Add to Home Page is the last area that you can customize. This page allows you to Add your own links, text or custom

content to be displayed on the Home Page. Simply entering a URL for the desired link or to the desired content does this. An example of the “Add to Home Page” page is provided below:

Figure 62 - Microsoft Project Central Administrator - Add to Home Page

Add to Home Page

Page 420: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 55

Manage Views

The Manage Views page allows you to create views that let you to see different aspects of your project information. A view is composed of a set of fields and filters that allows you to focus on only certain areas of your projects. You can create and define your own views to see a collection of projects (Portfolio View), to see details of an individual project (Project View), or to look at Microsoft Project Central assignment information (Assignment View).

Who can see a particular view is dependent on which user category is assigned to a particular view. A user category is a mapping of users to projects and views with which they can see project information.

Microsoft Project Central includes the following predefined categories:

� Team Member

� Project Manager

� Resource Manager

� Executive

By default, all users defined as resources belong to the Team Member category, and users defined as project managers belong to the Project Manager category.

The Resource Manager and Executive categories do not contain any users by default. You can add users to these categories manually either in the Categories page or in the User Permissions for Views page.

You can also create a new category or modify an existing one. For each category, you can specify the users that belong to that category, the projects those users can see, and the views with which they can look at the collection of projects, individual projects and resource assignment information.

For more detailed information on which types of views are available and how those views are setup, see the Microsoft Project Central server setup document.

Server Mode

Server Mode allows you to set the server from normal (or multiple user) mode to single user mode or vice versa. This switch is sometimes necessary in order to accomplish certain administrative tasks such as deleting items from the database or merging user accounts.

Before setting the server to Single-User Mode, you will need to make sure that no users are currently using the Microsoft Project Central server database; otherwise this could result in inconsistent data in the database. See the document on srvrsetup.htm for information on how to do this.

Page 421: Project 2000 Training Manual

56 Module 4: Microsoft Project 2000 Advanced Topics

Lesson 3: Microsoft Project 2000 OLE DB Provider

Overview Microsoft Project 2000 provides a native OLE DB provider through which Microsoft Project Central connects to a project file (either MPP or stored in a database) to provide views. Additionally, the Microsoft Project 2000 OLE DB provider can be used in Data Access Pages and other custom solutions. In this lesson we will discuss the applications and limitations of the Microsoft Project 2000 OLE DB provider.

What You Will Learn After completing this lesson, you will be able to:

� Create a Data Access Page (DAP) in Access using the Microsoft Project 2000 OLE DB Provider

� Use Microsoft® ActiveX® Data Objects (ADO) within Microsoft Visual Basic for Applications (VBA) to Test a Connection to an MPP file using the OLE DB Provider from Microsoft Project 2000

� Discuss the applications and limitations of the Microsoft Project 2000 OLE DB provider

Page 422: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 57

The Microsoft Project 2000 OLE DB Provider The Microsoft Project 2000 OLE DB Provider is essentially one file named PJBKND09.DLL . By default it is installed when you install Microsoft Project 2000 and/or Microsoft Project Central and it is located in the C:\Program Files\Microsoft Office\Office folder. The Microsoft Project 2000 OLE DB Provider allows you to directly access data from a project file. This can be accomplished either programmatically using ADO, or via a Data Access Page (DAP). The Microsoft Project 2000 OLE DB provider is read-only which means you cannot use the provider to write information to a project file. The provider also does not expose timephased data.

Microsoft Project OLE DB Provider Registry Keys In addition to the PJBKND09.DLL file, the OLE DB Provider for Microsoft Project 2000 relies on the following eleven registry entries. Each key’s default value is also listed below in italics.

1. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}

Microsoft.Project.OLEDB.9.0

2. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\Implemented Categories

This key has no value.

3. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\Implemented Categories\{D267E19A-0B97-11D2-BB1C-00C04FC9B532}

This key has no value.

4. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\InprocServer32

C:\PROGRA~1\MICROS~3\Office\PJBKND09.DLL

5. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\InprocServer32

Free

6. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\OLE DB Provider

Microsoft Project 9.0 OLE DB

7. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\ProgID

Microsoft.Project.OLEDB.9.0

8. HKEY_CLASSES_ROOT\CLSID\{7083219E-0241-11D2-BD0E-00C04FB6F5D0}\VersionIndependentProgID

Microsoft.Project.OLEDB

9. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\MS Project\OLE DB Provider\TimeBeforeRefresh

1

Page 423: Project 2000 Training Manual

58 Module 4: Microsoft Project 2000 Advanced Topics

10. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\MS Project\OLE DB Provider\TimeBeforeUnload

600

11. HKEY_LOCAL_MACHINE\Software\Microsoft\Office\9.0\MS Project\OLE DB Provider\TimeOutOnLoad

90

Verifying that Microsoft Project OLE DB Provider is on the System Because the Microsoft Project OLE DB Provider does not have its own user interface, it can sometimes be difficult to verify if the provider is installed on the system, if it is configured correctly, and if it is operational.

This is especially true if you are attempting to access information via the provider and you are getting unexpected results. Is it because you are not creating your Data Access Page correctly? Is it because your ADO syntax incorrect? Or is the Microsoft Project 2000 OLE DB Provider simply not installed on your system correctly? Answering these questions definitively can be frustrating. Luckily Microsoft has provided a tool that answers the last question.

To better understand the components that are installed on your system, Microsoft created the MDAC Component Checker. Although it was not designed exclusively for use with the Microsoft Project 2000 OLE DB Provider, it does a great job at cataloging it and other MDAC components installed on your system.

For more information, on the Microsoft MDAC Component checker, see the Appendix 4: Component Checker, or go to http://www.microsoft.com/data/download.htm.

Try This: Using the MDAC Component Checker Use the MDAC Component Checker to verify that the Microsoft Project 2000 OLE DB Provider is installed correctly on your system.

1. Download and install the MDAC component checker from http://www.microsoft.com/data/download.htm.

2. Run the component checker and perform an analysis of your machine to automatically determine the version of MDAC that is on your machine.

3. Check to see what OLE DB providers are installed on your system.

Are there any OLE DB providers related to Microsoft Project? If yes, what are their names and what is their version numbers.

Page 424: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 59

Creating a Data Access Page Microsoft Project 2000 exposes information via an OLE DB Provider. This is a great way to get simple information directly from a project file and display that information on the web. However, the Microsoft Project 2000 OLE DB Provider’s functionality for Data Access Pages is limited. This is because the Microsoft Project 2000 OLE DB Provider does not support joins.

What are joins? Joins allow you to relate information from one table to that in another. Without support for joins, you are limited to displaying the information from one and only one table within your Data Access Page. Microsoft Project 2000 exposes a number of tables, each containing varying numbers of fields. You should carefully note which fields are available in each table before creating a Data Access Page. This is because you can effectively only use one table per data access page.

For more information, on which fields are available in which tables, see the “Ole_db.htm” document that ships with Microsoft Project 2000.

Try This: Create a Data Access Page Create a Data Access Page to see firsthand the limitations that occur when using the Microsoft Project 2000 OLE DB Provider.

1. In Access 2000, create a new DAP using the design view.

2. On the Provider tab, choose Microsoft Project OLE DB Provider for MS-Project 9.

3. On the All tab, edit the Project Name value by entering the path to your project file.

4. On the Connection tab, click the Test Connection button. If successful, click OK. If not, double check the Project Name value and try again.

5. Try adding different fields to your table from different tables.

Are you able to successfully add fields from different tables? Why or why not?

Page 425: Project 2000 Training Manual

60 Module 4: Microsoft Project 2000 Advanced Topics

Connecting to a Project File via OLE DB Although Data Access Pages are limited by the functionality of the Microsoft Project 2000 OLE DB Provider, you can still access a great deal of information via OLE DB. This can be accomplished programmatically using ADO and the programming language of your choice. Detailed information on programming with OLE DB and ADO is beyond the scope of this course. However there are many resources available that will give you detailed information on programming with OLE DB. One such source is listed below.

For more information, on programming with OLE DB, see “Microsoft OLE DB 2.0 Programmer’s Reference and Data Access SDK” published by Microsoft Press.

Although we will not detail programming with OLE DB per se, it is important that you are able to programmatically establish a connection with the Microsoft Project 2000 OLE DB Provider.

You can test the connection to a given file via the OLE DB provider by using the following VBA code in an application such as Excel. Remember to reference the ADODB library (referred to as Microsoft® ActiveX Data® Objects 2.5 Library inside References) before running the code:

Sub ConnectionTest()

Dim cnn As ADODB.Connection

Dim strPrj As String

strPrj = "c:\my documents\Project1.mpp"

Set cnn = New ADODB.Connection

cnn.ConnectionString = "Provider=MSProjOledb9;Project Name=" &

strPrj

cnn.ConnectionTimeout = 30

cnn.Open

If cnn.State = adStateOpen Then

MsgBox "OLE DB Connection to " & strPrj & " Is Functioning

Properly."

cnn.Close

Else

MsgBox "OLE DB Connection to " & strPrj & " Was Not

Established."

End If

End Sub

Page 426: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 61

Try This: Test an OLE DB Connection to an MPP File Try seeing if you can open an OLE DB connection to an MPP file from inside Excel.

1. Create a project file and save it to the following location: “C:\My Documents\Project1.mpp.”

2. Inside the Excel VBE, click References on the Tools menu.

3. Put a check mark next to Microsoft ActiveX Data Objects 2.5 Library and click OK.

4. Copy the code from the previous page into a module inside Excel.

5. Run the code.

Were you able to make a successful connection? Why or why not?

Page 427: Project 2000 Training Manual

62 Module 4: Microsoft Project 2000 Advanced Topics

Lesson 4: Working With Databases

Overview Keeping projects in a database has significant value for organizations that employ customized applications that integrate with Microsoft Project via a database. In this lesson, we will discuss changes to the database schema, talk about how to make different changes to project data, and discuss other database related issues.

What You Will Learn After completing this lesson, you will be able to:

� Describe the database schema

� Make changes to a project via the database

� Troubleshoot problems with database related items

Page 428: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 63

Database Changes

Expand time phased data in the database

This option is found on the Save tab of the Tools/Options menu. It gives you the choice of saving time phased data in either binary or readable formats. Binary has the advantage of being faster and smaller in size. The readable format has the advantage of being editable in the database. When this option is checked, time phased data will be written to the database in the readable format.

Figure 63 - Expand time phased data

Page 429: Project 2000 Training Manual

64 Module 4: Microsoft Project 2000 Advanced Topics

Performance Has Been Improved

In addition to being able to save time phased data in the binary format only, Microsoft Project 2000 has made other changes to improve performance when saving to a database. Among these are the following:

� Database Format Specific Serializes – Microsoft Project 2000 has separate serializes that are optimized to open Microsoft Project databases quickly from either the Microsoft Project 98 or Microsoft Project 2000 database formats.

� Creating Stored Procedures on the Database – This allows Microsoft Project to reduce the amount of SQL calls used for some operations. This in turn lowers network traffic and increases speed.

� Binary Time phased data saved to the same field – In Microsoft Project 98, binary time-phased data was saved in multiple binary fields in the Task_Information table. This information was saved on a task-by-task basis. In Microsoft Project 2000, time-phased data will be stored in a single field found in the Project_Information table. (Unless there are Notes already stored in the binary field for a given task.)

Redesigned Database Format

The database structure (tables and fields) in Microsoft Project 2000 databases has changed significantly. For example, all Reserved_ tables and fields have been dropped. The new format is simpler, easier to understand and thus modify. We will look at this structure in more detail as we review the ProjDB.htm file during this class.

Restrictions on DSN Names Removed

Microsoft Project 98 required that all users accessing the same database use a DSN with the same-name. If they did not, users could experience problems when using inserted projects, resource pools, or cross-project links. In Microsoft Project 2000, users no longer are forced to use the same DSN name. Microsoft Project 2000 databases now store connection information independent of the specific DSN used. Because of this, users may now also use a File DSN.

Unexpected Session Termination Does Not Require a Reconnect to Release the Database

In Microsoft Project 98, if you were unexpectedly or forcibly disconnected from a Microsoft Project database, you were forced to reconnect to the database in order to release it. In Microsoft Project 2000, we create a stored procedure on the database (SQL and Oracle only) that checks to make sure the current owner of R/W permissions is still connected every time a new user connects to the database. If the owner of the R/W permissions is no longer connected, the new user will be given R/W permissions.

Saving to a database of any type DOES NOT support saving Unicode information. This means that foreign language information such as Japanese or Chinese text will not be saved.

Page 430: Project 2000 Training Manual

Module 4: Microsoft Project 2000 Advanced Topics 65

Reviewing the ProjDB.htm Document Microsoft Project 2000 ships with a document called ProjDB.htm. This file is the Microsoft Project 2000 equivalent of the Database.wri file that shipped with Microsoft Project 98. In other words, it contains detailed information on using databases with Microsoft Project 2000.

Because of the detailed technical information available in this document, and because of its availability to customers, we should be very familiar with its contents. In order to gain a high level of familiarity with both working with databases and with the ProjDB.htm document, you should take time to look at it carefully.

Page 431: Project 2000 Training Manual

THIS PAGE INTENTIONALLY LEFT BLANK