Oracle® Agile Product Lifecycle Management Product Portfolio Management User Guide 6Release 9.3.6 E71142-01 |
|
![]() Previous |
![]() Next |
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:
For every project that may be imported to, or exported from, PPM, a single schedule editor must be defined, and honored, for the life of the project.
If MSP is the owner of the project/program schedule, no changes to the schedule dates, features that impact schedule dates, or resource assignments can be made in PPM.
If PPM is the owner of the project/program schedule, exports to MSP can only be for distribution and will be prohibited from being imported back into PPM.
Agile PPM is a Project Management system designed to work as part of PLM, and is different from Microsoft Project.
Agile PPM is deliverable-oriented; MSP is constraint-oriented.
Percent complete is calculated in each system independently, and may not be identical at time of integration, and as activities are executed in PPM the % complete will be different, as it recalculates based on task updates.
PPM has a separate class of objects for Gates and Milestones. They are not tasks with 0 duration, as in MSP. Therefore, there are restrictions in the integration on how these items are transferred.
Many other features in MSP are not supported in PPM, and vice versa.
Caution: Review all documentation for the integration before you begin your implementation. |
As part of the integration, you can choose to do the following:
Create a project in PPM from a legacy MSP file.
Use a PPM project template to create a project in MSP.
Use MSP as the schedule editor for a project that is tracked in PPM, and has deliverables that are managed as part of the PLM context.
Use MSP as a distribution tool, to send PPM projects or programs to users that are not registered PPM users (typically suppliers and/or customers).
The integration XML can also be used to transfer PPM schedules from one server to another, for example, a test environment server to a production environment server.
Agile PLM imports and exports MSP files using the following features:
Create Project from XML - Imports an MSP file in XML format to create a PPM project.
Load Microsoft® Project XML - Updates the current PPM project with changes made in MSP.
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".
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".
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.
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:
Open Microsoft® Project.
Select Tools > Organizer > Modules.
Open Global.mpt and delete the Get File and XML macros.
Understand what could create integration challenges; see "Transferring Microsoft Project Work Values to PPM."
Understand the impact of choosing a scheduling engine. See"Understanding How the Schedule Editors Differ."
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.
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: |
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. |
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."
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.
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:
Go to Tools > Customize > Toolbars. The "Customize" window opens.
From the Commands tab, within the left-hand list, select Tools.
Locate "COM Add-Ins" in the right-hand list.
Drag and drop "COM Add-Ins" from the list onto the top menu bar.
Close the Customize window.
Click the newly added COM Add-Ins menu. A list of all the installed add-ins is displayed.
Select the add-in you want to uninstall.
Click the Remove button to uninstall the selected add-in.
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:
Open the target file in MSP.
In the MSP menu, select File > Save As and save the project file in .xml format.
Move to the Agile Tools and Settings menu and select Create Project from XML File.
In the dialog that opens, choose the project XML file from your local directory.
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."
Click Load.
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.
Click in the System User cell against each resource name, and use the search palette to select and map users.
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.
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.
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. |
It is recommended that you import changes made in MSP back to PPM.
To update your PPM project with changes made in MSP:
Save the MSP project file in XML format.
In Agile, open the PPM project you want to update.
From the Actions menu, select Microsoft® Project > Load Microsoft® Project XML.
Choose the MSP project XML file.
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.
Click in the System User cell against each resource name, and use the search palette to select and map users.
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.
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.
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.
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:
Create a project from a template in PPM.
In the Actions menu, select Microsoft® Project > Save as XML - Edit.
Save the project file to your local directory.
From MSP, open the project XML file.
In the dialog that opens, choose As a new project.
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."
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:
Open the project you want to save.
From the Actions menu, choose Microsoft® Project > Save as XML - Read only or Save as XML - Edit.
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". |
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."
You can create a project on one server and replicate it on another, following the process outlined here:
In Agile PLM, open the PPM project you want to replicate.
In the Actions menu, select Microsoft® Project > Save as XML - Edit.
Save the project XML file to your local directory.
From MSP, open the project XML file.
In the dialog that opens, choose As a new project.
Click Finish. The project opens in MSP, with updated data.
Save the project to your local drive in XML format.
Log in to Agile PLM on the server where you want the project replicated.
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.
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.