Since Make 5.0 it’s possible to deploy Microsoft Teams and modify the SharePoint site that comes with a MS Team.
Template
There are 3 templates needed to deploy a MS Team with Make and make adjustments on the SharePoint site that comes with a MS Team. These templates are:
- playlist.xml
- xml to deploy a MS Team
- xml to make adjustments on the SharePoint site that comes with a MS Team
Below an example how these templates would look like. The files can also be downloaded as a zip package.
playlist.xml
The playlist tells Make which files to use for the configuration.
<?xml version="1.0" encoding="utf-8" ?> <Configurator xmlns="http://schemas.mavention.com/SharePoint/Apps/SiteConfigurator"> <Providers> <Provider NodeName="Playlist" Class="Mavention.SharePoint.SiteConfigurator.Providers.PlaylistProvider" Assembly="Mavention.SharePoint.SiteConfigurator"/> </Providers> <Playlist RetryCount="2" RetryDelay="30000"> <Files> <ConfigurationFile FileName="team.xml" FileType="Graph" Requeueable="False" /> <ConfigurationFile FileName="make-configuration-main.xml" FileType="Make" Requeueable="True" /> </Files> </Playlist> </Configurator>
team.xml
This template deploys the Microsoft Team.
<Configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.mavention.com/Graph/Make"> <Providers> <Provider NodeName="Graph" Class="Mavention.Make.Engine.Providers.GraphProvider" Assembly="Mavention.Make.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a43c589e76ba4e3d"/> </Providers> <Graph> <Groups> <Group DisplayName="{Title}" Description="{Title}" MailNickname="{mailNickName}" Visibility="{security}" GetObjectBy="InternalName"> <Owners UserPrincipalNames="{owner}"/> <Members UserPrincipalNames="{owner};{member}"/> <Team> <MemberSettings AllowAddRemoveApps="true" AllowCreateUpdateChannels="true" AllowCreateUpdateRemoveConnectors="true" AllowCreateUpdateRemoveTabs="true" AllowDeleteChannels="true" /> <GuestSettings AllowCreateUpdateChannels="false" AllowDeleteChannels="false" /> <Channels> <Channel DisplayName="Cool new products" GetObjectBy="DisplayName"> <Tabs> <Tab DisplayName="Mavention Workspace" TeamsAppId="com.microsoft.teamspace.tab.web" GetObjectBy="DisplayName"> <Configuration ContentUrl="https://www.mavention.nl/producten/workspace/" /> </Tab> </Tabs> </Channel> </Channels> </Team> </Group> </Groups> </Graph> </Configurator>
make-configuration-main.xml
This template is needed to make adjustments on the SharePoint site that comes with a Microsoft Team.
<?xml version="1.0" encoding="UTF-8"?> <Configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.mavention.com/SharePoint/Apps/SiteConfigurator"> <Providers> <Provider NodeName="Site" Class="Mavention.SharePoint.SiteConfigurator.Providers.SiteProvider" Assembly="Mavention.SharePoint.SiteConfigurator, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a43c589e76ba4e3d"/> </Providers> <Site Title="{Title}" Url="{url}" Template="GROUP#0" LCID="1033" OwnerLogin="" ObjectAction="Update" SharingCapability="ExternalUserSharingOnly" DenyAddAndCustomizePages="Disabled"> <RootWeb Url="" Title="{Title}" Template="GROUP#0" LCID="1033"> <Properties> <Property Name="WebTemplate">MicrosoftTeam</Property> <Property Name="WebTemplateVersion">1.0.0.0</Property> </Properties> </RootWeb> </Site> </Configurator>
Properties
The following properties can be used as metadata for the playlist.
Name: playlist.xml
Title: Microsoft Team
Configuration version: 1.0.0.0
Description: Microsoft Team
Start object type: Tenant
Parameters: see json
Json
{ "d": { "parameters": [{ "id": "Title", "title": "Group Title", "inputType": "text", "required": true, "sampleValue": "Team site" }, { "id": "mailNickName", "title": "Mailbox", "inputType": "text", "required": true, "sampleValue": "teamsite" }, { "id": "url", "title": "Url", "inputType": "text", "required": true, "sampleValue": "https://tenant.sharepoint.com/sites/teamsite" }, { "id": "owner", "title": "Team owner", "inputType": "text", "required": true, "sampleValue": "a.noniem@exact.onmicrosoft.com;b.noniem@exact.onmicrosoft.com;c.noniem@exact.onmicrosoft.com" }, { "id": "member", "title": "Member of team", "inputType": "text", "required": false, "sampleValue": "a.noniem@exact.onmicrosoft.com;b.noniem@exact.onmicrosoft.com;c.noniem@exact.onmicrosoft.com" }, { "id": "security", "title": "Group Visibilty", "inputType": "text", "required": true, "sampleValue": "Public or Private" }] } }
Make request
An example of how the Make request could look like.
{ "Id": "329bb7f5-b018-4bc5-8c80-f35c0aa7c9f3", "RequestType": 0, "ConfigurationFileUrl": "https://wmeurer.sharepoint.com/sites/Make-admin/Make%20Configurations/Microsoft%20Team/playlist.xml", "ConfigurationItemUrl": "https://wmeurer.sharepoint.com", "Scope": "Tenant", "OverwriteIfExists": false, "Parameters": { "Title": "Team Site Wim", "mailNickName": "teamsitewim", "url": "https://wmeurer.sharepoint.com/sites/teamsitewim", "owner": "wmeurer@wmeurer.onmicrosoft.com;remco@wmeurer.onmicrosoft.com", "member": "john@wmeurer.onmicrosoft.com;steven@wmeurer.onmicrosoft.com", "security": "Public" } }
The post Microsoft Team provisiong with Make appeared first on Mavention.