Personalizando sites de equipe "modernos"

Em 2016, a equipe do SharePoint Online lançou sites de colaboração "modernos". Esses sites de equipe "modernos" são integrados aos grupos do Microsoft 365 e oferecem uma experiência significativamente aprimorada ao usuário final. Sites de equipe "modernos" são responsivos por padrão e muito mais rápidos de criar e usar da perspectiva do usuário final. A seguir estão alguns dos principais benefícios dos sites de equipes "modernos":

  • Projetados para se dimensionar em qualquer dispositivo de forma nativa e sem personalizações para uma experiência responsiva completa.
  • Contêm notícias nativas, links de acesso rápido e os recursos de atividade.
  • Integrados aos grupos do Microsoft 365.
  • Criação de site consideravelmente mais rápida comparada a sites de equipe "clássicos".
  • Inclua listas e bibliotecas "modernas"com suporte para Microsoft Flow e PowerApps.
  • Contêm recursos de edição de página "modernos".
  • Inclua uma página de conteúdo de site atualizado com informações adicionais sobre o uso do site.

Este artigo concentra-se nas opções de extensibilidade disponíveis em sites de equipe "modernos":

Importante

Não estamos substituindo a experiência "clássica", ambas coexistirão.

Personalizações com suporte em sites de equipe "modernos"

Sites "modernos" têm um nível diferente de opções de personalização em comparação aos sites de equipe "clássicos". Ao longo do tempo, apresentaremos opções de personalização adicionais, focadas principalmente em extensibilidade e identidade visual. A lista seguinte oferece uma visão geral dos recursos com suporte para sites de equipe “modernos”. Você pode:

  • Use a Estrutura do SharePoint para modificar a experiência do usuário nos sites, fornecendo web parts do lado do cliente ou incluindo outros elementos da interface do usuário com as Extensões da Estrutura do SharePoint.
  • Aplicar um tema personalizado ou alterar o logotipo.
  • Aplicar um tema pronto para uso.
  • Criar colunas de site personalizada (campos) e tipos de conteúdo.
  • Criar listas e bibliotecas.
  • Definir configurações de site, como configurações regionais, de idiomas, e configurações de auditoria.

Observação

Por padrão, um site de equipe "moderno" tem recursos de script desativados. Você ainda pode aplicar um tema personalizado, mas não pode introduzir um tema personalizado na galeria de temas como uma opção para usuários finais. Se você quiser adicionar um tema à galeria de temas, precisará ativar o script no site.

O que não possui suporte em sites de equipe "modernos"

Em várias áreas dos sites de equipe "modernos", as personalizações típicas não estão disponíveis no momento. Suporte adicional estará disponível para alguns desses tópicos quando eles estiverem prontos para serem lançados. A seguir, uma lista de personalizações atualmente sem suporte em sites de equipe "modernos":

  • Páginas mestras personalizadas; uma identidade visual mais extensa será suportada posteriormente usando opções alternativas.
  • Alterando o site "moderno" para usar o "clássico" seattle.master ou o oslo.master.
  • Layouts de página personalizados; Estamos procurando incluir o suporte para várias telas no futuro.
  • Ativação de recursos de publicação no escopo do site ou do conjunto de sites; tecnicamente, os recursos podem estar atualmente ativados, mas essa configuração não possui suporte.
  • Ações personalizadas do usuário/JavaScript personalizado; haverá uma maneira mais controlada de inserir JavaScript nas páginas por meio de Extensões da Estrutura do SharePoint.
  • Subsites "modernos"; Os subsites criados em sites de equipe "modernos" usam a experiência "clássica", mas você pode alterar a experiência do usuário para que seja semelhante aos sites "modernos".
  • Capacidade controlar as opções de modelo de subsite disponíveis.
  • Ativação do recurso de comunidade ou criação de subsites de comunidade no site de equipe "moderno".
  • Salvando site como um modelo. Também não há suporte para subsites em conjuntos de sites cujo site raiz é um site de equipe ou de comunicação associado a grupo.
  • Programaticamente atualizando elementos de navegação.

Como os sites de equipe "modernos" também têm recursos de script desativados (é um chamado site NoScript), várias áreas não podem ser personalizadas. O impacto do NoScript é o mesmo para sites "modernos" ou "clássicos". Os sites "modernos" têm o NoScript ativado por padrão, o que significa que os recursos de script não estão disponíveis. No entanto, é possível e há suporte para desabilitar as configurações do NoScript em sites "modernos" e "clássicos" para habilitar ainda mais alguns recursos.

Ao projetar suas soluções, considere estas áreas-chave relacionadas à configuração do NoScript:

  • Não há suporte para soluções de área restrita.
  • O JavaScript personalizado não pode ser ativado nos sites usando as opções de extensibilidade "clássica" (por exemplo, por meio de ações personalizadas do usuário).
  • Você não pode acessar sites usando o SharePoint Designer.
  • Algumas web parts não estão disponíveis para usuários finais.
  • Capacidade acessar ou atualizar as entradas do conjunto de propriedades do site.

Observação

Você pode encontrar a lista completa de recursos afetados no artigo do Suporte da Microsoft, Permitir ou impedir script personalizado, na seção "Recursos afetados quando o script personalizado é bloqueado".

Usando o mecanismo de provisionamento PnP com sites de equipe "modernos"

Você pode usar o mecanismo de provisionamento PnP com sites de equipe "modernos". O mecanismo de provisionamento PnP detecta automaticamente se um site é um site de equipe "moderno" e ajusta seu comportamento com base nos recursos com suporte. O processo é exatamente o mesmo que usar o mecanismo de provisionamento PnP com sites "clássicos" em que os recursos de script não estão desabilitados.

Os elementos a seguir são ignorados quando um modelo remoto é aplicado a um site de equipe "moderno" ou a um site com o NoScript ativado:

  • Configuração AuditLogTrimmingRetention de conjunto de sites nas configurações de auditoria
  • Aplicando um tema personalizado a partir do modelo; a implementação atual tem uma dependência em armazenar um tema customizado no catálogo, que possui suporte
  • Configurações do formulário para tipos de conteúdo
  • Adicionando ações personalizadas do usuário ao nível do site, da web ou da lista
  • Adicionando arquivos com os tipos de arquivo ".asmx", ".ascx", ".aspx", ".htc", ". Jar", ".master", ".swf", ".xap", ".xsf"
  • Adicionando arquivos a bibliotecas com as seguintes URLs "_catalogs/theme", "style library", "_catalogs/lt", "_catalogs/wp"
  • Adicionando web parts a páginas de site
  • Armazenar informações de modelo de provisionamento de conjunto de propriedades do site provisionado
  • Incluindo ou atualizando entradas de conjuntos de propriedades ao conjunto de propriedades do site
  • Definições e ativos de publicação "clássicos"
  • Configurações Sem Rastreamento do site
  • Configurações de página mestra do site

Aplicar um tema personalizado a um site de equipe "moderno"

Observação

O seguinte método foi escrito antes do Tenant Themes ser lançado, para ler sobre a nova forma de temas "modernos" consulte temas de sites do SharePoint

Sites de equipe "modernos" oferecem suporte a temas personalizados, embora você não possa fazer upload de uma nova entrada de galeria para usuários finais. Isso pode ser feito carregando os recursos necessários no site e executando o método ApplyTheme. O seguinte script do PowerShell mostra como fazer isso para um site de equipe "moderno".


# Connect to a previously created Modern Site
Connect-PnPOnline https://[tenant].sharepoint.com/sites/siteurl -UseWebLogin

# Apply a custom theme to a Modern Site

# First, upload the theme assets
Add-PnPFile -Path .\sppnp.spcolor -Folder SiteAssets
Add-PnPFile -Path .\sppnp-bg.png -Folder SiteAssets

# Second, apply the theme assets to the site
Set-PnPTheme -ColorPaletteUrl "SiteAssets/sppnp.spcolor" -BackgroundImageUrl "SiteAssets/sppnp-bg.png" -ResetSubwebsToInherit


Site de equipe “moderno” com tema personalizado

Site de equipe “moderno” com tema personalizado

Observação

  • Você pode alterar o logotipo do site de equipe "moderno" usando a API Groups Graph, conforme mostrado pelo método PnP UpdateUnifiedGroup do SharePoint.
  • Aplicar um tema personalizado a um site de equipe "moderno" pode causar tempos limite. A resolução para isso é desativar todos os idiomas de interface de usuário disponíveis para o site antes de aplicar o tema, e ativá-los novamente em seguida.

Determinar se um site é um site de equipe "moderno"

Você podetectar que um site é um site de equipe "moderno" verificando o valor "Web.WebTemplate" do site. Sites de equipe "modernos" usam o modelo "GROUP". Como os recursos suportados são os mesmos para um site de equipe "clássico" quando o script está desabilitado, você deve verificar as duas configurações em seu código para determinar o comportamento correto ou os recursos com suporte.

Como não há nenhuma propriedade direta para verificar se o script está habilitado ou não, você pode usar permissões para determinar o status atual. Quando o script está ativado, não há permissão AddAndCustomizePages nas permissões básicas do site.

/// <summary>
/// Can be used to check if site has noscript enabled.
/// </summary>
/// <param name="web">site object to inspect</param>
/// <returns>True if no scripting is enabled, False if it's not</returns>
public static bool IsNoScriptSite(Web web)
{
    // Ensure that we have the needed properties - Notice that these are 
    // PnP CSOM extension capabilities
    web.EnsureProperties(w => w.WebTemplate, w => w.EffectiveBasePermissions);

    // Definition of no-script is not having the AddAndCustomizePages permission
    if (!web.EffectiveBasePermissions.Has(PermissionKind.AddAndCustomizePages))
    {
        return true;
    }

    // It's a site without noscript enabled
    return false;
}

Considerações adicionais

Nós gradualmente introduziremos mais opções de personalização para sites de equipe "modernos" que serão alinhadas com o lançamento de recursos adicionais do SharePoint Framework. Atualmente não há programação exata disponível, mas atualizaremos os artigos de experiência "modernos" sempre que novos recursos forem lançados.

Confira também