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
web
Type : Microsoft.SharePoint.SPWebLe site Web à exporter.
solutionFileName
Type : System.StringLe nom du fichier de solution (.wsp).
title
Type : System.StringTitre 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.StringObtenir 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.ExportModeSpé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.Booleantrue 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 |
|
Instances de liste |
Web |
|
Modules |
Web |
|
Conteneur des propriétés |
Web |
|
Flux de travail |
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
ExportWebToGallery - Surcharge
Microsoft.SharePoint - Espace de noms