Compartilhar via


SPSolutionExporter.ExportWebToGallery method (SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)

Exporta o site da Web especificado como um modelo da Web na Galeria de soluções.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Shared Function ExportWebToGallery ( _
    web As SPWeb, _
    solutionFileName As String, _
    title As String, _
    description As String, _
    exportMode As SPSolutionExporter.ExportMode, _
    includeContent As Boolean _
) As String
'Uso
Dim web As SPWeb
Dim solutionFileName As String
Dim title As String
Dim description As String
Dim exportMode As SPSolutionExporter.ExportMode
Dim includeContent As Boolean
Dim returnValue As String

returnValue = SPSolutionExporter.ExportWebToGallery(web, _
    solutionFileName, title, description, _
    exportMode, includeContent)
public static string ExportWebToGallery(
    SPWeb web,
    string solutionFileName,
    string title,
    string description,
    SPSolutionExporter.ExportMode exportMode,
    bool includeContent
)

Parâmetros

  • solutionFileName
    Type: System.String

    O nome do arquivo de solução (WSP).

  • title
    Type: System.String

    O título do modelo da Web. O valor passado neste parâmetro é usado como o valor do atributo Title no elemento de projeto de um arquivo onet. XML .

  • description
    Type: System.String

    Informações detalhadas que descreve o modelo da Web. O valor passado neste parâmetro é usado como o valor do atributo Description no elemento WebTemplate em um manifesto do elemento e também para o valor do atributo Description no elemento de projeto de um arquivo onet. XML .

    Os usuários vêem a descrição, quando eles escolha Novo Site no menu Ações do Site e, em seguida, selecione o modelo.

  • exportMode
    Type: Microsoft.SharePoint.SPSolutionExporter.ExportMode

    Especifica quanto do site da Web a ser exportado. Passar FullReuse se você pretende usar o modelo da Web dentro do mesmo conjunto de sites como o site exportado; Caso contrário, passe FullPortability.

  • includeContent
    Type: System.Boolean

    true para incluir o conteúdo de todas as listas e bibliotecas de documentos no site da Web; Caso contrário false.

Valor retornado

Type: System.String
Uma cadeia de caracteres que contém a URL do novo arquivo de solução na Galeria de soluções. Se uma solução não pôde ser criada, uma sequência vazia será retornada.

Comentários

Esse método tenta copiar o novo arquivo de solução para a Galeria de soluções usando o nome de arquivo especificado. Se um arquivo com esse nome já existir, em seguida, uma série de "FileName-2.wsp", "3.wsp-FileName" tentativas são feitas em um esforço para localizar um nome de arquivo exclusivo. Se "FileName-1000.wsp" for atingido e um arquivo com esse nome já existe na galeria, o método gera uma exceção de InvalidOperationException .

O método cria uma solução que contém alguns ou todos os recursos listados na tabela a seguir. Recursos forem omitidos se o site não contém os elementos que eles provisionar.

Recurso

Escopo

Inclui

Modelo da Web

Site

  • Um manifesto do elemento que contém um elemento de WebTemplate .

  • Um arquivo onet. XML que contém a configuração de site da Web.

  • Um arquivo de recurso de idioma para o idioma padrão do site da Web. O arquivo contém as cadeias de caracteres exportadas-los de objetos de SPUserResource como TitleResource que faz o texto exibido para o título do site da Web.

Instâncias de lista

Web

  • Manifesto de um elemento para cada lista ou biblioteca de documentos no site da Web. Cada manifesto contém um elemento ListInstance que define a instância.

  • Um arquivo Schema. XML para cada lista ou biblioteca.

  • Um manifesto de elemento único que contém os elementos de campo que definem a todos os campos usados em listas e bibliotecas.

  • Um manifesto de elemento único que contém os elementos de ContentType que definem a todos os tipos de conteúdo usados em listas e bibliotecas.

  • Um arquivo de recurso de idioma para o idioma padrão do site da Web.

Módulos

Web

  • Elemento de um ou mais manifestos com um elemento Module formulários que provisiona, páginas personalizadas, modelos de documentos e outros arquivos usados pelo site da Web.

  • Um arquivo de recurso de idioma para o idioma padrão do site da Web.

Recipiente de propriedades

Web

  • Um manifesto de elemento único que contém um número de elementos PropertyBag que definem os dados de configuração e outras configurações persistentes usadas no site da Web.

  • Um arquivo de recurso de idioma para o idioma padrão do site da Web.

Fluxos de Trabalho

Web

  • Um manifesto do elemento que contém os elementos de WorkflowAssociation que definem as associações de fluxo de trabalho em listas no site da Web.

  • Um arquivo de recurso de idioma para o idioma padrão do site da Web.

Ações personalizadas

Web

Um manifesto do elemento que contém os elementos de CustomAction que definem o escopo da Web e o escopo de lista de ações personalizadas.

Examples

O exemplo a seguir é um aplicativo de console que obtém uma referência a um site da Web e chame o método ExportWebToGallery para salvar o site da Web como uma solução de modelo da Web na Galeria de soluções. Após exportar a solução, o aplicativo chama o método GetAvailableWebTemplates para recuperar o novo modelo e imprime seu título no console.

using System;
using System.IO;
using System.Linq;
using Microsoft.SharePoint;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (SPSite site = new SPSite("https://localhost"))
            {
                using (SPWeb web = site.OpenWeb("Child"))
                {
                    string solutionFileName = "Test Site.wsp"; // If this name exists, a number is appended.
                    string templateTitle = String.Format("{0} Web Template", web.Title);
                    string templateDesc = "This template was saved programmatically.";

                    // Save the web as a solution in the Solutions Gallery.
                    string solutionFileUrl = SPSolutionExporter.ExportWebToGallery(
                        web,
                        solutionFileName,
                        templateTitle,
                        templateDesc,
                        SPSolutionExporter.ExportMode.FullReuse, 
                        false // Do not include content.
                        );

                     if (!String.IsNullOrEmpty(solutionFileUrl))
                    {
                         // The solution file name might have changed, so get it from the Url.
                        string newFileName = Path.GetFileNameWithoutExtension(solutionFileUrl);

                        // Get the Web template.
                        SPWebTemplate template = web
                            .GetAvailableWebTemplates(web.Language)
                            .Cast<SPWebTemplate>()
                            .FirstOrDefault(t => t.Title == newFileName);

                        if (template != null)
                        {
                            // Print information about the Web template.
                            Console.WriteLine("Template Title: {0}", template.Title);
                        }
                    }
                }
            }
            Console.Write("\nPress ENTER to continue....");
            Console.ReadLine();
        }
    }
}
Imports System
Imports System.IO
Imports Microsoft.SharePoint

Module ConsoleApp

    Sub Main()

        Using site As New SPSite("https://localhost")
            Using web As SPWeb = site.OpenWeb("Child")

                ' If this name exists, a number is appended.
                Dim solutionFileName As String = "Test Site.wsp"

                Dim templateTitle As String = String.Format("{0} Web Template", web.Title)
                Dim templateDesc As String = "This template was saved programmatically."

                ' Save the web as a solution in the Solutions Gallery.
                Dim solutionFileUrl As String = SPSolutionExporter.ExportWebToGallery(web, _
                                                                                      solutionFileName, _
                                                                                      templateTitle, _
                                                                                      templateDesc, _
                                                                                      SPSolutionExporter.ExportMode.FullReuse, _
                                                                                      False)
                If Not String.IsNullOrEmpty(solutionFileUrl) Then
                    ' The solution file name might have changed, so get it from the Url.
                    Dim newFileName As String = Path.GetFileNameWithoutExtension(solutionFileUrl)

                    ' Get the Web template.
                    Dim template As SPWebTemplate = _
                        web.GetAvailableWebTemplates(web.Language).Cast(Of SPWebTemplate)().FirstOrDefault(Function(t) t.Title = newFileName)

                    If template IsNot Nothing Then
                        ' Print information about the Web template.
                        Console.WriteLine("Template Title: {0}", template.Title)
                    End If
                End If

            End Using
        End Using

        Console.Write(vbCrLf & "Press ENTER to continue....")
        Console.Read()
    End Sub

End Module

Ver também

Referência

SPSolutionExporter class

SPSolutionExporter members

ExportWebToGallery overload

Microsoft.SharePoint namespace

SaveAsTemplate

Outros recursos

Site Types: WebTemplates and Site Definitions

Web Templates