Template Entity updates

From Make 6.0 the following entities are added or updated with new functionality.

Teams entity updates

The Teams entities have ben updated and refactored because of the many changes in the new API.

Important Existing Teams templates likely need to be updated, please check them using the Schema Definitions before upgrading!

The following Team entities are available in Make 6.0:

  • Team from Group
    This is a child entity of group using the V1.0 endpoint which allows creating, updating, deleting and archiving teams
    TeamBeta
    This entity can only be used without a group. The Beta endpoint used which allows creating, updating, deleting and archiving teams.
    TeamClone
    This entity can be used with or without a group. The entity creates a new Team based on an existing Team and allows you to specify the parts to clone with the property PartsToClone="apps,tabs,settings,channels,members"

The new Team entity also support the following Beta child entities:

TeamClassSettings
The allows the use of the NotifyGuardiansAboutAssignments property
TeamDiscoverySettings
The allows the use of the ShowInTeamsSearchAndSuggestions property
TeamMemberSettings
The allows the use of the AllowCreatePrivateChannels property
ChannelBeta
The allows the use of the IsFavoriteByDefault property
TabBeta
The allows the use of the SortOrderIndex property

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<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>
    <Teams>
      <TeamBeta DisplayName="{Title}" Visibility="private" MailNickname="{mailNickName}" Owner="{owner1}">
        <MemberSettings AllowAddRemoveApps="true" AllowCreateUpdateChannels="true" AllowCreateUpdateRemoveConnectors="true" AllowCreateUpdateRemoveTabs="true" AllowDeleteChannels="true" />
        <GuestSettings  AllowCreateUpdateChannels="false" AllowDeleteChannels="false" />
        <Channels>
          <Channel DisplayName="Make Channel" GetObjectBy="DisplayName">
            <Tabs>
              <Tab DisplayName="Make" TeamsAppId="com.microsoft.teamspace.tab.web">
                <Configuration ContentUrl="https://www.portiva.nl/producten/make/" WebsiteUrl="https://www.portiva.nl/producten/make/"/>
              </Tab>
            </Tabs>
          </Channel>
        </Channels>
      </TeamBeta>
    </Teams>
  </Graph>
</Configurator>

HTTP Entity

For Graph templates we added the HTTP entity that allows you to make a HTTP request during template provisioning. These requests can be anonymous to any endpoint or authenticated for graph endpoints. The results of a call are written to the log file.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<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>
    <HttpRequests>
      <HttpRequest Url="https://graph.microsoft.com/v1.0/teams/6bca8a5e-efa5-4a5e-a4a5-55c814762f6e" Method="GET" Authenticated="true">
        <Headers>
          <Header Name="Test" Value="TestValue"></Header>
        </Headers>
        <Content MediaType="application/json">
          <Headers>
            <Header Name="TestBody" Value="TestBodyValue"></Header>
          </Headers>
          <Body>TestBody</Body>
        </Content>
      </HttpRequest>
    </HttpRequests>
  </Graph>
</Configurator>

Web entity now supports UseAccessRequestDefault

To disable Access Requests add the property to a Web entity with value false.

1
<RootWeb LCID="1033" Title="{title}" Url="{url}" UseAccessRequestDefault="false">

Section entity now supports Vertical Sections

Modern webparts can be grouped together in <Section> elements within the <ClientSidePage> element, these sections can be seen as rows within the page.

Sections can be configured by:

  • setting a background: None (default), Neutral, Soft, Strong
  • setting a section template: OneColumnFullWidth (default), TwoColumn, ThreeColumn, TwoColumnRight, TwoColumnLeft, OneColumnVerticalSection, TwoColumnVerticalSection, ThreeColumnVerticalSection, TwoColumnLeftVerticalSection, TwoColumnRightVerticalSection

Columns are vertical groupings of webparts within a section. Webparts are designated to a column by setting the Column attribute on the webpart element, the vertical order of the webpart is set through the Order attribute, the Layout attribute can either be 1 or 2 where 2 is the vertical section. There can be only one vertical section per page and it has only 1 column:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<ClientSidePage Name="modernPageSample.aspx">
    <Sections>
    <Section SectionTemplate="OneColumnVerticalSection">
        <TextWebpart Column="1" Order="1">
        This will be the top left webpart
        </TextWebpart>
        <TextWebpart Column="1" Order="2">
        This will be the bottom left webpart
        </TextWebpart>
        <TextWebpart Column="1" Order="1" Layout="2">
        This will be the bottom right webpart
        </TextWebpart>
    </Section>
    </Sections>
</ClientSidePage>