Microsoft Project Server
- Last updated
- Save as PDF
Overview
Project managers have a tough enough job trying to align the business requirements with the projects, tasks and resources chartered to bring them to life. Fortunately, Microsoft Project Server provides a flexible solution for project portfolio management (PPM) and everyday work.
When the entire IT team has standardized on Microsoft platforms and tools, the interoperability among these tools helps smooth the process. But part of the IT team may prefer to use other, non-Microsoft, tools for Agile planning, testing, requirements management, ITSM or any other aspect of software development and delivery.
In fact, some organizations may prefer to use a combination of Project Portfolio Management tools. They may use Microsoft Project Server for project management and more robust PPM product like CA PPM or Micro Focus PPM for high-level portfolio and financial planning.
In these cases, the friction that occurs because of a lack of integration among these tools slows down delivery, introduces problems and reduces the ability for the project managers to have visibility across their projects.
By using Planview Hub to integrate Microsoft Project Server with other software delivery tools, project managers and the rest of the project team will feel the benefits of automatically flowing information across the whole team.
For example, lets say the project managers are using Project Server and the developers are using Atlassian Jira:
- Project Managers schedule project work, and assign tasks and resources using Project Server
- The tasks (and sub-tasks) can be automatically mirrored in Jira as Stories and sub-tasks
- When the developers update their status and effort on the tasks in Jira, this information is automatically synchronized back to Project Server
This use case is very common with PPM tools. It’s described in the Associating Planning Items to Implementation Artifacts integration pattern. But the various ways Project Server can be integrated into your Software Lifecycle is limited only by your business requirements. For example, the scenario above may actually start with financial and portfolio planning in Broadcom Clarity.
- The business initiatives developed by the PMO in Broadcom Clarity are synchronized to Microsoft Project Server.
- The project managers use Project Server for the day to day management of the projects.
- The development team executes their work in Jira (as described above).
Hub flows the information from tool to tool, allowing everyone to use the tool that’s best for their job.
Key Features and Benefits
- Improved visibility into the overall status of projects by allowing collaboration between the Development team and the project managers and PMO.
- Synchronizes artifacts across the lifecycle allowing free flow of information between Microsoft Project Server and other tools.
- Enables centralized planning and control Improved cross-tool reporting, removing the need for manual processes and spreadsheets.
- Implement a true Scaled Agile Framework® (SAFe®) strategy across your portfolio, program and team levels
Common Integration Patterns
Demo Videos
Connector Setup Details
This section describes the basic steps needed to prepare your Microsoft Project Server instance for use with Hub. Note that additional fields for synchronization or configuration of queries may be required depending on the requirements of your integration.
Minimal User Permissions & Hub User
We recommend that you create a new user within your external tool, to be used only for your Hub integration. This is the user information you will enter when setting up your repository connection within Planview Hub. By creating a new user, you will ensure that the correct permissions are granted, and allow for traceability of the modifications that are made by the synchronization.
In general, your user account should have sufficient permissions to create, read, and update artifacts in your repository. However, depending on the use case, your user may need different permissions. For example, if you are only interested in flowing data out of your repository, your user may not need to have full CRUD access, as the 'create' and 'update' permissions may not be needed.
Your user should have a secure password or token. Please be aware that Hub will not allow you to save a repository connection utilizing a weak password/token, such as 'tasktop.'
See instructions on how to create a custom user in Microsoft Project Server.
List of minimal user permissions:
- Ensure the user has sufficient permissions to create and update Projects and Tasks in your integration
- Ensure the user is added to the Project
Connecting to the Microsoft Project Server Repository
Standard Authentication
Required Fields:
- Location/URL
- Example Format: https://abc-msps999/PWA
- Note: PWA is the Project Web App site
- Example Format: https://abc-msps999/PWA
-
Server Time Zone
-
For versions earlier than 19.4:
-
Format for time zone can be any of the following:
- Abbreviation such as "PST"
- A full name such as "America/Los_Angeles"
- Custom ID such as "GMT-8:00"
-
-
- Username
- Example Format: ORGANIZATION\gu-sharepoint
- Note that certain configurations may require you to use the following format: user@domain.onmicrosoft.com
- Password
Optional Fields:
- Work Day Hours: This field indicates the number of hours in a standard task day.
- Work Week Hours: This field indicates the number of hours in a standard task work week.
- Deployment Type: This field represents the deployment type of the Microsoft Project Server instance; options include, None, Auto-detect, On Premise, and Online.
- The None and Auto-Detect options automatically determine if the deployment is cloud-based or on-prem (i.e., Microsoft Project online or Microsoft Project Server).
- The On Premise option represents an on-prem deployment (i.e., Microsoft Project Server).
- The Online option represents a cloud-based deployment (i.e., Microsoft Project Online).
- Enable Legacy NTLM Authentication: If checked, NTLM authentication scheme support will be enabled when authenticating to the repository.
- When unchecked, the NTLM authentication scheme support will be disabled and the connector will use basic authentication against the repository. See details here for configuring IIS to support basic authentication.
- Note: This field only applies to on-premise instances of Microsoft Project Server.
- Throttling Settings: This field indicates the number of API calls that can be made per minute. See details here.
- Note: This field should only be set under the guidance of customer care as the ideal value is highly dependent on each customer's unique environment.
- Connection Security: If checked, insecure connections to this repository will be allowed. See details here.
Note: For Microsoft Project Online, the following authentication methods are supported: Cloud Identity, Synchronized Identity. Federated Identity is not supported.
Microsoft Azure Active Directory OAuth2 via Certificate (ROPC)
See the section below for steps on configuring this authentication method.
Required Fields:
- Location/URL
- Example Format: https://abc-msps999/PWA
- Note: PWA is the Project Web App site
- Example Format: https://abc-msps999/PWA
-
Server Time Zone
-
For versions earlier than 19.4:
-
Format for time zone can be any of the following:
- Abbreviation such as "PST"
- A full name such as "America/Los_Angeles"
- Custom ID such as "GMT-8:00"
-
-
- Username
- Example Format: ORGANIZATION\gu-sharepoint
- Note that certain configurations may require you to use the following format: user@domain.onmicrosoft.com
- Password
- Token Location: This is the Directory (tenant) ID found in the App Registration Overview.
- Example Format: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
- Client ID: This is the Application (client) ID found in the App Registration Overview.
- Scope: This is the base URL.
- Example Format: https://abc-msps999/
- Client Assertion: This is the entire encoded JWT token.
SSO Authentication
Note: The below options are not applicable to Federated Authentication. Hub does not support Federated Authentication.
Additionally, Microsoft Project Server supports the following SSO implementations:
- Script (HTTP cookies)
- X.509 Certificate
Learn more about how to set up your repository in Planview Hub here.
Other Configuration Settings
Microsoft Azure Active Directory OAuth2 via Certificate (ROPC) Configuration
Microsoft recommends not using the ROPC OAuth2 flow. However, it is important to note that this statement is made in the context of an application having access on a user's behalf.
Regarding Hub, our recommended approach is to use a dedicated account with only the permissions necessary for your use case(s).
- The dedicated account should have a secure password and the credentials should not be shared.
- The Hub user must have sufficient permissions to access the projects/items in your repository.
Note: This form of authentication will not support multi-factor authentication use cases.
Please see Microsoft’s documentation for more information on OAuth2 via ROPC.
This authentication method only works with Project Online and Azure Active directory.
See the steps below to set up the Azure Active Directory authentication method:
-
Register an application for Hub on Azure Active directory.
-
Grant permissions to the application to allow Hub to access Project Online. These settings are found under API permissions > Add a permission > Microsoft APIs > SharePoint > Delegated Permissions.
-
Grant the application the necessary permissions (e.g., ProjectWebApp.FullControl).
-
-
Generate a Public / Private X.509 certificate key pair according to your requirements.
-
Note: You may need a Linux/Windows PC for this process.
-
-
Add the certificate for Hub to Azure with the following steps:
-
Click Certificates & secrets in the left sidebar.
-
Then, upload the public certificate to the Certificates section.
-
-
Generate a new JWT token.
-
Save the token to use in Hub.
-
Fill in the Repository Connection fields in Hub as follows:
-
Username: The Hub user’s username
-
Password: The Hub user’s password
-
Token Location: This is the Directory (tenant) ID from the App Registration Overview section
-
Example Format: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
-
-
Client ID: This is the Application (client) ID from the App Registration Overview section
-
Scope: This is the base URL (i.e., the project URL without “/sites/pwa”)
-
Example Format: https://mycompany.msps.com/.default
-
-
Client Assertion: This is the entire encoded JWT token
-
-
Person Reconciliation
For Person Reconciliation, the following fields are available:
Fields Used for Hub’s Default Person Reconciliation Algorithm |
Field Names for Person Reconciliation Extensions (Note that these are case sensitive) |
Label in Microsoft Project Server |
---|---|---|
ID |
person-id |
GUID (see below) |
Username |
N/A |
N/A |
|
person-email |
|
N/A |
person-external-id |
External ID (This contains the data after the backslash in the Account Field. For example, for Account "i:0#.w|tasktop\charles.smith", the External ID would be 'charlessmith'. It can also be found when viewing a resource, as shown in the screenshot below) |
N/A |
person-display-name |
Display Name |
The ID can be found when viewing a resource:
Learn more about how to configure person reconciliation in Planview Hub here.
Full Scan
Due to third party API limitations, changes to the following fields may not trigger change detection or cause a synchronization immediately. To ensure these updates synchronize, a high fidelity full scan must occur or another qualifying change must be made to the artifact:
- 'Remaining Work' Field
Learn more about how to configure change detection and full scan intervals in Planview Hub here.
Query Language
Planview Hub: 21.4 and later
To further refine artifacts in a collection, Hub offers query language support for a limited set of MSPS fields.
The following field types are supported:
Equal/Not Equal operator
-
VWL
-
String
-
Long
-
(Not supported in 2013 on-prem versions)
-
-
Double
-
Boolean
- Custom String (see details below)
- Custom Single Select (see details below)
Before/After operator
-
Dates
Note: The following field types are not supported: Duration, Notes, ID.
Custom fields must meet the following criteria:
- The custom field must be a String or Single Select field.
-
The field name or value must not contain unicode and should only be standard ASCII.
-
The field name should not contain any of the following symbols:
- !"#$%&'()*+,-./:;<=>?@\^_`{|}~
-
The field name (with all whitespace removed) should not match any of the below "internally reserved" field names:
"ProjectId" "TaskId" "ParentTaskId" "ParentTaskName" "ProjectName" "TaskActualCost" "TaskActualDuration" "TaskActualFinishDate" "TaskActualFixedCost" "TaskActualOvertimeCost" "TaskActualOvertimeWork" "TaskActualRegularCost" "TaskActualRegularWork" "TaskActualStartDate" "TaskActualWork" "TaskACWP" "TaskBCWP" "TaskBCWS" "TaskBudgetCost" "TaskBudgetWork" "TaskClientUniqueId" "TaskCost" "TaskCostVariance" "TaskCPI" "TaskCreatedDate" "TaskCreatedRevisionCounter" "TaskCV" "TaskCVP" "TaskDeadline" "TaskDeliverableFinishDate" "TaskDeliverableStartDate" "TaskDuration" "TaskDurationIsEstimated" "TaskDurationString" "TaskDurationVariance" "TaskEAC" "TaskEarlyFinish" "TaskEarlyStart" "TaskFinishDate" "TaskFinishDateString" "TaskFinishVariance" "TaskFixedCost" "TaskFixedCostAssignmentId" "TaskFreeSlack" "TaskHyperLinkAddress" "TaskHyperLinkFriendlyName" "TaskHyperLinkSubAddress" "TaskIgnoresResourceCalendar" "TaskIndex" "TaskIsActive" "TaskIsCritical" "TaskIsEffortDriven" "TaskIsExternal" "TaskIsManuallyScheduled" "TaskIsMarked" "TaskIsMilestone" "TaskIsOverallocated" "TaskIsProjectSummary" "TaskIsRecurring" "TaskIsSummary" "TaskLateFinish" "TaskLateStart" "TaskLevelingDelay" "TaskModifiedDate" "TaskModifiedRevisionCounter" "TaskName" "TaskOutlineLevel" "TaskOutlineNumber" "TaskOvertimeCost" "TaskOvertimeWork" "TaskPercentCompleted" "TaskPercentWorkCompleted" "TaskPhysicalPercentCompleted" "TaskPriority" "TaskRegularCost" "TaskRegularWork" "TaskRemainingCost" "TaskRemainingDuration" "TaskRemainingOvertimeCost" "TaskRemainingOvertimeWork" "TaskRemainingRegularCost" "TaskRemainingRegularWork" "TaskRemainingWork" "TaskResourcePlanWork" "TaskSPI" "TaskStartDate" "TaskStartDateString" "TaskStartVariance" "TaskStatusManagerUID" "TaskSV" "TaskSVP" "TaskTCPI" "TaskTotalSlack" "TaskVAC" "TaskWBS" "TaskWork"
Best Practices for Integrating with Agile Tools
In our 10+ years of working with customers to build and implement data integration solutions, we have identified some core best practices for designing integrations across tools that are conceptually different, built for vastly different purposes, and with distinct internal architectures. Microsoft Project Server is one such tool: built for project management and organized like a spreadsheet or project plan. Agile tools such as Jira, on the other hand, follow a different structure - they contain artifacts like Epics, Stories, and Defects with many relationship types defined between artifacts.
You can learn more about common integration patterns utilizing MSPS here:
Focus on the Business Problem
When aligning two very different tool environments, it is important to first define your core business problem, and to let that drive a holistic, sustainable solution.
Integrating Microsoft Project Server with an Agile tool requires that you work with two tools that communicate with one another in inefficient ways, as their processes have until now been designed in separation. Designing an efficient integration solution will only be successful if you focus on the business problem first. This will enable you to create a holistic solution, rather than a piecemeal approach driven by individual field-to-field mappings.
For example, when planning out your integration solution, don’t try to map the ‘Actual Start’ field in Microsoft to some field on the Agile side which may not even exist. Instead, think about your business problem. If you need to know when work began on an item, perhaps the crucial information in the Agile tool to focus on is the date/time the artifact moved to ‘in progress’ state.
Below, we have outlined some very specific areas that can prove to be challenging when integrating MS Project Server with an Agile endpoint like Jira, VersionOne, Azure DevOps (formerly Microsoft TFS/VSTS), and more.
Microsoft Project Server API Limitations
With the 2016 release of Microsoft Project Server, Microsoft released some API limitations that impact integration and are worth considering for integration use cases.
These limitations affect Microsoft Project Server 2016 and later, and Project Online:
- Custom fields cannot flow into MSPS; they can only flow out of MSPS
- This also includes the stock/placeholder custom fields that are provided in MSPS (i.e. 'text10' field, which users can relabel as a custom field of their choice). Those fields can only flow out of MSPS.
-
Parent fields cannot be updated - they can only be set on creation (this limitation applies to all versions of MSPS).
The recommendations below take these limitations into consideration.
Use Proper Hierarchy Delineations
Within Microsoft Project Server, all items are of the same type: Tasks. However, Agile tools contain artifacts of different types such as Epics, Stories, and Defects, which relate to one another via different relationship hierarchies. As a result, it is important to find a reliable way to delineate between different artifact types in Microsoft Project Server.
Here are some best practices to consider:
Allow the original creation of each artifact type on one side only.
For example, high level epics are created only on the Microsoft Project Server side as part of a project plan. Lower level items like Features and Stories can only be broken down in the Agile tool.
Thus, the integration flow will be:
-
- Epics: MSPS → Agile
-
Features: MSPS ← Agile
-
Stories: MSPS ← Agile
If different artifact types must be created in Microsoft Project Server, choose a reliable method to delineate between them.
Using the outline level or order in the hierarchy within MSPS to delineate between different artifact types is an unreliable option, as hierarchies can change and tasks can be moved around the project plan. If tasks do not move around the project plan after the plan has been published, you may consider this option.
A more reliable option would be to take advantage of a custom field to delineate between the different artifact types. For example, create a custom field in MSPS that specifies if a task is a feature or a story in the other tool.
Use Concatenation to Work with Microsoft’s Custom Field API Limitation
Given that Microsoft’s API prevents Hub from writing data to custom fields in MSPS 2016+ or Project Online, we’d like to provide some best practices for satisfying your use case if it is necessary for you to have some additional information flow back into MSPS.
The first question to consider is, “what is the most important information for the PMO office to see back in MSPS?” Given that Microsoft’s API only allows Hub to write to default/out-of-the-box fields, one best practice is to take advantage of the Summary/Name field and to concatenate some necessary information into via your integration, using an extension.
For example, let’s say there are two important pieces to flow to MSPS from your Agile tool:
- Dev Status
- Dev ID
To accommodate this use case, your integration can append both fields to the title field in MSPS.
Here is an example of a possible concatenation:
Remember, custom fields can be retrieved, thus one way integration of this value from MSPS → Agile tool is still feasible.
Status and Progress Updates
From an integration perspective, there tend to be two different types of updates back from the Agile world:
- Status updates (i.e., New, In Progress, Complete)
- Progress updates showing a calculation or depiction of the progress (i.e., Hours Complete or Percentage Complete).
If you are looking for a word to specify the status (Red/Yellow/Green or ToDo/InProgress/Done), then take advantage of the concatenation approach outlined above.
However, if you want to look into more detailed progress updates via integration, here are some considerations and best practices:
% Complete
It is important to think through how this number would most accurately be calculated.
Here are some approaches to take advantage of:
Use status workflow on the Agile side to establish the relative % complete of the task.
For example, “In Design” could mean 20% of the way, “Design Complete” - 30%, “In QA” - 70%, “QA Complete” - 80%, etc. This is potentially the most reliable way to get a relative number into MSPS, given the API constraints. Note that the % complete ONLY has to be transferred to the lowest level artifact in the hierarchy, as MS Project Server does the calculation to parent levels by itself.
Use a field on the Agile side to define the percent complete.
Ask the developer to estimate the % complete and to input value into a numeric or text field. You also could take advantage of a third party tool to calculate parent % complete based on its children sub-tasks (see additional details in the Rollup section below).
Calculate based on Estimate and Completed fields.
Some Agile tools include a field for an Estimate of work contained in an artifact (counted in user stories, hours, or some other unit). By comparing the Estimate and Completed fields, you can calculate a % Complete to flow back to MSPS through an extension in the integration.
Roll-up Use Cases
In many cases, you may want your Agile tool to contain very granular, detailed information regarding implementation work, while Microsoft Project Server contains a high-level roll-up summary. When implementing this use case, keep in mind that the best place to perform these roll-ups is within the endpoint tool itself, and not within Hub.
One reason not to have Hub perform the roll-up calculations is the following: let's say we had logic in Hub that took data from the child artifact in the source system and then flowed it to the parent artifact in the target system. If the data changed on the child artifact, Hub might not pick up those changes, since change detection is run on the artifacts within scope of the integration itself (meaning - on the parent artifacts, and not on the child artifacts). Since Hub only picks up changes occurring on the parent artifact, if your roll-up relies on data contained on a separate artifact (i.e., the child artifact), Hub could miss some vital updates.
Best Practices
- Use filters or views to hide low level items within MS Project Server project views.
-
Use a third party tool to perform the calculation. For example, take advantage of Jira internal extensions, Azure DevOps (formerly TFS) extensions, or other third party extensions to loop through child items and calculate an aggregate % complete, which can then be assigned to the top-level artifact and integrated to Microsoft Project Server.
Calculated Fields
Most PMO tools have some calculation embedded within their tools. Meaning, some fields on Tasks are interrelated and are adjusted in conjunction with changes to other fields. For example, if you have “Work Completed” and “Work Remaining” fields in MSPS, the “Work Remaining” field will automatically be updated as you increase “Work Completed.” This adds some complexity to integration configuration, as care must be taken to determine which fields Hub will update and which will simply be auto-updated in the repository itself.
Let’s examine a few scenarios.
Start & Finish Dates
Start Date and Finish Date fields have some important dependencies:
The finish date cannot be before the start date.
This can affect the integration as Agile tools generally will not have a relationship between two custom date fields, unless you have manually configured field dependencies.
Predecessors and Successors
If items are auto-scheduled, then the start and finish dates will auto-adjust in MSPS when dates change on the predecessor. This is very beneficial from an integration perspective, as the Agile team will find out instantly if any preceding items have slipped and target dates have changed. All changes impacted by auto scheduling will be picked up once the new schedules are published to the server.
Parent/Child Relationships
Similar to predecessor and successor relationships, parent/child relationships in MSPS will affect start and finish dates. If a child item slips or extends, the parent item will be updated accordingly. This is also beneficial from an integration perspective, as it will allow Agile teams to find out about updated dates as soon as the new project plans are published.
Actual Start, Actual Finish, % Complete
Planview Hub: 19.2.0.20190211 and later
MSPS has some built-in field dependencies between the Actual Start, Actual Finish, and % Complete fields. It's important to be aware of these, so that you understand how field updates made by your Hub integration may impact other fields within MSPS.
For example:
- If you set the 'Percent Complete' field to a non-zero amount, then the ActualStart field will be updated to the Status date if ActualStart is empty
- If you set the 'Percent Complete' field to 100%, then the ActualFinish field will be updated to the Status date if ActualFinish is empty
- If the 'Percent Complete' field is 100% and you change it to be less than 100%, then the ActualFinish value will be removed
- If the 'Percent Complete' field is non-zero and you change it to zero, then the ActualStart value will be removed
Setting these five field values may also cause changes in the 'Duration', 'Actual Duration' and 'Remaining Duration' values.
Note: The Actual Finish is calculated in one of two ways: When you specify that a task is 100 percent complete, MS Project automatically adjusts the actual finish date based on either the current status date or the scheduled finish date. The date that is used depends on the calculation preferences that you can set in the MS Project Options dialog box.
Because of the behavior outlined above, we recommend flowing data from the Agile tool to the "% Complete" field only. That way, the auto-calculations within MSPS can take care of updating the Actual Start and Actual Finish dates, without any data needing to be integrated from the Agile tool directly.
Estimate, Complete, and Remaining
The most important thing to understand regarding Estimate, Complete, and Remaining fields is that the three fields are auto adjusted on the MS Project side, but are potentially unrelated fields on the Agile side. Thus, you should consider one way integrations or integrating only one of the fields.
For example.
- Estimate: MSPS → Agile
- Complete: MSPS ← Agile
- Remaining: no integration
We encourage thinking through the process holistically, in order to craft a reliable integration that accounts for all edge cases.
Resource Assignments
While MS Project Server breaks down tasks to be assigned to multiple resources, most Agile tools do not allow more than one assignee per task. This architectural mismatch presents some challenges when trying to align resource assignments between the two tools.
Here are some best practices and considerations:
- Make the Agile tool the system of record for assignments to ensure that only one person is assigned per task. This is the most reliable option
-
Use a custom field on the Agile side to hold multiple assignees that have been assigned on the MS Project side. While Jira supports proper multi-user custom fields, Azure DevOps (formerly TFS) does not. Thus, if you are flowing assignments to Azure DevOps, it must be a one-way MSPS -> Agile mapping, or you must flow to a custom text field in Azure DevOps.
-
Finally, you could use an extension to perform some logic on the assignment. For example, if there are multiple assignees on the MSPS side, you could configure an extension in your integration to only flow the first one to the Agile tool.
Supported Features
Special Features Supported
You can learn more about special features in Planview Hub here.
Feature |
Custom Type Supported? |
Applicable Hub Versions |
Applicable Repository Versions |
---|---|---|---|
Time Worked (Worklogs) Impersonation |
|||
Comments Impersonation Public/Private |
|||
Attachments Impersonation |
|||
State Transitions (Status can flow out of Project Server as a single select. Status can flow into Project Server by default but may not succeed depending on custom workflow configuration) |
Planview Hub: All |
Any supported repository version: |
Supported Artifact Types
Learn about the difference between containers and work items in Planview Hub here.
Supported Work Items
Supported Work Item Type |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
Tasks |
Planview Hub: All |
Any supported repository version: |
No |
Supported Containers
Containers that can synchronize between repositories |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
N/A |
|
|
|
Containers used to define the boundary of a collection |
|
|
|
Projects |
Planview Hub: All |
Any supported repository version: |
N/A |
Containers used for artifact routing (When clicking 'Manage Projects' on a Collection) |
|
|
|
Projects |
Planview Hub: All |
Any supported repository version: |
N/A |
Learn more about containment in Planview Hub here.
Supported Field Types
Note: If one field of a given type is supported, others that are also that type in theory should also work. However, sometimes there are instances in which this is not the case due to the repository. So, while we can claim support for fields at the type level, there is a chance that some specific fields of a given type will not synchronize properly.
Standard Field Type |
Does Hub support custom fields of this type? |
How is field type referenced in the repository? |
Sample Repository Fields Supported |
Particular Repository Fields NOT Supported |
---|---|---|---|---|
String |
Custom fields are only writable before Project Server 2016/Project Online |
Text |
Name Notes Outline Position Outline Level Work Breakdown Structure |
|
Single Select |
Custom fields are only writable before Project Server 2016/Project Online |
Text with lookup entries |
Project Health |
|
Multi Select |
|
|
|
|
Boolean |
Custom fields are only writable before Project Server 2016/Project Online |
Flag |
Manually Schedule Flag Status |
|
Date |
Custom fields are only writable before Project Server 2016/Project Online |
|
Start (in Worklog) |
|
Date Time |
|
|
Start Modified Finish |
|
Duration |
Custom fields are only writable before Project Server 2016/Project Online |
Duration |
Work Remaining Work Remaining Duration Duration Actual Work Actual Duration |
|
Double |
Custom fields are only writable before Project Server 2016/Project Online |
Cost |
Cost |
|
Long |
Custom fields are only writable before Project Server 2016/Project Online |
|
Priority Percent Complete |
|
Person |
|
|
|
|
Persons |
N/A |
|
Assignees |
|
Relationship(s) Learn how to configure relationships in Planview Hub here. |
N/A |
|
Parent Link (upon creation only) |
Successor |
Rich Text |
|
|
|
|
Web Links |
|
|
|
|
Other |
|
|
|
|
Functional Limitations
Category |
Limitation |
Applicable Hub Versions |
Applicable Repository Versions |
---|---|---|---|
Third Party API Limitation |
OAuth2 via Certificate Authentication Worklogs are not supported with OAuth2 authentication due to limited compatibility with Azure Active Directory tokens. |
Planview Hub: 21.4.39 and later |
Any supported repository version: |
Third Party API Limitation |
OAuth2 via Certificate Authentication OAuth2 via ROPC does not support accounts that require multi-factor authentication to log in. |
Planview Hub: 21.4.39 and later |
Any supported repository version: |
Third Party API Limitation |
API Throttling If the server is experiencing high loads, Project Online will throttle API requests. This throttling will dynamically scale depending on project size and operation complexity. As a result, projects with a large number of artifacts (e.g., 10,000+) may experience significant delays. For more information, please contact customer care. |
Planview Hub: All |
Project Online |
Configuration Requirement |
Duration Fields To use Duration fields calculated in days or weeks, the Work Day Hours and Work Week Hours fields must be set on the Repository Connection screen. |
Planview Hub: 20.4.21 and later |
Any supported repository version: |
Good to Know |
Work Day Hours Field The Work Day Hours field accepts a value between 1.0 and 24.0. |
Planview Hub: 20.4.21 and later |
Any supported repository version: |
Good to Know |
Work Week Hours Field The Work Week Hours accepts a value between 1.0 and 168.0. |
Planview Hub: 20.4.21 and later |
Any supported repository version: |
Good to Know |
Duration Fields The maximum retrieval value for the Duration field is 100,000 hours. |
Planview Hub: 20.4.21 and later |
Any supported repository version: |
Feature Not Supported |
Sharepoint Tasks List Projects Sharepoint Tasks List projects are not supported. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Locked Projects MSPS locks the entire project whenever a write operation is performed. This may result in delayed or retried activities. It is recommended that any integration using MSPS synchronizes as few fields as possible with a high change detection interval to ensure other users of MSPS are not negatively impacted by API calls locking projects. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Predecessors Field The predecessors field is read-only in any version of MSPS earlier than 2019 due to a defect in the Microsoft REST API which overwrites existing predecessors instead of adding to the list of predecessors. The field is writeable in Project Online and any supported versions 2019 or later. |
Planview Hub: 19.1 and later |
Any repository version earlier than 2019: |
Third Party API Limitation |
Local Custom Fields Local custom fields are not supported. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Custom Fields Custom fields are read-only. Microsoft does not provide the API to write to them. |
Planview Hub: All |
Supported versions including 2016 and later (including Project Server Online) |
Third Party Functional Limitation |
Duration Fields Changing the Duration field causes MSPS to recalculate the Work fields. It miscalculates these fields and they are off by milliseconds. From then on these fields will always be off from the correct value by milliseconds. This can cause issues when synchronizing because many duration fields require the field to be rounded to a certain duration. MSPS may also miscalculate the Actual Duration field when the Duration field causes it to change, but this appears to happen less frequently. |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Person Fields A Person must be added to the Project Team to be assigned |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Person Fields A Person will be assigned to the task if the Person reports time |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Person Fields A Person/Resource needs to have an assigned Login (e.g.Active Directory) to be able to report time |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Artifact Management CRUD operations cause all artifacts to be modified. |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Parent Links Parent links can only be set on creation. Therefore, when integrating with the parent link, you have to make sure it exists on the other side before Hub picks it up. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Date Fields Dates in the MSPS web UI are displayed in the local (server) timezone. If you're synchronizing an MSPS project with another repository that displays dates in UTC, the dates may appear not to match. |
Planview Hub: All |
Any supported repository version: |
Configuration Requirement |
Configuration Before running Hub, make sure the project is not currently checked out. Visit the "Force Check-in Enterprise Objects" page of your MSPS instance to do so. |
Planview Hub: All |
Any supported repository version: |