Notes de publication de SharePoint Framework v1.7
Il s’agit probablement de la version la plus importante pour les nouvelles fonctionnalités que nous avons eues depuis la préversion d’origine (ou peut-être la préversion des extensions).
Publiée : 8 novembre 2018
Importante
Cette page traite des détails liés à une version SPFx spécifique. Cette page n’inclut pas la configuration SPFx requise supplémentaire qui doit être installée pour développer des solutions SPFx, notamment Node.js, Yeoman et d’autres outils.
Pour en savoir plus sur ces conditions préalables, voir Configuration de votre environnement de développement SharePoint Framework.
Mise à niveau des projets de v1.6 vers v1.7
- Dans le fichier package.json du projet, identifiez tous les packages SPFx v1.6. Pour chaque package SPFx :
Désinstallez le package v1.6 existant :
npm uninstall @microsoft/{spfx-package-name}@1.6
Installez le package v1.7 actualisé :
npm install @microsoft/{spfx-package-name}@1.7.0 --save --save-exact
Conseil
La CLI pour Microsoft 365 fournit une procédure détaillée simple pour la mise à niveau de vos solutions vers la dernière version de SharePoint Framework.
Nouvelles fonctionnalités et fonctionnalités
Dynamic Data
Pour la fonctionnalité Dynamic Data , nous avons apporté un certain nombre d’améliorations au travail de disponibilité générale.
- Connecter les composants SharePoint Framework à l’aide de données dynamiques
- Exemple de composant WebPart côté client utilisant Dynamic Data dans la version 1.7
Auteur de la configuration
La majeure partie des ajouts entre la préversion du développeur et la disponibilité générale se trouvent autour du volet de propriétés. Différents types de classes sont introduits pour prendre en charge cela, notamment
IPropertyPaneConditionalGroup
, qui vous permet d’afficher différents groupes en fonction d’une conditionIDynamicDataSharedPropertyConfiguration
,IDynamicDataSharedPropertyFilters
,IDynamicDataSharedSourceConfiguration
,IDynamicDataSharedSourceFilters
,IPropertyPaneDynamicFieldSetProps
, qui peuvent être utilisés pour créer des contrôles dans le volet de propriétés qui permettent aux auteurs de choisir une source de données et une propriété dynamiques.- Nous avons déprécié (et supprimerons complètement dans une prochaine version) l’interface
IPropertyPaneDynamicTextFieldProps
de la préversion du développeur etPropertyPaneDynamicTextField
fonction qui était la méthode rapide et incorrecte pour modifier une propriété dynamique. - Nous avons mis à jour l’interface
IWebPartPropertiesMetadata
pour permettre à un développeur de déclarer des propriétés de composant WebPart comme dynamiques, ce qui nous permet de créer les objetsDynamicProperty
pour vous au moment de la création du composant WebPart.
Données sous-jacentes
Du point de vue des données sous-jacentes, le DynamicDataSourceManager
expose désormais le sourceId
de la source de données (utile dans le débogage). Une source de données peut désormais fournir un rappel getAnnotatedPropertyValue
qui sera utilisé pour afficher des chaînes localisées et des exemples de données à l’utilisateur final. Enfin, lorsque vous appelez l’objet DynamicProperty
pour obtenir la valeur actuelle d’une propriété, vous pouvez appeler , qui retourne une seule propriété, ou , qui retourne un tableau. Cela est utile lorsqu’une source de données donnée peut retourner un ou plusieurs objets (par exemple, les éléments sélectionnés d’un composant WebPart de liste) et que vous souhaitez toujours prendre en charge plusieurs propriétés. Pour les deux scénarios, l’infrastructure s’assure que vous obtenez un objet unique ou un tableau, indépendamment de ce que la source de données sous-jacente expose. Cela peut être utile si vous créez un composant WebPart (par exemple, une carte de personnes), qui s’attend toujours à afficher une seule personne. L’auteur peut choisir l’utilisateur actuel dans la source de données de contexte, ou l’utilisateur peut choisir l’auteur à partir de l’élément sélectionné d’un composant WebPart de liste. En tant que développeur, vous n’avez qu’à appeler property.tryGetValue()
et vous obtiendrez toujours une valeur unique (ou non définie).
Générer dans des sources de données
La première source de données intégrée est la source de données de contexte de page. Il s’agit d’une version simplifiée de l’objet PageContext actuel, qui retourne des éléments tels que l’utilisateur actuel, la liste, le site, etc. Une autre source de données (comme le composant WebPart liste/bibliothèque de documents) suit.
Prise en charge de SharePoint Server 2019
Lorsque vous ciblez 2019, vous obtenez un ensemble de fonctionnalités publique/ga à partir du produit 2019. Il s’agit du code public/ga à partir de la version 1.4.1 de SharePoint Framework
Onglets SPFx pour Teams (préversion du développeur)
Vous pouvez maintenant créer des solutions d’onglets Microsoft Teams à l’aide de SPFx. Tous les outils de génération, l’empaquetage, l’hébergement, le CDN et l’authentification restent les mêmes. Il existe maintenant une propriété disponible sur l’objet de contexte appelé microsoftTeams
qui expose l’objet SDK Teams. À partir de là, si votre solution est hébergée en tant qu’application Teams, vous aurez accès à l’objet de contexte Teams complet, contenant des éléments tels que le nom de l’équipe, l’ID, le canal, etc. Chargez simplement un fichier teamsApp.zip avec le manifeste que nous fournissons dans le projet généré par Yeoman.
- Docs : création d’onglets Microsoft Teams à l’aide de SharePoint Framework
- Didacticiel : Créer un onglet Microsoft Teams à l’aide de SharePoint Framework
Applications basées sur Teams dans SharePoint (préversion des développeurs)
Si vous avez créé une solution d’onglet Teams hébergée par un fournisseur, vous pouvez maintenant charger la solution directement dans le catalogue d’applications SharePoint et l’onglet sera disponible en tant que composant WebPart. La dernière version du Kit de développement logiciel (SDK) Teams dispose d’un objet de contexte SharePoint qui fournit le même objet PageContext auquel vous avez accès dans SharePoint (la version initiale du Kit de développement logiciel (SDK) Teams est tapé comme n’importe quel, une version ultérieure du KIT de développement logiciel (SDK) aura l’interface complète. Toutefois, l’objet sera le même). Pour une meilleure expérience, vous pouvez héberger cette application hébergée par un fournisseur dans la nouvelle fonctionnalité Application en page complète.
Applications en page complète (préversion pour les développeurs)
Une chose qui a été demandée depuis un certain temps est la possibilité de créer des applications en page entière dans SPFx. Nous pensons que nous avons une meilleure solution, qui consiste à créer une mise en page qui héberge un composant WebPart unique qui couvre l’intégralité de la zone de contenu de la page. Des éléments tels que la navigation et l’en-tête existent toujours et suivent le formulaire et le style du reste du site (une page d’application dans un site de communication n’aura donc pas de navigation gauche, contrairement à une page d’application dans un site d’équipe). À l’avenir, à mesure que les extensions se développeront et autoriseront d’autres personnalisations, ces personnalisations seront reportées. Cela signifie qu'en tant que développeur, vous n'aurez qu'à vous concentrer sur votre contenu, et non à faire un tas de travaux pour essayer de faire en sorte que la page de l'application ressemble à toutes les autres pages du système, gérer la navigation rapide dans la page, gérer les personnalisateurs d'application, etc. Il y a une propriété sur BaseWebPartContext
l'objet appeléformFactor
qui vous permettra de savoir si vous êtes en taille réelle ou standard. Pour créer une page d’application, voir ici.
Composants WebPart isolés du domaine (préversion du développeur)
Depuis le début de SPFx, nous avons toujours affirmé que les iFrames avaient une utilité, mais que la solution primaire n'en avait pas besoin. Maintenant que l’infrastructure a évolué, il est temps de déverrouiller les scénarios où les iFrames étaient importants, c’est-à-dire lorsque vous avez besoin d’un niveau d’autorisations différent pour un composant WebPart que le reste de la page/location. En s’appuyant sur la fonctionnalité d’API web de la version 1.6, définissez la propriété isDomainIsolated
dans votre fichier package-solution.json tp true. Dans ce cas, tous les composants WebPart de la solution s’exécutent dans un domaine distinct avec son propre jeu d’autorisations. L’infrastructure gère la création de l’iFrame, en transmettant les données entre elles pour permettre au volet de propriétés de fonctionner correctement, etc. Vous gérez les autorisations pour cette solution dans la même page d’administration que vous gérez les autorisations SPFx pour le reste de la location. Dans cette préversion pour les développeurs, les données dynamiques entre les composants WebPart de la page principale et un composant WebPart isolé de domaine ne sont pas prises en charge.
ListSubscriptions dans le navigateur (préversion du développeur)
Le package @microsoft/sp-list-subscription nouvellement publié vous permet de vous inscrire aux événements de navigateur lorsqu’une bibliothèque sous-jacente est mise à jour. Vous fournissez les informations de la bibliothèque et une fonction de rappel, et lorsque la bibliothèque est mise à jour, votre rappel est appelé.
- S’abonner aux notifications de liste
- Exemple de code montrant comment les listsubscriptions fonctionnent
Changements dans cette version
Nous avons retravaillé les événements de cycle de vie contentPlaceholder. Désormais, chaque fois que vous créez un espace réservé de contenu, il réussit. Toutefois, si la page active n’a pas d’emplacement pour l’espace réservé, l’espace réservé ne s’affiche pas. Une fois que l’utilisateur accède à une page qui prend en charge l’espace réservé (ou que la prise en charge de l’espace réservé est activée sur la page après la création de PlaceholderContent), nous l’afficherons. Nouvelle propriété sur l’objet PlaceholderContent, isVisible
vous indique si l’espace réservé est affiché. En outre, lorsque la visibilité des espaces réservés change, nous appellerons une méthode sur le ApplicationCustomizer
appelée onPlaceholdersChanged()
. Si vous souhaitez être informé de ces modifications, vous pouvez remplacer la méthode.
Nous avons rendu publiques quelques méthodes sur le SPComponentLoader
. getManifests()
retourne la liste des manifestes que le chargeur connaît, et loadComponentById
charge un composant par ID à partir du serveur s’il n’est pas déjà chargé (et vous le retourne).
Dépréciations et éléments supprimés dans cette version
- Suppression de la prise en charge de Node.js v6 dans cette version.
- Suppression de l’utilisation précédemment déconseillée de MSGraphClient de @microsoft/sp-client-preview. Vous devez utiliser la version en disponibilité générale de la version 1.6 qui se trouve dans le package @microsoft/sp-http .