Configuration#

This page provides an overview of the configuration entries found in CtrlTMS.

Graph Configuration#

CtrlTMS requires information necessary to establish and maintain connections to the Microsoft Graph API. This information is stored in the configuration, under the entry Graph.

Name

Description

ClientId

The ID of the CtrlSync application, specific to your Microsoft Azure environment.

ClientSecret

The Client Secret of your CtrlSync Azure Application.

TenantId

The ID of your Microsoft Azure Tenant.

Authentication Url (optional)

An alternative path to a web API where your Azure application can authenticate itself.

ApiUrl

The URL for the Microsoft Graph API installation. Usually this is just the global azure graph at https://graph.microsoft.com

ApiVersion

The API version to use. The only existing options as of start 2024 are v1.0 and beta. This field is for future proofing and is best left unset.

Common#

CtrlTMS uses a number of properties that are used in many contexts in the program, therefore these have been categorized on the entry Common.

Name

Description

DataType

ActiveProperty

Marks a Team or Channel as active or inactive.

Boolean

GraphIdProperty

Links an M-Files object to a Microsoft Graph Object, e.g. a Team or a Channel.

Text

GraphUrlProperty

A hyperlink for a Microsoft Graph Object

Text (multi-line)

TeamProperty

Used to reference a team that an object is associated with, used for both files and channels.

Multi-select lookup or lookup

ChannelProperty

Used to reference a channel, used by files.

Multi-select lookup or lookup

Team#

CtrlTMS uses these properties to model information relevant to MS Teams teams.

Name

Description

DataType

Type

The M-Files object type used for a Team

-

Class

The M-Files class used for a Team

-

DisplayName

A property for the name of the Team, can be the built-in Name or Title property.

Text

Description

A property for the Team’s Description.

Text (multi-line)

OwnersProperty

A set of owners for the team.

Multi-select lookup

MembersProperty

A set of members for the team.

Multi-select lookup

GroupsProperty

The groups associated with a team.

Multi-select lookup or lookup

PrivateProperty

A property that determines if the Team is private or not.

Boolean

Member#

CtrlTMS uses these properties to model members of teams and/or channels.

Name

Description

DataType

UserType

An M-Files object type representing Users

-

EmailProperty

A property used to store the email of a user on a user object.

Text

Channel#

CtrlTMS uses these properties to model information relevant to MS Teams channels. It uses a nested configuration, ChannelTypesConfig to keep track of a mapping from value lists to channels.

Name

Description

DataType

Type

M-Files object type for Channels

-

Class

M-Files class for Channels

-

DisplayName

A property for the name of a channel, can be the built-in Name or Title property.

Text

Description

A property for a channel’s Description.

Text (multi-line)

ChannelTypesConfig

A nested configuration that is used to take different channel types into account.

ChannelTypesConfig

ChannelTypes

Configuration for channel types

ChannelTypesConfig

ChannelTypeProperty

A property defining the channel type for a channel

Lookup

MembersProperty

Links a channel to its members

Multi-select lookup

OwnersProperty

The owners of a particular channel

Multi-select lookup

ChannelTypesConfig#

In order to configure the channel types, you first need to create a value list for storing the different channel types. Ensure that you have an entry in your list for each type.

Then, fill out the ChannelTypesConfig

Name

Description

DataType

ValueList

The value list storing channel types

-

Standard

Represents the standard channel type

Value list item

Private

Represents the private channel type

Value list item

Shared

Represents the shared channel type

Value list item

Workflow#

CtrlTMS uses a workflow to control the life cycle of Teams and their channels.

Name

Description

TeamsWorkflow

Teams Workflow

CreateState

Create State

CreatedState

Created State

ArchivedState

Archived State

DeletedState

Deleted State

ErrorState

Error State

DiscoveredState

Discovered State

Discover#

CtrlTMS is also capable of discovering Teams and channels from CtrlTMS as well. This is done through a background operation that is configured through the Discover entry. The discover entry contains the following fields.

Name

Description

DiscoverPrivateTeams

Discover private teams

DiscoverMembers

Discover members & Owners

DiscoverChannels

Discover channels

AutoRunSchedule

Auto-run schedule

DownSyncInterval#

Finally, CtrlTMS exposes a configuration entry for controlling how often it should poll Microsoft Graph for changes to the Team structure.