Partager via


SPSolutionExporter.ExportWebToGallery - Méthode (SPWeb, String, String, String, SPSolutionExporter.ExportMode, Boolean)

Exporte le site Web spécifié sous la forme d'un modèle Web dans la Galerie de solutions.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
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
'Utilisation
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
)

Paramètres

  • solutionFileName
    Type : System.String

    Le nom du fichier de solution (.wsp).

  • title
    Type : System.String

    Titre du modèle Web. La valeur passée dans ce paramètre est utilisée comme valeur de l'attribut Title dans l'élément de projet d'un fichier Onet.xml .

  • description
    Type : System.String

    Obtenir des informations détaillées décrivant le modèle Web. La valeur passée dans ce paramètre est utilisée comme valeur de l'attribut Description dans l'élément WebTemplate dans un manifeste d'élément, ainsi que pour la valeur de l'attribut Description dans l'élément de projet d'un fichier Onet.xml .

    Les utilisateurs voient la description lorsqu'ils choisissez Nouveau Site à partir du menu Actions du Site et puis sélectionnez le modèle.

  • exportMode
    Type : Microsoft.SharePoint.SPSolutionExporter.ExportMode

    Spécifie la quantité du site Web à exporter. Transmettez FullReuse si vous avez l'intention d'utiliser le modèle Web au sein de la même collection de sites que le site Web exporté ; dans le cas contraire, transmettez FullPortability.

  • includeContent
    Type : System.Boolean

    true pour inclure le contenu de toutes les listes et bibliothèques de documents dans le site Web ; dans le cas contraire false.

Valeur renvoyée

Type : System.String
Chaîne contenant l'URL du nouveau fichier de solution dans la Galerie de solutions. Si une solution n'a pas pu être créée, une chaîne vide est renvoyée.

Remarques

Cette méthode tente de copier le nouveau fichier de solution dans la Galerie de solutions utilisant le nom de fichier spécifié. Si un fichier portant ce nom existe déjà, puis une série de « Nom de fichier-2.wsp », "3.wsp-FileName" tentatives dans le but de trouver un nom de fichier unique. Si « FileName-1000.wsp » est atteint et un fichier portant le même nom existe déjà dans la galerie, la méthode lève une exception InvalidOperationException .

La méthode crée une solution qui contient certaines ou toutes les fonctionnalités répertoriées dans le tableau suivant. Fonctionnalités sont tous deux omises si le site Web ne contient pas les éléments qu'ils mettre en service.

Fonctionnalité

Portée

Contenu

Modèle Web

Site

  • Un manifeste d'élément qui contient un élément WebTemplate .

  • Un fichier Onet.xml qui contient la configuration du site Web.

  • Un fichier de ressources de langue pour la langue par défaut du site Web. Le fichier contient des chaînes exportés à partir d'objets SPUserResource tels que le TitleResource qui stocke le texte d'affichage pour le titre du site Web.

Instances de liste

Web

  • Manifeste d'un seul élément pour chaque liste ou bibliothèque de documents dans le site Web. Le manifeste contient un élément ListInstance qui définit l'instance.

  • Un fichier Schema.xml pour chaque liste ou une bibliothèque.

  • Un manifeste d'élément unique qui contient des éléments de champ qui définissent tous les champs utilisés dans des listes et bibliothèques.

  • Un manifeste d'élément unique qui contient des éléments ContentType qui définissent les types de contenu utilisés dans des listes et bibliothèques.

  • Un fichier de ressources de langue pour la langue par défaut du site Web.

Modules

Web

  • Élément un ou plusieurs manifestes avec un élément Module que forms dispositions, pages personnalisées, des modèles de documents et autres fichiers utilisés par le site Web.

  • Un fichier de ressources de langue pour la langue par défaut du site Web.

Conteneur des propriétés

Web

  • Un manifeste d'élément unique qui contient un nombre d'éléments PropertyBag qui définissent les données de configuration et d'autres paramètres persistants utilisés sur le site Web.

  • Un fichier de ressources de langue pour la langue par défaut du site Web.

Flux de travail

Web

  • Un manifeste d'élément qui contient des éléments WorkflowAssociation qui définissent les associations de flux de travail dans des listes dans le site Web.

  • Un fichier de ressources de langue pour la langue par défaut du site Web.

actions personnalisées ;

Web

Un manifeste d'élément qui contient les éléments CustomAction qui définissent les actions personnalisées relatives aux applications Web et d'étendue de liste.

Exemples

L'exemple suivant est une application console qui obtient une référence à un site Web et appelle la méthode ExportWebToGallery pour enregistrer le site Web en tant qu'une solution de modèle Web dans la Galerie de solutions. Après avoir exporté la solution, l'application appelle la méthode GetAvailableWebTemplates pour récupérer le nouveau modèle et imprime le titre de la 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

Voir aussi

Référence

SPSolutionExporter classe

SPSolutionExporter - Membres

ExportWebToGallery - Surcharge

Microsoft.SharePoint - Espace de noms

SaveAsTemplate

Autres ressources

Site Types: WebTemplates and Site Definitions

Web Templates