Updates from: 03/06/2021 04:15:33
Service Microsoft Docs article Related commit history on GitHub Change details
platform Apps Upload https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/concepts/deploy-and-publish/apps-upload.md
Title: Upload your custom app description: Describes how to upload your app in Microsoft Teams
-keywords: teams apps Upload
+
+keywords: teams apps upload
+ # Upload an app package to Microsoft Teams
-To test your app experience within Microsoft Teams, you need to upload your app to Teams. Uploading adds the app to the team you select, and you and your team members can interact with it like end users.
+To test your app experience within Microsoft Teams, you need to upload your app to Teams. Uploading adds the app to the selected team and all the team members can interact with it like end users.
> [!NOTE]
-> Uploading an updated package for an existing app with a bot might not show tab changes when viewed through the Conversations window. It's better to access it via the Apps fly-out, or test on a clean test environment.
+> Uploading an updated package for an existing app with a bot might not show tab changes when viewed through the conversations window. You can access the app through the apps fly-out or test in a clean environment.
## Create your upload package
-For development as well as AppSource (formerly Office Store) submission you must create an uploadable package that contains the information to describe your experience. The package, a .zip file, contains the application manifest and icons that uniquely define your experience.
+For development and AppSource submission, you must create a package that you can upload. The package must contain the information to describe your experience. The package is a .zip file that contains the application manifest and icons that uniquely define your experience.
To create an upload package, see [Create the package for your Microsoft Teams app](../build-and-test/apps-package.md).
-With your package created, you can now upload it into a team. Once uploaded it will be available for all users in the selected team, and only the users of that team.
+After you create the package, upload it into a team. The uploaded package is only available to the users of the selected team.
## Load your package into Teams
There are two ways to upload your app to Teams:
## Upload your package into a team or conversation using the Store
-1. In the lower left corner of Teams, choose the Store icon. On the Store page, choose "Upload a custom app".
+1. In the lower left corner of Teams, choose the **Store** icon. On the Store page, choose **Upload a custom app**.
![View team](../../assets/images/store-upload-a-custom-app2.png)
-2. In the *Open* dialog, navigate to the package you want to upload and choose *Open*.
+2. In the **Open** dialog, navigate to the package you want to upload and choose Open.
![Add menu](../../assets/images/NewappAddmenudropdown.png)
-The uploaded package should now be available for use in the team or conversation specified in the consent dialog. If your app does not appear, the most common reason is an error in the manifest, particularly ids for the app, bot and messaging extensions. If the app is not scoped for conversations, that option will not appear.
+The uploaded package must be available for use in the team or conversation specified in the consent dialog. If your app does not appear, the most common reason is an error in the manifest, particularly IDs for the app, bot, and messaging extensions. If the app is not scoped for conversations that option does not appear.
>[!NOTE]
-> Apps in conversations is currently in [Developer Preview](../../resources/dev-preview/developer-preview-intro.md), and the option will not appear if Teams is not running in that mode.
+> Apps in conversations is currently in [Developer Preview](../../resources/dev-preview/developer-preview-intro.md), and the option does not appear if Teams is not running in that mode.
![Example of bot in list of uploaded bots](../../assets/images/botinlist.jpg) ## Upload your package into a team using the Apps tab
-1. In the target team, choose *More options* (**⋯**) and choose *Manage team*.
+1. In the target team, choose **More options** (**⋯**) and select **Manage team**.
> [!NOTE]
- > You must be the team owner, or the owner must allow users to add the appropriate app types for this functionality to appear.
+ > You must be the team owner or the owner must give access to users to add the appropriate app types for this functionality to appear.
-2. Select the Apps tab, and then choose *Upload a custom app* on the lower right.
+2. Select the **Apps** tab and choose **Upload a custom app** on the lower right.
![Upload entry point](../../assets/images/UploadACustomApp.png)
-3. Browse to and select your .zip package from your computer.
+3. Select your .zip package from the computer.
-4. After a brief pause you will see your uploaded app in the list.
+4. You can see your uploaded app in the list.
![Example of bot in list of uploaded bots](../../assets/images/botinlist.jpg)
-If your app does not load, the most common reason is an error in the manifest, particularly ids for the app, bot and messaging extensions.
+If your app does not load, the most common reason is an error in the manifest, particularly IDs for the app, bot, and messaging extensions.
-## Accessing your uploaded configurable tab
+## Access your uploaded configurable tab
If the app contains tabs, users can pin them to any conversation or team channel using the standard tab gallery flow:
-1. Go to a channel in the team. Choose *+* (*Add a tab*) to the right of the existing tabs.
+1. Go to a channel in the team. Choose **+** to add a tab to the right of the existing tabs.
2. Select your tab from the gallery that appears. 3. Accept the consent prompt.
-4. Configure your tab via its [configuration page](../../tabs/how-to/create-tab-pages/configuration-page.md) and choose *Save*.
+4. Configure your tab through its [configuration page](../../tabs/how-to/create-tab-pages/configuration-page.md) and select **Save**.
![The Add a tab dialog box, featuring a gallery of available tabs](../../assets/images/tab_gallery.png)
-## Accessing your uploaded bot
+## Access your uploaded bot
-When you add a bot to a team, it should be usable by anyone on that team, inside and outside the team channels, depending on bot scope definition. You and other team members will see a post in the General channel indicating that the bot has been added to the team.
+After adding the bot to a team, it must be usable by anyone on that team, inside and outside the team channels, depending on bot scope definition. All team members can see a post in the **General** channel indicating that the bot has been added to the team.
-For a teams-enabled bot, you can start by invoking your bot by @mentioning the name of the bot, which should autocomplete.
+For a Teams bot, you can start by invoking your bot by @mentioning the name of the bot.
-To test direct chats with your bot, you can either access it via the App home, @mention it in a channel, or search for it in the **New Chat** window.
+To test direct chats with your bot, you can either access it through the App home, @mention it in a channel, or search for it in the **New Chat** window.
-When you add your bot to a conversation To test direct chats with your bot, you can @mention it in a conversation, or search for it in the **New Chat** window.
+You can @mention the bot in a conversation or search for it in the **New Chat** window to test direct chats with your bot.
-## Accessing your uploaded Connector
+## Access your uploaded Connector
With the app loaded in the team or conversation, users can set up a Connector using the standard Connectors gallery flow:
-1. Go to a channel in the team. Choose *More options* (*⋯*) and choose *Connectors*.
+1. Go to a channel in the team. Choose **More options** (*⋯*) and choose **Connectors**.
2. Select your Connector from the **Sideloaded** section at the bottom.
-3. Configure your Connector via its [configuration page](../../webhooks-and-connectors/how-to/connectors-creating.md) and choose *Save*.
+3. Configure your connector through its [configuration page](../../webhooks-and-connectors/how-to/connectors-creating.md) and select **Save**.
![The Add a tab dialog box, featuring a gallery of available tabs.](../../assets/images/connector_gallery.png)
-## Accessing your uploaded messaging extension
+## Access your uploaded messaging extension
-An uploaded app with a messaging extension automatically appears in the *More options* (*⋯*) menu in the compose box.
+An uploaded app with a messaging extension automatically appears in the **More options** (*⋯*) menu in the compose box.
![Messaging extensions](../../assets/images/compose-extensions/cesampleapp.png)
-## Removing or updating your app
+## Add a default install scope and group capability
+
+> [!NOTE]
+> The default install scope and group capability is currently available in developer preview only.
+
+Although installing an app in the personal scope works for most apps, some of the apps in Teams Store support both personal and team scopes.
+Some of these apps are intended to work in a team, meetings, or a groupchat, with personal app experience being secondary.
+The default install scope selection helps you to specify the `defaultInstallScope` for the apps that you publish. The app installation experience makes the default options available to the user, while the rest is moved under the chevron as highlighted in the image.
+
+![Add an app](../../assets/images/compose-extensions/addanapp.png)
+
+The `defaultInstallScope` property supports values, such as personal, team, groupchat, or meetings.
+
+> [!NOTE]
+>`defaultGroupCapability` provides the default capability that is added to the team, groupchat or meetings. Choose a tab, bot, or connector as the default capability for your app, but you must ensure that you have provided the selected capability in your app definition.
-If you want to remove your app, select the trash-can icon next to the app name in the View Teams bots list.
+## Remove or update your app
-If you change manifest information, you must first remove the app and then add the updated package (per [Load your package into a team](#load-your-package-into-teams)). Note that, in general, code changes on your service do not require you to re-upload your manifest, unless those changes require manifest updates (such as changes to the URL or the Microsoft app ID for its bot).
+To remove your app, select the delete icon next to the app name in the **View Teams** bots list. If you change manifest information, first remove the app and then add the updated package, see [Load your package into a team](#load-your-package-into-teams). Code changes on your service do not require you to upload your manifest again. However, if the code changes require manifest updates, such as changes to the URL or the Microsoft app ID for its bot, you must upload the manifest again.
> [!NOTE]
-> There is no way to completely remove a bot from personal context. If the bot is removed and re-added, additional communication with the bot will append to the previous conversation.
+> You cannot remove a bot from a personal context entirely. If the bot is removed and added again, additional communication with the bot appends to the previous conversation.
## Troubleshooting notes
-* If the manifest doesn't load, please double-check that you followed all the instructions in [Create the package](../../concepts/build-and-test/apps-package.md) and validated your manifest against the [schema](../../resources/schem).
+If the manifest fails to load, check if you have followed all the instructions in [Create the package](../../concepts/build-and-test/apps-package.md) and validated your manifest against the [schema](../../resources/schem).
platform Removing Tab Margins https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/removing-tab-margins.md
+
+ Title: Removing tab margins in Microsoft Teams
+
+description: Describes how the removal of tab margins will enhance developer's experience.
+keywords: tab removing margins padding
++++
+# Tab margin changes
+
+This document describes how the removal of margins around all tabs in Microsoft Teams will enhance the developer's experience when building apps. This is an enhancement introduced in Microsoft Teams in 2021.
+Removing the margins around all tabs will allow developers to build apps that look more native to Teams. This will also align with our [UI kit designs](~/tabs/design/tabs.md). Most apps already look better without the margins surrounding their experiences. However, some tabs are visually affected by this change, and developers must make the necessary changes.
++
+## Timelines
+
+* March 5, 2021 - Margins removed in [Public Developer Preview](~/resources/dev-preview/developer-preview-intro.md).
+* May 1, 2021 - Margins will be removed in production.
+
+## Guidelines
+
+Microsoft Teams apps that use tabs will be affected by this change. Developers should switch to [Public Developer Preview](~/resources/dev-preview/developer-preview-intro.md) in order to determine how their tabs are affected and make the necessary changes.
+
+Tab developers must not rely on Teams to provide margins surrounding their tabs. Developers are encouraged to add margins around their tab designs where it is required. App designs in production can look like there is extra padding, that is, margins provided by Teams and margins provided by the tab. However, the extra padding is only temporary and will go away in a few weeks, leaving only the app's provided padding.
+
+## FAQ
+
+**Is it OK for app chrome, such as header bar or taskbar, to touch the edges of our designs?**
+
+Yes, this is fine and encouraged. This helps the app feel native.
+
+**Is it OK for app content, such as text, logos, and images, to touch the left and right edges of our designs?**
+
+No, you must provide your own padding or margins to the left and right of all app content to ensure it does not touch the edges of your UI. You can also add margins at the top of your tab, if required.
+
+**What's the size of the margins Teams previously applied?**
+
+* Left and right: 20px
+* Top: 16px
+* Bottom: 0px
+
+> [!IMPORTANT]
+> * All tabs have their margins removed: personal tabs, (group) chat tabs, meeting tabs, and channel tabs.
+> * There is no way to opt-in or opt-out of this change. It will apply to all tabs.
+> * This change can affect tabs that rely on Microsoft Teams to provide margins surrounding their UI.
platform Manifest Schema https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/resources/schema/manifest-schema.md
Title: Manifest schema reference description: Describes the manifest schema for Microsoft Teams
-keywords: teams manifest schema
-
+keywords: teams manifest schema
# Reference: Manifest schema for Microsoft Teams
-The Microsoft Teams manifest describes how the app integrates into the Microsoft Teams product. Your manifest must conform to the schema hosted at [`https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json`]( https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json). Previous versions 1.0-1.4 are also supported (using "v1.x" in the URL).
+The Teams manifest describes how the app integrates into the Microsoft Teams product. Your manifest must conform to the schema hosted at [`https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json`]( https://developer.microsoft.com/json-schemas/teams/v1.8/MicrosoftTeams.schema.json). Previous versions 1.0-1.4 are also supported (using "v1.x" in the URL).
The following schema sample shows all extensibility options.
The following schema sample shows all extensibility options.
"templateText": "<team member> mentioned you" } ]
- }
+ },
+ "defaultInstallScope": {
+ "type": "string",
+ "enum": [
+ "personal",
+ "team",
+ "groupchat",
+ "meetings"
+ ],
+ "description": "The install scope is defined for this app by default. It is the option displayed on the button when a user tries to add the app."
+ },
+ "defaultGroupCapability": {
+ "type": "object",
+ "properties": {
+ "team": {
+ "type": "string",
+ "enum": [
+ "tab",
+ "bot",
+ "connector"
+ ],
+ "description": "When the selected install scope is Team, this field specifies the default capability available."
+ },
+ "groupchat": {
+ "type": "string",
+ "enum": [
+ "tab",
+ "bot",
+ "connector"
+ ],
+ "description": "When the selected install scope is Group Chat, this field specifies the default capability available."
+ },
+ "meetings": {
+ "type": "string",
+ "enum": [
+ "tab",
+ "bot",
+ "connector"
+ ],
+ "description": "When the selected install scope is Meetings, this field specifies the default capability available."
+ }
+ },
+ "description": "When a group install scope is selected, this defines the default capability when the user installs the app.",
+ "additionalProperties": false
+ } ```
The schema defines the following properties:
## $schema
-*Optional, but recommended* ΓÇö string
+Optional, but recommended ΓÇö string
The https:// URL referencing the JSON Schema for the manifest.
The https:// URL referencing the JSON Schema for the manifest.
**Required** ΓÇö string
-The version of the manifest schema this manifest is using. It should be "1.7".
+The version of manifest schema this manifest is using. It must be 1.7.
## version **Required** ΓÇö string
-The version of the specific app. If you update something in your manifest, the version must be incremented as well. This way, when the new manifest is installed, it will overwrite the existing one and the user will get the new functionality. If this app was submitted to the store, the new manifest will have to be re-submitted and re-validated. Then, users of this app will get the new updated manifest automatically in a few hours, after it is approved.
+The version of a specific app. If you update something in your manifest, the version must be incremented too. This way, when the new manifest is installed, it overwrites the existing one and the user receives the new functionality. If this app was submitted to the store, the new manifest must be re-submitted and re-validated. The app users receive the new updated manifest automatically within few hours after the manifest is approved.
-If the app requested permissions change, users will be prompted to upgrade and re-consent to the app.
+If the app requests for permissions change, the users are prompted to upgrade and re-consent to the app.
This version string must follow the [semver](http://semver.org/) standard (MAJOR.MINOR.PATCH).
This version string must follow the [semver](http://semver.org/) standard (MAJOR
**Required** ΓÇö Microsoft app ID
-The unique Microsoft-generated identifier for this app. If you have registered a bot via the Microsoft Bot Framework, or your tab's web app already signs in with Microsoft, you should already have an ID and should enter it here. Otherwise, you should generate a new ID at the Microsoft Application Registration Portal ([My Applications](https://apps.dev.microsoft.com)), enter it here, and then reuse it when you add a bot.Note: If you are submitting an update to your existing app in AppSource, the ID in your manifest must not be modified.
+The ID is a unique Microsoft-generated identifier for the app. You have an ID if your bot is registered through the Microsoft Bot Framework or your tab's web app already signs in with Microsoft. You must enter the ID here. Otherwise, you must generate a new ID at the Microsoft Application Registration Portal ([My Applications](https://apps.dev.microsoft.com)). Use the same ID if you add a bot.
+
+> [!NOTE]
+> If you are submitting an update to your existing app in AppSource, the ID in your manifest must not be modified.
## developer **Required** ΓÇö object
-Specifies information about your company. For apps submitted to AppSource (formerly Office Store), these values must match the information in your AppSource entry. See our [publishing guidelines](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md) for additional information.
+Gives information about your company. For apps submitted to AppSource (formerly Office Store), these values must match the information in your AppSource entry. See the [publishing guidelines](~/concepts/deploy-and-publish/appsource/prepare/frequently-failed-cases.md) for additional information.
|Name| Maximum size | Required | Description| ||||| |`name`|32 characters|Γ£ö|The display name for the developer.|
-|`websiteUrl`|2048 characters|Γ£ö|The https:// URL to the developer's website. This link should take users to your company or product-specific landing page.|
+|`websiteUrl`|2048 characters|Γ£ö|The https:// URL to the developer's website. This link must take users to your company or product-specific landing page.|
|`privacyUrl`|2048 characters|Γ£ö|The https:// URL to the developer's privacy policy.| |`termsOfUseUrl`|2048 characters|Γ£ö|The https:// URL to the developer's terms of use.| |`mpnId`|10 characters| |**Optional** The Microsoft Partner Network ID that identifies the partner organization building the app.|
Specifies information about your company. For apps submitted to AppSource (forme
**Required** ΓÇö object
-The name of your app experience, displayed to users in the Teams experience. For apps submitted to AppSource, these values must match the information in your AppSource entry. The values of `short` and `full` should not be the same.
+The name of your app experience, displayed to users in the Teams experience. For apps submitted to AppSource, these values must match the information in your AppSource entry. The values of `short` and `full` must be different.
|Name| Maximum size | Required | Description| |||||
The name of your app experience, displayed to users in the Teams experience. For
Describes your app to users. For apps submitted to AppSource, these values must match the information in your AppSource entry.
-Ensure that your description accurately describes your experience and provides information to help potential customers understand what your experience does. You should also note, in the full description, if an external account is required for use. The values of `short` and `full` should not be the same. Your short description must not be repeated within the long description and must not include any other app name.
+Ensure that your description accurately describes your experience and provides information to help potential customers understand what your experience does. You must note in the full description, if an external account is required for use. The values of `short` and `full` must be different. Your short description must not be repeated within the long description and must not include any other app name.
|Name| Maximum size | Required | Description| |||||
Ensure that your description accurately describes your experience and provides i
**Optional** ΓÇö string
-A unique identifier for this app in reverse domain notation; for example, com.example.myapp. Maximum length: 64 characters.
+A unique identifier for the app in reverse domain notation; for example, com.example.myapp. Maximum length: 64 characters.
## localizationInfo
Used when your app experience has a team channel tab experience that requires ex
|`canUpdateConfiguration`|boolean|||A value indicating whether an instance of the tab's configuration can be updated by the user after creation. Default: **true**.| |`context` |array of enums|6||The set of `contextItem` scopes where a tab is supported. Default: **[channelTab, privateChatTab, meetingChatTab, meetingDetailsTab]**.| |`sharePointPreviewImage`|string|2048||A relative file path to a tab preview image for use in SharePoint. Size 1024x768. |
-|`supportedSharePointHosts`|array of enums|1||Defines how your tab will be made available in SharePoint. Options are `sharePointFullPage` and `sharePointWebPart` |
+|`supportedSharePointHosts`|array of enums|1||Defines how your tab is made available in SharePoint. Options are `sharePointFullPage` and `sharePointWebPart` |
## staticTabs
The item is an array (maximum of only 1 element&mdash;currently only one bot is
|`needsChannelSelector`|boolean|||Describes whether or not the bot utilizes a user hint to add the bot to a specific channel. Default: **`false`**| |`isNotificationOnly`|boolean|||Indicates whether a bot is a one-way, notification-only bot, as opposed to a conversational bot. Default: **`false`**| |`supportsFiles`|boolean|||Indicates whether the bot supports the ability to upload/download files in personal chat. Default: **`false`**|
-|`supportsCalling`|boolean|||A value indicating where a bot supports audio calling. **IMPORTANT**: This property is currently experimental. Experimental properties may not be complete, and may undergo changes before becoming fully available. It is provided for testing and exploration purposes only and should not be used in production applications. Default: **`false`**|
-|`supportsVideo`|boolean|||A value indicating where a bot supports video calling. **IMPORTANT**: This property is currently experimental. Experimental properties may not be complete, and may undergo changes before becoming fully available. It is provided for testing and exploration purposes only and should not be used in production applications. Default: **`false`**|
+|`supportsCalling`|boolean|||A value indicating where a bot supports audio calling. **IMPORTANT**: This property is currently experimental. Experimental properties may not be complete, and may undergo changes before becoming fully available. It is provided for testing and exploration purposes only and must not be used in production applications. Default: **`false`**|
+|`supportsVideo`|boolean|||A value indicating where a bot supports video calling. **IMPORTANT**: This property is currently experimental. Experimental properties may not be complete, and may undergo changes before becoming fully available. It is provided for testing and exploration purposes only and must not be used in production applications. Default: **`false`**|
### bots.commandLists
The item is an array (maximum of 1 element) with all elements of type `object`.
### composeExtensions.commands
-Your messaging extension should declare one or more commands. Each command appears in Microsoft Teams as a potential interaction from the UI-based entry point. There is a maximum of 10 commands.
+Your messaging extension must declare one or more commands. Each command appears in Microsoft Teams as a potential interaction from the UI-based entry point. There is a maximum of 10 commands.
Each command item is an object with the following structure:
Each command item is an object with the following structure:
|`title`|string|32 characters|Γ£ö|The user-friendly command name.| |`type`|string|64 characters||Type of the command. One of `query` or `action`. Default: **query**.| |`description`|string|128 characters||The description that appears to users to indicate the purpose of this command.|
-|`initialRun`|boolean|||A boolean value that indicates whether the command should be run initially with no parameters. Default: **false**.|
-|`context`|array of Strings|3||Defines where the message extension can be invoked from. Any combination of`compose`,`commandBox`,`message` . Default is `["compose","commandBox"]`.|
-|`fetchTask`|boolean|||A boolean value that indicates if it should fetch the task module dynamically. Default: **false**.|
+|`initialRun`|boolean|||A boolean value indicates whether the command runs initially with no parameters. Default is **false**.|
+|`context`|array of Strings|3||Defines where the message extension can be invoked from. Any combination of`compose`,`commandBox`,`message`. Default is `["compose","commandBox"]`.|
+|`fetchTask`|boolean|||A boolean value that indicates if it must fetch the task module dynamically. Default is **false**.|
|`taskInfo`|object|||Specify the task module to pre-load when using a messaging extension command.| |`taskInfo.title`|string|64 characters||Initial dialog title.| |`taskInfo.width`|string|||Dialog width - either a number in pixels or default layout such as 'large', 'medium', or 'small'.|
Each command item is an object with the following structure:
**Optional** ΓÇö array of strings
-An array of `string` which specifies which permissions the app requests, which lets end users know how the extension will perform. The following options are non-exclusive:
+An array of `string` which specifies which permissions the app requests, which lets end users know how the extension performs. The following options are non-exclusive:
* `identity` &emsp; Requires user identity information * `messageTeamMembers` &emsp; Requires permission to send direct messages to team members
-Changing these permissions when updating your app will cause your users to repeat the consent process the first time they run the updated app. See [Updating your app](~/concepts/deploy-and-publish/appsource/post-publish/overview.md) for more information.
+Changing these permissions during app update, causes your users to repeat the consent process after they run the updated app. See [Updating your app](~/concepts/deploy-and-publish/appsource/post-publish/overview.md) for more information.
## devicePermissions **Optional** ΓÇö array of strings
-Specifies the native features on a user's device that your app may request access to. Options are:
+Provides the native features on a user's device that your app requests access to. Options are:
* `geolocation` * `media`
Specifies the native features on a user's device that your app may request acces
**Optional**, except **Required** where noted
-A list of valid domains for websites the app expects to load within the Teams client. Domain listings can include wildcards, for example `*.example.com`. This matches exactly one segment of the domain; if you need to match `a.b.example.com` then use `*.*.example.com`. If your tab configuration or content UI needs to navigate to any other domain besides the one use for tab configuration, that domain must be specified here.
+A list of valid domains for websites the app expects to load within the Teams client. Domain listings can include wildcards, for example, `*.example.com`. This matches exactly one segment of the domain; if you need to match `a.b.example.com` then use `*.*.example.com`. If your tab configuration or content UI needs to navigate to any other domain besides the one use for tab configuration, that domain must be specified here.
-It is **not** necessary to include the domains of identity providers you want to support in your app, however. For example, to authenticate using a Google ID, it's necessary to redirect to accounts.google.com, but you should not include accounts.google.com in `validDomains[]`.
+It is **not** necessary to include the domains of identity providers you want to support in your app. For example, to authenticate using a Google ID, it is required to redirect to accounts.google.com, however, you must not include accounts.google.com in `validDomains[]`.
-Teams apps that require their own sharepoint URLs to function well, may include "{teamsitedomain}" in their valid domain list.
+Teams apps that require their own sharepoint URLs to function well, includes "{teamsitedomain}" in their valid domain list.
> [!IMPORTANT]
-> Do not add domains that are outside your control, either directly or via wildcards. For example, `yourapp.onmicrosoft.com` is valid, but `*.onmicrosoft.com` is not valid.
+> Do not add domains that are outside your control, either directly or through wildcards. For example, `yourapp.onmicrosoft.com` is valid, however, `*.onmicrosoft.com` is not valid.
The object is an array with all elements of the type `string`.
The object is an array with all elements of the type `string`.
**Optional** ΓÇö object
-Specify your Azure Active Directory (Azure AD) App ID and Microsoft Graph information to help users seamlessly sign into your app. If your app is registered in Azure AD, you must provide the App ID, so that administrators can easily review permissions and grant consent in Teams admin center.
+Provide your Azure Active Directory (AAD) App ID and Microsoft Graph information to help users seamlessly sign into your app. If your app is registered in AAD, you must provide the App ID, so that administrators can easily review permissions and grant consent in Teams admin center.
|Name| Type| Maximum size | Required | Description| ||||||
Specify your Azure Active Directory (Azure AD) App ID and Microsoft Graph inform
**Optional** ΓÇö boolean
-Indicate whether or not to show the loading indicator when an app/tab is loading. Default: **false**.
+Indicates whether or not to show the loading indicator when an app or tab is loading. Default is **false**.
>[!NOTE]
->If you set "showLoadingIndicator : true" in your app manifest, then for the page to load correctly, you must modify the content pages of your tabs and task modules as per the protocol described in [Show a native loading indicator](../../tabs/how-to/create-tab-pages/content-page.md#show-a-native-loading-indicator) document.
+>If you select`showLoadingIndicator` as true in your app manifest, to load the page correctly, modify the content pages of your tabs and task modules as described in [Show a native loading indicator](../../tabs/how-to/create-tab-pages/content-page.md#show-a-native-loading-indicator) document.
## isFullScreen **Optional** ΓÇö boolean
-Indicate where a personal app is rendered with or without a tab-header bar. Default: **false**.
+Indicate where a personal app is rendered with or without a tab header bar. Default is **false**.
## activities **Optional** ΓÇö object
-Define the properties your app will use to post to a user activity feed.
+Define the properties your app uses to post a user activity feed.
|Name| Type| Maximum size | Required | Description| ||||||
-|`activityTypes`|array of Objects|128 items| | Specify the types of activities that your app can post to a users activity feed.|
+|`activityTypes`|array of Objects|128 items| | Provide the types of activities that your app can post to a users activity feed.|
### activities.activityTypes
platform Content Page https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/create-tab-pages/content-page.md
Your tab's overall objective should be to provide access to meaningful and engag
## Integrate your code with Teams
-For your page to display in Teams, you must include the [Microsoft Teams JavaScript client SDK](/javascript/api/overview/msteams-client?view=msteams-client-js-latestadd &preserve-view=true) and include a call to `microsoftTeams.initialize()` after your page loads. That is how your page and the Teams client communicate:
+For your page to display in Teams, you must include the [Microsoft Teams JavaScript client SDK](/javascript/api/overview/msteams-client?view=msteams-client-js-latest) and include a call to `microsoftTeams.initialize()` after your page loads. That is how your page and the Teams client communicate:
```html <!DOCTYPE html>
A task module is a modal popup-like experience that you can trigger from your ta
Ensure that the all URL domains used in your tabs are included in the `validDomains` array in your [manifest](~/concepts/build-and-test/apps-package.md). For more information, see [validDomains](~/resources/schem#validdomains) in the manifest schema reference. However, be mindful that the core functionality of your tab exists within Teams and not outside of Teams.
+## Reorder static personal tabs
+
+Starting with manifest version 1.7, developers can rearrange all tabs in their personal app. In particular, a developer can move the *bot chat* tab, which always defaults to the first position, anywhere in the personal app tab header. WeΓÇÖve declared two reserved tab entityId keywords, *conversations* and *about*.
+
+If you create a bot with a *personal* scope, it will show up in the first tab position in a personal app by default. If you wish to move it to another position, you must add a static tab object to your manifest with the reserved keyword, *conversations*. The *conversation* tab appears on web or desktop based on where you add the *conversation* tab in the `staticTabs` array.
+
+```json
+{
+ "staticTabs":[
+ {
+
+ },
+ {
+ "entityId":"conversations",
+ "scopes":[
+ "personal"
+ ]
+ }
+ ]
+}
+```
+ ## Show a native loading indicator Starting with [manifest schema v1.7](../../../resources/schem).
platform Reorder Personal App Tabs https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/tabs/how-to/reorder-personal-app-tabs.md
- Title: Reorder personal app tabs
-description: How to reorder personal app static tabs in your personal app
-keywords: teams tabs development
--
-# Reorder personal app tabs
-
-Starting with manifest version 1.7 developers can rearrange all tabs in their personal app. In particular, a developer can move the ΓÇ£bot chatΓÇ¥ tab (which has always defaulted to the first position) anywhere in the personal app tab header. WeΓÇÖve declared two reserved tab entityId keywords: ΓÇ£conversationsΓÇ¥ and ΓÇ£aboutΓÇ¥.
-
-## Moving the ΓÇ£Chat/ConversationΓÇ¥ tab
-
-If you create a bot with a ΓÇ£personalΓÇ¥ scope, it will always show up in the first tab position in a personal app. If you wish to move it to another position, you need to add a static tab object to your manifest with the reserved keyword ΓÇ£conversationsΓÇ¥. Wherever you add the ΓÇ£conversationsΓÇ¥ tab in the ΓÇ£staticTabsΓÇ¥ array, thatΓÇÖs where the conversation tab will appear on web and desktop.
-
-```json
-{
- "staticTabs":[
- {
-
- },
- {
- "entityId":"conversations",
- "scopes":[
- "personal"
- ]
- }
- ]
-}
-```
-
-> [!NOTE]
-> Note that this behavior is not reflected on mobile since the personal bot chat already has a dedicated place within the personal app.
-
-## Moving the ΓÇ£AboutΓÇ¥ tab
-
-The ΓÇ£AboutΓÇ¥ tab always defaults to the end of the personal app tab header bar. If you wish to move it to another position, you need to use the ΓÇ£aboutΓÇ¥ entityId.
-
-```json
-{
- "staticTabs":[
- {
-
- },
- {
- "entityId":"about",
- "scopes":[
- "personal"
- ]
- }
- ]
-}
-```
-> [!NOTE]
-> Note that the about tab is not shown on mobile.
-
-## Example code
-
-```json
-{
- "staticTabs":[
- {
- "entityId":"homeTab",
- "name":"Home",
- "contentUrl":"https://www.contoso.com",
- "websiteUrl":" https://www.contoso.com ",
- "scopes":[
- "personal"
- ]
- },
- {
- "entityId":"about",
- "scopes":[
- "personal"
- ]
- },
- {
- "entityId":"conversations",
- "scopes":[
- "personal"
- ]
- }
- ]
-}
-```
platform Whats New https://github.com/MicrosoftDocs/msteams-docs/commits/master/msteams-platform/whats-new.md
The change log lists changes to the Microsoft Teams platform and this document s
| **Date** | **Notes** | **Changed topics** | | -- | | |
+|03/05/2021|Notice: Tabs will no longer have margins surrounding their experiences. Tab developers should review and update their apps. | [Removing tab margins](resources/removing-tab-margins.md) |
+|03/05/2021 | Default install scope and group capability is in developer preview.| [Default install scope and group capability](concepts/deploy-and-publish/apps-upload.md#add-a-default-install-scope-and-group-capability) |
+|03/05/2021|Reorder personal app tabs|[Reorder the chat tab in personal apps](tabs/how-to/create-tab-pages/content-page.md#reorder-static-personal-tabs)|
|03/04/2021|Information masking in Adaptive cards is in developer preview.| [Information masking in Adaptive cards](task-modules-and-cards/cards/cards-format.md#information-masking-in-adaptive-cards) | |02/19/2021|New: Added location capabilities. <br/> Update: Location capabilities information is added in the device capabilities overview, native device permissions, integrate media capabilities and QR or barcode scanner capability files.|[Overview](concepts/device-capabilities/device-capabilities-overview.md), [Request device permissions](concepts/device-capabilities/native-device-permissions.md), [Integrate media capabilities](concepts/device-capabilities/mobile-camera-image-permissions.md), [Integrate QR or barcode scanner capability](concepts/device-capabilities/qr-barcode-scanner-capability.md), [Integrate location capabilities](concepts/device-capabilities/location-capability.md) | |02/18/2021|New: Added QR or barcode scanner capability. <br/> Update: QR or barcode scanner capability information is added in the device capabilities overview, native device permissions and integrate media capabilities files.|[Overview](concepts/device-capabilities/device-capabilities-overview.md), [Request device permissions](concepts/device-capabilities/native-device-permissions.md), [Integrate media capabilities](concepts/device-capabilities/mobile-camera-image-permissions.md), [Integrate QR or barcode scanner capability](concepts/device-capabilities/qr-barcode-scanner-capability.md) |