Microsoft SharePoint
- Last updated
- Save as PDF
Overview
Microsoft SharePoint is a popular tool for sharing information and enhancing collaboration. Often, organizations use SharePoint’s custom development capabilities to create highly-tailored line-of-business applications to streamline collaboration across teams. For example, they may want to create a simplified change request or support ticketing system that allows colleagues to easily suggest an enhancement, register an issue, or request some other change. But once those requests are made, it’s important for them to flow into the normal, robust organizational workflow for handling those issues.
For example, requests for changes to an internal application should automatically flow to the backlog of the development team responsible for that application. That backlog might be managed in Jira, Rally, IBM Engineering Workflow Management, or some other agile planning or issue tracking tools. Or perhaps the organization has created a simplified internal support ticketing system using SharePoint, but prefers that all trouble tickets are triaged and managed in a robust service desk tools such as ServiceNow, BMC Remedy, Zendesk or Jira Service Desk.
With Planview Hub, this is easily done!
Key Features and Benefits
- Integrates sites built in SharePoint into the software delivery workflow
- Synchronizes information in SharePoint with tools used in software development and IT operations
- Enables cross-tool traceability and consolidating reporting by collecting activity data from SharePoint and other tools, into a central data repository
Common Integration Patterns
Demo Videos
Connector Setup Details
This section describes the basic steps needed to prepare your SharePoint 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 Microsoft SharePoint User Guide to learn how to create a new user in Microsoft SharePoint.
List of minimal user permissions:
- Ensure that the user has Contribute permissions for the list you want to integrate using Hub.
Connecting to the Microsoft SharePoint Repository
Standard Authentication
Required Fields:
- Location/Connection URL
- Example Format: http://abc-msps999
- Username
- Example Format: domain\gu-sharepoint
- Password
Optional Fields:
- Deployment Type: This field represents the deployment type of the Microsoft SharePoint 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 SharePoint online or Microsoft SharePoint).
- The On Premise option represents an on-prem deployment (i.e., Microsoft SharePoint).
- The Online option represents a cloud-based deployment (i.e., Microsoft SharePoint 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 SharePoint.
- 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.
Microsoft Azure Active Directory OAuth2 via Certificate
Note: Access to SharePoint via Azure AD authentication is only supported via certificate support. Shared secret is not supported.
See the section below for steps on configuring this authentication method.
Required Fields:
-
Location/Connection URL
- Example Format: http://abc-msps999
- Token Location
- This can be found on the App Registration overview in Azure AD.
- Client ID
- This can be found on the Overview page of your App Registration.
- Scope
- Example format: https://company.sharepoint.com/.default
- Client Assertion
- This is the entire encoded JWT token.
- You will need to generate a custom JWT token for client assertion.
App Registration
The first step in using the Azure AD authenticator is to set up an app registration for Planview Hub — to generate authentication tokens and control access. See the section below for setting up app registration.
After setting up the app registration, you must grant 'Sites.FullControl.All' and 'SharePoint' permissions.
Note: Due to a restriction that is dictated by Azure Active Directory, the app registration must be granted access to ALL SharePoint sites within a Tenant and cannot be restricted. Please note that this may conflict with your organization's security policies.
To learn more, refer to Microsoft documentation here.
SSO Authentication
Additionally, Microsoft Sharepoint 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
SharePoint Azure Active Directory OAuth2 via Certificate Configuration
This authentication method only works with SharePoint online and Azure Active directory.
See the steps below to set up the Azure Active Directory authentication method:
- Register an application for Hub (or Viz) on Azure Active directory
- Grant permissions to the application to allow it to access SharePoint online
- Grant the application the "Sites.FullControl.All" permission under "SharePoint"
- Generate a Public / Private X.509 certificate key pair according to your requirements
- Note: You must use either Windows or Linux as you likely will not be able to generate a certificate key pair using Mac OSx.
- Add the certificate for Hub to Azure with the following steps:
- In the SharePoint application, click Certificates & secrets in the left sidebar.
- Then, add 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 Planview Hub as follows:
- Token Location: This is the "Directory (tenant) ID" from your App Registration overview (see screenshot below)
- Example Format: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
- Client ID: This is the “Application (client) ID” from your App Registration overview (see screenshot below)
- Scope: This is your base SharePoint URL, <base-url>/.default
- Example Format: https://mycompany.sharepoint.com/.default
- Client Assertion: This is the entire encoded JWT token
- Token Location: This is the "Directory (tenant) ID" from your App Registration overview (see screenshot below)
Attachments
The Microsoft SharePoint connector can retrieve the following metadata when flowing attachments out of SharePoint:
- File Name
- URL
Learn more about how to configure attachment flow in Planview Hub here.
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 SharePoint |
---|---|---|
ID |
ID |
ID is a numeric string that can be found in the URL displayed in the lower left corner of the screen when hovering over the Name>People and Groups>Team Site Members (see image below) |
Username |
LoginName |
External ID (For example, i:0#.w|tasktop\\gu-sharepoint) |
|
|
|
N/A |
Title |
Username (For example, gu-sharepoint) |
Learn more about how to configure person reconciliation in Planview Hub here.
Full Scan
In general, a full scan is not required to synchronize updates from this repository. However, it is possible that some read-only fields may require a full scan. Please consult with customer care for additional details.
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 |
N/A |
Planview Hub: 18.2 and later |
Any supported repository version: |
State Transitions (Status can flow out of SharePoint as a single select. Status can flow into SharePoint by default but may not succeed depending on custom workflow configuration) |
N/A |
Planview Hub: All |
Any supported repository version: |
Supported Artifacts
Supported Work Items
Learn about the difference between containers and work items in Planview Hub here.
Supported Work Item Type |
Applicable Hub Versions |
Applicable Repository Versions |
Unique URL? |
---|---|---|---|
All list content types. For example:
Note: Documentation Types and Items in a library list are not currently supported. |
Planview Hub: All |
Any supported repository version: |
Yes |
Supported Containers
Learn more about containment in Planview Hub here.
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 (When clicking 'Manage Projects' on a Collection) |
|
|
|
Lists |
Planview Hub: All |
Any supported repository version: |
N/A |
Containers used for artifact routing |
|
|
|
Lists |
Planview Hub: All |
Any supported repository version: |
N/A |
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 |
|
Single line of text Multiple lines of text |
Title Address Subject |
|
Single Select |
|
Choice (one choice) |
Content type Task Status |
|
Multi Select |
|
Choice (multiple choices) |
|
|
Boolean |
|
Yes/No Checkbox |
Auto Update |
|
Date |
N/A |
|
Created |
|
Date Time |
|
Date & Time |
Start Date Date Created Date Modified |
|
Duration |
|
|
|
|
Double |
|
Currency Number |
% Complete |
|
Long |
|
|
|
|
Person |
|
User |
|
|
Persons |
|
User (multiple values) |
|
|
Relationship(s) Learn how to configure relationships in Tasktop Hub here. |
|
|
|
Parent |
Rich Text |
|
Multiple lines of text |
|
|
Web Links |
|
Hyperlink |
URL |
|
Other |
|
|
|
|
Functional Limitations
Category |
Limitation |
Applicable Hub Versions |
Applicable Repository Versions |
---|---|---|---|
Third Party API Limitation |
Attachments The SharePoint connector may not accept certain attachments due to configuration limitations described here. As a result, failures may occur in integrations where attachments are used. |
Planview Hub: All |
Any supported repository version: |
Feature Unsupported |
Artifact Location URL If the default form in SharePoint (i.e., https://tasktop.sharepoint.com/Lists/myList/DispForm.aspx?ID=123) is renamed or removed, the artifact location URL will be invalid. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Attachments When retrieving attachments from SharePoint, the repository does not provide metadata for size, author, created/updated date, or description. |
Planview Hub: 18.2 and later |
Any supported repository version: |
Third Party API Limitation |
Attachments Attachments with duplicate file names are not supported. Attempting to synchronize files with duplicate names into SharePoint will result in an error. |
Planview Hub: 18.2 and later |
Any supported repository version: |
Third Party API Limitation |
Attachments File size is required in order to create attachments in SharePoint. This means that only attachments from repositories that store file size in metadata will successfully synchronize into SharePoint. Note that SharePoint attachments do not return file size in their metadata, so SharePoint attachments cannot be synchronized into repositories that require file size. |
Planview Hub: 18.2 and later |
Any supported repository version: |
Third Party API Limitation |
Collection Search Collection search (project specific search) does not sort result in recently modified time if the number of items in a list exceeds 5000. 5000 is the default list view threshold for SharePoint. The threshold can be avoided by indexing columns used for filtering and sorting in the search. The limit can also be configured, but only for on premise versions. More information can be found here. SharePoint does not allow for sorting of query results if the number of items in a list exceeds the threshold, causing search result to not be returned in a recently modified time ordering. Note that collection search works as expected if the number of items in a list is below the threshold. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Filtering 5000 is the default list view threshold for SharePoint. The threshold can be avoided by indexing columns used for filtering and sorting in the search. The limit can also be configured as described here, but only for on premise versions. SharePoint does not allow for filtering of queries if the number of items in a list exceeds the threshold, causing search by query to not be returned in a recently modified time ordering. Note that search by query works as expected if the number of items in a list is below the threshold. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Web Links Custom Web Links in SharePoint only support one link and not a list. When mapped to a list of Web Links, they will display the most recently added Web Link. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Date Fields Date fields cannot be updated to empty or null when using REST. They can be updated to empty/null in the UI but that is because the UI uses SOAP. |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Filtering String-based query search requires filter operator to be all lower case. SharePoint documentation shows filter expression operators to have some uppercase letters, but the API returns expression is not valid whenever the operator has an uppercase letter. As a result only operators with all lowercase letters can be used (e.g., eq instead of Eq, startswith instead of startsWith) |
Planview Hub: All |
Any supported repository version: |
Third Party API Limitation |
Single- and Multi-Select Fields Single- & multi-select fields that do not accept new values cannot be set to empty after they've been set to a non-empty value. In order for SharePoint to be able to update single/multi selects to empty/null we need to allow them to accept new values. Turning on accepts new values and creating a new value does not actually create a new option on the server though. It just sets the current value to that new value. Otherwise after a value is set, there is no way to return the field value to empty/null. |
Planview Hub: All |
Any supported repository version: |
Third Party Functional Limitation |
Task IDs Formatted ID used for searching may not be visible in the web UI. SharePoint doesn't have a visible ID for tasks (at least not by default). So we use the underlying ID as the Formatted ID. The ID can be found on the URL when viewing a specific task. For example, in the URL: http://dev-sp412/Lists/TCK%20List/DispForm.aspx?ID=5256&Source=...., the Formatted ID is 5256. |
Planview Hub: All |
Any supported repository version: |