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 [2021/03/03 14:57] fnpk
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 ===
  
-``` xml+<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-property name="link.content.type.name" value="Link to a Document" /> 
 +    </cms-host> 
 +</cms-type>
  
-< cms-type name="sharepointonlinegraph"> 
  
-!-- Global Properties -->+</code>
  
-< cms-host ident="sharepoint.online.ident" name="https://your-company.sharepoint.com" displayName="SharePoint Online Example">+=== Host Properties ===
  
-< !-- Host Properties -->+These configuration properties affect the behavior of one SharePoint Online server.
  
-< cms-property name="client.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" />+*** ** ''Required'' \\ 
 +Properties marked with ** * ** are required for the adapter to work.
  
-< cms-property name="client.secret" value="xxxxxx" />+**# ** ''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 wellThe value entered in the web-application overrides the one from the config.xml.
  
-< cms-property name="tenant.id" value="xxxx-xxxx-xxxx-xxxx-xxxx" />+''Required but with default'' \\ 
 +Properties marked with are required, but there is a default value. This values can be overridden by configuring it in the config.xml.
  
-< cms-property name="state.attribute.name" value="_Status" />+> client.id ** * **
  
-/cms-host>+   * 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-type>+client.secret ** * **
  
-```+  * 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]]
  
-## Host Properties+> tenant.id ** * **
  
-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 value. This values can be overridden by configuring it in the config.xml.+  Description: The tenant id identifies your company when using Microsoft ServicesYou can get this id at the Microsoft azure portal website. 
 +  * Links: [[https://portal.azure.com|Microsoft Azure Portal]]
  
-**\* Required** \+> loginserver
  
-**\+ Required with default value**+  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]]
  
-`* client.id`+> scope
  
-DescriptionThe client id of the stages application, which has to be registered at Microsoft Azure Portal.+  Default Valueoffline_access User.Read Sites.ReadWrite.All 
 +  * Links: [[https://docs.microsoft.com/en-us/graph/permissions-reference|More about Scopes and Permissions]]
  
-`* client.secret`+> state.attribute.name
  
-* Description: The client secret, which can be generated after registering the stages application at Microsoft Azure Portal.+  * Description: This property specifies a column name, which will be used by stages to store the file status.
  
-`* tenant.id`+> document.content.type.name
  
-* Description: The tenant id identifies your company when using Microsoft ServicesYou can get this id at Microsoft Azure Portal.+  * Default Value: Document 
 +  * Description: Name of the **document**  content typeSharepoint supports multiple content types but stages only supports the default type for documents.
  
-`+ loginserver`+> link.content.type.name
  
-* Default Value:+  * Default Value: Link to a document 
 +  * Description: The second content type which is supported by stages.
  
-DescriptionThe 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/tokenwill be appended to the login server address.+  Known IssueTypo in Default Value. Has to be Link to a **D**ocument
  
-`+ scope`+> use.system.account.for.download
  
-* Default Value: *offline_access User.Read Sites.ReadWrite.All*+  * Default Value: false 
 +  Description: When set to true, files will be downloaded using the system account.
  
-`state.attribute.name`+==== Azure Portal ====
  
-* Description: This property specifies a column name, which will be used by stages to store the file status.+=== Authentication ===
  
-`document.content.type.name`+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 ValueDokument+[[https://doc.stagesasaservice.com/lib/exe/detail.php?id=74:cms_sharepoint_online&media=cms:azure_portal_redirect_urls.png|{{:cms:azure_portal_redirect_urls.png}}]]
  
-`link.content.type.name`+For the authentication process to work, you have to add the following redirect to the list:<code>
  
-* Default ValueLink to a document+ <protocol>://<stages-hostname>:<port>/stages/app/files/oauth_callback
  
-`use.system.account.for.download`+</code>
  
-Default Valuefalse+  ProtocolMicrosoft 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
  
-* Description: When set to true, files will be downloaded from stages using the system account.+=== API Permissions ===
  
-## Azure Redirect URI for Stages+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:
  
-`[stages-server-url]/stages/app/files/oauth_callback`+[[https://doc.stagesasaservice.com/lib/exe/detail.php?id=74:cms_sharepoint_online&media=cms:azure_permissions.png|{{:cms:azure_permissions.png}}]]
  
-## Known Issues+=== Repository Configuration ===
  
-#### Commit comments for file versions+Access to SharePoint Online projects can be configured in Stages processes via “Management > File Management > Repositories”. [[https://doc.stagesasaservice.com/lib/exe/detail.php?id=74:cms_sharepoint_online&media=cms:spo-repository.png|{{  :cms:spo-repository.png  }}]]
  
-For each checkin of a file, the user can attach a comment for the version which gets createdThe Microsoft Endpoint, which is used to read that information, delivers the same checkin comment for each versionThis comment is simply the latest checkin comment(Opened issue at Github)+> Name:  The name of this SharePoint Online configurationThis name will be used by Stages to refer to this repository configuration (e.gin repository plan)
  
-#### Behavior of Lock/Unlock+> Host:  This selection field contains an entry for each cms-host section in the Stages configuration file (config.xml). You can select the host for this repository configuration.
  
-Currently, the graph API only supports checkin/checkout and no Undo-CheckoutSo for every lock/unlock a new version of that file is created in sharepoint online.+> Site:  Define a site parameter for this repository configuration. The site is the path to the locationwhere your document libraries are located on the SharePoint serverThe site is one piece for the complete connection string to the SharePoint server. The connection string is build like that: // | host.url | : | port | | **/site/**  | | documentLibrary | //.
  
-#### Initial commit+This overwrites the **path**  from the URL entered in the configuration file (config.xml).
  
-Creates two versions (one for the creation of new file/ second for updating the properties)+Example: 
 + 
 +  * **config.xml**: //<nowiki><cms-host name="http://mySharePoint.de:123/myPath/to/mySite" /></nowiki>// 
 +  * Value in **Site**: //myPath/to/another/Repository// 
 +  * Resulting **URL**: //<nowiki>http://mySharePoint.de:123/myPath/to/another/Repository</nowiki>// 
 +  * The path from the config.xml gets overwritten by the value from Repository Path. 
 + 
 +> Document Library:  Defines the name of the document library. The document library is one piece for the complete connection string to the SharePoint server. The connection string is build like that: // | host.url | : | port | | /site/ | | **documentLibrary**  | //. 
 + 
 +> Root Folder:  Defines root folder **inside**  the given document library. Every file linked or uploaded to a repository, which defines a root folder in the configuration, will be **inside**  this root folder. 
 + 
 +> Default Lifecycle  Select a lifecycle from the process metamodel as default for files from this repository.