Provisionamento de site no modelo de suplementos do SharePoint
A abordagem que você adota para provisionar coleções de sites e sub sites é diferente no novo modelo de Suplemento do SharePoint, em comparação com como ele estava no Código de Confiança Total. Em um cenário típico de FTC (Full Trust Code) / Farm Solution, você criaria coleções de sites e sub sites com as definições de site e modelos da Web e, em seguida, usaria código declarativo para configurar os sites e aplicar personalizações. Neste modelo, você normalmente usaria código declarativo para criar colunas de site, tipos de conteúdo e listas definidas em XML e, em seguida, usar os elementos da estrutura de recursos do SharePoint para empacotar e implantá-los.
Em um cenário de modelo de suplemento do SharePoint, você pode usar o CSOM (Modelo de Objeto Lateral do Cliente do SharePoint) para criar e configurar coleções de sites e sub sites. Esse padrão é comumente chamado de padrão de provisionamento remoto.
Em alto nível, o padrão de provisionamento remoto se parece com este:
Diretrizes de alto nível
Como regra geral, recomendamos as diretrizes de alto nível a seguir para criar coleções de sites e sub sites.
- Provisione coleções de sites e sub sites com base nos modelos de site fora da caixa que são enviados com o SharePoint.
- Use o CSOM do SharePoint para criar os conjuntos de sites e sub sites.
- Aplique personalização e configurações às coleções de sites e sub-sites fora da caixa para atender aos seus requisitos.
- Use o CSOM do SharePoint para aplicar a personalização e as configurações.
- Recomendamos que você não use elementos da estrutura de recursos na criação de coleções e sub sites de criação.
- A única exceção a essa diretriz é quando você estiver usando o provisionamento declarativo baseado em XML em uma Web de Suplemento em um Suplemento do SharePoint hospedado no SharePoint. Isso ocorre porque o CSOM não está disponível em um Suplemento do SharePoint hospedado no SharePoint.
Desafios ao criar coleções de sites e sub sites
Criar em um navegador da Web versus Criar com código
É importante entender que a criação de coleções de sites e sub sites por meio do navegador da Web e por meio de código é diferente. Esta lista descreve as diferentes opções.
- Criando por meio de um navegador da Web
- Nesta opção, os usuários acessam um site do SharePoint por meio de um navegador da Web e usam as Páginas Administrativas para criar coleções de sites e sub sites.
- Normalmente, a única vez que você precisa usar o navegador da Web é para criar manualmente coleções de sites e sub sites é quando você está prototipando ou modificando um único site do SharePoint que não está planejado para crescer para incluir outras coleções de sites ou sub sites.
- Criando com código
- Nesta opção, você executaria o código CSOM do SharePoint para criar coleções de sites e sub sites.
- Posteriormente neste artigo, você pode ler sobre algumas abordagens que você pode usar para executar o código CSOM do SharePoint.
Ao criar por meio de um navegador da Web , considere os pontos a seguir.
- Criar coleções de sites e sub sites por meio do navegador da Web normalmente é um processo complicado e demorado.
- Esses fatores tornam a criação de coleções de sites e sub sites por meio do navegador da Web propenso a erros.
- Não há como recriar coleções de sites e sub sites (e os componentes que eles contêm) criados por meio do navegador da Web de forma repetitiva.
- Isso dificulta a implantação rápida e consistente de conjuntos de sites e sub-sites em diferentes ambientes à medida que você passa do desenvolvimento para o teste para a produção.
Ao criar com código, considere os pontos a seguir.
- Criar coleções de sites e sub sites com código normalmente envolve o uso de bibliotecas de utilitários personalizadas para executar o código CSOM do SharePoint.
- Você encontrará essas bibliotecas disponíveis em muitos projetos no Repositório GitHub PnP do OfficeDev. Eles são referenciados ao longo do artigo e no final.
- Esses fatores tornam a criação de coleções de sites e sub sites com código propenso ao sucesso.
- Você pode replicar facilmente e consistentemente coleções de sites e sub sites (e os componentes que eles contêm) criados por meio de código de forma granular.
- Você pode implantar facilmente as coleções de sites e sub sites em diferentes ambientes e referenciá-los à medida que você passa do desenvolvimento para o teste para a produção.
Deve acontecer rapidamente!
Os usuários finais não aceitarão ter que esperar várias horas para que seus novos sites do SharePoint sejam provisionados.
Deve ser consistentemente perfeito!
Coleções de sites e sub sites e os vários componentes que eles incluem, como colunas de site, tipos de conteúdo, listas, páginas master, arquivos JavaScript, imagens etc., são a base que define sua arquitetura de informações, elas devem ser perfeitas!
A coleta incorreta de sites e o provisionamento de sub-sites podem afetar todo um aplicativo de linha de negócios no site do SharePoint em que eles são provisionados, bem como outras partes do SharePoint e outros aplicativos de linha de negócios que acessam os serviços do SharePoint.
Por exemplo: se você tiver sites do SharePoint usados para gerenciar projetos em sua empresa, provavelmente criará um esquema de lista comum para todos eles. Isso exigirá a criação de colunas de site e tipos de conteúdo. Ao pesquisar informações nesses sites por meio da página de pesquisa do SharePoint, você filtra os resultados por tipo de conteúdo ou marca (coluna do site). Se as colunas do site e os tipos de conteúdo não forem perfeitamente consistentes em todos os sites de projeto, você não receberá resultados precisos da pesquisa.
Este exemplo também pode ser aplicado a Web parts do Content By Search, Suplementos do SharePoint, aplicativos móveis e quaisquer outros sistemas que acessem as informações nos sites do SharePoint.
Opções para criar coleções de sites e sub sites
Há várias opções que você pode usar para criar coleções de sites e sub sites com o novo modelo de Suplemento do SharePoint. Todas essas opções se enquadram na opção Criar com código descrita acima.
- Substituir o link criar site
- Substituir o link criar sub-site
- Usar um suplemento do SharePoint hospedado pelo provedor
- Usar aplicativos .NET/Java/Objective-C ou scripts do PowerShell
Substituir o link criar site
Nesse padrão, o link para criar uma coleção de sites é substituído por um link que aponta para um Suplemento do SharePoint hospedado pelo provedor. O código CSOM em execução em um Suplemento do SharePoint hospedado pelo provedor é executado por meio do padrão de provisionamento remoto como parte do processo de criação do site.
- O padrão só é usado ao direcionar a criação da coleção de sites; ele não é usado para criar sub sites.
- A URL de substituição está configurada no centro de administração do SharePoint. Essa URL aponta para um suplemento do SharePoint hospedado pelo provedor.
- O Suplemento do SharePoint hospedado pelo provedor usa APIs CSOM para criar coleções de sites.
- As APIs CSOM/REST também podem ser usadas para configurar outros aspectos do site durante o processo de provisionamento.
- Essa abordagem pode ser usada em locatários Office 365 e no SharePoint local.
- Fornece uma enorme flexibilidade para criar e configurar coleções de sites do SharePoint.
- Fácil e barato de implementar e manter a curto e longo prazo.
Configuração
Para substituir o link criar site, abra a página de configurações no centro de administração do SharePoint (mostrado abaixo).
Em seguida, marcar a caixa de seleção Usar o formulário nesta URL e inserir a URL no Suplemento do SharePoint hospedado pelo provedor que implementa a funcionalidade de criação do site (mostrada abaixo).
Observe que o SharePoint avisa você (na caixa de diálogo abaixo) sobre as implicações de segurança associadas a essa abordagem e fornece uma opção para desabilitar esse tipo de funcionalidade.
Quando isso é apropriado?
Essa opção funciona bem quando você precisa fornecer aos usuários finais uma capacidade de autoatendimento para criar coleções de sites do SharePoint com base em modelos personalizados.
Guia de Introdução
Os artigos a seguir descrevem a substituição criar padrão de link do site e fornecer exemplos de código para você começar.
- Provisionamento de site de autoatendimento usando suplementos para o SharePoint 2013 (Blog MSDN)
- Artigo de ponta a ponta sobre esse padrão com o vídeo que acompanha.
- Provisioning.Cloud.Sync (exemplo O365 PnP)
- Esta solução mostra o modelo para fornecer uma experiência síncrona de criação de sites ou de criação de sub-sites para introduzir modelos para modelos de site sem usar soluções de área restrita reais ou arquivos stp.
Substituir o link criar sub-site
Nesse padrão, o link para criar um sub-site é substituído por um link que aponta para um Suplemento do SharePoint hospedado pelo provedor. O código CSOM em execução em um Suplemento do SharePoint hospedado pelo provedor é executado por meio do padrão de provisionamento remoto como parte do processo de criação do site.
- O padrão só é usado ao direcionar a criação de sub-sites; ele não é usado para criar coleções de sites.
- A URL de substituição é configurada com uma ação personalizada que usa JavaScript para modificar o link. Essa URL aponta para um suplemento do SharePoint hospedado pelo provedor.
- O Suplemento do SharePoint hospedado pelo provedor usa APIs CSOM para criar sub sites.
- As APIs CSOM/REST também podem ser usadas para configurar outros aspectos do site durante o processo de provisionamento.
- Essa abordagem pode ser usada em locatários Office 365 e no SharePoint local.
- Fornece uma enorme flexibilidade para criar e configurar sites do SharePoint.
- Fácil e barato de implementar e manter a curto e longo prazo.
Quando isso é apropriado?
Essa opção funciona bem quando você precisa fornecer aos usuários finais uma capacidade de autoatendimento para criar sub sites do SharePoint com base em modelos personalizados.
Guia de Introdução
Os artigos a seguir descrevem a substituição criar padrão de link de sub-site e fornecer exemplos de código para você começar.
- Provisioning.Cloud.Sync (exemplo O365 PnP)
- Esta solução mostra o modelo para fornecer uma experiência síncrona de criação de sites ou de criação de sub-sites para introduzir um modelo para modelos de site sem usar soluções de área restrita reais ou arquivos stp.
- Provisioning.SubSiteCreationApp (Amostra O365 PnP)
- Essa solução usa o chamado padrão de provisionamento remoto para fornecer o melhor sistema de modelo de sub-site flexível possível. Ele também inclui um vídeo que acompanha.
Usar um suplemento do SharePoint hospedado pelo provedor
Nesse padrão, o código CSOM em execução em um Suplemento do SharePoint hospedado pelo provedor é executado por meio do padrão de provisionamento remoto como parte do processo de criação do site.
- O padrão pode ser usado para direcionar a coleção de sites e a criação de sub-sites
- O Suplemento hospedado pelo SharePoint deve receber permissões de Controle Completo para o ambiente do SharePoint.
- Você não pode usar esse padrão no Microsoft Marketplace porque ele requer permissões de Controle Total.
- O Suplemento do SharePoint hospedado pelo provedor usa APIs CSOM para criar coleções de sites e sub sites.
- As APIs CSOM/REST também podem ser usadas para configurar outros aspectos do site durante o processo de provisionamento.
- Essa abordagem pode ser usada em locatários Office 365 e no SharePoint local.
- Fornece uma enorme flexibilidade para criar e configurar sites do SharePoint.
- Fácil e barato de implementar e manter a curto e longo prazo.
Quando isso é apropriado?
Essa opção funciona bem quando você precisa fornecer aos usuários finais uma capacidade de autoatendimento para criar coleções de sites e sub sites do SharePoint com base em modelos personalizados. Observe que você precisará fornecer aos usuários um link para o aplicativo hospedado pelo provedor para que eles possam acessá-lo.
- Provisionamento assíncrono com cenários híbridos (Artigo do Blog do MSDN)
- Provisioning.Hybrid.Simple (Exemplo de PnP O365)
- Este exemplo demonstra a configuração híbrida mais simples possível com filas de armazenamento do Azure, WebJobs e retransmissão do Barramento de Serviço. Essa é uma demonstração de hospedagem de um suplemento do SharePoint do provedor no site do Azure, que pode ser usado para provisionar novas coleções de sites de marca personalizada para o farm local sem quaisquer requisitos de infraestrutura de suplemento do SharePoint local.
- Provisioning.Services.SiteManager (Exemplo de PnP O365)
- Este exemplo mostra como estender o farm local para dar suporte à criação da coleção de sites de um Suplemento do SharePoint hospedado pelo provedor.
- Provisioning.SiteCollectionCreation (amostra O365 PnP)
- Demonstra como criar coleções de sites usando o CSOM para Office 365 de um Suplemento do SharePoint hospedado pelo provedor.
Usar aplicativos .NET/Java/Objective-C ou scripts do PowerShell
Nesse padrão, o código CSOM é executado por meio de aplicativos .NET/Objective-C/iOS ou scripts do PowerShell. Esse padrão também abrange o uso de trabalhos de temporizador remoto; por exemplo, um Trabalho Web do Azure.
- O padrão pode ser usado para direcionar a coleção de sites e a criação de sub-sites.
- Os Suplementos do SharePoint devem receber permissões de Controle Total para o ambiente do SharePoint.
- A autenticação pode ser um desafio dependendo do tipo de Suplemento do SharePoint que você está criando e suas configurações de segurança do SharePoint.
- O Suplemento do SharePoint hospedado pelo provedor usa APIs CSOM para criar coleções de sites e sub sites.
- As APIs CSOM/REST também podem ser usadas para configurar outros aspectos do site durante o processo de provisionamento.
- Essa abordagem pode ser usada em locatários Office 365 e no SharePoint local.
- Fornece uma enorme flexibilidade para criar e configurar sites do SharePoint.
- Fácil e barato de implementar e manter a curto e longo prazo.
Quando isso é apropriado?
Essa opção funciona bem em cenários Dev-Ops. Ele permite que você crie aplicativos ou scripts personalizados criados especificamente para trabalhar com seus processos de Dev-Ops. Essa opção fornece o nível final de automação porque os suplementos e scripts do SharePoint podem ser criados para serem executados sem qualquer interação do usuário.
- Provisionamento assíncrono para Office 365 com WebJobs (artigo do blog MSDN)
- Provisioning.Cloud.Async.WebJob (Amostra O365 PnP)
- Solução que demonstra como criar uma solução de provisionamento de conjunto de sites de autoatendimento assíncrono usando filas de armazenamento do Azure e WebJobs do Azure.
- Provisioning.Framework.Console (Exemplo O365 PnP) – Exemplo do Site Provisioning Framework para mostrar a potência do novo mecanismo.
- Provisioning.Cloud.Async (Exemplo de PnP O365) – Demonstra como criar coleções de sites em Office 365/SharePoint de forma assíncrona. As solicitações são salvas em uma lista na Web do host do SharePoint. O aplicativo de console incluído neste exemplo é implantado no Azure ou em um ambiente local & agendado.
Links relacionados
- Provisionamento de site de autoatendimento usando suplementos para o SharePoint 2013 (Blog MSDN)
- Artigos de diretrizes em https://aka.ms/OfficeDevPnPGuidance
- Referências no MSDN em https://aka.ms/OfficeDevPnPMSDN
- Vídeos em https://aka.ms/OfficeDevPnPVideos
Exemplos de PnP
- Provisioning.Cloud.Sync (exemplo O365 PnP)
- Provisioning.SubSiteCreationApp (Amostra O365 PnP)
- Provisioning.Services.SiteManager (Exemplo de PnP O365)
- Provisioning.SiteCollectionCreation (amostra O365 PnP)
- Exemplos e conteúdo em https://github.com/SharePoint/PnP
Aplicável a
- Office 365 Multilocatário (MT)
- Office 365 dedicado (D) parcialmente
- SharePoint 2013 local, parcialmente
Os padrões para dedicados e locais são idênticos às técnicas de modelo do suplemento do SharePoint, mas há diferenças nas possíveis tecnologias que podem ser usadas.