Implantar modelos (SharePoint Server 2010)
Aplica-se a: SharePoint Server 2010
Tópico modificado em: 2016-11-30
Este artigo descreve como criar uma definição de site personalizada e implantá-la usando um pacote de solução.
Neste artigo:
O que são definições de site?
Definições e configurações de site
Criar uma definição e configuração de site personalizada
Implantar uma definição de site usando um pacote de solução
O que são definições de site?
No Microsoft SharePoint Server 2010, um usuário cria um site através da interface do usuário selecionando uma configuração de definição de site ou um modelo de site personalizado que defina como instanciar o site. Uma definição de site é um modelo que determina, por exemplo, as listas, os arquivos, as Web Parts, os recursos ou as configurações com as quais provisionar um novo site do SharePoint.
Uma definição de site é uma família de configurações de definição de site. Cada definição de site especifica um nome e contém uma lista de configurações. No SharePoint Server 2010, uma definição de site consiste em um conjunto de arquivos XML que podem ser aplicados para provisionar novos sites. Os arquivos estão localizados em servidores Web.
As definições de site consistem principalmente em vários arquivos XML e ASPX armazenados em um servidor Web front-end, em pastas dentro da pasta %Arquivos de Programas%\Arquivos Comuns\Microsoft Shared\extensões de servidor Web\14\TEMPLATE\SiteTemplates.
Um site criado a partir de uma definição de site faz adições, sem repetir, às informações estruturais e de conteúdo da definição de site original. Durante todo o seu ciclo de vida, os sites continuam a depender da definição constitui sua base final. Por essa razão, a Microsoft não dá suporte à alteração ou remoção de uma definição de site após os sites terem sido criados com base nela. Essas alterações podem fazer que um site criado a partir de uma definição pare de funcionar adequadamente ou pode impedir a criação de novos sites com base direta ou indiretamente em tal definição. Para personalizar uma definição de site, os desenvolvedores podem adicionar um recurso que inclua as alterações nela. A definição de site em si não é modificada.
Para obter mais informações sobre os tipos de personalização de definição de site com suporte pela Microsoft, consulte Cenários com e sem suporte para interagir com definições personalizadas de site e de área no Windows SharePoint Services, SharePoint Portal Server 2003 e Office SharePoint Server 2007 (https://go.microsoft.com/fwlink/?linkid=187678&clcid=0x416).
No modelo de objeto, um SPWebTemplate representa uma definição de site (e uma configuração). Para obter mais informações sobre modelos e definições de site, consulte Modelos e definições de site (https://go.microsoft.com/fwlink/?linkid=119281&clcid=0x416).
Observação
O formato STP de um modelo de site personalizado (arquivo .stp) é preterido no SharePoint Server 2010 e substituído pelos modelos de site no formato WSP. No Office SharePoint Server 2007, os usuários podem salvar um site existente como um modelo de site personalizado. O modelo de site é armazenado no banco de dados como um modelo, e os usuários podem selecioná-lo como a base que define como instanciar o site. No SharePoint Server 2010, os usuários podem salvar um site existente como modelo. O modelo é salvo como arquivo .wsp, na Galeria de Soluções do site de nível superior, em um conjunto de sites, onde se torna disponível para a criação de subsites em todos os sites do conjunto.
Para obter mais informações sobre definições de site, consulte Definições e configurações de site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x416).
Definições e configurações de site
Uma definição de site configura um site específico do SharePoint. Existem cinco definições originalmente instaladas no SharePoint Server 2010. Uma definição pode incluir mais de uma configuração de definição de site. Os sites do SharePoint são baseados em configurações específicas de definição de site, as quais incluem:
O STS inclui as configurações de definição de site para o Site de Equipe, o Site em Branco e o Espaço de Trabalho de Documento.
O MPS inclui as configurações de definição de site para o Espaço de Trabalho de Reunião Básica, o Espaço de Trabalho de Reunião em Branco, o Espaço de Trabalho de Reunião para Decisões, o Espaço de Trabalho de Reunião para Eventos Sociais e o Espaço de Trabalho de Reunião Multipágina.
O CENTRALADMIN fornece uma configuração de definição de site para sites da Administração Central.
O WIKI fornece uma configuração de definição de site para sites que dão suporte a conteúdo de comunidades que usam a tecnologia wiki.
O BLOG fornece uma configuração de definição de site para blogs.
Cada definição de site consiste em arquivos que são colocados nas subpastas \\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\extensões de servidor Web\14\TEMPLATE\SiteTemplates de servidores Web front-end durante a instalação do SharePoint Server 2010. Os arquivos de definição de site incluem arquivos de paginação .xml, .aspx, .ascx e .master; arquivos de modelo de documento, como .dot e .htm; e arquivos de conteúdo, como .gif e .doc.
Páginas não personalizadas e personalização de página
Os arquivos de definição de site são armazenados em cache na memória no servidor durante a inicialização do processo do IIS (Serviços de Informações da Internet) da Microsoft. Isso permite que páginas não personalizadas sejam reutilizadas nos sites. As informações contidas nesses arquivos são extraídas do cache em tempo de execução. Os esquemas de página e lista são lidos nos arquivos de definição de site, mas parecem ser arquivos reais dentro de um site. Novas páginas de Web Parts também são consideradas não personalizadas.
Quando páginas de site são personalizadas, exceto personalizações baseadas em navegador, como modificações em Web Parts, o conteúdo é armazenado no banco de dados de conteúdo, e a página de site personalizada é usada no lugar da página original de definição de site. Os arquivos .aspx carregados são automaticamente considerados personalizados.
Para obter mais informações sobre conversão em fantasma e personalização de página, consulte Definições e Configurações de Site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x416).
Principais arquivos de esquema
A tabela a seguir lista os principais arquivos XML que podem ser modificados para uma definição de site e mostra seus respectivos locais no sistema de arquivos.
WebTemp.xml |
Identifica as definições de site e especifica informações sobre suas configurações. Localizado em: \TEMPLATE\1033\XML |
Onet.xml |
Define as áreas de navegação, as definições de lista disponíveis, os modelos de documento e seus arquivos, os tipos básicos para listas e as configurações e módulos para definições de site. Localizado em: \TEMPLATE\SiteDefinitions\tipo_de_site\XML |
Schema.xml |
Especifica os modos de exibição, formatos, barras de ferramentas e campos especiais em uma definição de lista. Cada definição tem seu próprio arquivo Schema.xml. Localizado em: \TEMPLATE\FEATURES\Nome_da_Definição_de_Lista |
DocIcon.xml |
Cada servidor Web front-end em uma implantação do SharePoint Server contém um arquivo DocIcon.xml que mapeia os ProgIDs (identificadores programáticos de arquivos) e as extensões de nomes de arquivo de tipos de documento para ícones específicos e controles para abrir cada tipo. As alterações no arquivo DocIcon.xml são globais em uma implantação do SharePoint Server e afetam todas as definições de site no servidor Web front-end. Localizado em: \TEMPLATE\XML |
Esses arquivos XML usam CAML (Collaborative Application Markup Language) (https://go.microsoft.com/fwlink/?linkid=183464&clcid=0x416) para definir os aspectos de um site. Para obter mais informações sobre os arquivos XML principais que podem ser usados para personalizar definições de site, consulte Definições e Configurações de Site (https://go.microsoft.com/fwlink/?linkid=183458&clcid=0x416).
Criar uma definição e configuração de site personalizada
Você pode criar definições de site personalizadas manualmente, copiando uma definição de site existente ou importando um arquivo .wsp para o Visual Studio 2010.
Importar itens de um site do SharePoint existente
Este método requer que um site seja salvo como modelo no SharePoint Server para gerar um arquivo .wsp, que deve ser importado para o Visual Studio 2010 usando o modelo de projeto de importação de solução. O modelo de projeto de Importação de Pacote de Solução do SharePoint permite a reutilização de elementos, como tipos de conteúdo, definições de lista e campos, de sites existentes do SharePoint em uma nova solução do Visual Studio SharePoint. Para obter mais informações sobre a importação de itens de um site existente do SharePoint para um projeto do Visual Studio SharePoint, consulte Importando itens de um site do SharePoint existente (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x416). Este capítulo inclui instruções passo a passo que demonstram as seguintes tarefas:
Personalizando um site do SharePoint adicionando uma coluna de site personalizada.
Exportando um site do SharePoint para um arquivo .wsp.
Importando o arquivo .wsp para o projeto do Visual Studio SharePoint usando a importação de projeto .wsp.
Copiar um site existente do SharePoint
Este método envolve a cópia de uma definição de site existente, a modificação da cópia e a alteração de dois arquivos de esquema: a cópia de um arquivo WebTemp.xml e a cópia de um arquivo Onet.xml.
Aviso
Não modifique o arquivo WebTemp.xml originalmente instalado.
Copie uma pasta de definição de site existente localizada no diretório Unidade_Local:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\Extensões de Servidor da Web\14\TEMPLATE\SiteTemplates\. Sua cópia deve ser do mesmo nível do original, e é possível atribuir a ela qualquer nome que não contenha espaços.
Por exemplo, para criar uma definição de site personalizada que derive da definição de site de equipe do Microsoft SharePoint Server, copie a pasta \sts.
Faça uma cópia do arquivo WebTemp.xml. Esse arquivo está localizado em Unidade_Local:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\extensões de servidor Web\14\TEMPLATE\1033\XML.
Atribua ao arquivo um nome exclusivo acrescentando uma cadeia de caracteres ao nome do arquivo original; por exemplo, WebTempAction.xml. No tempo de execução, o compilador mescla as informações contidas nesse arquivo com as contidas no arquivo original para especificar as configurações de definição de site que estão disponíveis para a criação de novos sites.
Personalizar o conteúdo do novo arquivo WebTemp.
Cada arquivo WebTemp.xml contém uma coleção de elementos Template e subelementos Configuration, que identificam para o compilador todas as configurações de definição de site que podem ser instanciadas. O elemento Configuration define, por exemplo, um título, uma descrição, a URL para a imagem exibida na interface do usuário e uma categoria de exibição que especifica a guia na qual exibir o modelo na seção Template Selection da página Criar Conjunto de Sites.
Importante
Em cada elemento Template, definido no arquivo WebTemp, o atributo Name deve conter o mesmo nome atribuído à nova pasta. Para evitar conflito com IDs já usadas no SharePoint Server 2010, use valores maiores que 10.000 para o atributo ID.
O exemplo a seguir usa dois elementos Configuration no arquivo WebTemp.xml para definir diferentes configurações de definição de site para instanciar um site: um para um site de Colaboração de Pesquisa e outro para um site de Espaço de Trabalho de Documento de Pesquisa. Este exemplo usa somente duas configurações dentro de uma única configuração de site, mas você pode incluir várias definições de site, cada qual com várias configurações, dentro de um único arquivo WebTemp.xml. Cada definição de site referencia uma pasta de definição de site diferente e seu arquivo Onet.xml.
<?xml version="1.0" encoding="utf-8" ?>
<Templates xmlns:ows="Microsoft SharePoint">
<Template Name="RESEARCH" ID="10001">
<Configuration ID="0" Title="Research Collaboration site"
Hidden="FALSE" ImageUrl="_layouts/images/stsprev.jpg"
Description="This definition creates a site for the Research
team to create, organize, and share general information."
DisplayCategory="Collaboration">
</Configuration>
<Configuration ID="1" Title="Research Workspace" Hidden="FALSE"
ImageUrl="_layouts/images/dwsprev.jpg" Description="This
definition creates a site for Research team colleagues to
work together on specific documents."
DisplayCategory="Collaboration">
</Configuration>
</Template>
</Templates>
Como indicado pelo valor do atributo Name, no elemento Template, este exemplo presume que um diretório de definição de site nomeado "RESEARCH" exista. Se um arquivo WebTemp*.xml especificar mais de uma definição de site, as definições serão diferenciadas pelos seus respectivos valores ID exclusivos.
Cada elemento Configuration também contém um atributo ID. A combinação desse atributo ID e do valor do atributo Name no elemento Template fornece uma referência ao conteúdo de um elemento Configuration específico em um arquivo Onet.xml específico. No exemplo, o atributo Name contém RESEARCH e o atributo ID contém 0 e 1, que faz referência à definição de site RESEARCH e às configurações com IDs de 0 ou 1 no arquivo Onet.xml.
Talvez seja necessário reiniciar o ISS para que a nova configuração de definição apareça como uma opção na interface do usuário. Para fazer isso, digite iisreset no prompt de comando.
Para obter mais informações sobre como definir cada configuração de definição de site no arquivo Onet.xml, consulte como usar configurações de definição de site (https://go.microsoft.com/fwlink/?linkid=183465&clcid=0x416).
Implantar uma definição de site usando um pacote de solução
Para implantar uma definição de site personalizada usando um pacote de solução, adicione um elemento SiteDefinitionManifest ao arquivo de manifesto do pacote de solução. Adicione o elemento TemplateFiles para definir os arquivos de modelo que devem ser implantados em uma subpasta da pasta \14\Template
Adicionar um elemento SiteDefinitionManifest
O elemento SiteDefinitionManifest tem um atributo Location que seleciona todos os arquivos na pasta especificada e cria a pasta necessária na pasta \14\Template\SiteTemplates. O elemento filho WebTempFile implanta o arquivo webtemp*.xml para tornar o modelo conhecido pelo Produtos do SharePoint 2010, como mostrado no exemplo a seguir:
<SiteDefinitionManifests>
<SiteDefinitionManifest Location="LitwareSiteTemplate">
<WebTempFile Location="1033\xml\webtempLitware.xml" />
</SiteDefinitionManifest>
</SiteDefinitionManifests>
Adicionar um elemento TemplateFile
O elemento TemplateFile em um arquivo de manifesto da solução é usado para definir os arquivos de modelo que devem ser implantados em uma subpasta da pasta \14\Template. Um exemplo do tipo de arquivo que você pode implantar dessa forma é o arquivo fldtypes*.xml, que define os detalhes de um tipo de campo personalizado. Use o atributo Location para especificar o caminho relativo para o arquivo, indicado pela cadeia de caracteres "Texto" no seguinte exemplo:
<TemplateFiles
<TemplateFile
Location="Text"/>
...
</TemplateFiles>
Para obter mais informações sobre a implantação de atualizações, consulte Implantar pacotes de solução (SharePoint Server 2010).