Partilhar via


Carregar Web Parts no SharePoint

Implante Web Parts padrão do SharePoint pré-configuradas para seus usuários.

Aplicável a: suplementos do SharePoint | SharePoint 2013 | SharePoint Online

Você pode carregar Web Parts padrão do SharePoint pré-configuradas para que os usuários adicionem aos seus sites do SharePoint. Por exemplo, você pode carregar os seguintes itens pré-configurados:

  • Web Part de Editor de Scripts que usa arquivos JavaScript na Web remota.

  • Web Part de Pesquisa de Conteúdo.

Este artigo discute a pré-configuração da Web Part do Editor de Scripts para usar arquivos JavaScript na Web remota para executar a personalização da interface do usuário. Use esta solução para:

  • Use arquivos de script da Web remota nas Web Parts em vez de fazer referência a scripts na lista Ativos de site no host da Web.

  • Implemente Web Parts pré-configuradas em seu processo de provisionamento de site personalizado. Por exemplo, como parte do processo de provisionamento de site personalizado, convém exibir informações da política de uso do site para o usuário quando um novo site é criado.

  • Carregue automaticamente o conteúdo filtrado nas Web Parts para seus usuários. Por exemplo, seu arquivo de script pode exibir informações de notícias locais lidas em um sistema externo.

  • Permita que os usuários adicionem mais funcionalidades ao site usando Web Parts da Galeria de Web Parts.

Antes de começar

Para começar, baixe o suplemento de exemplo Core.AppScriptPart do projeto de padrões e práticas do Desenvolvedor do Office365 no GitHub.

Usar o suplemento Core.AppScriptPart

Quando você executar o código de exemplo e escolher Executar cenário:

  1. Escolha Voltar ao site.

  2. Escolha PÁGINA>Editar>INSERIR>Web Part.

  3. Em Categorias, escolha Parte do script do suplemento e, em seguida, escolha Informações do perfil de usuário.

  4. Escolha Adicionar.

  5. Na lista suspensa do canto superior direito da Web Part Informações do perfil de usuário, escolha Editar Web Part.

  6. Escolha EDITAR TRECHO.

  7. Revise o elemento <SCRIPT>.

    Observe que o atributo src é vinculado a um arquivo JavaScript na Web remota. O elemento <SCRIPT> é definido pela propriedade Content em Core.AppScriptPartWeb\userprofileinformation.webpart, conforme mostrado no exemplo a seguir. O arquivo JavaScript vinculado pelo atributo src é Core.AppScriptPartWeb\Scripts\userprofileinformation.js. Userprofileinformation.js lê as informações de perfil do usuário atual a partir do serviço de perfil de usuário e exibe essas informações na Web Part.

    Observação

    The code in this article is provided as-is, without warranty of any kind, either express or implied, including any implied warranties of fitness for a particular purpose, merchantability, or non-infringement.

<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. Escolha Cancelar.

  2. Selecione Salvar.

Observação

Se a imagem de perfil de usuário não for exibida, abra o site do OneDrive for Business e volte para o host da Web.

Em Core.AppScriptPartWeb\Pages\Default.aspx, Executar cenário executa btnScenario_Click, que faz o seguinte:

  1. Obtém uma referência para a pasta Galeria de Web Parts.

  2. Usa FileCreationInformation para criar o arquivo userprofileinformation.webpart que será carregado do suplemento hospedado pelo provedor para a Galeria de Web Parts. O método folder.Files.Add adiciona o arquivo à Galeria de Web Parts.

  3. Recupera todos os itens da lista na Galeria de Web Parts e pesquisa userprofileinformation.webpart.

  4. Quando userprofileinformation.webpart é encontrado, ele atribui a Web Part a um grupo personalizado chamado Parte do script do suplemento.

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());
            }
        }

Confira também