Micro Focus Content Manager SDK 10.1
|
The Teams integration has two modes of operation, client and server side. It is possible to use the integration in either one or both of these modes. The ServiceAPI and Teams application manifest must be installed irrespective of which mode the integration is to be used in. If only the server side mode is required then follow the directions below to modify the manifest. If only the client side integration is required then EmailLink does not need to be configured.
Once the manifest has been either manually created or generated using the script the client side integration with Channels and Chats can be remove by removing the contents of the configurableTabs property and leaving it as an empty array.
The Teams integration is made up of three components, not all of which need to be configured depending on the level of functionality required. The components are:
The components listed above work together to provide the complete Teams integration. If the only part of the integration required are the client side components then only the ServiceAPI and Teams manifest are required, Email Link is required to support scheduled server side filing of chats, posts and files.
The server side component of the Teams integration is managed using check in styles and check in places. Check in Styles and places have a one to many parent-child relationship, meaning one check in style may have zero or more check in places associated with it. The purpose of the check in style is to encapsulate a collection of properties required to create a record, the purpose of the check in place is to track the connection details and synchronization state for a particular application and user.
For example, there might be one check in style that specifies a record type and default settings required for a particular project or customer. This check in style may have linked to it many check in places for different users, some linked to email folders, some linked to Teams channels and others linked to teams users for filing Teams chats.
The usual way to create check in styles and places for the teams server side integration is via the teams client side app. This will allow you to create a check in style, navigate to a channel or user and create a check in place for that channel or user. Check in places may be created via the SDK if there is a need to automate this process, for example if it is undesirable to install the client app in Teams. To create the Check in place:
NOTE: The place Id must be structured correctly:
Place type | Description | Place Id | Place id example |
---|---|---|---|
ChannelPostsForServerProcessing | All posts for a channel. | {team-id}/channels/{channel-id} | dd8b1122-13f0-41df-923d-a407637b4047/channels/19:3te1ccfc9b6c4390be34f7b69439f57a@thread.tacv2 |
ChannelDocsForServerProcessing | All files for a channel. | {team-id}/channels/{channel-id} | dd8b1122-13f0-41df-923d-a407637b4047/channels/19:3te1ccfc9b6c4390be34f7b69439f57a@thread.tacv2 |
TeamsChatForServerProcessing | All chats involving this user. | users/{id}/chats/getAllMessages | users/98e82caf-9073-449d-9284-1bfad890e3d5/chats/getAllMessages |
DocsForServerProcessing | All files owned by this user. | users/{id}/drive/root | users/98e82caf-9073-449d-9284-1bfad890e3d5/drive/root |
The ServiceAPI must be installed and must have a valid HTTPS certificate, any HTTP errors will cause the Teams Integration to fail.
The ServiceAPI performs four functions within the integration:
The simplest way to configure the Microsoft Teams Integration is to use the setup script, which will create:
To use the script:
More help running this script can be found in the video in this post.
The Microsoft Graph API services used to file either all messages in a channel or all chats for a user are protected, this means that they may only used with approval from Microsoft. Prior to submitting this form the Azure App for the Teams integration must be created as the approval is given for a particular App. In the request form an answer to the 'why does your application need to access all messages in the tenant' question might be as simple as 'Our organisation is required for compliance reasons to archive all Teams posts in a corporate Record management system'.
The Teams integration groups user chats into conversations so that each conversation can be stored in a separate Record. To achieve this the integration assumes that a period of silence in a group chat indicates that particular conversation has finished. For example if users A, B and C are chatting in Teams and a period of time elapses with nothing being said the integration will assume that the next thing said is a new conversation and file it in a new Record. When filing chats manually it is possible to choose to file one or more of these contiguous conversations as a single record. To configure how long this silent time should be got to System Options > Email and chat > Wait until the conversation has been silent for the specified time
.
The ServiceAPI must be configured to use OpenId Connect authentication as described in the authentication section. New permissions must be assigned to the Azure AD Application to support Teams, these are:
To assign these permissions:
The Teams integration requires that the Application ID Uri in the Azure AD App include the domain name of your ServiceAPI server, this must be adjusted before installing the office integration manifests. To adjust the Application ID URI:
api://2d89cb2b-3cb7-4c21-807e-029fdbfe74a7
,api://myserver.com/2d89cb2b-3cb7-4c21-807e-029fdbfe74a7
, thenThe Teams integration relies on single sign on from the Microsoft add-in framework. To allow this to work we need to register our add-in, this is done in the 'Expose an API section of the Azure App created previously. To register your add-in:
access_as_teams_user
The manifest's purpose is to notify Microsoft Teams of the presence of your add-in. Manifest files must be customised before upload to your Office 365 Admin. To prepare your manifest:
"websiteUrl": "[YOUR WEB CLIENT URL]",
It may be that the Teams integration addin does not display after it has been uploaded, if this is the case ensure that all cookie blocking is disabled in your web browser.
Email Link serves two purposes in the Teams integration, to:
Email Link should be installed as usual, there must be a Microsoft authentication configuration for your Office 365 domain that is of type OAuth and has Teams selected.