Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
74:cms_sharepoint_online [2019/10/14 08:49] – [Sharepoint Online] tssr74:cms_sharepoint_online [2019/10/16 11:25] – [Sharepoint Online] tssr
Line 1: Line 1:
-[[:74:cms_configuration|Back to Common CMS Configuration]]+[[:74:cms_configuration|Back to CMS Configuration]]
  
-Sharepoint Online+===== Sharepoint Online =====
  
-Example Configuration+=== Example Configuration === 
 +<code xml> 
 +<cms-type name="sharepointonlinegraph"> 
 +    <!-- Global Properties --> 
 +    <cms-host ident="sharepoint.online.ident" name="https://your-company.sharepoint.com" displayName="SharePoint Online Example"> 
 +        <!-- Host Properties --> 
 +        <cms-property name="client.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" /> 
 +        <cms-property name="client.secret" value="xxxxxx" /> 
 +        <cms-property name="tenant.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" /> 
 +        <cms-property name="state.attribute.name" value="_Status" /> 
 +    </cms-host> 
 +</cms-type> 
 +</code>
  
-``` xml+=== Host Properties === 
 +These configuration properties affect the behavior of one SharePoint Online server.\\
  
-< cms-type name="sharepointonlinegraph">+** * ** ''Required''\\ 
 +Properties marked with ** * ** are required for the adapter to work.
  
-< !-- Global Properties -->+** # ** ''Required but can also be set in web-application''\\ 
 +Properties marked with ** # ** are required but can also be set in the //File Management// section in the Stages web-application as well. The value entered in the web-application overrides the one from the config.xml.
  
-< cms-host ident="sharepoint.online.ident" name="https://your-company.sharepoint.com" displayName="SharePoint Online Example">+** + ** ''Required but with default''\\ 
 +Properties marked with ** + ** are required, but there is a default valueThis values can be overridden by configuring it in the config.xml.
  
-< !-- Host Properties -->+client.id ** * **
  
-< cms-property name="client.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" />+  * Description: The client id of the stages application, which has to be registered at the Microsoft azure portal website. 
 +  * Links: [[https://portal.azure.com|Microsoft Azure Portal]]
  
-< cms-property name="client.secret" value="xxxxxx" />+client.secret ** * **
  
-< cms-property name="tenant.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" />+  * Description: The client secret, which can be generated after registering the stages application at the Microsoft azure portal website. 
 +  * Links: [[https://portal.azure.com|Microsoft Azure Portal]]
  
-< cms-property name="state.attribute.name" value="_Status" />+> tenant.id ** * **
  
-/cms-host>+  * Description: The tenant id identifies your company when using Microsoft Services. You can get this id at the Microsoft azure portal website. 
 +  * Links: [[https://portal.azure.com|Microsoft Azure Portal]]
  
-< /cms-type>+loginserver ** + **
  
-```+  * Default Value: <nowiki>https://login.microsoftonline.com/</nowiki> 
 +  * Description: The URL to the login server used for OAuth2 authentication. Stages appends /oauth2/v2.0/authorize , to authorize the access. For receiving tokens, /oauth2/v2.0/token will be appended to the login server address. 
 +  * Links: [[https://oauth.net/| More about OAuth]]
  
-## Host Properties+> scope ** + **
  
-These configuration properties affect the behavior of one SharePoint Online server. Properties marked with are required for the adapter to workProperties marked with + are required, but there is a default valueThis values can be overridden by configuring it in the config.xml.+  Default Value: offline_access User.Read Sites.ReadWrite.All 
 +  * Links: [[https://docs.microsoft.com/en-us/graph/permissions-reference|More about Scopes and Permissions]]
  
-**\* Required** \+> state.attribute.name
  
-**\+ Required with default value**+  Description: This property specifies a column name, which will be used by stages to store the file status. 
  
-`* client.id`+> document.content.type.name ** + **
  
-* Description: The client id of the stages application, which has to be registered at Microsoft Azure Portal.+  * Default Value: Document 
 +  * Description: Name of the **document** content type. Sharepoint supports multiple content types but stages only supports the default type for documents.
  
-`* client.secret`+> link.content.type.name ** + **
  
-* Description: The client secret, which can be generated after registering the stages application at Microsoft Azure Portal.+  * Default Value: Link to a document 
 +  * Description: The second content type which is supported by stages.
  
-`* tenant.id`+> use.system.account.for.download ** + **
  
-* Description: The tenant id identifies your company when using Microsoft Services. You can get this id at Microsoft Azure Portal.+  * Default Value: false 
 +  * Description: When set to true, files will be downloaded using the system account.
  
-`+ loginserver`+==== Azure Portal ==== 
 +=== Authentication === 
 +Every application registered at the Microsoft azure portal can register **Redirect URIs** in the //Authentication// section of the applications registration page shown in the picture below.
  
-* Default Value:+{{cms:azure_portal_redirect_urls.png}}
  
-* Description: The URL to the login server used for OAuth2 authentication. Stages appends */oauth2/v2.0/authorize* , to authorize the access. For receiving tokens, */oauth2/v2.0/token* will be appended to the login server address.+For the authentication process to workyou have to add the following redirect to the list: 
 +<code> <protocol>://<stages-hostname>:<port>/stages/app/files/oauth_callback</code>
  
-`+ scope`+  * Protocol: Microsoft only accepts __https__ expect for testing scenarios on localhost (then __http__ is valid as well) 
 +  * Stages-hostname: Hostname of the server, users can access the Stages application 
 +  * Port: Port Stages is running on (80 for http, 443 for https) or any other custom port
  
-* Default Value*offline_access User.Read Sites.ReadWrite.All*+=== API Permissions === 
 +In addition to the Redirect URIs, the application needs permissions for file handling in behalf of the user. The picture below shows, how this should look like:
  
-`state.attribute.name` +{{cms:azure_permissions.png}} 
- +==== Known Issues ====
-* DescriptionThis property specifies a column name, which will be used by stages to store the file status+
- +
-`document.content.type.name` +
- +
-* Default Value: Dokument +
- +
-`link.content.type.name` +
- +
-* Default Value: Link to a document +
- +
-`use.system.account.for.download` +
- +
-* Default Value: false +
- +
-* Description: When set to true, files will be downloaded from stages using the system account. +
- +
-## Azure Redirect URI for Stages +
- +
-`[stages-server-url]/stages/app/files/oauth_callback` +
- +
-## Known Issues +
- +
-#### Commit comments for file versions+
  
 +== Commit comments for file versions ==
 For each checkin of a file, the user can attach a comment for the version which gets created. The Microsoft Endpoint, which is used to read that information, delivers the same checkin comment for each version. This comment is simply the latest checkin comment. (Opened issue at Github) For each checkin of a file, the user can attach a comment for the version which gets created. The Microsoft Endpoint, which is used to read that information, delivers the same checkin comment for each version. This comment is simply the latest checkin comment. (Opened issue at Github)
  
-#### Behavior of Lock/Unlock +== Behavior of Lock/Unlock ==
 Currently, the graph API only supports checkin/checkout and no Undo-Checkout. So for every lock/unlock a new version of that file is created in sharepoint online. Currently, the graph API only supports checkin/checkout and no Undo-Checkout. So for every lock/unlock a new version of that file is created in sharepoint online.
  
-#### Initial commit +== Initial commit ==
 Creates two versions (one for the creation of a new file/ second for updating the properties) Creates two versions (one for the creation of a new file/ second for updating the properties)
- 
-