Comment supprimer des items d'une liste SharePoint



Documents pareils
Les Utilisateurs dans SharePoint

Connaître la version de SharePoint installée

Utiliser Reporting Services pour des NewsLetter

La double authentification dans SharePoint 2007

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

Créer un rapport pour Reporting Services

ESPACE COLLABORATIF SHAREPOINT

KPI (Key Performance Indicator) dans MOSS

Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

WINDOWS SHAREPOINT SERVICES 2007

Microsoft Application Center Test

Introduction à Eclipse

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

GESTION DE L'ORDINATEUR

Dans la série LES TUTORIELS LIBRES présentés par le site FRAMASOFT. Premiers pas avec WinPT (cryptographie sous Win) EITIC

wxwidgets dans un environnement Microsoft Windows

FAQ Trouvez des solutions aux problématiques techniques.

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

CAPTURE DES PROFESSIONNELS

VTigerCRM. CRM : Logiciel de gestion des activités commerciales d'une (petite) entreprise

Nouveautés dans Excel 2013

Tutoriel Inscription et utilisation basique d'un blog hébergé chez Blogger.com

Volet de visualisation

Cliquez sur le site que vous souhaitez consulter, il s affichera directement dans le navigateur.

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Avec PICASA. Partager ses photos. Avant de commencer. Picasa sur son ordinateur. Premier démarrage

Assistance à distance sous Windows

Sauvegarde des bases SQL Express

Formation. Module WEB 4.1. Support de cours

Administration du site (Back Office)

Reporting Services - Administration

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Installation de SharePoint Foundation 2013 sur Windows 2012

Business Sharepoint Contenu

PORTAIL INTERNET DE LA GESTION PUBLIQUE Guide d'utilisation du Portail Internet de la Gestion Publique

Guide d'installation sous Windows

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

INTRODUCTION AU CMS MODX

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

Manuel d utilisation NETexcom

La réplication sous SQL Server 2005

1. Installation du Module

Manuel d'utilisation d'apimail V3

TAGREROUT Seyf Allah TMRIM

Déploiement d'une base SQL Express

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

SharePoint Foundation 2013 Construire un intranet collaboratif en PME (édition enrichie de vidéos)

Télécharger et Installer OpenOffice.org sous Windows

Utilisation de GalaxShare

Cours 420-KEG-LG, Gestion de réseaux et support technique. Atelier No2 :

Business Intelligence avec SQL Server 2012

Débuter avec OOo Base

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

GUIDE DE DÉMARRAGE RAPIDE

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Utiliser Access ou Excel pour gérer vos données

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Tutorial et Guide TeamViewer

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Edition de sites Jahia 6.6

BIRT (Business Intelligence and Reporting Tools)

contact@nqicorp.com - Web :

Navigation dans Windows

Authentification automatique sur La Plateforme collaborative LeadeR y-content

Publier dans la Base Documentaire

AxCrypt pour Windows

Procédure d installation des outils pour la messagerie sécurisée

E-Remises Paramétrage des navigateurs

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Seafile, pour simplifier l'accès à ses fichiers, les partager et les synchroniser

INSTALLER JOOMLA! POUR UN HEBERGEMENT LINUX

Installation de Windows 2000 Serveur

OneDrive, le cloud de Microsoft

Supprimer définitivement un fichier

Installation locale de JOOMLA SEPIA

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Manuel d installation pour L ARENAC

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

I La création d'un compte de messagerie Gmail.

Comment installer un certificat de signature et de chiffrement pour Mozilla Thunderbird

Note de première mise en service. Passerelle ipro-04n. TTPMSiPRO04N R1.0 fr

Guide d'installation du connecteur Outlook 4

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Google Drive, le cloud de Google

À propos du Guide de l'utilisateur final de VMware Workspace Portal

Un serveur web, difficile?

STATISTICA Version 12 : Instructions d'installation

Les tablettes et l'extranet Intermixt Mode d'emploi

Guide de déploiement

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Le générateur d'activités

Manuel d installation de Business Objects Web Intelligence Rich Client.

Espace pro. Installation des composants avec Firefox. Pour. Windows XP Vista en 32 et 64 bits Windows 7 en 32 et 64 bits

Septembre 2012 Document rédigé avec epsilonwriter

Transcription:

Comment supprimer des items d'une liste SharePoint Supprimer les informations d'une liste SharePoint SharePoint permet bien sur de stocker des données. Parfois, on peut vouloir effacer certaines de ces données, dans des volumes importants. Introduction SharePoint permet de stocker des informations au travers de listes. Ces listes peuvent être de différents types (uniquement des listes avec de l'information comme des tableaux Excel, des listes de fichiers,...). Que se passe-t'il quand on veut supprimer des items de ces listes? Nous pouvons passer par différentes techniques suivant les cas. Présentation Il peut arriver que ces listes possèdent un gros volume d information, avec un nombre d'items important. La suppression manuelle devient dès lors compliquée et surtout longue. Nous verrons donc dans cet article différentes solutions possibles pour effacer le contenu de listes SharePoint, que ce soit par le site WEB, les outils Office ou les outils de développement.

Suppression classique par le Site Web Il existe deux cas distincts de liste SharePoint : Les listes simples Les librairies documentaires Suppression standard d'un item d'une liste SharePoint Voyons le cas de la liste simple. Nous prendrons notre exemple avec une liste basique de contacts remplies de centaines d'items de test (Cf. Script PowerShell). Une fois ces 2000 Items ajoutés, nous pouvons afficher tous ceux-ci via le site WEB (classiquement, la Vue sera configurée avec un paging de 100 Items)

Ainsi cette vue nous permet de supprimer un Item précis en affichant son menu contextuel et choisissant "Delete Item" Cette méthode est utilisable pour toutes les listes SharePoint (Librairies documentaires comprises). En revanche, elle est totalement inadaptée pour la suppression d'un nombre important d'items. Les librairies documentaires nous proposent une seconde solution native. Cas des librairies documentaires - Explorateur Windows SharePoint permet de stocker des documents dans des listes qui sont appelées "Librairies Documentaires". Nous prendrons l'exemple de la liste documentaire standard du site d'équipe "Shared Documents".

Cet affichage standard nous propose la même solution que précédemment (avec le menu contextuel et l'option "Delete"), mais nous avons une autre possibilité spécifique "Actions > Open with Windows Explorer" Une fenêtre s'ouvre après une éventuelle validation de votre Login et Mot de passe

Ou vous retrouvez l'ensemble des fichiers stockés dans cette librairies, vous pouvez alors les supprimer (seulement si vous possédez les droits nécessaires) comme n'importe quel fichier de votre ordinateur. ATTENTION Le répertoire "Forms" est visible dans cet affichage mais ne doit jamais être supprimé, car il contient tous les fichiers ASPX d'affichage et de gestion de votre liste documentaire comme on le voit ci-dessous. Comment peut-on faire pour supprimer plusieurs items d'une liste standard, voyons la première solution possible.

Avec l'installation d'une WebPart spécifique Stéphane Eyskens nous propose sur son blog une WebPart développée spécifiquement pour la sélection multiple d'items (pour par exemple supprimer ces Items) : Un Webpart qui permet de supprimer plusieurs items d'un coup Cette WebPart est fournie dans une solution WSP, qu'il vous convient d'installer dans votre ferme SharePoint afin de la voir dans votre galerie de WebParts. Astuce par le site Web Il existe une autre solution permettant de vider totalement une liste SharePoint en conservant la structure (colonnes crées, content type utilisé,...). Il s'agit de passer par la sauvegarde comme modèle (Save as Template) de la page d'administration. Ceci est utile uniquement si on a personnalisé une liste, mais ne sert à rien si on utilise une liste purement standard comme dans notre exemple de la liste de contacts. Ainsi, dans le cas de notre liste de contacts (uniquement à titre d'exemple, car il est plus rapide de supprimer la liste pour la recréer si elle n'est pas modifiée), nous pouvons aller dans la page de paramètres (List Settings)

On trouve alors dans la colonne centrale le lien "Save list as template" Il faut donner le nom et la description de notre modèle (fichier STP), mais surtout ne pas cocher la case "Include Content".

On clique alors sur OK, SharePoint nous annonce que le modèle est créé et disponible dans la galerie des modèles de liste. On peut alors supprimer notre liste de contacts : Settings > List Settings > Delete this list Puis créer une nouvelle liste (Site Actions > Create), et on trouve notre modèle de liste dans les modèles existant Cette solution est plus brutale, car impose une suppression de tous les items de la liste d'origine. Il est aussi préférable de supprimer le modèle en question de la liste des modèles après cette manipulation, pour éviter son utilisation pour une autre liste.

Avec Office 2007 Lorsque votre poste est équipé d'office 2007 (Licence Professionnelle minimum), un ensemble de fonctionnalités vous est offert en interaction avec SharePoint 2007 (WSS V3 et MOSS). Fonctionnalité "Edit en DataSheet" Lorsqu Office (version 2003 ou 2007 au minimum Professionnelle) est installé sur votre poste, vous avez un lien "Edit in DataSheet" qui apparaît dans le menu "Actions" de votre liste, dans le cas de notre liste de contacts La page est alors rechargée un composant ActiveX affichant le contenu de votre liste dans un tableau (ressemblant à Excel ou Access). L'activeX utilisé dépend de la version d'office de votre poste et des composants Office installés sur votre poste (Access, Excel,...). Ce sera donc soit l'activex d'excel, soit celui d'access.

ATTENTION Il faut aussi noter que ce menu n'est disponible que si vous utilisez le navigateur "Internet Explorer", Mozilla FireFox ne possède pas cette option. Lorsque vous avez l'édition en DataSheet, vous pouvez sélectionner un ensemble d'items et cliquer avec le bouton droit de votre souris pour choisir "Delete Rows". Mais si vous avez Office 2007 et surtout le client Access, il est encore plus simple de travailler sur une liste SharePoint.

Utilisation d'access 2007 Le client Office Access 2007 apporte de grandes avancées dans la gestion des données de SharePoint. Ainsi depuis ce client, il est possible de se connecter à une liste SharePoint comme s'il s'agissait d'une base de données externe. Pour ceci, il faut lancer Access 2007 et créer une base de données vide. Une fois la base vide créée, on peut fermer simplement la table ouverte par défaut (Table1), puis cliquer sur le menu "External Data" pour voir apparaître "SharePoint List"

On doit alors fournir l'adresse de notre site SharePoint et cocher "Link to the data source..." On clique ensuite sur "Next" et on choisit la liste que l'on souhaite gérer dans Access (Contacts dans notre cas) et on clique sur OK

Une fenêtre de synchronisation apparaît un moment avant voir la liste des tables sélectionnées (toujours accompagnées de la liste des utilisateurs du site "User Information List"). On peut double cliquer sur "Contacts" pour ouvrir celle-ci. On peut ensuite sélectionner l'ensemble de ligne que l'on veut supprimer et utiliser la touche "Delete" de son clavier ou le bouton droit de la souris. Cet outil vous permet aussi de faire des copier-coller massifs d'une liste d'un site vers une autre liste, de supprimer plusieurs lignes ou encore d'ajouter rapidement de nouvelles lignes. Voyons maintenant les autres solutions possibles avec un peu de code.

En utilisant du développement.net Pour des cas particuliers, on peut souhaiter faire ce nettoyage dans un développement sur la plateforme SharePoint. Il existe alors deux méthodes distinctes pour effectuer cet effacement : Boucle de suppression sur chaque item de la liste Utilisation d'un process de batch dans notre liste La seconde méthode est la plus efficace et surtout la plus rapide des deux, elle demande juste de comprendre la création du flux XML spécifique. Voyons ces deux cas. Boucle de suppression La boucle de suppression correspond de passer dans chaque item de notre liste pour le supprimer, c'est donc très simple, mais très couteux en temps. Voila un exemple de code C# : SPSite MySite = SPSite(SiteURL); SPWeb Myweb = MySite.OpenWeb(); SPList MyList = Myweb.Lists["ListName"]; SPListItemCollection MycollListItems = MyList.Items; for(int y=0; y < MyList.Items.Count; y++) { MycollListItems.Delete(MycollListItems.Item(y).ID) } Myweb.Dispose() Mysite.Dispose() Utilisation du Batch Le Process Batch est similaire au concept utilisé dans la methode "UpdateListItems" du WebService "Lists.asmx", que j'avais un peu présenté dans un message : SharePoint : Attention à l utilisation de la méthode UpdateListItems du WebService lists.asmx Philippe Sentenac avait aussi expliqué un peu plus en détail ce Process Batch dans un message : SharePoint 2007 : Extension Method (DeleteAllItems) Qu'il a par la suite implémenté dans le projet CodePlex : SharePoint Of View

Voila un exemple simple de code C# basé sur ce principe, qui correspond à créer son flux XML (avec la suppression de chaque Item) qui sera ensuite envoyé au SPWeb racine foreach (SPListItem item in MyList.Items) { sbdelete.append("<method>"); sbdelete.append("<setlist Scope=\"Request\">" + CurrentList.ID + "</SetList>"); sbdelete.append("<setvar Name=\"ID\">" + Convert.ToString(item.ID) + "</SetVar>"); sbdelete.append("<setvar Name=\"Cmd\">Delete</SetVar>"); sbdelete.append("</method>"); } sbdelete.append("</batch>"); try { SPContext.Current.Site.RootWeb.ProcessBatchData(sbDelete.ToString()); } catch (Exception ex) { Console.WriteLine("Delete failed: " + ex.message); throw; } Mais comment faire ce travail sans développer de composant exécutable ou de composant SharePoint. Le plus simple est encore de passer par un script PowerShell.

Avec PowerShell La gestion de SharePoint par le langage PowerShell a été présentée dans un précédent article sur ce même site: SharePoint et PowerShell La force de ce langage est de s'appuyer totalement sur le FrameWork.NET, on peut donc reprendre simplement les deux précédents script C# pour les adapter en script PowerShell. Script de bouclage simple function CleanAllListItems([string]$SiteURL, [string]$listname) { [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null $site = new-object Microsoft.SharePoint.SPSite($SiteURL) Write-Host "SiteURL", $SiteURL $web = $site.openweb() $mylist = $web.lists[$listname] Write-Host "Items Number", $mylist.items.count $colllistitems = $mylist.items for($y=0; $y -lt $mylist.items.count; $y++ ) { Write-Host "Item ID", $colllistitems.item($y).id $colllistitems.delete($colllistitems.item($y).id) } $web.dispose() $site.dispose() } CleanAllListItems "http://mafermesharepoint/monsite/" "MaListe" Script avec l'utilisation du Process Batch function QuickCleanAllListItems([string]$SiteURL, [string]$listname) { [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null $site = new-object Microsoft.SharePoint.SPSite($SiteURL) Write-Host "SiteURL", $SiteURL $sw = New-Object System.Diagnostics.StopWatch $sw.start() $web = $site.openweb() $mylist = $web.lists[$listname] Write-Host "Items Number before delete: ", $mylist.items.count $guid = $mylist.id $strguid = $guid.tostring() $strpost = "<?xml version=""1.0"" encoding=""utf-8""?><ows:batch OnError='Return'>" foreach($item in $mylist.items) { $strpost += "<Method><SetList Scope=""Request"">"+ $strguid +"</SetList>" $strpost += "<SetVar Name=""ID"">"+ $item.id +"</SetVar><SetVar Name=""Cmd"">Delete</SetVar>" $strpost += "</Method>" } $strpost += "</ows:batch>" # Write-Host "Batch: " $strpost $strprocessbatch = $web.processbatchdata($strpost) Write-Host "Result: " $strprocessbatch $sw.stop() Write-Host "Items total after delete: ", $mylist.items.count write-host "$y Items add in " $sw.elapsed.tostring() $web.dispose() $site.dispose() } QuickCleanAllListItems "http://xxxxxx/sites/asp-php/test/" "Contacts" Il faut savoir que le gain de temps du second script par rapport au premier est dans un facteur 100 avec une évolution exponentielle suivant le nombre d'items à supprimer

Conclusion L'utilisation de SharePoint quelque soit le type d'utilisateur entraine la gestion de son contenu. Ceci est normalement de la responsabilité des propriétaires des sites (site Owners), mais ceux-ci doivent être formés correctement. La suppression de contenu est un des besoins les plus classique dans la gestion de ferme SharePoint et il convient de connaître les différentes possibilités afin de choisir la solution optimale (qui ne vous consommera pas trop de temps et rendra vos utilisateurs satisfaits). Voici quelques liens utiles si cet article vous a intéressé : Projet CodePlex : SharePoint Of View SharePoint 2007 : Extension Method (DeleteAllItems) Un Webpart qui permet de supprimer plusieurs items d'un coup Le blog de Stéphane Eyskens Bouts de script - Powershell Powershell Stopwatch SharePoint et PowerShell La gouvernance SharePoint - Partie 1 Installation de WSS V3 (FR) Office Online Club SPS MOSS FRANCE(FR) En vous souhaitant de bons projets de développement. Romelard Fabrice (alias F ) Intranet/Extranet CTO - SGS