Skip to content

Commit 763bdcd

Browse files
committed
Merge branch 'readonly' of https://github.com/cindylay/sp-dev-docs-cindy into readonly
2 parents 39137c6 + cdc4f77 commit 763bdcd

Some content is hidden

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

45 files changed

+1178
-145
lines changed

.openpublishing.redirection.json

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -177,97 +177,97 @@
177177
},
178178
{
179179
"source_path": "docs/embedded/concepts/admin-exp/consuming-tenant-admin/ctapowershell.md ",
180-
"redirect_url": "sharepoint/dev/embedded/administration/consuming-tenant-admin/ctapowershell",
180+
"redirect_url": "/sharepoint/dev/embedded/administration/consuming-tenant-admin/ctapowershell",
181181
"redirect_document_id": false
182182
},
183183
{
184184
"source_path": "docs/embedded/concepts/admin-exp/developer-admin/dev-admin.md",
185-
"redirect_url": "sharepoint/dev/embedded/administration/developer-admin/dev-admin",
185+
"redirect_url": "/sharepoint/dev/embedded/administration/developer-admin/dev-admin",
186186
"redirect_document_id": false
187187
},
188188
{
189189
"source_path": "docs/embedded/concepts/security-and-compliance.md",
190-
"redirect_url": "sharepoint/dev/embedded/compliance/security-and-compliance",
190+
"redirect_url": "/sharepoint/dev/embedded/compliance/security-and-compliance",
191191
"redirect_document_id": false
192192
},
193193
{
194194
"source_path": "docs/embedded/concepts/app-concepts/app-architecture.md",
195-
"redirect_url": "sharepoint/dev/embedded/development/app-architecture",
195+
"redirect_url": "/sharepoint/dev/embedded/development/app-architecture",
196196
"redirect_document_id": false
197197
},
198198
{
199199
"source_path": "docs/embedded/concepts/app-concepts/auth.md",
200-
"redirect_url": "sharepoint/dev/embedded/development/auth",
200+
"redirect_url": "/sharepoint/dev/embedded/development/auth",
201201
"redirect_document_id": false
202202
},
203203
{
204204
"source_path": "docs/embedded/concepts/content-experiences/office-experience.md",
205-
"redirect_url": "sharepoint/dev/embedded/development/content-experiences/office-experience",
205+
"redirect_url": "/sharepoint/dev/embedded/development/content-experiences/office-experience",
206206
"redirect_document_id": false
207207
},
208208
{
209209
"source_path": "docs/embedded/concepts/content-experiences/search-content.md",
210-
"redirect_url": "sharepoint/dev/embedded/development/content-experiences/search-content",
210+
"redirect_url": "/sharepoint/dev/embedded/development/content-experiences/search-content",
211211
"redirect_document_id": false
212212
},
213213
{
214214
"source_path": "docs/embedded/concepts/content-experiences/user-experiences-overview.md",
215-
"redirect_url": "sharepoint/dev/embedded/development/content-experiences/user-experiences-overview",
215+
"redirect_url": "/sharepoint/dev/embedded/development/content-experiences/user-experiences-overview",
216216
"redirect_document_id": false
217217
},
218218
{
219219
"source_path": "docs/embedded/concepts/fluid.md",
220-
"redirect_url": "sharepoint/dev/embedded/development/fluid",
220+
"redirect_url": "/sharepoint/dev/embedded/development/fluid",
221221
"redirect_document_id": false
222222
},
223223
{
224224
"source_path": "docs/embedded/concepts/app-concepts/limits-calling.md",
225-
"redirect_url": "sharepoint/dev/embedded/development/limits-calling",
225+
"redirect_url": "/sharepoint/dev/embedded/development/limits-calling",
226226
"redirect_document_id": false
227227
},
228228
{
229229
"source_path": "docs/embedded/concepts/app-concepts/sharing-and-perm.md",
230-
"redirect_url": "sharepoint/dev/embedded/development/sharing-and-perm",
230+
"redirect_url": "/sharepoint/dev/embedded/development/sharing-and-perm",
231231
"redirect_document_id": false
232232
},
233233
{
234234
"source_path": "docs/embedded/tutorials/doc-processing-acs.md",
235-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/doc-processing-acs",
235+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/doc-processing-acs",
236236
"redirect_document_id": false
237237
},
238238
{
239239
"source_path": "docs/embedded/tutorials/launch-experience.md",
240-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/launch-experience",
240+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/launch-experience",
241241
"redirect_document_id": false
242242
},
243243
{
244244
"source_path": "docs/embedded/tutorials/metadata.md",
245-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/metadata",
245+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/metadata",
246246
"redirect_document_id": false
247247
},
248248
{
249249
"source_path": "docs/embedded/tutorials/migrate-abs-to-spe.md",
250-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/migrate-abs-to-spe",
250+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/migrate-abs-to-spe",
251251
"redirect_document_id": false
252252
},
253253
{
254254
"source_path": "docs/embedded/tutorials/using-file-preview.md",
255-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/using-file-preview",
255+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/using-file-preview",
256256
"redirect_document_id": false
257257
},
258258
{
259259
"source_path": "docs/embedded/tutorials/using-webhooks.md",
260-
"redirect_url": "sharepoint/dev/embedded/development/tutorials/using-webhooks",
260+
"redirect_url": "/sharepoint/dev/embedded/development/tutorials/using-webhooks",
261261
"redirect_document_id": false
262262
},
263263
{
264264
"source_path": "docs/embedded/concepts/app-concepts/containertypes.md",
265-
"redirect_url": "sharepoint/dev/embedded/getting-started/containertypes",
265+
"redirect_url": "/sharepoint/dev/embedded/getting-started/containertypes",
266266
"redirect_document_id": false
267267
},
268268
{
269269
"source_path": "docs/embedded/concepts/app-concepts/register-api-documentation.md",
270-
"redirect_url": "sharepoint/dev/embedded/getting-started/register-api-documentation",
270+
"redirect_url": "/sharepoint/dev/embedded/getting-started/register-api-documentation",
271271
"redirect_document_id": false
272272
}
273273
]

docs/apis/migration-api-overview.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,21 @@ Use Migration API to migrate content from file shares, SharePoint Server, and ot
2121

2222
## What's new
2323

24+
### December 2024
25+
26+
We applied quota on *Share with Me* items per user. Check [ShareWithMe event quota](/sharepoint/dev/apis/migration-api-shared#quota) for more detail.
27+
28+
### November 2024
29+
30+
Migration API supports generating logs of all file-level events during migration to support auditing.
31+
2432
### July 2024
2533

26-
We started enforcing HTTPS connection to SharePoint provided Azure Blob Storage Containers by adding a `spr=https` field in SAS tokens. This enforcement is fully effective on July 21, 2024. Check [Use Azure Blob Storage Containers and Azure Queues with SharePoint Migration API](migration-azure.md) for details.
34+
We started enforcing HTTPS connections to SharePoint-provided Azure Blob Storage Containers by adding a `spr=https` field in SAS tokens. This enforcement will be fully effective on July 21, 2024. Check [Use Azure Blob Storage Containers and Azure Queues with SharePoint Migration API](migration-azure.md) for details.
2735

2836
### April 2024
2937

30-
We added new fields in ``JobEnd`` events to indicate the count and bytes imported for files. Check [Migration events in Azure Queue](migration-events.md#jobend-import) for details.
38+
We added new fields in `JobEnd` events to indicate the count and bytes imported for files. Check [Migration events in Azure Queue](migration-events.md#jobend-import) for details.
3139

3240
### January 2024
3341

@@ -39,7 +47,7 @@ Start a migration job with three steps. Check the guidance in each of the steps
3947

4048
### Provision the destination containers and the queue
4149

42-
Use `ProvisionMigrationContainers` method to provision the containers. Check [Use Azure Blob Storage Containers and Azure Queues with Migration API](migration-azure.md) for details. You can also use your own containers and queues if needed.
50+
Use the `ProvisionMigrationContainers` method to provision the containers. Check [Use Azure Blob Storage Containers and Azure Queues with Migration API](migration-azure.md) for details. You can also use your own containers and queues if needed.
4351

4452
### Prepare the content
4553

@@ -55,12 +63,14 @@ Check [Manifest files](migration-manifest.md) to see the detailed requirements.
5563

5664
### Use Migration API to start the migration and get status
5765

58-
`CreateMigrationJob` method creates a migration job, which is queued up for processing. Migration API manages the queue and returns status and logs. Use `CreateMigrationEncrypted` method to migrate encrypted contents. Check [SharePoint Migration API Reference](migration-api-reference.md) for details.
66+
The `CreateMigrationJob` method creates a migration job, which is queued up for processing. Migration API manages the queue and returns status and logs. Use the `CreateMigrationEncrypted` method to migrate encrypted contents. Check [SharePoint Migration API Reference](migration-api-reference.md) for details.
5967

60-
Upon creation of a new migration job, Migration API returns the Job ID. Track the status of the import with `GetMigrationJobStatus` method if needed, with the Azure Queue supplied.
68+
Upon creation of a new migration job, Migration API returns the Job ID. Track the status of the import with the `GetMigrationJobStatus` method if needed, with the Azure Queue supplied.
6169

6270
Migration API generates logs in the manifest container. Check the log entries for migration results.
6371

72+
Migration API also generates logs of file-level activities performed by migration. The supported file-level activities include FileUploaded, FileDeleted, FileRenamed, FileMoved. Check M365 Admin Center for activity details when needed.
73+
6474
## Best Practice
6575

6676
### Use app-based authentication

docs/apis/migration-api-shared.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
title: "SPO Migration API: Migrating shared files and folders"
33
description: "Migrating shared files and folders using item references."
44
ms.date: 06/28/2022
5-
ms.author: jhendr
6-
author: JoanneHendrickson
7-
manager: pamgreen
5+
ms.author: jihongzuo
6+
author: shiongzuo
7+
manager: Dan.Podeanu
88
ms.topic: article
99
ms.subservice: migration-tool
1010
---
@@ -34,34 +34,41 @@ Add a SharedWithMember block for each person that the item was shared with durin
3434
</SharedWithEvent>
3535
</SharedWithEvents>
3636
</ListItem>
37-
3837
```
38+
3939
## Best Practices
40+
4041
### The basics
42+
4143
For each file or folder that was shared with a user in the source, create an item reference for that item in the recipient’s OneDrive. Every item reference created will appear in the user’s *Shared with Me* view in OneDrive. Remember to give the user permission to access the item as well.
4244

4345
### Inheritance
46+
4447
Be sure to use inheritance correctly for sharing. When creating an item reference for a file or folder, check if its parent folder (or higher) already has an item reference created for it. If so, do not create another one for the child item. This will prevent users from seeing duplicate items in their *Shared with Me* view and reduce migration and service load as well.
4548

46-
**Example:** When a folder is shared and the recipient can access all of the folder’s contents, an item reference should *only* be created for the shared folder -- not for its contents. The only item that should appear in the recipients *Shared with Me* is the shared folder.
49+
**Example:** When a folder is shared and the recipient can access all of the folder’s contents, an item reference should *only* be created for the shared folder -- not for its contents. The only item that should appear in the recipient's *Shared with Me* is the shared folder.
4750

48-
This same guidance should also be used for permissions (ACLs). Only apply permissions on a child item where the required permissions are different than its parent item. Make sure not to exceed 5000 unique ACLs on a site. It may be useful to check how many ACLs you create and warn the user prior to migration. There is also a hard limit of 50,000 unique ACL's that will be enforced. If you are close to reaching the 5000 limits, we recommend that the permission model be simplified on the source before migration.
51+
This same guidance should also be used for permissions (*access control lists, also known as ACLs*). Only apply permissions on a child item where the required permissions are different than its parent item. Make sure not to exceed 5000 unique ACLs on a site. It may be useful to check how many ACLs you create and warn the user prior to migration. There is also a hard limit of 50,000 unique ACLs that will be enforced. If you are close to reaching the 5000 limits, we recommend that the permission model be simplified on the source before migration.
4952

5053
### Sharing with groups
54+
5155
For items shared with a group of individuals in the source, the content may be migrated into a shared library (eg. a team site) in which all of those individuals are given access.
5256

5357
### Anonymous sharing links
58+
5459
Do not migrate anonymous sharing links from the source; this is not useful as it’s not possible to know which users used that link in the source. Users should evaluate whether anonymous links are still needed and create new ones on the destination if so.
5560

5661
### Sharing with external users
62+
5763
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:
5864

5965
- [Add Azure Active Directory B2B collaboration users in the Azure portal](/azure/active-directory/b2b/add-users-administrator).
6066

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

6369
### Permission and Sharing
64-
The per user sharing model in SharePoint relies on both permissions and “Shared With” data references for an object to be considered shared with an individual. If a user has access to content, but no “Shared With” references, they will not see the content show up in their Shared With Me view within their OneDrive For Business site.
70+
71+
The per-user sharing model in SharePoint relies on both permissions and “Shared With” data references for an object to be considered shared with an individual. If a user has access to content, but no “Shared With” references, they will not see the content show up in their Shared With Me view within their OneDrive For Business site.
6572

6673
However, if they are indicated in “Shared With” references but do not have any access to the content, they will either never see the content show up in their Shared With Me view within their OneDrive For Business site or when they try to use a link from there it will be denied access. To preserve sharing information, both the permissions and “Shared With” references will need to be correctly set. The permissions can be set at different levels of the content hierarchy using scopes (unique ACLs), that apply to that object and any of its children unless they themselves have unique permissions.
6774

@@ -71,3 +78,7 @@ Permissions migration is performed using the DeploymentRoleAssignments object wi
7178

7279
> [!NOTE]
7380
> The **Migration API** is not available for users of Office 365 operated by 21Vianet in China.
81+
82+
### Quota
83+
84+
Do not migrate more than 1,000 *Share with Me* events for any receiver within 24 hours. If a receiver already has 1,000 *Share with Me* events being imported within 24 hours, they will NOT receive any additional *Share with Me* events during the time window. And Import API will send back warning messages indicating some *Share with Me* events have been throttled.

docs/apis/webhooks/sharepoint-webhooks-using-azd-template.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
---
22
title: Create Azure Functions for SharePoint webhooks using an azd template
3-
description: Use Azure Developer cli (azd) to deploy an Azure function app that connects to your SharePoint Online tenant, to register and manage webhooks, and process the notifications from SharePoint.
4-
ms.date: 02/27/2025
3+
description: Use Azure Developer cli (azd) to deploy an Azure function app that connects to your SharePoint Online
4+
tenant, to register and manage webhooks, and process the notifications from SharePoint.
5+
ms.date: 03/11/2025
56
ms.localizationpriority: low
67
---
78
# Azure Functions for SharePoint webhooks using azd
@@ -56,7 +57,8 @@ This tutorial assumes the system-assigned managed identity is used.
5657

5758
Navigate to your function app in the [Azure portal](https://portal.azure.com/#blade/HubsExtension/BrowseResourceBlade/resourceType/Microsoft.Web%2Fsites/kind/functionapp) > select **Identity** and note the **Object (principal) ID** of the system-assigned managed identity.
5859

59-
In this tutorial, it is **d3e8dc41-94f2-4b0f-82ff-ed03c363f0f8**.
60+
> [!NOTE]
61+
> In this tutorial, it is **d3e8dc41-94f2-4b0f-82ff-ed03c363f0f8**.
6062

6163
Then, use one of the scripts below to grant this identity the app-only permission **Sites.Selected** on the SharePoint API:
6264

0 commit comments

Comments
 (0)