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 |
ApiVersion |
The API version to use. The only existing options as of start 2024 are |
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. |
|
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.