Estrutura de provisionamento PnP

A estrutura de provisionamento PnP fornece uma plataforma baseada em modelo e voltada ao código para provisionamento de conjuntos de sites. O novo mecanismo de provisionamento permite persistir e reutilizar modelos de provisionamento no Office 365 e no SharePoint Online, bem como conjuntos de sites no local.

Observação

O PnP Provisioning Framework & Mecanismo de Provisionamento PnP são soluções de software livre com a comunidade ativa fornecendo suporte para ele. Não há nenhuma SLA para o suporte da ferramenta de software livre por parte da Microsoft.

Por que a nova abordagem?

Com a introdução dos suplementos do SharePoint e do modelo de suplemento (anteriormente conhecido como "modelo de aplicativo"), a Microsoft abandonou as soluções de área restrita e de confiança total em favor dos suplementos hospedados pelo provedor e das soluções locais. Essas inovações levaram a uma reformulação do modelo de provisionamento e à introdução de um novo mecanismo de provisionamento.

Vantagens do novo modelo de provisionamento

Há muitas vantagens em usar essa abordagem em vez das soluções de área restrita e de confiança total. Com o novo modelo de provisionamento, você pode:

  • Personalizar modelos. Como os conjuntos de sites sempre começam com um modelo pronto para uso, as personalizações que você introduz usando o novo modelo de provisionamento remoto incorporam atualizações automáticas sem precisar de manutenção adicional da sua parte. Além disso, essa abordagem evita problemas que resultam do uso de modelos diferentes em conjuntos de sites diferentes.

  • Usar um modelo baseado em modelo. Fornece um modelo de provisionamento simples baseado em modelo que permite salvar um design de site existente como um modelo de provisionamento.

  • Definir modelos usando diferentes abordagens. Como alternativa, você pode definir manualmente seu modelo em XML, que é validado em relação ao esquema de provisionamento PnP, ou pode definir seu modelo usando código gerenciado para construir uma hierarquia de objetos. Também é possível combinar abordagens.

  • Serializar e reutilizar modelos. Você pode serializar e, depois, reutilizar modelos de provisionamento.

  • Persistir modelos em formato serializado. É possível persistir seus modelos de provisionamento em qualquer formato de serialização que funcione melhor para você; por exemplo, XML ou JSON.

  • Provisionar novos conjuntos de sites. Você pode provisionar facilmente novos conjuntos de sites aplicando seu modelo de provisionamento a um site de destino em qualquer formato serializado de sua escolha.

  • Integrar com o modelo de objeto do lado do cliente. A integração do modelo de objeto do lado cliente (CSOM) oferece excelente flexibilidade ao possibilitar um provisionamento automatizado baseado em código. Você pode provisionar um novo conjunto de sites com seu modelo de provisionamento usando código CSOM/REST ou scripts do Windows PowerShell.

  • Usar provisionamento delta. É possível aplicar modelos de provisionamento em sites existentes. O mecanismo de provisionamento é compatível com provisionamento delta e, dessa forma, adiciona/atualiza os sites com base em qualquer escopo fornecido na definição do modelo.

  • Estender o mecanismo de provisionamento. Você pode estender facilmente o mecanismo de provisionamento usando provedores de extensibilidade personalizados, que permitem executar a lógica personalizada que você escreveu usando código gerenciado CSOM/REST.

  • Trabalhar em implantações locais e do Office 365. O mecanismo de provisionamento agora permite trabalhar perfeitamente em implantações locais e do Office 365. Isso representa uma melhoria em relação às técnicas de provisionamento anteriores, em que as definições de site personalizadas não eram compatíveis com o Office 365 porque exigiam implantações no escopo do farm.

Síntese do provisionamento remoto

Nesta seção, analisaremos a fundo cada parte do provisionamento remoto. No entanto, pode ser útil examinar primeiro o quadro geral e compreender o provisionamento remoto em sua forma mais simples. Visto dessa forma, provisionamento remoto envolve apenas três elementos:

  1. Projetar e criar sua personalização de site.

  2. Criar e, opcionalmente, persistir seu modelo de provisionamento em um formato serializado de sua escolha.

  3. Aplicar o modelo de provisionamento a um conjunto de sites novo ou existente criado com um modelo de site pronto para uso.

1. Projetar e criar sua personalização de site

A primeira etapa consiste em criar as personalizações do site que você deseja salvar e aplicá-las a um conjunto de sites. Há várias maneiras de fazer isso.

A mais fácil é fazer as alterações desejadas em uma página de site existente e, em seguida, salvar essa página como um modelo de provisionamento. Para saber mais, confira PnP-Provisioning-Templates.

Você também pode criar manualmente seu modelo de provisionamento como um arquivo XML ou usando o código gerenciado (CSOM/REST) para criar uma hierarquia de objetos que represente artefatos e estrutura do site. Se você estiver criando um arquivo de esquema, valide-o em relação ao esquema XSD de provisionamento (consulte esquema de provisionamento PnP).

Você encontrará mais detalhes sobre como modelar seu site no artigo Mecanismo de provisionamento PnP e a biblioteca principal.

2. Criar e persistir seu modelo de provisionamento em um formato serializado

Exporte seu modelo de site personalizado no formato serializado de sua preferência; o mecanismo de provisionamento é agnóstico em relação ao formato de persistência. Essa instância salva da sua personalização é seu modelo de provisionamento, que, com o mínimo de esforço, você pode aplicar a novos conjuntos de sites.

Serializar e persistir seu modelo é uma etapa opcional, que será necessária somente se você quiser persistir o modelo. Não é necessário serializar o modelo para aplicá-lo a um novo conjunto de sites.

3. Aplicar seu modelo de provisionamento a um conjunto de sites

Você pode usar um script do Windows PowerShell ou um código CSOM/REST para aplicar seu modelo de provisionamento a conjuntos de sites novos ou existentes. Também é possível configurar um conjunto de sites inteiro ou parte dele.

Para ver um exemplo de provisionamento remoto em ação, incluindo serialização do modelo de provisionamento para XML, confira Exemplo de provisionamento para aplicativo do console.

Confira também