Skip to content

Commit 5a8ba2c

Browse files
Merge pull request SharePoint#7117 from andrewconnell/msdocsrules_docs-link-absolute
Convert abs links to relative for all non-sharepoint links
2 parents 7269549 + 1306712 commit 5a8ba2c

File tree

140 files changed

+1019
-1093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

140 files changed

+1019
-1093
lines changed

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@
7474
"source_path": "docs/spfx/web-parts/guidance/creating-team-manifest-manually-for-webpart.md",
7575
"redirect_url": "docs/spfx/deployment-spfx-teams-solutions.md",
7676
"redirect_document_id": false
77+
},
78+
{
79+
"source_path": "docs/general-development/office-365-cdn.md",
80+
"redirect_url": "/office365/enterprise/use-office-365-cdn-with-spo",
81+
"redirect_document_id": false
7782
}
7883
]
7984
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Review all the SPFx releases here from the initial GA release in February 2017 i
2727

2828
* [Background and Philosophy](https://docs.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview)
2929
* [Design Great Web Parts](https://docs.microsoft.com/sharepoint/dev/design/design-guidance-overview)
30-
* [API Docs](https://docs.microsoft.com/javascript/api/sp-application-base)
30+
* [API Docs](/javascript/api/sp-application-base)
3131

3232
## Updates & Feedback
3333

docs/apis/export-amr-api.md

Lines changed: 81 additions & 86 deletions
Large diffs are not rendered by default.

docs/apis/migration-api-shared.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Do not migrate anonymous sharing links from the source; this is not useful as it
5656
### Sharing with external users
5757
Before starting migration, you must ensure all users are provisioned in the customer tenant. For users external to the tenant (ie. from a different organization), provision them as B2B collaboration users in Azure Active Directory. This is done in the Azure portal following these steps:
5858

59-
- [Add Azure Active Directory B2B collaboration users in the Azure portal](https://docs.microsoft.com/azure/active-directory/b2b/add-users-administrator).
59+
- [Add Azure Active Directory B2B collaboration users in the Azure portal](/azure/active-directory/b2b/add-users-administrator).
6060

6161
Once the external users are provisioned, share files and folders with them during migration the same way as internal users.
6262

docs/apis/migration-isv-guidance.md

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,99 @@
11
---
22
title: "Migration guide for ISVs"
3+
description: "Learn about using the SharePoint Migration API."
34
ms.date: 02/04/2021
4-
ms.reviewer:
55
ms.author: jhendr
66
author: JoanneHendrickson
77
manager: pamgreen
88
audience: Dev
99
ms.topic: article
1010
ms.prod: sharepoint-server-itpro
1111
localization_priority: Priority
12-
ms.collection:
13-
- SPMigration
14-
- M365-collaboration
12+
ms.collection:
13+
- SPMigration
14+
- M365-collaboration
1515
search.appverid: MET150
16-
description: "Learn about using the SharePoint Migration API."
1716
---
1817
# Migration guidance for ISVs
1918

20-
This document guides ISVs in delivering a fast and reliable migration experience to customers. It contains the latest Microsoft migration practices and concerns or questions raised by ISVs.
19+
This document guides ISVs in delivering a fast and reliable migration experience to customers. It contains the latest Microsoft migration practices and concerns or questions raised by ISVs.
2120

2221
## Use app-based authentication
23-
There are different usage patterns between end user traffic and an application doing background activities such as migration. It is important to identify user traffic versus application traffic.
2422

25-
To provide a stable platform and more reliable service, Microsoft is requesting that ISVs transition from using a user-based authentication to app-based authentication to provide greater reliability to our end users and partners.
23+
There are different usage patterns between end user traffic and an application doing background activities such as migration. It is important to identify user traffic versus application traffic.
24+
25+
To provide a stable platform and more reliable service, Microsoft is requesting that ISVs transition from using a user-based authentication to app-based authentication to provide greater reliability to our end users and partners.
2626

27-
Migration is a background task application and should **not** be run in user mode. By transitioning to app-based authentication, you will benefit from the elastic capability of off-peak time to have more resources.
27+
Migration is a background task application and should **not** be run in user mode. By transitioning to app-based authentication, you will benefit from the elastic capability of off-peak time to have more resources.
2828

2929
> [!Note]
30-
>Microsoft will start enforcing the proper usage roles in Q1 2020. Vendors who continue to run migration in user roles can expect to experience increasing throttling and poor performance.
30+
> Microsoft will start enforcing the proper usage roles in Q1 2020. Vendors who continue to run migration in user roles can expect to experience increasing throttling and poor performance.
3131
3232
To learn more on how to register an app ID and how to implement app-based authentication see:
3333

34-
- [How to register an app ID](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Factive-directory%2Fdevelop%2Factive-directory-v2-registration-portal&data=04%7C01%7CWan.Wu%40microsoft.com%7C7c98484b20de4fc80fb308d6da3e3509%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636936358039977299%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C-1&sdata=L%2BObRVyCBKPwvvY7MUUsWX%2B8yEIbzqaTkBjcmNjc1vk%3D&reserved=0)
35-
- [Microsoft Graph Auth guidance](https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fgraph%2Fauth%2F&data=04%7C01%7CWan.Wu%40microsoft.com%7C7c98484b20de4fc80fb308d6da3e3509%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636936358039977299%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C-1&sdata=ZrFqXsLT3BtT8ynnlLQH9w7JZIOw07zu2X3EYbBmfD4%3D&reserved=0): Includes an informative video, basics, how to register your app and getting access scenarios
34+
- [How to register an app ID](/azure/active-directory/develop/active-directory-v2-registration-portal)
35+
- [Microsoft Graph Auth guidance](/graph/auth): Includes an informative video, basics, how to register your app and getting access scenarios
3636
- [Don’t get throttled! SharePoint and OneDrive guide to staying below the limits](https://www.youtube.com/watch?v=_pBHfGGdMfE)
3737

3838
### App-based authentication migration guidance
3939

4040
#### Permission settings
41+
4142
Azure Active Directory (AAD) provides two type of permission : delegated permission and application permissions. For official AAD guidance please see:
4243

43-
- [Permissions and consent in the Azure Active Directory v1.0 endpoint](https://docs.microsoft.com/azure/active-directory/develop/v1-permissions-and-consent).
44+
- [Permissions and consent in the Azure Active Directory v1.0 endpoint](/azure/active-directory/develop/v1-permissions-and-consent).
4445

45-
For SharePoint and OneDrive migration scenarios, the guidance is to follow the AAD permission specification.
46+
For SharePoint and OneDrive migration scenarios, the guidance is to follow the AAD permission specification.
4647

47-
For migration tool that relies on end user signed in and presence, delegated permission is recommended.
48+
For migration tool that relies on end user signed in and presence, delegated permission is recommended.
4849

4950
For service-based migration tool that run without a signed-in user present such as app that runs as background service, application permission is recommended.
5051

5152
#### Number of App IDs
5253

53-
Questions have been raised by ISV on whether to have a single App ID covering all migration offering products or having multiple App ID per software offering. There is no specific guidance where the ISVs can identify all of their App IDs. Please contact Microsoft for any corner case scenarios.
54+
Questions have been raised by ISV on whether to have a single App ID covering all migration offering products or having multiple App ID per software offering. There is no specific guidance where the ISVs can identify all of their App IDs. Please contact Microsoft for any corner case scenarios.
5455

55-
>[!Note]
56+
> [!Note]
5657
> Please register all your migration app IDs with Microsoft to ensure that you receive adequate throughput for your migration jobs.
5758
59+
## Use the Migration API
5860

59-
## Use the Migration API
6061
For migration jobs, the first guidance is to use existing published migration APIs.
6162

6263
### Import API (CreateMigrationJob)
6364

64-
The *CreateMigrationJob* helps the ISVs to import to SharePoint and OneDrive faster and more reliably.
65+
The *CreateMigrationJob* helps the ISVs to import to SharePoint and OneDrive faster and more reliably.
6566

66-
- [Create Migration Job (Import API)](https://docs.microsoft.com/sharepoint/dev/apis/migration-api-overview)
67+
- [SharePoint Import Migration API (CreationMigrationJob)](migration-api-overview.md)
6768

6869
The latest supported features are:
6970

70-
- [Migrate web parts using the Migration API](https://docs.microsoft.com/sharepoint/dev/apis/migrate-webparts-with-migrationapi)
71-
71+
- [Migrating web parts using the Migration API](migrate-webparts-with-migrationapi.md)
7272

7373
### Export API (Asynchronous Metadata Read)
7474

7575
A new migration API, Asynchronous Metadata Read API (Export API) is available to ISVs. The *AsynchronousMetadataRead* helps ISVs export content from SharePoint and OneDrive with fast and reduced calls. For example, the new API can export all the files and lists related metadata from the root level of document library in a single call. This reduces the number of calls needed, the chance of being throttled, and improves performance.
7676

77-
To learn more, see [Asynchronous Metadata Read (Export API)](https://docs.microsoft.com/sharepoint/dev/apis/export-amr-api)
77+
To learn more, see [SharePoint Migration Export (Asynchronous Metadata Read) API](export-amr-api.md)
7878

79-
## Switch to the Microsoft Graph API
80-
If a feature is not supported by the migration API, we recommend that you use the Graph API. If the Graph API does not support the needed migration feature, then use CSOM. However, using CSOM increases the likelihood of being throttled.
79+
## Switch to the Microsoft Graph API
8180

82-
- [Graph Guidance: Best practices for discovering files and detecting changes at scale](https://docs.microsoft.com/onedrive/developer/rest-api/concepts/scan-guidance)
81+
If a feature is not supported by the migration API, we recommend that you use the Graph API. If the Graph API does not support the needed migration feature, then use CSOM. However, using CSOM increases the likelihood of being throttled.
82+
83+
- [Graph Guidance: Best practices for discovering files and detecting changes at scale](/onedrive/developer/rest-api/concepts/scan-guidance)
8384

8485
### CSOM Guidance (fallback only)
8586

8687
The following provides guidance on specific CSOM implementation scenarios to help improve migration performance with SharePoint and OneDrive.
8788

88-
#### Enumeration Query Ordering guidance
89+
#### Enumeration Query Ordering guidance
90+
8991
There are two kinds of enumeration queries, assuming the client intends to read every item with no server-side filtering.
9092

9193
To query for every item in the list, recursively – in other words, the order does not depend on which folder(s) the items are contained in – the query should sort by ID.
9294

9395
`<OrderBy Override="TRUE"><FieldRef name="ID"/></OrderBy>`
94-
96+
9597
To query for every item in a specific folder, the query should sort by the filename, **FileLeafRef**.
9698

9799
`<OrderBy Override="TRUE"><FieldRef name="FileLeafRef"/></OrderBy>`
@@ -100,22 +102,20 @@ To query for every item in a specific folder, the query should sort by the filen
100102

101103
You need to be aware of three key numbers as you plan your migration to OneDrive or SharePoint especially when you have a hierarchy of deeply nested folders. They are: (1) the number of SharePoint unique permission scopes, (2) the number of role assignments, and (3) the total number of items in a list or library. Read the full guidance:
102104

103-
- [Migration permission guidance](https://docs.microsoft.com/sharepoint/dev/apis/migration-perm-guidance)
105+
- [Migration guidance for ISVs](migration-isv-guidance.md)
104106

107+
## For migrations over 100TB
105108

106-
## For migrations over 100TB
109+
For customers migrating greater than 100TB of data, please follow the instructions on how to create a support ticket to help the product team to prepare the backend for the customers.
107110

108-
For customers migrating greater than 100TB of data, please follow the instructions on how to create a support ticket to help the product team to prepare the backend for the customers.
111+
- [Best practices for improving SharePoint and OneDrive migration performance](/sharepointmigration/sharepoint-online-and-onedrive-migration-speed).
109112

110-
[Best practices for improving SharePoint and OneDrive migration performance](https://docs.microsoft.com/sharepointmigration/sharepoint-online-and-onedrive-migration-speed).
111-
112113
## Escalation and throttling
113-
114+
114115
The primary reason speed is impacted, and throttling occurs, is due to the load that gets generated by calling CSOM and REST APIs. As a result of this load, throttling rules fire that impact the speed, reliability and predictability of the migration. Throttling is used to protect the database and to ensure a good user experience for our customers.
115-
116+
116117
To read the official throttling guidance, see:
117118

118119
- [Avoid getting throttled or blocked in SharePoint Online](https://aka.ms/spo429)
119120

120-
We continue to work to identify issues and improve the API. The asynchronous metadata read API is a direct result of ISV feedback. As an ISV/partner, we value your feedback. Please contact Microsoft if you have further questions.
121-
121+
We continue to work to identify issues and improve the API. The asynchronous metadata read API is a direct result of ISV feedback. As an ISV/partner, we value your feedback. Please contact Microsoft if you have further questions.

docs/apis/migration-perm-guidance.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ There is a role assignment limit of 5,000 per security scope.
4242
When a library (or list) contains more than 100,000 items (files and folders or list items), you cannot break permissions inheritance on the list itself. There is a limit of 100,000 items that can be updated or removed as a part of creating a new SharePoint security scope.
4343

4444
If you are migrating a structure that has more than 100,000 children (such as files, folders, lists, or other object types), you need to restructure the migration by importing security in multiple phases to avoid exceeding this limit. Any VROOM invite, REST share link, or any other permission-modifying function call will trigger an HTTP 429 throttle if the threshold is reached. Permissions will not be updated. Unlike other throttles, waiting and trying again will not resolve the situation as you have reached a hard limit of 100,000.
45-
To learn more about the service limits in SharePoint for Microsoft 365, see [SharePoint Limits](https://docs.microsoft.com/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries).
45+
To learn more about the service limits in SharePoint for Microsoft 365, see [SharePoint Limits](/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries).
4646

4747
## Folders containing fewer than 100,000 items
4848

@@ -65,7 +65,7 @@ In this example, at the source, break up the structure into four folders, A, B,
6565
![Hierarchy ABCD](../images/hierarchy-ABCD.png)
6666

6767
>[!NOTE]
68-
>There are other limits that must be considered during migration. See [SharePoint Limits](https://docs.microsoft.com/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries) for details.
68+
>There are other limits that must be considered during migration. See [SharePoint Limits](/office365/servicedescriptions/sharepoint-online-service-description/sharepoint-online-limits#items-in-lists-and-libraries) for details.
6969
7070
### Method 2: Create your destination layout to avoid exceeding limits
7171

docs/apis/sharepoint-rest-graph.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,25 @@ ms.date: 12/05/2020
55
ms.service: sharepoint-online
66
localization_priority: Priority
77
---
8-
98
# SharePoint REST operations via the Microsoft Graph REST API
109

11-
If you are looking for the legacy SharePoint REST API documentation, see [Complete basic operations using SharePoint REST endpoints](https://docs.microsoft.com/sharepoint/dev/sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints).
10+
If you are looking for the legacy SharePoint REST API documentation, see [Complete basic operations using SharePoint REST endpoints](../sp-add-ins/complete-basic-operations-using-sharepoint-rest-endpoints.md).
1211

1312
For SharePoint Online, innovation using a REST API against SharePoint is driven via the Microsoft Graph REST API's. In scenarios where solutions already have access tokens available to access SharePoint content, it's possible to access the REST API natively within SharePoint instead of calling via the Microsoft Graph API.
1413

1514
Below is a table outlining a set of the Microsoft Graph endpoints being backed by SharePoint Online.
1615

17-
|Graph URL| SharePoint URL|
18-
|----|----|
19-
|https://graph.microsoft.com/v1.0/sites| https://{tenant-name}.sharepoint.com/_api/v2.0/sites|
20-
|https://graph.microsoft.com/v1.0/drives| https://{tenant-name}.sharepoint.com/_api/v2.0/drives|
21-
|https://graph.microsoft.com/v1.0/drive| https://{tenant-name}.sharepoint.com/_api/v2.0/drive|
22-
|https://graph.microsoft.com/v1.0/lists| https://{tenant-name}.sharepoint.com/_api/v2.0/lists|
16+
| Graph URL | SharePoint URL |
17+
| ----------------------------------------- | ------------------------------------------------------- |
18+
| `https://graph.microsoft.com/v1.0/sites` | `https://{tenant-name}.sharepoint.com/_api/v2.0/sites` |
19+
| `https://graph.microsoft.com/v1.0/drives` | `https://{tenant-name}.sharepoint.com/_api/v2.0/drives` |
20+
| `https://graph.microsoft.com/v1.0/drive` | `https://{tenant-name}.sharepoint.com/_api/v2.0/drive` |
21+
| `https://graph.microsoft.com/v1.0/lists` | `https://{tenant-name}.sharepoint.com/_api/v2.0/lists` |
2322

2423
If your solution already uses other Microsoft Graph REST API's, it is recommended to call API's via the Microsoft Graph REST endpoints for easier code management.
2524

2625
To figure out if a Microsoft Graph REST API call is backed by SharePoint Online you can add `$whatif` to the end of the query to output the underlying SharePoint URL.
2726

2827
## See also
2928

30-
- [Microsoft Graph REST API v1.0 reference](https://docs.microsoft.com/graph/api/overview?view=graph-rest-1.0)
31-
32-
33-
34-
35-
29+
- [Microsoft Graph REST API v1.0 reference](/graph/api/overview)

0 commit comments

Comments
 (0)