Importation/exportation de contenu

Windows SharePoint Services 3

Les API Microsoft.SharePoint.Deployment de Windows SharePoint Services 3.0 fournissent un ensemble flexible d'outils de migration de contenu entre des sites Web Windows SharePoint Services. Windows SharePoint Services utilise le concept du package de migration de contenu, qui peut inclure des fichiers XML uniques ou multiples, puis fournit un ensemble flexible d'interfaces API permettant d'activer l'exportation et l'importation des packages de migration. La fonctionnalité d'importation/d'exportation de contenu du modèle objet de déploiement permet d'exporter non seulement le contenu de sites Web mais également les dépendances existantes telles que les fonctionnalités de sécurité, les rôles utilisateurs, la gestion des versions des données, les flux de travail et d'autres métadonnées.

Le modèle objet Microsoft.SharePoint.Deployment est conçu pour utiliser des données allant d'un site Web complet à un élément unique d'une liste ou d'une bibliothèque. Vous pouvez sélectionner le niveau de métadonnées à inclure avec le contenu migré et choisir s'il faut effectuer une migration complète ou fournir uniquement une mise à jour incrémentielle.

Migration de contenu à l'aide du modèle objet de déploiement

Les fonctionnalités d'importation/exportation du modèle objet Microsoft.SharePoint.Deployment utilisent deux objets clés : Microsoft.SharePoint.Deployment.SPImport et Microsoft.SharePoint.Deployment.SPExport. Toutefois, avant d'exécuter des opérations d'importation ou d'exportation à l'aide de ces objets, vous devez tout d'abord définir vos paramètres d'importation ou d'exportation à l'aide des objets Microsoft.SharePoint.Deployment.SPImportSettings et Microsoft.SharePoint.Deployment.SPExportSettings. Ensuite, il vous suffit d'appeler la méthode Run() sur l'objet SPImport ou SPExport, selon le cas.

Exemple

Le code suivant illustre l'utilisation du modèle objet de déploiement pour exporter un site SharePoint à partir d'un emplacement source et l'importer vers un emplacement de destination.

private void ExportImport(string sourceUrl, string destinationUrl)
{
    string fileName = Export(sourceUrl);
    Log.Comment("Local filename for this export/import is {0}",             fileName);
    Import(destinationUrl, fileName);
}

private string Export(string siteURL)
{
    Microsoft.SharePoint.Deployment.SPExportSettings exportSettings =
        new Microsoft.SharePoint.Deployment.SPExportSettings();
    exportSettings.AutoGenerateDataFileName = true;
    exportSettings.ExportMethod =
        Microsoft.SharePoint.Deployment.SPExportMethodType.ExportAll;
    exportSettings.SiteUrl = siteURL;
    exportSettings.IncludeSecurity =
        Microsoft.SharePoint.Deployment.SPIncludeSecurity.All;
    exportSettings.IncludeVersions =
        Microsoft.SharePoint.Deployment.SPIncludeVersions.All;
    Microsoft.SharePoint.Deployment.SPExport export =
        new Microsoft.SharePoint.Deployment.SPExport(exportSettings);
    Log.Comment("Starting export of URL {0}", siteURL);
    export.Run();
 
    return exportSettings.FileLocation + "\\" +         exportSettings.BaseFileName;
}
 
private void Import(string siteURL, string fileToImport)
{
    Microsoft.SharePoint.Deployment.SPImportSettings importSettings =
        new Microsoft.SharePoint.Deployment.SPImportSettings();
 
    importSettings.BaseFileName =         System.IO.Path.GetFileName(fileToImport);
importSettings.FileLocation =         System.IO.Path.GetDirectoryName(fileToImport);
    importSettings.SiteUrl = siteURL;
    importSettings.RetainObjectIdentity = false;
    importSettings.IncludeSecurity =
        Microsoft.SharePoint.Deployment.SPIncludeSecurity.All;
    importSettings.UpdateVersions =
        Microsoft.SharePoint.Deployment.SPUpdateVersions.Append;
    importSettings.UserInfoDateTime =
        Microsoft.SharePoint.Deployment.SPImportUserInfoDateTimeOption.             ImportAll;
    Microsoft.SharePoint.Deployment.SPImport import =
        new Microsoft.SharePoint.Deployment.SPImport(importSettings);
    Log.Comment("Starting import to URL {0}", siteURL);
    import.Run();
}

Migration de contenu à l'aide de l'outil de ligne de commande STSADM

L'outil de ligne de commande STSADM.exe prend uniquement en charge les opérations d'importation et d'exportation de base et n'est utile que lors de l'importation ou de l'exportation de sites Web SharePoint complets ou du reparentage d'un site Web. Le contenu ayant fait l'objet d'une migration à l'aide de cet outil ne conserve pas les GUID d'objet. Notez que vous ne pouvez pas utiliser cet utilitaire pour importer ou exporter des éléments ou des listes individuellement.

Exemple

L'exemple suivant illustre la procédure à suivre pour exporter le contenu d'un site Web à l'aide de l'outil de ligne de commande STSADM.exe.

stsadm.exe -o export
    -url <URL to be exported>
    -filename <export file name>
         [-overwrite]
    [-includeusersecurity]
    [-haltonwarning]
    [-haltonfatalerror]
    [-nologfile]
    [-versions <1-4>
        1 - Last major version for files and list items (default)
        2 - The current version, either the last major or the last minor
        3 - Last major and last minor version for files and list items
        4 - All versions for files and list items]
    [-cabsize <integer from 1-1024 megabytes>]
    [-quiet]
Remarque Remarque :

Vous devez utiliser le paramètre -includeusersecurity afin de conserver les horodatages, les informations de sécurité et les données utilisateurs.

Exemple

L'exemple suivant illustre la procédure à suivre pour importer le contenu d'un site Web à l'aide de l'outil de ligne de commande STSADM.exe.

stsadm.exe -o import
    -url <URL to import to>
    -filename <import file name>
    [-includeusersecurity]
    [-haltonwarning]
    [-haltonfatalerror]
    [-nologfile]
    [-updateversions <1-4>
        1 - Add new versions to the current file (default)
        2 - Overwrite the file and all its versions (delete then insert)
        3 - Ignore the file
        4 - Terminate with conflicts]
    [-quiet]

Exemple

Le code suivant fournit un exemple de fichier batch pour l'importation et l'exportation du contenu, à l'aide des paramètres courants. Vous pouvez copier et coller le code suivant dans un fichier .bat.

@echo off

if not "%1"=="" goto ExportImport

echo **** Usage
echo This batch file will automatically export the default site collection to a newly created site collection
echo You need to specify the name of the newly created site collection as an argument
echo Example: PrimeIt.bat NewSite
echo The example will create http://localhost/sites/NewSite, and export http://localhost into it, preserving user security.

goto end

:ExportImport
echo ************* Determine the Location to stsadm.exe
if EXIST "%CommonProgramFiles%\Microsoft Shared Debug\Web Server Extensions\12\bin\stsadm.exe" set BinDir=%CommonProgramFiles%\Microsoft Shared Debug\Web Server Extensions\12\bin
if EXIST "%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\bin\stsadm.exe" set BinDir=%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\bin
echo Determined that the location to stsadm is %BinDir%

@echo on
@echo ************* Backup the root site collection
"%BinDir%\stsadm.exe" -o export -url http://localhost -filename %TEMP%\Export.cab -includeusersecurity -versions 4 -overwrite

@echo ************* Create a destination site
"%BinDir%\stsadm.exe" -o createsite -url http://localhost/sites/%1 -ownerlogin %UserDomain%\%UserName% -owneremail %UserName%@microsoft.com -sitetemplate STS

@echo ************* Import into the new site
"%BinDir%\stsadm.exe" -o import -url http://localhost/sites/%1 -filename %TEMP%\Export.cab -includeusersecurity

@echo off
:end

Voir aussi

Afficher: