Options de déploiement des solutions SharePoint Framework pour Microsoft Teams
Les développeurs ont plusieurs options lorsqu'ils déploient des solutions SharePoint Framework (SPFx) à utiliser dans Microsoft Teams. Cet article explique les options prises en charge dans SharePoint Online.
Remarque
Avant janvier 2021, SharePoint Online ne prenait en charge qu'une seule option : lorsqu'une solution SPFx qualifiée était téléchargée dans le catalogue d'applications du locataire SharePoint, le bouton Synchroniser vers Teams du ruban du catalogue d'applications du locataire.
SharePoint Online prend en charge deux options pour déployer des solutions SPFx dans le app stores de Microsoft Teams :
- Créez automatiquement le manifeste et le paquet de l'application Microsoft Teams
- Utiliser le package de manifeste & d’application Microsoft Teams fourni par les développeurs
Créez automatiquement le manifeste et le paquet de l'application Microsoft Teams.
Cette fonctionnalité est idéale lorsque vous disposez d'une mise en œuvre simple à exposer automatiquement dans Microsoft Teams.
Dans ce scénario, lorsqu'une solution SPFx est téléchargée dans le catalogue d'applications du locataire SharePoint Online, si la solution contient des composants pour Microsoft Teams, le bouton Synchroniser avec Teams du ruban est activé.
Ce bouton va lancer le processus suivant dans SharePoint Online :
- SharePoint créera dynamiquement le fichier manifeste de l'application Microsoft Teams.
- SharePoint créera dynamiquement le paquet d'applications Microsoft Teams.
- SharePoint déploiera le paquet d'applications Microsoft Teams généré dans l'app store Microsoft Teams du locataire.
Lorsque SharePoint crée le manifeste de l'application, il utilise les valeurs de la solution SPFx pour générer certains noms. Le tableau suivant répertorie les propriétés du fichier manifeste de l'application Microsoft Teams et les valeurs qui leur sont attribuées.
Remarque
Consultez le lien suivant dans la documentation de Microsoft Teams pour plus de détails sur le manifeste de l'application : Schéma du manifeste pour Microsoft Teams.
propriété manifest.json | Propriété dans le manifeste du composant SPFx |
---|---|
packageName |
alias |
id |
id |
name.short |
preconfiguredEntries[0].title |
description.short |
preconfiguredEntries[0].description |
description.long |
preconfiguredEntries[0].description |
Remarque
Le manifeste du composant est extrait du manifeste du composant (./src/webparts/.. /*.manifest.json).
Si une solution SPFx contient plusieurs composants Web destinés à être utilisés dans Microsoft Teams, SharePoint Online répétera le processus ci-dessus pour chacun d'entre eux.
Remarque
Si vous êtes curieux de connaître la structure de package générée, vous pouvez utiliser l’API REST suivante pour télécharger le package pour des solutions spécifiques :
_api/web/tenantappcatalog/downloadteamssolution(id)/$value
ID est l’identificateur numérique de la solution dans la bibliothèque du catalogue d’applications.
Vous pouvez demander cette API dans le contexte de votre catalogue d’applications, par exemple avec l’URL de https://[yourtenant]].sharepoint.com/sites/appcatalog/_api/web/tenantappcatalog/downloadteamssolution(12)/$value
. L’appel d’API démarre le processus de téléchargement du package de manifeste généré.
Package de manifeste & d’application Microsoft Teams fourni par les développeurs
Lorsque vous avez besoin de plus de contrôle sur le manifeste ou le paquet d'applications Microsoft Teams, vous pouvez créer votre propre paquet. Dans ce cas, lorsqu’un administrateur sélectionne le bouton Synchroniser avec Teams , SharePoint Online recherche le fichier suivant dans le fichier *.sppkg : ./teams/TeamsSPFxApp.zip.
Si ce fichier est présent, SharePoint Online le déploiera dans l'app stores Microsoft Teams du locataire au lieu de le créer dynamiquement. Cette option offre aux développeurs un contrôle total sur le package d’application manifeste & de l’application Microsoft Teams.
Cette option est idéale pour les scénarios suivants :
- Les développeurs veulent avoir un contrôle total sur le contenu du manifeste de l'application Microsoft Teams.
- Scénarios complexes de Microsoft Teams, comme la spécification de bots, d'applications de réunion, etc.
- Spécifiez l’ID et la description du nom & de l’application Microsoft Teams lorsque la solution SPFx contient plusieurs composants. Par exemple, si une solution SPFx contient plusieurs composants WebPart qui peuvent être utilisés comme onglets dans Microsoft Teams, la génération automatique du manifeste sélectionne l’un des deux composants à utiliser comme ID d’application Microsoft Teams, description du nom & .
Pour utiliser votre propre package d’application manifeste & d’application Microsoft Teams au lieu de laisser SharePoint Online le créer dynamiquement, procédez comme suit :
Créez un manifeste d'application Microsoft Teams conformément à la documentation de Microsoft Teams :
- Microsoft Teams : Créez un pack d'applications pour votre application Microsoft Teams.
- Microsoft Teams : Schéma de manifeste pour Microsoft Teams
Importante
dans le manifeste de l’application Teams, veillez à ajouter l’entrée suivante :
"webApplicationInfo": { "resource": "https://{teamSiteDomain}", "id": "00000003-0000-0ff1-ce00-000000000000" }
Cela est nécessaire pour s’assurer de la réussite de tout appel d’API dans le composant réussira à partir de clients riches Microsoft Teams. teamSiteDomain sera le même client que celui utilisé par le client Teams. Cela ne fonctionne pas entre les inter-clients/inter-domaines et vous ne pouvez donc pas coder en dur un autre domaine.
Créez le paquet d'applications Microsoft Teams nommé TeamsSPFxApp.zip en compressant le contenu du dossier ./teams.
Importante
Ne compressez pas le dossier, mais le contenu du dossier. Si vous compressez le dossier, un sous-dossier de niveau supérieur sera ajouté au fichier ZIP résultant, ce qui n'est pas un paquet d'applications valide dans Microsoft Teams.
Enregistrez le fichier TeamsSPFxApp.zip dans le dossier /teams de la solution SPFx.
Créez le paquet SPFx de la même manière que vous le feriez avec une solution SPFx ordinaire, en utilisant gulp package-solution . Il inclut le package d’application Microsoft Teams personnalisé dans * .sppkg.
Référencer dynamiquement les URL des sites SharePoint sous–jacents
Le manifeste de l’application Microsoft Teams doit pointer vers l’emplacement d’hébergement déployé des composants SPFx. Toutefois, ces URL ne sont pas connues au moment de la création du manifeste de l'application Microsoft Teams ou du paquet d'applications.
Par conséquent, lorsque vous spécifiez le paquetage d'applications dans cette option de déploiement, vous devez utiliser les chaînes suivantes qui seront remplacées au moment de l'exécution par Microsoft Teams :
{teamSiteDomain}
l'URL du locataire SharePoint Online où la solution SPFx est déployée et installée.{teamSitePath}
: le chemin d'accès au site SharePoint où les composants SPFx ont été installés{locale}
: la locale actuelle du client Microsoft Teams
Lorsque vous utilisez un composant Web dans une solution Microsoft Teams personnalisée, vous pouvez utiliser ces chaînes pour définir l'URL de la page qui chargera le composant Web. Par exemple, utilisez le tableau suivant comme guide pour créer l'URL des composants Web utilisés dans les applications Microsoft Teams :
Importante
Dans les exemples suivants, on suppose que l'ID du composant SPFx est {{SPFX_COMPONENT_ID}}
. Veillez à remplacer cette valeur par l'ID du composant de votre WebPart. Cette valeur n'est pas définie dynamiquement par SharePoint ou Microsoft Teams : il incombe au développeur de la définir.
Composant Microsoft Teams | Propriété du manifeste de l'application Microsoft Teams | Propriété du manifeste de l'application Microsoft Teams |
---|---|---|
Onglet personnel | staticTabs[..].contentUrl |
https://{teamSiteDomain}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest=/_layouts/15/teamshostedapp.aspx%3Fteams%26personal%26componentId={{SPFX_COMPONENT_ID}}%26forceLocale={locale} |
Onglet Conversation de canal/groupe | configurableTabs[..].configurationUrl |
https://{teamSiteDomain}{teamSitePath}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest={teamSitePath}/_layouts/15/teamshostedapp.aspx%3FopenPropertyPane=true%26teams%26componentId={{SPFX_COMPONENT_ID}}%26forceLocale={locale} |
Extension de la messagerie | composeExtensions.commands[..].taskInfo.url |
https://{teamSiteDomain}/_layouts/15/TeamsLogon.aspx?SPFX=true&dest=/_layouts/15/teamstaskhostedapp.aspx%3Fteams%26personal%26componentId={{SPFX_COMPONENT_ID}}%26forceLocale={locale} |