]project-open[ includes a bidirectional interface with Microsoft Office Project . MS-Project is the de-facto industry standard tool for project scheduling. ]project-open[ can both import schedules from MS-Project and create MS-Project schedules.
MS-Project -> ]project-open[:
]project-open[ -> MS-Project:
"Round-Trip Integration" MS-Project -> ]po[ -> MS-Project -> ]po[ -> ...
The following lists details features of MS-Project and the way they are handled by ]project-open[.
Identifying Existing Tasks
When importing a MS-Project project, ]po[ needs to identify if a MS-Project task already exists or not. This test is performed by checking 1) the unique MS-Project task ID and 2) the name of the task, relative to the task's parent.
The scheduling of tasks is controlled per task using one of the following types:
Import from MS-Project: ]po[ stores the task scheduling types.
Export to MS-Project: ]po[ will use the stored task scheduling types.
Editing: ]po[ allows for manual editing of the scheduling type using its Web GUI.
Tasks may be linked using one of four different types:
Import from MS-Project: ]po[ stores the task dependency types.
Export to MS-Project: ]po[ will export the stored dependency type.
Editing: ]po[ allows to edit the task dependency type using it's Web GUI.
]po[ supports the "% completed" values from MS-Project.
Import from MS-Project: "% completed" are imported into ]po[
Export to MS-Project: ]po[ "% completed" values are exported.
]po[ provides a GUI to allow project managers to updated "% completed" of tasks.
]po[ also allows external applications (for example MS-Outlook using the funambol integration) to update task's completion status and will export this status back to MS-Project.
MS-Project handles tasks with children different from ]po[. In ]po[ it is OK to have a parent that starts after a child task.
In contrast, MS-Project will recalculate the start and end of a parent to include any child tasks.
]po[ does not enforce the equation "Work = Duration x Resources". Instead, a "MS-Project Warnings" functionality warns the user about over- or understaffed tasks. In contrast, MS-Project will recalculate tasks to match the equation.
This difference only applies to tasks that have been defined manually in ]po[. Tasks imported from MS-Project will always match the equation.
Import from MS-Project: ]po[ will ignore resource initials from MS-Project.
Export to MS-Project: ]po[ will use the first two letters of first- and second name as initials.
Import from MS-Project: ]po[ will ignore resource costs from MS-Project because ]po[ has its own business logic and processes around calculating resource costs.
Export to MS-Project: ]po[ will export its own resource costs per hour in the ]po[ default currency.
Editing: ]po[ takes the resource cost from the employee "Hourly Cost" field. ]po[ will use the DefaultTimesheetHourlyCost parameter if the hourly cost is zero or undefined.
]po[ includes its own business logic and functionality for resource levelling of single and multiple projects.The ]po[ [resource levelling] process is supported by a resource report showing resource use across all projects in an organization. A future Taskjuggler integration allows for sophisticated multi-project resource levelling.
Splitting tasks (or "pausing" a task) is currently not supported in ]po[, splitting information is ignored.
The XML field "TimephasedData" is imported into the ]po[ database, but ignored by the ]po[ business logic.
Project and task calendars are currently (]po[ V4.0) stored in the ]po[ database but not supported during export or in the ]po[ business logic.Import from MS-Project: Project and task calendars are stored in the ]po[ database but ignored in ]po[ business logic. Resource calendar information is ignored.
Export to MS-Project: Currently no calendar information is exported. Future versions (]po[ V4.1) will export project and task calendars and ask the user whether to export the project's original resource calendars or the ]po[ resource calendar based on information about absences and other HR parameters.
Editing: ]po[ includes a [timesheet] package that allows for editing and approving vacation and other absence requests.
A future (V4.1) ]po[ scheduling engine (based on a TaskJuggler) will use ]po[ information on vacation, bank holidays and other absences for resource based scheduling of projects.
]po[ currently (V4.0) doesn't support overtime and overtime costs.
Import from MS-Project: ]po[ will ignore overtime information.
Export to MS-Project: ]po[ will not export any overtime information.
]po[ currently (V4.0) doesn't support non-human resources and per-use costs.
]po[ currently (V4.0) doesn't support custom fields. MS-Project XML field "ExtendedAttribute" is ignored.
]po[ includes its own business logic and functionality for handling multiple projects.
MS-Project import and export is restricted to a single project.
When exporting a project to MS-Project, ]po[ will export sub-projects and tasks even though they are in status "closed" or one of its sub-states. Only sub-projects and tasks in status "deleted" will be ignored.
When exporting a project to MS-Project, ]po[ will try to preserve the order of tasks imported from MS-Project.
However, the order of tasks inserted on the ]po[ is not defined. You might need to rearrange them on the MS-Project side.