Implantar modelos (SharePoint Foundation 2010)
Aplica-se a: SharePoint Foundation 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ções.
Neste artigo:
O que são definições de site?
Definições e configurações de site
Criar uma definição e uma configuração de site personalizadas
Implantar uma definição de site usando um pacote de soluções
O que são definições de site?
No Microsoft SharePoint Foundation 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 de definição de site. No SharePoint Foundation 2010, uma definição de site consiste em um conjunto de arquivos XML que podem ser aplicados para provisionar os 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 adiciona, mas não repete as 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 de site que 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 a partir dela. 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 na definição de site. Para personalizar uma definição de site, os desenvolvedores podem adicionar um recurso que inclua as alterações na definição de site. A própria definição de site não é modificada.
Para obter mais informações sobre os tipos de personalização de definição de site com suporte pela Microsoft, consulte o artigo sobre cenários com suporte e sem suporte para trabalhar com definições de site personalizadas e definições de áreas de site personalizadas no Windows SharePoint Services, no SharePoint Portal Server 2003 e no 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 o artigo sobre modelos e definições de sites (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 Foundation 2010 e substituído pelos modelos de site no formato WSP. No Windows SharePoint Services 3.0, 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 selecionar o modelo de site como base que define como instanciar o site. No SharePoint Foundation 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 ele 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 o artigo sobre 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 define um site específico do SharePoint. Existem cinco definições de site originalmente instaladas no SharePoint Foundation 2010. Uma definição de site 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 que incluem o seguinte:
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 usando 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 Foundation 2010. Os arquivos de definição de site incluem os arquivos de páginas .xml, .aspx, .ascx e .master, além de arquivos de modelos 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 da 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 o artigo sobre 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\LCID\XML |
Onet.xml |
Define as áreas de navegação, especifica as definições de lista disponíveis, especifica modelos de documento e seus arquivos, define os tipos básicos para listas e define configurações e módulos para definições de site. Localizado em: \TEMPLATE\SiteDefinitions\site_type\XML |
Schema.xml |
Define 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\List_Definition_Name |
DocIcon.xml |
Cada servidor Web front-end em uma implantação do SharePoint Foundation contém um arquivo DocIcon.xml que mapeia ProgIDs (identificadores programáticos de arquivos) e 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 para uma implantação do SharePoint Foundation 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 esses arquivos XML principais que podem ser usados para personalizar definições de site, consulte o artigo sobre 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
Crie definições de site personalizadas copiando manualmente 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 Foundation 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 o artigo sobre importação de itens de um site existente do SharePoint (https://go.microsoft.com/fwlink/?linkid=187040&clcid=0x416). Este capítulo inclui um passo a passo que demonstra 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 file para o projeto do Visual Studio SharePoint usando o projeto de importação .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 no diretório Unidade_Local:\Arquivos de Programas\Arquivos Comuns\Microsoft Shared\extensões de servidor Web\14\TEMPLATE\SiteTemplates\. Sua cópia deve ser do mesmo nível do original, e você poderá 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 para o Microsoft SharePoint Foundation, 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. Em tempo de execução, o compilador mescla as informações contidas nesse arquivo com as informações 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 um conjunto de elementos do Template e subelementos do 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 do 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 Foundation 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 referencia a definição de site RESEARCH e as 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 pelos 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 Foundation 2010).