Charger les composants WebPart sur SharePoint

Déployez des composants WebPart SharePoint standard préconfigurés pour vos utilisateurs.

S’applique à : SharePoint 2013 | Compléments SharePoint | SharePoint Online

Vous pouvez charger des composants WebPart SharePoint standard préconfigurés pour que les utilisateurs les ajoutent à leurs sites SharePoint. Par exemple, vous pouvez charger :

  • un composant WebPart Éditeur de script préconfiguré qui utilise des fichiers JavaScript sur le web à distance ;

  • un composant WebPart de recherche de contenu préconfiguré.

Cet article traite de la configuration du composant WebPart Éditeur de Script pour utiliser des fichiers JavaScript sur le web à distance afin de personnaliser l’interface utilisateur. Utilisez cette solution pour :

  • utiliser des fichiers de script à partir du web à distance dans vos composants WebPart plutôt que de faire référence à des scripts à partir de la liste Éléments de site sur le web hôte ;

  • déployer des composants WebPart préconfigurés lors du processus d’approvisionnement de votre site personnalisé. Par exemple, dans le cadre du processus d’approvisionnement de votre site personnalisé, vous souhaiterez peut-être afficher des informations relatives à la politique d’utilisation du site à l’utilisateur lorsqu’un site est créé ;

  • charger automatiquement du contenu filtré dans vos composants WebPart pour vos utilisateurs. Par exemple, votre fichier de script peut afficher des informations relatives aux actualités locales lues à partir d’un système externe ;

  • autoriser les utilisateurs à ajouter des fonctionnalités supplémentaires à leur site à l’aide de composants WebPart figurant dans la galerie de composants WebPart.

Avant de commencer

Pour commencer, téléchargez l’exemple de complément Core.AppScriptPart à partir du projet modèles et pratiques des développeurs Office365 sur GitHub.

Utilisation du complément Core.AppScriptPart

Lorsque vous exécutez l’exemple de code et cliquez sur Exécuter le scénario, procédez comme suit :

  1. Cliquez sur Revenir au site.

  2. Cliquez sur PAGE>Modifier>INSÉRER>Composant WebPart.

  3. Dans Catégories, sélectionnez Composant Script du complément, puis cliquez sur Informations de profil utilisateur.

  4. Sélectionnez Ajouter.

  5. Dans la liste déroulante dans le coin supérieur droit du composant WebPart Informations de profil utilisateur, sélectionnez Modifier le composant WebPart.

  6. Cliquez sur MODIFIER L’EXTRAIT DE CODE.

  7. Vérifiez l’élément <SCRIPT>.

    Notez que l’attribut src est lié à un fichier JavaScript sur le site web distant. L’élément <SCRIPT> est défini par la propriété Contenu dans Core.AppScriptPartWeb\userprofileinformation.webpart, comme illustré dans l’exemple suivant. Le fichier JavaScript lié par l’attribut src est Core.AppScriptPartWeb\Scripts\userprofileinformation.js. Userprofileinformation.js lit les informations de profil de l’utilisateur actif à partir du service de profil utilisateur, puis affiche ces informations dans le composant WebPart.

    Remarque

    Le code dans cet article est fourni tel quel, sans garantie d’aucune sorte, expresse ou implicite, y compris mais sans s’y limiter, aucune garantie implicite d’adéquation à un usage particulier, à une qualité marchande ou une absence de contrefaçon.

<property name="Content" type="string">&amp;lt;script type="text/javascript" src="https://localhost:44361/scripts/userprofileinformation.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;div id="UserProfileAboutMe"&amp;gt;&amp;lt;div&amp;gt;
</property>
  1. Cliquez sur Annuler.

  2. Cliquez sur Enregistrer.

Remarque

Si l’image de votre profil utilisateur ne s’affiche pas, ouvrez votre site OneDrive Entreprise, puis revenez au web hôte.

Dans Core.AppScriptPartWeb\Pages\Default.aspx, l’option Exécuter le scénario permet d’exécuter btnScenario_Click, qui effectue les opérations suivantes :

  1. Obtient une référence au dossier galerie de composants WebPart.

  2. Utilise FileCreationInformation pour créer le fichier userprofileinformation.webpart à charger sur la galerie de composants WebPart à partir du complément hébergé par le fournisseur. La méthode folder.Files.Add ajoute le fichier à la galerie de composants WebPart.

  3. Récupère tous les éléments de liste dans la galerie de composants WebPart, puis recherche userprofileinformation.webpart.

  4. Attribue le composant WebPart à un groupe personnalisé nommé Composant Script du complément lorsque le fichier userprofileinformation.webpart est détecté.

protected void btnScenario_Click(object sender, EventArgs e)
        {
            var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                var folder = clientContext.Web.Lists.GetByTitle("Web Part Gallery").RootFolder;
                clientContext.Load(folder);
                clientContext.ExecuteQuery();

                // Upload the "userprofileinformation.webpart" file.
                using (var stream = System.IO.File.OpenRead(
                                Server.MapPath("~/userprofileinformation.webpart")))
                {
                    FileCreationInformation fileInfo = new FileCreationInformation();
                    fileInfo.ContentStream = stream;
                    fileInfo.Overwrite = true;
                    fileInfo.Url = "userprofileinformation.webpart";
                    File file = folder.Files.Add(fileInfo);
                    clientContext.ExecuteQuery();
                }

                // Update the group that the Web Part belongs to. Start by getting all list items in the Web Part Gallery, and then find the Web Part that was just uploaded.
                var list = clientContext.Web.Lists.GetByTitle("Web Part Gallery");
                CamlQuery camlQuery = CamlQuery.CreateAllItemsQuery(100);
                Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(camlQuery);
                clientContext.Load(items);
                clientContext.ExecuteQuery();
                foreach (var item in items)
                {
                    // Create new group.
                    if (item["FileLeafRef"].ToString().ToLowerInvariant() == "userprofileinformation.webpart")
                    {
                        item["Group"] = "add-in Script Part";
                        item.Update();
                        clientContext.ExecuteQuery();
                    }
                }

                lblStatus.Text = string.Format("add-in script part has been added to Web Part Gallery. You can find 'User Profile Information' script part under 'App Script Part' group in the <a href='{0}'>host web</a>.", spContext.SPHostUrl.ToString());
            }
        }

Voir aussi