SPSolutionExporter.ExportWeb - Méthode

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

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

Syntaxe

'Déclaration
Public Shared Sub ExportWeb ( _
    web As SPWeb, _
    solutionFilePath As String, _
    title As String, _
    description As String, _
    exportMode As SPSolutionExporter.ExportMode, _
    includeContent As Boolean _
)
'Utilisation
Dim web As SPWeb
Dim solutionFilePath As String
Dim title As String
Dim description As String
Dim exportMode As SPSolutionExporter.ExportMode
Dim includeContent As BooleanSPSolutionExporter.ExportWeb(web, solutionFilePath, _
    title, description, exportMode, includeContent)
public static void ExportWeb(
    SPWeb web,
    string solutionFilePath,
    string title,
    string description,
    SPSolutionExporter.ExportMode exportMode,
    bool includeContent
)

Paramètres

  • solutionFilePath
    Type : System.String

    Le chemin d'accès, nom de fichier et l'extension du fichier solution qui sera créé. Lorsque la méthode s'exécute, les espaces sont supprimés du nom de fichier, comme les autres caractères non autorisés. Si un fichier de solution (.wsp) portant le même nom existe déjà sur le chemin d'accès spécifié, il est remplacé.

  • 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 .

  • 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.

Remarques

Vous pouvez utiliser cette méthode pour créer un package de solution que vous pouvez importer dans Microsoft Visual Studio 2010 pour modification. Pour plus d'informations, reportez-vous à la section Importation d'éléments à partir d'un SharePoint Site existant.

La solution créée par cette méthode 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.

Notes

Le modèle de projet de Package de Solution SharePoint Import dans Visual Studio 2010 modifie la composition de certaines fonctionnalités dans le fichier de solution. En particulier, il crée un manifeste d'élément distinct pour chaque type de contenu au lieu de définitions de type en conservant tout le contenu dans un seul manifeste.

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.

En outre, le manifeste de solution définit une dépendance d'activation après toute autre solution d'utilisateur qui est activée pour le site Web. S'il existent de dépendances d'activation, ces solutions doivent être activées avant l'activation de la solution de modèle Web.

Exemples

L'exemple suivant est une application console qui obtient une référence à un site Web et l'enregistre en tant qu'une solution de modèle Web, créez le nouveau fichier de solution dans le répertoire de l'application. Ensuite, l'application obtient une référence au fichier et imprime ses informations sur 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.RootWeb)
                {
                    string solutionFile = "TestSite.wsp";
                    string solutionPath = AppDomain.CurrentDomain.BaseDirectory;
                    string solutionFilePath = SPSolutionExporter.PathCombine(solutionPath, solutionFile);

                    string templateTitle = "Test Template";
                    string templateDesc = "This template was saved programmatically.";

                    // Save the web as a template in a solution file.
                    SPSolutionExporter.ExportWeb(
                        web,
                        solutionFilePath,
                        templateTitle,
                        templateDesc,
                        SPSolutionExporter.ExportMode.FullPortability, // Include features that the site depends upon.
                        false // Do not include content.
                     );
 
                    // Print information about the file.
                    FileInfo solutionFileInfo = new FileInfo(solutionFilePath);
                    if (solutionFileInfo.Exists)
                    {
                        Console.WriteLine("File name: {0}", solutionFileInfo.Name);
                        Console.WriteLine("File size: {0:n0} KB", solutionFileInfo.Length / 1024);
                    }
                }
            }
            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.RootWeb

                Dim solutionFile As String = "TestSite.wsp"
                Dim solutionPath As String = AppDomain.CurrentDomain.BaseDirectory
                Dim solutionFilePath As String = SPSolutionExporter.PathCombine(solutionPath, solutionFile)

                Dim templateTitle As String = "Test Template"
                Dim templateDesc As String = "This template was saved programmatically."

                ' Save the web as a template in a solution file.
                ' Include features that the site depends upon.
                ' Do not include content.
                SPSolutionExporter.ExportWeb(web, solutionFilePath, _
                                             templateTitle, templateDesc, _
                                             SPSolutionExporter.ExportMode.FullPortability, _
                                             False)

                ' Print information about the file.
                Dim solutionFileInfo As FileInfo = New FileInfo(solutionFilePath)
                If solutionFileInfo.Exists Then
                    Console.WriteLine("File name: {0}", solutionFileInfo.Name)
                    Console.WriteLine("File size: {0:n0} KB", solutionFileInfo.Length / 1024)
                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

Microsoft.SharePoint - Espace de noms

Autres ressources

Site Types: WebTemplates and Site Definitions

Web Templates