Module 1.1
Contents
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.
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.
Module 1.1 3
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.
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.
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.
Module 1.1 5
Note that this feature is simply a timed save only. It should not be
confused with Microsoft Word’s AutoRecover feature.
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.
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.
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.
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.
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:
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.
Module 1.1 11
Because this option can be set independently for each timescale, the minor
timescale may display a different year than the major timescale.
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.
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.
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.
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.
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.”
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.
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.
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.
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.
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:
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.
Module 1.2
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.
Contents
Microsoft may have patents, patent applications, trademarks, copyrights, or
other intellectual property rights covering subject matter in this document.
Lesson 2: Windows Installer 33
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.
The names of actual companies and products mentioned herein may be the
trademarks of their respective owners.
Module 1.2 33
Insert
CD
ROM Yes Alert User and End
No
Did
Is OS Is User
Installer
Yes End NT No an
Request
3.51? Admin?
CD?
No No Yes
Has
Is
Project
Windows Is OS Call INSTMSI.EXE
Been No No Yes
Installer Win 9.x? from source & End
Installed
Present?
?
Yes Yes
Run
Project Call local Installer
No
From and End
Source?
Yes
End
For more information, see the following Knowledge Base article: Q202946 "Setup
Switches for Microsoft Office 2000 ".
Setup Properties 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.
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
Using Switches & Properties in Combination 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.
Using Multiple Command Line 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.
Using Command Line Switches and Setup Properties 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.
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 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.
; /settings <path to ini file> is passed on the command line, that file will
;[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
; If no value is present, setup.exe will look for exactly one file matching "*.msi"
;
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.
; Remember to uncomment both the section name and the value names.
;MST1=\\server\share\some transform.mst
;MST1=D:\transforms\my transform.mst
;[Options]
; PropName=PropValue
; Remember to uncomment both the section name and the value names.
;USERNAME=Customer
;[Display]
; 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
48 Module 1.2
[Logging]
; There are three possible values, all are optional and have defaults as shown
below
; logfile if it exists.
;Type=icewarmup
;Path=\\ProjSrv\logfiles\
Type=voicewarmup
When To Use The Setup Settings File 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.
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
Using Switches, Properties, and *.ini Files 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.
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.
Module 1.2 51
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.
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.
MSIEXEC.EXE
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.
Module 1.2 53
Warning!
MSI Package File 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.
For more information on the general scheme of the installer database, see the
Microsoft Project 2000 Resource Kit.
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.
Name, Org,
CD Key
Yes Yes
Custom
Typical
Next
Yes
Remove Previous Upgrade
Version
Feature Tree
No
Reboot
Clean-up &
Resume Complete Setup
Process
?
Versioned Files Win All other things being equal, a versioned file gets installed
over a non-versioned file.
Favor Product Language 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.
Mismatched Multiple Languages All other things being equal, after factoring
out any common languages between the file
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.
Preserve Superset Languages 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.
Non-versioned Files Are User Data 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.
Non-versioned Files Using Companion 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
58 Module 1.2
Rules Are Global 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
PSS Learning Services
Module 1.3
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 1.3 61
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.
64 Module 1.3
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® Installed On First Use
Visual Basic® for Applications (VBA)
projects
Core Support Files Run From My Computer
Module 1.3 65
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.
66 Module 1.3
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.
Note
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.
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.
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.
Note
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.
70 Module 1.3
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.
Module 1.3 71
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".
72 Module 1.3
For more information on which switches to use with logging, see the
Microsoft Project 2000 Resource Kit.
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 “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.
When the keypath resource is missing, the Window Installer treats the
component as broken and triggers a reinstall of the missing component.
Module 1.3 75
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
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\Featur
es\COMP_PRODUCT_GUID
Feature_name = SQUID1SQUID2SQUIDn
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
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.
PSS Learning Services
Module 1.4
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
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.
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.
Note
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.
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.
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.
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.
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.
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}\So
urceList
This appears to be an issue for users that use user-assigned roaming profiles.
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.
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%/ap
ps”
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.
For more information, see Knowledge Base article Q217706 "OFF2000: "The
feature you are trying..." Error Removing Office".
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.
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).
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
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.
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.
*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.
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.
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".
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
For Your Information at about 1 MB (for temporary files) and increases as features are added. If you
The 1 MB temp space is for
the rollback script file that
change a feature from running on your computer to running from the network,
must be created. 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.
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".
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\Uninstal
l\{ProductCode}
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.
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.
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.
Module 2.1
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 2.1 1
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.
Module 2.1 3
Microsoft Project 2000 will not upgrade GLOBAL.MPT files from versions of
Microsoft Project previous to Microsoft Project 98.
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.
Caution 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.
4 Module 2.1
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.
6 Module 2.1
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.
Module 2.1 7
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.
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.
Module 2.1 9
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.
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.)
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:
12 Module 2.1
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.
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.
14 Module 2.1
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 .
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.
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:
Note
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.
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.
20 Module 2.1
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.
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.
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?
PSS Learning Services
Module 2.2
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 2.2 23
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.
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.
Ignore
Resource
Calendar
Scenario Option Response
(A) Both calendars Off or On Normal schedule
match
(B) Nonworking time Off or On Schedule based on task calendar
in task calendar, but
available in resource
calendar at the same
time
(C) Working time in Off Schedule based on resource
task calendar, but calendar
nonworking time in
resource calendar at
the same time
(D) Same as above On Schedule based on task calendar
(E) Task calendar and Off Schedule based on task calendar;
resource calendars do alert message generated and error
not intersect; there is indicator set
no period where both
the task and resource
calendars have
working time
(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:
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.
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.
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
Figure 4 Example 2
Module 2.2 29
Figure 5 Example 3
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
30 Module 2.2
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.
Module 2.2 31
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:
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.
34 Module 2.2
11. On the Project menu, click Task Information, and then click the
Advanced tab. Select the Scheduling ignores resource calendars check
box.
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:
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:
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.”
Module 2.2 37
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.
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:
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.
For more information, see the Microsoft Project 2000 Online Help Topics Start
Slack and Finish Slack.
Module 2.2 41
Why does it make sense for Late Finish not to equal the earlier of the
Deadline or the Late Finish Date?
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.
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.
Module 2.3
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 2.3 47
Material Resources
Figure 1
Module 2.3 49
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.
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
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.
52 Module 2.3
Figure 5
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”).
Figure 6
Figure 7
Figure 8
Module 2.3 55
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.
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.
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.
Figure 10
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.
Module 2.3 59
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 Assignment object Returns True if consumption
Property rate is fixed, False if
consumption rate is variable.
Also returns True if it is the
assignment of a work resource.
Module 2.3 61
62 Module 2.3
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.
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.
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:
On clicking OK, the user is returned to the Resource Availability table, with
the focus placed on the row containing the inconsistency.
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:
On clicking OK, the user is returned to the Resource Availability table, with the
focus placed on the first row containing an inconsistency.
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):
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.
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.
Module 2.4
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 2.4 71
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:
D = U ×W
Where D is duration, U is units, and W is work.
Note
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.
Assignment 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.)
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%
76 Module 2.4
Duration and Work have both 1. The 10 Contour Segments are re-
changed at the Assignment Level (∆D calculated.
& ∆W) 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 1. Units are applied to each contour
the Assignment Level (∆U & ∆W) segment per the contour definition.
2. Work for each segment is
recalculated.
Module 2.4 79
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:
Dt
Wat =
Ua
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:
Wat
Uat =
Wtt
Wa = Uat × Wt
Once the assignment work is calculated, Microsoft Project then makes the
following calculations depending on the task type:
Wa
Ua = Dt
Usa
Wa
Dt = Ua
Usa
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.
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.
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.
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.
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.
84 Module 2.4
Note
To see which variables are changing under what circumstances, refer to the
table on page 74
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
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:
Usa =
∑Us
Ns
Where Usa is the units’ scaled average, ∑U is the sum of all of the segments’
units, and Ns is the number of segments.
86 Module 2.4
Note 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:
%A
Us =
Ua
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.
Note
When segments are of unequal duration, Usa should be calculated as follows:
Usa =
∑ (Usx × Dsx )
Da
Where x is the segment number, Usx is the Units of segment number x, Dsx is
the duration of segment number x, ∑ (Usx × Dsx ) is the sum of all segments
units multiplied by their segment duration (that is,
(Us1 × Ds1) + (Us 2 × Ds 2)... ), 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:
Wa
Dt = Ua
Usa
14.07h
Dt =
100%
-OR- Dt = 21.16h -OR- Dt = 2.64d
66.48%
Dt
R=
Do
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.
Note 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.
Uan
M =
Ua
Where M is the multiplier, Uan is the new assigned units and Ua is the assigned
units. In our scenario, M = 1.13 or
100%
M =
88%
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:
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
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% C Contour Three – 50% Contour Four –
2 56.5%
–
1
0
0
%
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.
Module 2.4 89
Usa =
∑Us
Ns
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:
Usa =
∑ (Usx × Dsx )
Da
Where x is the segment number, Usx is the units of segment number x, Dsx is
the duration of segment number x, ∑ (Usx × Dsx ) is the sum of all segments
units multiplied by their segment duration (THAT IS,
(Us1 × Ds1) + (Us 2 × Ds 2)... ), and Da is the duration of the assignment.
90 Module 2.4
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.
Did your project level as most customers might expect? Why or why not?
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.
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?
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.
94 Module 2.4
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.
Module 2.4 95
Module 2.5
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 2.5 97
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?
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.
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).
102 Module 2.5
In Microsoft Project 2000, you receive the new dialog with only two options as
shown below.
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.
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.
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.
104 Module 2.5
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.
Caution 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.
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.”
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.
Module 3.1
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 3.1 1
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.
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.
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.
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.
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.
Note
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.
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
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.
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.
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.
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.
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.
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.
12 Module 3.1
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.
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.
Module 3.1 13
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 pjBoxNoncritical
pjBoxCriticalMarked pjBoxNoncriticalExternalTask
pjBoxCriticalMilestone pjBoxNoncriticalMarked
pjBoxCriticalSubproject pjBoxNoncriticalMilestone
pjBoxCriticalSummary pjBoxNoncriticalSubproject
pjBoxExternalTask pjBoxNoncriticalSummary
pjBoxHighlightedTasks 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 pjBoxRightParallelogram
pjBoxWideRectangle pjBoxLeftParallelogram
Module 3.1 15
pjBoxRoundedRectangle pjBoxCapsule
pjBoxWideRoundedRectangle pjBoxUpTrapezoid
pjBoxPointedEnds pjBoxDownTrapezoid
BorderColor Optional Long. The color of the box border. Can be one of the following PjColor
constants:
PjColorAutomatic
pjAqua pjNavy
pjBlack pjOlive
pjBlue pjPurple
pjFuschia pjRed
pjGray pjSilver
pjGreen pjTeal
pjLime pjYellow
pjMaroon pjWhite
BorderWidth Optional Long. The width of the box border. Can be one of the following
PjBoxBorderWidth constants:
PjBorderWidth1 pjBorderWidth3
pjBorderWidth2 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 pjBackgroundDarkDiagonalLeft
pjBackgroundSolidFill pjBackgroundDarkDiagonalRight
pjBackgroundLightFill pjBackgroundThinVerticalStripe
pjBackgroundMediumFill pjBackgroundMediumVerticalStripe
pjBackgroundDarkFill pjBackgroundLightDither
pjBackgroundDiagonalLeft pjBackgroundMediumDither
pjBackgroundDiagonalRight pjBackgroundDarkDither
Remarks
To display the Box Styles dialog box, use the BarBoxStyles method.
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 pjBoxRightParallelogram
pjBoxWideRectangle pjBoxLeftParallelogram
pjBoxRoundedRectangle pjBoxCapsule
pjBoxWideRoundedRectangle pjBoxUpTrapezoid
pjBoxPointedEnds pjBoxDownTrapezoid
BorderColor Optional Long. The color of the box border. Can be one of the following PjColor
constants:
PjColorAutomatic
pjAqua pjNavy
pjBlack pjOlive
pjBlue pjPurple
pjFuschia pjRed
pjGray pjSilver
pjGreen pjTeal
pjLime pjYellow
pjMaroon pjWhite
Module 3.1 17
BorderWidth Optional Long. The width of the box border. Can be one of the following
PjBoxBorderWidth constants:
PjBorderWidth1 pjBorderWidth3
pjBorderWidth2 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 pjBackgroundDarkDiagonalLeft
pjBackgroundSolidFill pjBackgroundDarkDiagonalRight
pjBackgroundLightFill pjBackgroundThinVerticalStripe
pjBackgroundMediumFill pjBackgroundMediumVerticalStripe
pjBackgroundDarkFill pjBackgroundLightDither
pjBackgroundDiagonalLeft pjBackgroundMediumDither
pjBackgroundDiagonalRight 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.
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)
Module 3.1 19
FontColor Optional Long. The color of the font. Can be one of the following
PjColor constants:
PjColorAutomatic
pjAqua pjNavy
pjBlack pjOlive
pjBlue pjPurple
pjFuschia pjRed
pjGray pjSilver
pjGreen pjTeal
pjLime pjYellow
pjMaroon 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.
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 9/30/97 12:33 PM
pjDate_mm_dd_yy 9/30/97
pjDate_mm_dd_yyyy 9/30/1997
pjDate_mmmm_dd_yyyy_hh_mmAM September 30, 1997 12:33
pjDate_mmmm_dd_yyyy PM
pjDate_mmm_dd_hh_mmAM September 30, 1997
pjDate_mmm_dd_yyy Sep 30 12:33 PM
pjDate_mmmm_dd Sep 30, '97
pjDate_mmm_dd September 30
pjDate_ddd_mm_dd_yy_hh_mmAM Sep 30
pjDate_ddd_mm_dd_yy Tue 9/30/97 12:33 PM
pjDate_ddd_mmm_dd_yyy Tue 9/30/97
pjDate_ddd_hh_mmAM Tue Sep 30, '97
pjDate_mm_dd Tue 12:33 PM
pjDate_dd 9/30
pjDate_hh_mmAM 30
pjDate_ddd_mmm_dd 12:33 PM
pjDate_ddd_mm_dd Tue Sep 30
pjDate_ddd_dd Tue 9/30
pjDate_Www_dd Tue 30
pjDate_Www_dd_yy_hh_mmAM 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.
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.
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 pjNavy
pjBlack pjOlive
pjBlue pjPurple
pjFuschia pjRed
pjGray pjSilver
pjGreen pjTeal
pjLime pjYellow
pjMaroon pjWhite
ViewBackgroundPattern Optional Long. The pattern for the Network Diagram background. Can be one
of the following PjFillPattern constants:
PjBackgroundHollow pjBackgroundDarkDiagonalLeft
pjBackgroundSolidFill pjBackgroundDarkDiagonalRight
pjBackgroundLightFill pjBackgroundThinVerticalStripe
pjBackgroundMediumFill pjBackgroundMediumVerticalStripe
pjBackgroundDarkFill pjBackgroundLightDither
pjBackgroundDiagonalLeft pjBackgroundMediumDither
pjBackgroundDiagonalRight 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.
24 Module 3.1
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
26 Module 3.1
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 pjAlignTops
pjAlignCenters pjAlignMiddles
pjAlignRights 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
Module 3.1 27
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.
28 Module 3.1
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.
Module 3.2
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 3.2 33
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.
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:
36 Module 3.2
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.
Module 3.2 37
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:
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, Maximum, Minimum
or Start
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
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.
40 Module 3.2
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).
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.
Module 3.2 43
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:
44 Module 3.2
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:
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
Module 3.2 45
must click Cancel to close the Value List dialog, which means that any other
modifications will also be lost.
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.
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:
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:
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.
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).
48 Module 3.2
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:
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.
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.
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:
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
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:
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:
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.
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:
* Multiplication = Equals
^ Exponentiation OR Logical OR
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:
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:
Module 3.2 57
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:
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.
Module 3.2 59
The special Project 2000 functions available are shown with their arguments in
the following image and are further described below:
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:
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:
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 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")
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],","))
Module 3.2 63
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:
When the user clicks OK, synchronization with the pool continues, but the
offending custom field reverts to the default value.
Module 3.2 65
Programmability
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
Method Description
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?
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.
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.
70 Module 3.2
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.
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.
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.
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:
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:
Module 3.2 73
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:
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.
74 Module 3.2
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.
76 Module 3.2
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.
If these tasks are grouped using the default Priority Keeping Outline Structure,
the result is as follows:
Interval Grouping
In the Define Group Intervals dialog, the drop-down options available for
various field types are as summarized in the following table:
Currency each value any real any real When grouping by each
interval number number 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.
Date each value Jan 1, integer > 0 The date format used for
minute 1984- display will be the format
hour Dec 31, specified in Tools. Options.
day 2049 View tab.
week The default for Group on is
month 'day'. If the user chooses to
qtr group on each value, dates
year 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
Module 3.2 79
Duration each value integer integer > 0 This includes duration and
minutes >= 0 work fields. The format for
hours duration fields will be as
days specified in the Tools.
weeks Options. Edit tab. Also, in
months the calculation for duration
and work fields, we will use
the Tools. Options.
Calendar setting for
Hours/day, Hours/Week
and Days/Month.
0,1-50, 51-99,
100
0, 1-25, 26-50,
…, 100
0, 1-10, 11-20,
…, 100
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.
80 Module 3.2
If an invalid Start at value is entered for any other field type, the following
message is displayed:
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
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.
84 Module 3.2
(Actual Duration /
% Complete Percentage
Duration) * 100
Assignment Boolean No
Baseline Finish -
Baseline Start based on
Baseline Duration Duration
project calendar and
tools.option setting
Confirmed Boolean OR
Contact Text No
Critical Boolean OR
CV Currency Sum
calendar and
tools.option setting
Estimated Boolean OR
Hyperlink Text No
ID Integer No
Module 3.2 87
Ignore Resource
Boolean No
Calendar
Indicators Indicator No
Marked Boolean OR
Name Text No
Notes Text No
Objects Boolean No
Overallocated Boolean OR
Priority Enumerated No
Project Text No
Recurring Boolean No
Remaining Overtime
Currency Sum
Cost
Remaining Overtime
Duration Sum
Work
Rollup Boolean No
Summary Boolean No
SV Currency Sum
Type Enumerated No
Unique ID Integer No
WBS Text No
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:
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.
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.
Assignment Boolean No
Confirmed Boolean No
Contact Text No
Critical Boolean No
Estimated Boolean No
Hyperlink Text No
ID Integer No
Ignore Resource
Boolean No
Calendar
Indicators Indicator No
Name Text No
96 Module 3.2
Notes Text No
Objects Boolean No
Project Text No
Recurring Boolean No
Remaining Overtime
Currency Sum of assign.
Cost
Remaining Overtime
Duration Sum of assign.
Work
Rollup Boolean No
Summary Boolean No
Type Enumerated No
Unique ID Integer No
98 Module 3.2
Unique ID
Integer List No
Predecessors
WBS Text No
Accrue At Enumerated No NA
Assignment Boolean No NA
Code Text No NA
Confirmed Boolean No NA
Group Text No NA
Hyperlink Text No NA
Module 3.2 101
Hyperlink Text No NA
SubAddress
ID Integer No NA
Indicators Indicator No NA
Initials Text No NA
Name Text No NA
Notes Text No NA
Objects Boolean No NA
Overallocated Boolean No NA
Phonetics Text No NA
Project Text No NA
Type Enumerated No NA
Unique ID Integer No NA
Workgroup Enumerated No NA
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.
Did your grouping meet the needs of the scenario? Was your grouping the
same as that of the other group?
THIS PAGE INTENTIONALLY LEFT BLANK
PSS Learning Services
Module 3.3
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 3.3 109
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
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.
112 Module 3.3
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\MS
Microsoft Project\Workgroup Customization
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:
Customize Registry
Workgroup
Task Name Field1
Work Field2
Start Field3
Finish Field4
Completed and Field5
Remaining Work
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.
Module 3.3 113
KEY_CURRENT_USER\Software\Microsoft\Mail\Custom Messages
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.
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.
Note
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 Verwijderd: .
Team Status, Team Update, Team Assign, Set Schedule note… menu items are
not available from the Tools, Workgroup menu.
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.
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.
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.
Module 3.3 117
The MSFLXGRD.ocx file controls the grid where the resource’s information is
entered such as Accept, Work, Start and Finish dates.
Module 3.3 119
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.
120 Module 3.3
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.
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.
Module 3.3 121
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
122 Module 3.3
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 Johnsm@MSN.com.
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.
PSS Learning Services
Module 3.4
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 3.4 125
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, Single Byte Characters
French (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, Double Byte Characters
Korean (65,536 possible
combinations) vertical text,
requires Input Method
Editor (IME)
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
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.
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
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.
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:
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.
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.
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.
Enabled Languages
This setting allows you to use proofing tools and localized formatting (that is,
for dates, time, etc.) within Microsoft Project 2000.
Module 3.5
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 3.5 133
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.
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.
Figure 1
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.
138 Module 3.5
Figure 6
THIS PAGE INTENTIONALLY LEFT BLANK
PSS Learning Services
Module 4:
Microsoft Project 2000
Advanced Topics
Contents
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.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Module 4: Microsoft Project 2000 Advanced Topics 1
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.
Module 4: Microsoft Project 2000 Advanced Topics 3
After entering your name and organization and clicking Next, you are taken to
the licensing and support information displayed in the following figure.
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.
Module 4: Microsoft Project 2000 Advanced Topics 5
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.
The main registry key for Microsoft Project Central is the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\9.0\MS
Project\WebClient Server
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.
Module 4: Microsoft Project 2000 Advanced Topics 9
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.
10 Module 4: Microsoft Project 2000 Advanced Topics
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.
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.
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.
14 Module 4: Microsoft Project 2000 Advanced Topics
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:
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.
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.
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.
Module 4: Microsoft Project 2000 Advanced Topics 19
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
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.
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.
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.
Module 4: Microsoft Project 2000 Advanced Topics 23
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.
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.
26 Module 4: Microsoft Project 2000 Advanced Topics
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:
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:
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.
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:
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.
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.
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:
When you choose to send a status report to your manager, simply click the Send
Update button. Doing so will display the following alert:
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.
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:
To Delegate a task, select the task and click the Delegate button. This will
display the following page:
32 Module 4: Microsoft Project 2000 Advanced Topics
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:
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:
Module 4: Microsoft Project 2000 Advanced Topics 33
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:
If your manager has updated the delegated task and you click on the Delegate
Lead Role button, you will receive the following page:
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.
Note
You can toggle between the Timesheet and Gantt Chart by using the button
directly above the Gantt Chart.
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:
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.
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:
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:
Module 4: Microsoft Project 2000 Advanced Topics 37
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.
Clicking send will give you a confirmation alert that your timesheet has been
updated.
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:
Module 4: Microsoft Project 2000 Advanced Topics 39
Here you specify which person you would like to send your update to. Clicking
Next takes you to the final screen shown below:
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.
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 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:
Module 4: Microsoft Project 2000 Advanced Topics 41
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.
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.
Once you write your report, you can fill save or send your report.
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:
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:
44 Module 4: Microsoft Project 2000 Advanced Topics
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:
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:
Module 4: Microsoft Project 2000 Advanced Topics 45
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.
The process of creating a new status report is a four-step process. The first step
is shown below.
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.
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.
Module 4: Microsoft Project 2000 Advanced Topics 47
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.
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:
48 Module 4: Microsoft Project 2000 Advanced Topics
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:
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:
Module 4: Microsoft Project 2000 Advanced Topics 49
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.
Caution 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.
50 Module 4: Microsoft Project 2000 Advanced Topics
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 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:
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 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:
52 Module 4: Microsoft Project 2000 Advanced Topics
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 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:
Security - Account Creation 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:
Authentication Options
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.
54 Module 4: Microsoft Project 2000 Advanced Topics
Add to Home Page 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:
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.
56 Module 4: Microsoft Project 2000 Advanced Topics
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.
Are there any OLE DB providers related to Microsoft Project? If yes, what are
their names and what is their version numbers.
Module 4: Microsoft Project 2000 Advanced Topics 59
For more information, on which fields are available in which tables, see the
“Ole_db.htm” document that ships with Microsoft Project 2000.
Are you able to successfully add fields from different tables? Why or why not?
60 Module 4: Microsoft Project 2000 Advanced Topics
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()
cnn.ConnectionTimeout = 30
cnn.Open
End Sub
Module 4: Microsoft Project 2000 Advanced Topics 61
Database Changes
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.
Module 4: Microsoft Project 2000 Advanced Topics 65