SharePoint 2007 : Comment déplacer du contenu SharePoint (partie 1)

Une des tâches qui peut vous être demandée lorsque vous travaillez avec SharePoint est de déplacer du contenu (ie : Collection de Sites, Sites, Listes, Documents, etc ...) d'un endroit à un autre pour en faire une copie de sauvegarde ou pour déplacer un site, etc.  

A priori, ce n'est pas très difficile mais c'est comme tout, c'est toujours simple quand on sait à l'avance comment résoudre le problème avant même qu'on vous le demande :) 

Alors voila un petit récapitulatif (non exhaustif), histoire de vous aider à savoir où vous mettez les pieds.

Backup et Restore

Utile pour toute la gestion des sauvegardes dans SharePoint, vous pouvez aussi l'utiliser pour déplacer des collections de site. Attention, les workflows, alertes, la poubelle et notamment les propriétés stockées au niveau de la collection de sites ne sont pas sauvegardées.

stsadm backup restore

Vous pouvez "backup/restore" via l'interface d'administration de SharePoint, STSADM et SharePoint Designer.

gui backup restore

Surtout n'oubliez pas de supprimer dans SharePoint le contenu sauvegardé, avant de le restaurer dans votre ferme, sinon votre déplacement ne fonctionnera pas.

SharepointDesigner backup restore

Package Web

Utilisez cette fonctionnalité pour partager ou réutiliser des pages Web ou une structure de site, de liste ou de bibliothèque. Les packages Web peuvent s'appliquer à l'intégralité du site ou à des pages, listes ou bibliothèques spécifiques. Ils permettent de copier aisément la structure du site mais ne peuvent pas inclure des données de liste, des sous-sites ou des paramètres de sécurité et de permission. En revanche, un package Web peut inclure des barres de liens personnalisées. Une fois le package créé, vous pouvez importer et déployer le fichier dans tous les sites Web que vous voulez (Description de Microsoft).

image

Plus d'informations sur Exporter ou importer un package Web

Modèle Objet

Si vous souhaitez vraiment maitriser le processus de migration de contenu ou si vous souhaitez choisir quel contenu d'un site va etre copier (uniquement les élements de liste dont le nom commence par Winwise par exemple) alors il va falloir mettre vos mains dans le cambouis et utiliser l'API pour récupérer les informations nécessaires. Quelque chose dans ce style (de Sahil Malik) : 

private void CopyFolderRecursive(

        SPFolder folder, SPWeb web, SPList sourceList,

        string destinationUrl, SPList destinationList)

{

    SPQuery qry = new SPQuery();

    qry.Folder = folder;

    SPListItemCollection ic = sourceList.GetItems(qry);

 

    SPListItem destinationItem = null;

 

    foreach (SPListItem sourceItem in ic)

    {

        if (sourceItem.FileSystemObjectType != SPFileSystemObjectType.Folder)

        {

            destinationItem = destinationList.Items.Add(

                destinationUrl + "/" + folder.Url,

                sourceItem.FileSystemObjectType);

            foreach (SPField destinationField in destinationList.Fields)

            {

                if ((!destinationField.ReadOnlyField) &&

                   (destinationField.Type != SPFieldType.Attachments))

                {

                    destinationItem[destinationField.Title] =

                      sourceItem[destinationField.Title];

                }

            }

            destinationItem.Update();

        }

        else

        {

            destinationItem = destinationList.Items.Add(

                destinationUrl + "/" + folder.Url,

                SPFileSystemObjectType.Folder);

            destinationItem["Title"] = sourceItem.Title;

            destinationItem.Update();

        }

 

        if (sourceItem.Folder != null)

            CopyFolderRecursive(

               sourceItem.Folder, web, sourceList,

               destinationUrl, destinationList);

    }

}

 

Dans le prochain post, j'aborderai d'autres façons de déplacer du contenu SharePoint comme le "Copier Coller", l'utilisation de modèle de site et les commandes Export/Import de l'outil STSADM.

<Philippe/>

Publié mardi 14 août 2007 08:00 par phil
Classé sous , , , ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

About phil

Philippe Sentenac est Consultant SharePoint à Wygwam en région Parisienne. Il intervient essentiellement sur des missions liées à SharePoint (2007 et 2010 ) mais aussi autour du Web 2.0. Plus généralement, il s'intéresse à l'ASP.Net (MVC) , à Silverlight, et à tout ce qui est orienté Web en rapport avec les nouvelles technologies, qu'il pratique depuis 2006. Féru de développement, il est passionné par les problématiques de méthodologies et d'industrialisation du développement.

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01