You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Line-of-Business-integration.md
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ In order to access and consume LOB data and systems from within SharePoint, you
10
10
Here follow some high-level guidelines and general rules that you should consider whenever you need to integrate SharePoint with any LOB system:
11
11
12
12
* Try to consume REST-based APIs, rather than SOAP services or custom APIs, in order to being able to leverage modern development techniques and to use modern security protocols (OAuth 2.0, OpenID Connect, etc.).
13
-
* Use a data cache intermediary, instead of directly consuming any external service, so that you can speed up the consumption process and avoid useless network roundtrips to retrieve data that you already requested from the LOB system.
13
+
* Use a data cache intermediary, instead of directly consuming any external service, so that you can speed up the consumption process and avoid useless network round trips to retrieve data that you already requested from the LOB system.
14
14
* Make your best to list data page by page, rather than listing all the data in "one huge shot", to avoid flooding the data cache and to overload the network bandwidth.
15
15
* From an Authentication and Authorization perspective, tend to use services that leverage well-known protocols like OAuth 2.0, OpenID Connect, etc. and which are possibly registered in Azure Active Directory, in order to share a unique security infrastructure.
16
16
@@ -22,6 +22,8 @@ Whenever you need to consume LOB systems from a client-side solution, like a cli
22
22
23
23
### Articles
24
24
*[Connect to API secured with Azure Active Directory](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/connect-to-api-secured-with-aad)
25
+
*[Connect to Azure AD-secured APIs in SharePoint Framework solutions](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient)
26
+
*[Consume enterprise APIs secured with Azure AD in SharePoint Framework](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient-enterpriseapi)
25
27
26
28
### Samples
27
29
*[Call custom Web API secured with AAD from SharePoint Framework client-side web part](https://github.com/SharePoint/sp-dev-fx-webparts/tree/master/samples/react-aad-webapi)
While consuming LOB systems, another option that you have is to create SharePoint Online solutions that leverage on-premises data through an hybrid topology. For example, you can create an Azure App Service that connects to an on-premises infrastructure and consumes a SQL Server database, or any other on-premises data repository, through an Hybrid Connection.
58
60
61
+
> [!NOTE]
62
+
> This kind of solution architecture can have challenges with network latency. Due the direct hybrid connectivity, services in SharePoint Online would have a dependency on the on-premises services which is not optimal. It's recommended to have data cache intermediary in Azure side rather than connecting directly to the on-premises, even though technically this can be implemented relatively easily.
63
+
59
64
### Articles
60
65
*[Create hybrid connectivity apps for SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/create-hybrid-connectivity-apps-for-sharepoint)
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Long-running-scheduled-operations.md
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -24,6 +24,7 @@ In this pattern, the long-running or scheduled operation is implemented in an Az
24
24
25
25
- Does not require additional hardware to run the Azure Function (scheduling and implementation code).
26
26
- Advantageous because it uses the Azure Function for scheduling as well as the implementation code, which makes it easy to manage in one ___location.
27
+
- Maximum timeout for execution is 10 minutes (default 5 minutes), which means that if your process takes longer thant that, alternative options should be considered.
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Multi-geo-capabilities.md
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,15 @@
1
+
---
2
+
title: Multi-Geo Capabilities
3
+
ms.date: 03/21/2018
4
+
---
5
+
1
6
# Multi-Geo Capabilities
2
7
3
8
## Summary
4
9
Multinational companies that have offices around the world often have needs to store their employee data at-rest in specific regions to meet their data residency requirements. The Multi-Geo Capabilities in Office 365, are a feature introduced in late 2017 that helps multinational customers address their regional, industry specific or organizational data residency requirements in Office 365.
10
+
5
11
Multi-Geo enables a single Office 365 tenant to span across multiple Office 365 datacenter geographies (geos), and gives customers the ability to store their Exchange, SharePoint, and OneDrive data, at-rest, on a per-user basis, in their chosen geos.
12
+
6
13
In this article you can find further details about the Multi-Geo Capabilities, as well as code samples, and videos.
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Performance.md
+12-24Lines changed: 12 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -15,34 +15,26 @@ Implementing customizations in SharePoint places an even greater emphasis on eff
15
15
- When referencing scripts and other assets, allow users to cache them for as long as possible to minimize the number of requests to the server and the amount of data to load.
16
16
- Avoid excessive DOM manipulation that would trigger re-rendering of the page and delay its loading.
17
17
18
-
## Available options
19
-
20
-
### General recommendations
21
-
22
-
### Handling SharePoint Online throttling
18
+
## Handling SharePoint Online throttling
23
19
24
20
_**Applies to:** Office 365_
25
21
26
22
SharePoint Online uses throttling to prevent users from over-consuming resources. When a user runs CSOM or REST code that exceeds usage limits, SharePoint Online throttles any further request from the user for a period of time.
27
23
28
-
#### Related resources
29
-
30
-
##### Articles
24
+
### Articles
31
25
32
26
-[Handle SharePoint Online throttling by using exponential back off](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/handle-sharepoint-online-throttling-by-using-exponential-back-off)
33
27
-[Avoid getting throttled or blocked in SharePoint Online](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online)
-[Use existing JavaScript libraries in SharePoint Framework client-side web parts](https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/guidance/use-existing-javascript-libraries)
52
44
-[Use the Office 365 content delivery network (CDN)](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/office-365-cdn)
53
45
54
-
###SharePoint Add-ins
46
+
## SharePoint Add-ins
55
47
56
48
_**Applies to:** Office 365 | SharePoint Server_
57
49
58
50
The approaches you take to ensure optimal performance with SharePoint is different in the new SharePoint Add-in model than it was with Full Trust Code. In a typical Full Trust Code (FTC) / Farm Solution scenario most code operations took place in the SharePoint Server-side Object Model code.
59
51
60
-
#### Related resources
61
-
62
-
##### Articles
52
+
### Articles
63
53
64
54
-[JavaScript Patterns and Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/javascript-patterns-and-performance)
65
55
-[Performance considerations in the SharePoint add-in model](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/performance-considerations-sharepoint-add-in)
66
56
-[Improve performance in SharePoint provider-hosted add-ins](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/improve-performance-in-sharepoint-provider-hosted-add-ins)
67
57
-[Make batch requests with the REST APIs](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/make-batch-requests-with-the-rest-apis)
68
58
69
-
#####Videos
59
+
### Videos
70
60
71
61
-[Office Dev PnP Web Cast – JavaScript performance considerations with SharePoint](https://dev.office.com/blogs/javascript-performance-considerations-with-sharepoint)
-[Proven Practices for SharePoint Online Portals - Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/portal-performance)
86
74
-[Proven Practices for SharePoint Online Portals - Navigation Solutions](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/portal-navigation)
87
75
-[JavaScript Patterns and Performance](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/javascript-patterns-and-performance)
88
76
-[Optimize page performance in SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/optimize-page-performance-in-sharepoint)
89
77
90
-
#####Videos
78
+
### Videos
91
79
92
80
-[Learn how to build a fast, responsive SharePoint portal in SharePoint Online](https://www.youtube.com/watch?v=tD3mkbfhIbM)
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Responding-to-changes.md
+4-6Lines changed: 4 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,7 @@ Before digging into the details of the various options that you have to handle c
9
9
* If you are processing a synchronous event, try to avoid as much as you can blocking SharePoint. Rather refer to the asynchronous pattern described in the previous bullet.
10
10
* Consider using an App-Only security model, whenever you need to do background processing of an event, so that you will not need to make the users' credentials flow into your event handling service/solution. Nevertheless, there are some activities which simply cannot be executed within an App-Only context. If that is the case, try to pass in a secure way an OAuth Access Token to the background job, rather than a set of user's credentials. The fact that an Access Token expires, and has a limited and pre-defined set of permission scopes associated, will keep the overall solution more secure.
11
11
12
-
## Available options
13
-
14
-
### Webhooks
12
+
## Webhooks
15
13
16
14
_**Applies to:** Office 365 | SharePoint Online_
17
15
@@ -36,7 +34,7 @@ For further details about Webhooks you can read the following articles, inspect
36
34
*[Introduction to SharePoint webhooks](https://www.youtube.com/watch?v=P4a1_EWokwM)
37
35
*[Getting started with SharePoint Webhooks](https://www.youtube.com/watch?v=IbVlDkmsh8w)
Copy file name to clipboardExpand all lines: docs/scenario-guidance/Security.md
+15-43Lines changed: 15 additions & 43 deletions
Original file line number
Diff line number
Diff line change
@@ -10,17 +10,13 @@ SharePoint supports security for user access at the website, list, list or libra
10
10
11
11
Authorization refers to the process by which SharePoint provides security for websites, lists, folders, or items by determining which users can perform specific actions on a given object. The authorization process assumes that the user has already been authenticated, which refers to the process by which SharePoint identifies the current user. SharePoint does not implement its own system for authentication or identity management, but instead relies on external systems, whether Windows authentication or non-Windows authentication.
12
12
13
-
## Available options
14
-
15
-
### General recommendations
16
-
17
-
### General information
13
+
## General information
18
14
19
15
_**Applies to:** Office 365 | SharePoint Server_
20
16
21
-
####Related resources
17
+
### Related resources
22
18
23
-
#####Articles
19
+
### Articles
24
20
25
21
-[Authentication, authorization, and security in SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/general-development/authentication-authorization-and-security-in-sharepoint)
26
22
-[Authorization and authentication of SharePoint Add-ins](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/authorization-and-authentication-of-sharepoint-add-ins)
-[Moving Full Trust Code to the Cloud](https://github.com/OfficeDev/TrainingContent/blob/master/O3651/O3651-4%20Moving%20Full%20Trust%20Code%20to%20the%20cloud%20using%20repeatable%20patterns%20and%20best%20practices/Lab.md)
39
35
-[A Series of Visual Studio Solutions to Accompany the MSDN Tutorial Series about Provider-hosted Add-ins](https://github.com/OfficeDev/SharePoint_Provider-hosted_Add-ins_Tutorials)
40
36
41
-
#####Videos
37
+
### Videos
42
38
43
39
-[PnP Shorts - Implementing Web Application Policy alternatives in SharePoint Online](https://www.youtube.com/watch?v=zcmngkgQdTU&feature=youtu.be)
44
40
-[PnP Webcast - Calling external APIs securely from SharePoint Framework](https://www.youtube.com/watch?v=SDjKRfHA1nw)
45
41
-[PnP Webcast - Azure AD implicit flow with SPFx client-side web part with developer preview](https://www.youtube.com/watch?v=KRgHjF84xZc)
46
42
47
-
#####Samples
43
+
### Samples
48
44
49
45
-[Dynamically request permissions for an add-in](https://github.com/SharePoint/PnP/tree/dev/Samples/Core.DynamicPermissions)
-[Access SharePoint data with the Cross Domain JavaScript Library](https://dev.office.com/code-samples-detail/5814)
56
52
-[Access SharePoint data with the Cross Domain JavaScript Library and the REST\OData endpoints](https://dev.office.com/code-samples-detail/5815)
57
53
58
-
###App-only access to SharePoint
54
+
## App-only access to SharePoint
59
55
60
56
_**Applies to:** Office 365 | SharePoint Server_
61
57
62
-
#### Related resources
63
-
64
-
##### Articles
58
+
### Articles
65
59
66
60
-[Add-in authorization policy types in SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/add-in-authorization-policy-types-in-sharepoint)
67
61
-[Accessing SharePoint using an application context, also known as app-only](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly)
-[Developing using Tenant permissions with App-Only in SharePoint Online](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/development-experience-tenant-apponly-permissions-in-sharepoint-online)
71
65
-[Getting Started with azure WebJobs ("timer jobs") for your Office 365 Sites](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/getting-started-with-building-azure-webjobs-for-your-office365-sites)
72
66
73
-
#####Samples
67
+
### Samples
74
68
75
69
-[External Sharing APIs for SharePoint and OneDrive for Business (Core.ExternalSharing)](https://github.com/SharePoint/PnP/tree/master/Samples/Core.ExternalSharing)
76
70
77
-
###Elevating privileges
71
+
## Elevating privileges
78
72
79
73
_**Applies to:** Office 365 | SharePoint Server_
80
74
81
75
If your solution allows users to perform actions for which they don't have adequate individual permissions, it needs to elevate user's privileges to complete that operation. Different methods are used to elevate privileges in SharePoint Add-ins and farm solutions. Farm solutions elevate privileges by using `RunWithElevatedPrivileges(SPSecurity.CodeToRunElevated)`, which belongs to the SharePoint server-side object model. SharePoint Add-ins use either the app-only policy or service accounts.
82
76
83
-
#### Related resources
84
-
85
-
##### Articles
77
+
### Articles
86
78
87
79
-[Elevated privileges in SharePoint Add-ins](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/elevated-privileges-in-sharepoint-add-ins)
88
80
-[Add-in authorization policy types in SharePoint](https://docs.microsoft.com/en-us/sharepoint/dev/sp-add-ins/add-in-authorization-policy-types-in-sharepoint#Scenario)
89
81
-[App-only and elevated privileges in the SharePoint add-in model](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/app-only-elevated-privileges-sharepoint-add-in)
90
82
91
-
###Azure AD Authentication/Authorization
83
+
## Azure AD Authentication/Authorization
92
84
93
85
_**Applies to:** Office 365_
94
86
95
87
When using SharePoint Online you can define applications in Azure AD and these applications can be granted permissions to SharePoint, but also to all the other services in Office 365. This model is the preferred model in case you’re using SharePoint Online, if you’re using SharePoint on-premises you have to use the SharePoint Only model via based Azure ACS.
96
88
97
-
> [!IMPORTANT]
98
-
> Azure Access Control (ACS), a service of Azure Active Directory (Azure AD), will be retired on November 7, 2018. This retirement does not impact SharePoint add-in model which is using `https://accounts.accesscontrol.windows.net` hostname, which is not impacted by this retirement. See more details on this from [Impact of Azure Access Control retirement for SharePoint add-ins](https://dev.office.com/blogs/impact-of-azure-access-control-deprecation-for-sharepoint-add-ins).
99
-
100
-
#### Related resources
101
-
102
-
##### Articles
89
+
### Articles
103
90
104
91
-[Accessing SharePoint using an application context, also known as app-only](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/security-apponly)
105
92
106
-
#####Videos
93
+
### Videos
107
94
108
95
-[Access Microsoft SharePoint with the Microsoft Graph](https://www.youtube.com/watch?v=bBILnF5Tf_k)
109
96
110
-
#####Samples
97
+
### Samples
111
98
112
99
-[PowerShell to enable low trust authentication model at on-premises](https://github.com/SharePoint/PnP-Tools/tree/master/Scripts/SharePoint.LowTrustACS.Configuration)
113
100
-[SharePoint Web Hooks Azure AD reference implementation](https://github.com/SharePoint/sp-dev-samples/tree/master/Samples/WebHooks.List.AzureAD)
114
101
115
-
### Government environments
116
-
117
-
_**Applies to:** Office 365_
118
-
119
-
When your Office 365 tenant is hosted in an specific environment like the Germany, China or US Government environments there are some additional considerations that you have to take into account.
120
-
121
-
#### Related resources
122
-
123
-
##### Articles
124
-
125
-
-[Authorization considerations for tenants hosted in the Germany, China or US Government environments](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/extending-sharepoint-online-for-germany-china-usgovernment-environments)
126
-
-[Office 365 US Government](https://technet.microsoft.com/library/mt774581.aspx)
127
-
128
102
### Authorization considerations for tenants hosted in Germany, China or US
129
103
130
104
_**Applies to:** Office 365_
131
105
132
106
When your Office 365 tenant is hosted in an specific environment like the Germany, China or US Government environments there are some additional considerations that you have to take into account.
133
107
134
-
#### Related resources
135
-
136
-
##### Articles
108
+
### Articles
137
109
138
110
-[Authorization considerations for tenants hosted in the Germany, China or US Government environments](https://docs.microsoft.com/en-us/sharepoint/dev/solution-guidance/extending-sharepoint-online-for-germany-china-usgovernment-environments)
139
111
-[Learn about Office 365 Germany](https://support.office.com/en-US/article/Learn-about-Office-365-Germany-8a5a4bbc-667a-4cac-8769-d8ac9015db4c)
0 commit comments