Go to primary content
Oracle® Agile Product Lifecycle Management Product Portfolio Management User Guide
6Release 9.3.6
E71142-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

7 Working with Microsoft Project

The Agile PPM-Microsoft Project integration enables you to schedule projects using Microsoft® Project (MSP) and publish the results back to PPM. The integration uses Microsoft® Project data stored in XML format to facilitate import and export.

In order for the integration to work, it is imperative that you understand the following:


Caution:

Review all documentation for the integration before you begin your implementation.

As part of the integration, you can choose to do the following:

Agile PLM imports and exports MSP files using the following features:

For auditing and timing purposes, the import date and time is tracked on the project's General Info tab and the Gantt Chart. When you import XML into Agile PPM, there are 2 options for the schedule editor: PPM and Microsoft Project. For more information, see "Understanding How the Schedule Editors Differ".

7.1 Data Supported in the Integration

The following is a list of data that is synchronized, as well as the schedule and resources supported in the integration:

  • Extended attributes mapped to Page Two attributes.

  • Customized calendars and working days.

    In MSP, you can define a specific calendar against each task level, but you need to correctly match each calendar to a PPM calendar during import. See "Creating a Project from an Existing Microsoft Project File" for information about the mapping process.


    Caution:

    If calendars are not mapped properly, a project reschedule may happen if a task starts/ends on a non-working day in a PPM calendar. For instance, you may have a calendar defined in MSP that has October 9 as a working day, which might be a non-working day in PPM. When this task is imported to PPM, the starting day of the task may be postponed to October 10, because a task cannot start on a non-working day in PPM.

  • MSP Constraints Retention.


Note:

PPM does not use or support constraints, however, if MSP is the schedule editor for a project, the constraints are restored when the PPM version is exported back to MSP. Note that constraints are retained during export only if all scheduling and resource management operations for the project are done in MSP, and all execution-related operations are done in PPM. Scheduling and resource management operations include any operation that affects the project structure, dates, or resources. Execution-related operations include managing deliverables, updating task progress, and so on.

See "Maintaining PPM Constraints" for a specific list of unsupported scenarios.



Note:

The Estimated flag has the same restrictions as Constraint type if the original data from MSP is to be retained. Note that any PPM-generated "Estimated" flag is set to No by default.

See "Maintaining PPM Constraints" for a specific list of unsupported scenarios.


Data validation is performed for:

  • Duplicate MSP Text30 values: Agile PPM uses two columns in MSP, Text29 and Text30, to control integration integrity. Text30 carries the unique identifier for all objects in the project and no duplicates are allowed. If these columns are not manipulated in MSP, then there should not be any issues.

  • Invalid Dependencies

    • Self dependencies

    • Parent-Child dependencies

  • Finish-to-Finish and Start-to-Finish type predecessor on parent task

  • Inactive users or user groups

  • Inactive roles

  • Name, Description, and Page Two text attributes

    Exceptions are noted under "Data Not Supported in the Integration".

7.2 Data Not Supported in the Integration

The import operation does not support the following data:

  • Work Contour values - all assignments from MSP are converted as Flat values.

  • Split-task resource assignments.

    • Split tasks from MSP are converted into new tasks in PPM and can cause the loss of constraints when re-imported since they will change the schedule in PPM.

    • Best practice is to remove all split tasks prior to import to avoid loss of constraints.

  • Manually-edited rollup data on tasks, including both parent and leaf levels.

  • Estimated and Actual Duration values at the second level task node or leaf node is not supported by Oracle Agile PPM, both in import and in export functionality. This data is not retained during the import and export operation, and can cause data corruption.

  • Percent Complete value synchronization for parent task between MSP and in PPM.

    Percent Complete at the leaf node level is always synchronized, however, Percent Complete in the parent node will never be synchronized. The difference in percent complete occurs because MSP allows users to change Duration on the parent task if Schedule Mode is set to Manual. In this case the parent duration becomes out of sync with its children. Note that the Percent Complete value on Leaf nodes in MSP is the same as PPM after export/import.

  • Fractional values for Team.PercentAllocation value.

    Fractional Values are supported in A9 PPM for the Team.PercentAllocation attribute, but it is not supported in Microsoft® Project. We recommend that you do not use MSP-PPM integration for projects that have fractional allocation for resources on the Team tab.

  • SmartURLs.

  • Microsoft® Project outline numbers.

  • Actual Date values are neither exported nor imported.

  • Estimated Date values are neither exported nor imported.

  • A Milestone/Gate cannot have any other activities/gates as its children, even though it is allowed in Microsoft® Project.

  • Milestones with a non-zero duration. If a user tries to import into PPM a milestone with a non-zero value for Duration, the data can become corrupted. Non-zero durations are supported in MSP, but not in PPM.

See also, "Transferring Microsoft Project Work Values to PPM."

In addition, the Agile menu in MSP, installed with earlier versions of Agile, is no longer required or supported. See "Notes on the Agile Menu in Microsoft Project."

Importing of multiple project XML files is not supported through the Web Client interface. You can use the Agile SDK to handle bulk loading requirements.

7.3 Before You Begin

Before you begin synchronizing projects between PPM and MSP, make sure the integration requirements are met.

  • Ensure that all your Microsoft® Project team members exist in the Agile database.

  • Ensure that you have the Microsoft Project Privilege assigned to you by your Agile administrator.

  • Ensure that the necessary attribute mapping has been configured on the MSP/Agile PPM mapping file (MSPSyncMapping.properties). See "Setting Up Microsoft Project Synchronization." for details.

  • If your work site has previously used PPM 8.5 or 9.0, uninstall the 8.5 or 9.0 macros.

    To uninstall macros:

    1. Open Microsoft® Project.

    2. Select Tools > Organizer > Modules.

    3. Open Global.mpt and delete the Get File and XML macros.

7.3.1 Setting Up Microsoft Project Synchronization

To ensure that data synchronization works successfully, MSP project elements must be mapped to the correct PLM object attributes. Agile provides a mapping file, MSPSyncMapping.properties, where these values can be mapped appropriately.

You can find this file in the Agile installation directory under ..\agileDomain\applications\application.ear\APP-INF\classes. Follow the instructions provided within the file to map attributes as required.

7.3.2 Understanding How the Schedule Editors Differ

The schedule editor can be set to either PPM or MSP.

There are certain values that you need to pay extra attention to when importing a project into MSP or importing an MSP project into PPM. These values are as follows:

  • Schedule dates: Both in MSP and PPM

  • Schedule duration: Both in MSP and PPM

  • % complete: Both in MSP and PPM

  • Dependencies: Both in MSP and PPM

  • Effort/Fixed based: both MSP and PPM

  • Project status: Both in MSP and PPM

  • Calendar mapping: Both in MSP and PPM

  • Resource mapping: Both in MSP and PPM

  • Auto schedule: MSP specific value

  • Work contours like weeks /hours: MSP Specific value

  • Split task: MSP specific

When you create a project in PPM and export it into MSP in edit mode, the potential results and effects are documented in the following table.

Table 7-1 PPM Project Exported to MSP

Action Results Warnings

Project created in PPM and exported to MSP

Project is loaded into MSP.

Schedule editor for that project in A9 becomes "MSP".

The following values need attention in this case:

1. Effort/Fixed duration: Effort driven would be "Yes" and type is "Fixed Work".

2. By default the task mode is "Auto scheduled"


When you update a project in MSP and then import it into PPM, the potential results and effects are documented in the following table.

Table 7-2 MSP Project Imported Into PPM

Action Results Warnings

Project exported into MSP from PPM

Project is in MSP.

Schedule editor can remain as MSP or PPM.

The following values need attention when project updates occur in MSP:

1. Schedule dates: Scheduling happens according to MSP logic.

2. Duration/percent complete: according to MSP logic.

3. Task with % complete becomes split task when dependencies are added.

4. Weekly/hourly work changes the schedule.

5. Only Auto schedule is supported to import back in A9.

Project imported from MSP to PPM, after being updated in MSP

Project is in PPM.

Schedule editor can remain as MSP or PPM. In this case, it is set to MSP.

The following are values that need attention when a project is imported into PPM and Schedule Editor is MSP:

1. Schedule dates: Scheduling dates copied from MSP2. Duration: Same duration copied to MSP3. Percent complete: Rollup occurs according to PPM logic 4. Weeks/hours in schedule duration/time buffer is converted as days as per PPM logic.5. Split task: Duration is computed according to A9 logic with schedule dates the same as in MSP.6. Dependencies: Same as in MSP.

Note: Any addition of tasks, deletion of tasks, change in duration, change in dates of tasks, or rollup happens as per A9 logic.Any changes in dependencies/time buffers does not reschedule the project unless the schedule editor is changed to PPM.

Project imported from MSP to PPM, after being updated in MSP

Project is in PPM.

Schedule editor can remain as MSP or PPM. In this case, it is set to PPM.

The following are values that need attention when a project goes back into PPM and the schedule editor is PPM:

1. Rescheduling and rollup of dates happen according to PPM logic

2. Split task: Rescheduling happens according to PPM logic



Note:

The schedule editor can be changed from any child level. Additionally, any child of the project can be exported to MSP and imported back.

In that case, the schedule editor of the child will be MSP and the parent will be PPM. There might be changes in schedule dates /duration /% complete due to this change.

Any rescheduling happens for that child only when the editor is changed to PPM.



Note:

Split tasks can be created unintentionally by adding a dependency to an activity which has % complete in MSP.

7.3.2.1 Choosing the Scheduling Engine

The scheduling engines used by PPM and MSP follow different rules for rescheduling and default settings. You cannot schedule projects using MSP and PPM at the same time.

PPM has a Schedule Editor switch that can be set for each project to indicate which scheduling engine (PPM or MSP) needs to control scheduling. By default, the Schedule Editor is set to PPM, but you can control the setting at a template level and thus retain that setting for all projects created from a particular template.

The first time you import an MSP file into PPM to create a PPM project, you are provided the option to select the preferred scheduling engine. After the PPM project is created, to update it with further changes made in MSP, the schedule editor must be set to MSP.

The Schedule Editor attribute can also be edited on the project's General Info page. To see what actions change the Schedule Editor setting automatically, see "Read Only and Edit Modes."

7.3.3 Transferring Microsoft Project Work Values to PPM

To ensure the accurate mapping of work values from Microsoft® Project to a PPM project, you must understand the way each solution handles data, and configure your data accordingly.

  • Days Effort - In Agile PPM, days effort is always calculated based on % allocation and duration. Unlike in Microsoft® Project, Agile PPM requires an allocation to a resource or resource pool in order for days effort to be populated. To ensure that effort data values without resource or resource pool allocation are not lost while publishing tasks from Microsoft® Project, your Agile administrator can set up and define a generic resource pool to hold the work/days effort values. If your Agile administrator has defined the generic resource pool, you will notice that tasks which satisfy these conditions have a generic resource pool associated to them on the Team tab.

  • Custom Subclasses - While creating new tasks in MSP for a PPM project, you can override the default subclass values in the Text29 column with custom subclass values specified in the Java Client.

  • Page Two Attributes - To ensure the correct mapping of Page Two attributes, you must edit the appropriate values in the MSP/Agile PPM mapping file (MSPSyncMapping.properties on the Agile server) provided by Agile. Page Three attributes cannot be mapped.

  • Float Values - From release 9.3.1, PPM supports float values for duration and resource allocation in projects. You can add resources with fractional allocations, for example, 200.25, 100.35 and so on. After launching such projects in Microsoft® Project and publishing back to PPM, you may see minor variances in these values because Microsoft® Project does not support float values.

  • Project Tree Structure - The Agile PPM project name must be at outline level one in Microsoft® Project. All Agile PPM subtasks, phases, and gates must be indented under level one in Microsoft® Project.

  • % allocation for resources - Within Microsoft® Project, the % allocation for a resource should be a value between 0 and 400 to ensure error-free data mapping. The default maximum value for the corresponding field in PPM is 400. To assign a higher value, you can change the default configuration for the Team attributes in Java Client as appropriate. To learn how to modify attributes, see the Agile PLM Administrator Guide.

Caution: Data in the Text30 column should not be tampered with, as this could interfere with the synchronization process and cause errors.

7.3.4 Notes on the Agile Menu in Microsoft Project

If you were using the MSP-PPM integration feature with an earlier version of Agile, the Agile menu may still appear in your Microsoft® Project toolbar. This feature is no longer supported or required, and can safely be removed from the list of COM add-ins in MSP.

This is an optional step; retaining the menu does not affect the integration.

To see a list of active COM add-ins for Microsoft® Project:

  1. Go to Tools > Customize > Toolbars. The "Customize" window opens.

  2. From the Commands tab, within the left-hand list, select Tools.

  3. Locate "COM Add-Ins" in the right-hand list.

  4. Drag and drop "COM Add-Ins" from the list onto the top menu bar.

  5. Close the Customize window.

  6. Click the newly added COM Add-Ins menu. A list of all the installed add-ins is displayed.

  7. Select the add-in you want to uninstall.

  8. Click the Remove button to uninstall the selected add-in.

7.4 Creating a Project from an Existing Microsoft Project File

You can use an existing MSP plan that contains at least one Level 1 task, as the basis for an Agile PPM project object. (All tasks must be rolled up under a single project; PPM transforms that project into the root project object.)

To create a PPM project from an existing MSP file:

  1. Open the target file in MSP.

  2. In the MSP menu, select File > Save As and save the project file in .xml format.

  3. Move to the Agile Tools and Settings menu and select Create Project from XML File.

  4. In the dialog that opens, choose the project XML file from your local directory.

  5. If you want PPM to take care of the scheduling for the new project, select the Set scheduling engine to PPM option. If you leave this blank, scheduling engine is automatically set to the source application, MSP. For more information, see "Choosing the Scheduling Engine."

  6. Click Load.

  7. Choose what type of project you want to create, Active, Proposed or Template.

    If your MSP file contains users or user groups that are not in the Agile system, you are prompted to map these resources to existing users. In the Map Resources dialog, the File Resource column lists the unmapped users.

    1. Click in the System User cell against each resource name, and use the search palette to select and map users.

    2. Assign roles in the same way. You can choose to do this later; by default the mapped users are assigned the Program Team Member role.

  8. If your MSP file contains references to calendars that are not in the Agile system, you are prompted to map these calendars to existing calendars. From the System Calendars list, select appropriate calendars to map to the ones in the MSP file.

  9. Click Load again.

The Load Summary page confirms whether the file has been successfully uploaded. Click Close.

The new project is displayed, showing the data imported from the MSP project.


Note:

The import date and timestamp appear in the attributes list on the General Info page. Before you work on an imported project, check this information to ensure that you are working on the latest version.

7.5 Updating a Project with Changes Made in Microsoft Project

It is recommended that you import changes made in MSP back to PPM.

To update your PPM project with changes made in MSP:

  1. Save the MSP project file in XML format.

  2. In Agile, open the PPM project you want to update.

  3. From the Actions menu, select Microsoft® Project > Load Microsoft® Project XML.

  4. Choose the MSP project XML file.

  5. Click Load.

    If your MSP file contains users or user groups that are not in the Agile system, you are prompted to map these resources to existing users. In the Map Resources dialog, the File Resource column lists the unmapped users.

    1. Click in the System User cell against each resource name, and use the search palette to select and map users.

    2. Assign roles in the same way. You can choose to do this later; by default the mapped users are assigned the Program Team Member role.

  6. If your MSP file contains references to calendars that are not in the Agile system, you are prompted to map these calendars to existing calendars. From the System Calendars list, select appropriate calendars to map to the ones in the MSP file.

  7. Click Load again. The Load Summary confirms successful upload of your changes. Click Close.

You can verify the import date and time on the project's General Info tab.

7.6 Using a PPM Project Template in Microsoft Project

You can export a PPM project template to MSP, edit project data in MSP, and then import the changes back to PPM. The export and import files should be in XML format.

To export a PPM project template to MSP:

  1. Create a project from a template in PPM.

  2. In the Actions menu, select Microsoft® Project > Save as XML - Edit.

  3. Save the project file to your local directory.

  4. From MSP, open the project XML file.

  5. In the dialog that opens, choose As a new project.

  6. Click Finish.

Once you finish editing the project in MSP, you can import the changes back to the PPM project you created. See "Updating a Project with Changes Made in Microsoft Project."

7.7 Working Offline on a PPM Project

If you do not have MSP installed on your computer, you can save your PPM project to your local drive as an XML file, and work on it offline. You can access this file from a computer on your network that has MSP installed, view or edit it offline, and then publish your changes back to PPM when you are online again.

You can use either of the following commands to save your project as an XML file:

  • Save as XML - Read Only

  • Save as XML - Edit Mode

For considerations that you should be aware of before you choose Read Only or Edit mode, see "Read Only and Edit Modes."

To save your project as an XML file:

  1. Open the project you want to save.

  2. From the Actions menu, choose Microsoft® Project > Save as XML - Read only or Save as XML - Edit.

  3. Download the file to your local drive.


Note:

If you are using Windows XP with Internet Explorer 7, default security settings for file downloads may result in duplication of History records during the Save as XML - Read only operation. To prevent this: Ensure that the Web Client URL is added under Tools > Internet Options > Trusted Sites > Sites. Under Custom Level settings, select Enable for "Automatic prompting for file downloads".

7.8 Read Only and Edit Modes

You can launch or save a PPM project in Read Only or Edit mode. The mode you choose can affect project data.

  • Read Only Mode

    When you save a PPM project using Microsoft® Project > Save as XML - Read Only, you can view, print, or analyze a PPM project in MSP without altering the project data in Agile PPM. In MSP, you can perform any edit, modification, or analysis actions you choose and save the project file to any local or network directory to which you have access.

    You cannot, however, publish the launched-as-read-only project back into Agile PPM. When you launch as read-only, the PPM project is not locked, the Lock User field remains empty, and the Schedule Editor field remains set to PPM. It is therefore possible for another user to modify the PPM project by using any of the available Agile PPM edit methods: Edit in PPM, edit in MSP, or edit in Gantt Chart.

    The MSP file that you create when you use Microsoft® Project > Save as XML - Read Only is not updated or affected by any subsequent edits made to the PPM project file.

  • Edit Mode

    When you launch a PPM project in MSP using Microsoft® Project > Save as XML - Edit, the PPM project is automatically locked so that no other user can modify it. Your name appears in the Lock User field, and the Schedule Editor field is set to MSP.

    You are able to publish the launched-in-edit-mode project back into Agile PPM.

    For more information about locking projects, see "Multiple Users Editing the Same Task."

7.9 Replicating a PPM Project Across Servers

You can create a project on one server and replicate it on another, following the process outlined here:

  1. In Agile PLM, open the PPM project you want to replicate.

  2. In the Actions menu, select Microsoft® Project > Save as XML - Edit.

  3. Save the project XML file to your local directory.

  4. From MSP, open the project XML file.

  5. In the dialog that opens, choose As a new project.

  6. Click Finish. The project opens in MSP, with updated data.

  7. Save the project to your local drive in XML format.

  8. Log in to Agile PLM on the server where you want the project replicated.

  9. Import the project XML file as described in "Creating a Project from an Existing Microsoft Project File."

The project is replicated on the current server.

7.10 Deleting Objects in Microsoft Project

You can delete projects, phases or tasks in Microsoft Project by using the Microsoft Project features.

When you update Agile PPM with the changes you have made in Microsoft Project, Agile PPM checks your assigned Delete privileges to ensure that you are allowed to delete projects, programs, phases, or gates in Agile PPM. If you have deleted activities in Microsoft Project that you are not allowed to delete in Agile PPM, none of your Microsoft Project changes are saved to the Agile database, and you see an error message telling you that you do not have the appropriate privileges.


Note:

If the publish to PPM fails because you do not have the appropriate Delete privileges, you will not be able to go back to the original project tree in Microsoft Project. However, you can go back to Agile PPM and launch Microsoft Project again.

If you are not able to delete specific types of PPM objects in Agile PPM, you will also not be able to delete them in Microsoft Project and update the Agile database.