Remplacer des fichiers existants dans une bibliothèque de documents sur SharePoint 2013 via une feature.

Introduction

Au cours de vos développements sur SharePoint, vous avez sûrement déjà voulu remplacer un fichier déjà présent dans une bibliothèque de documents. Et comme vous aimez faire les choses proprement, vous avez alors pensé à utiliser un Module dans une Feature et c’est alors que vous vous retrouviez confronté à une des limites des précédentes versions de SharePoint : il n’était pas possible de remplacer un fichier de manière déclarative, c’est-à-dire via l’element.xml de votre Module.

Seul l’attribut IgnoreIfAlreadyExists permettait de dire à SharePoint d’ignorer votre fichier si ce dernier existait déjà et donc de ne pas remplacer le fichier existant. Je n’ai jamais trouvé cet attribut très clair car en résumé : « on dit à SharePoint de ne pas faire quelque chose, qui de toute façon, ne sait pas faire« . 

Ci-dessous un exemple d’element.xml avec l’attribut IgnoreIfAlreadyExists :

elementXML

Au final, cela nous permettait surtout d’éviter l’erreur SharePoint suivante :

ErrorFileExists

Et si l’on souhaitait vraiment remplacer ce fichier ?

Et bien vous étiez bon pour un petit peu de code, le plus souvent en ajoutant un Event Receiver à votre Feature. Je vous passe ces quelques lignes de code dont vous n’aurez plus besoin de toute façon grâce à un tout nouvel attribut made in SharePoint 2013 !

L’attribut « ReplaceContent »

Une des nouveautés de SharePoint 2013 est donc justement de palier à cette précédente limitation. Il est maintenant possible de remplacer un fichier existant dans une bibliothèque de documents de manière déclarative via un module. Il suffit d’ajouter un ReplaceContent=”TRUE” de la même manière que vous spécifiez auparavant le IgnoreIfAlreadyExists= »TRUE ».

Ci-dessous un exemple en reprenant l’element.xml utilisé dans le premier paragraphe :

elementXML

De cette manière, SharePoint remplacera votre fichier si ce dernier existe déjà. Un seul point qui peut poser problème et sur lequel il faut être vigilant : si le fichier que vous tentez de remplacer est extrait par un autre utilisateur (en statut « check-out »), alors l’activation de votre feature vous renverra une erreur. Assurez-vous donc que rien ne perturbera le remplacement de votre fichier (workflow d’approbation ou extraction en cours par exemple).

Wissam BOUAYADI

Consultant SharePoint

MCNEXT

Les Composed Looks dans SharePoint 2013

Introduction

Beaucoup de choses ont changé depuis l’arrivée de la nouvelle version de SharePoint. Vous rappelez-vous des thèmes dans SharePoint 2010 ? Et bien dites maintenant bonjour aux …  Composed Looks !

Change the look

Galerie des Composed Looks

Les Composed Looks, c’est quoi ?

Pour en donner une définition simple, les Composed Looks sont un assemblage de composants graphiques qui vont vous permettre en un minimum d’effort  de créer des thèmes.

Bien sûre, ces derniers ne seront pas pertinents pour tous vos projets mais ils ne sont pas à négliger car cette nouvelle fonctionnalité va vous permettre de composer une charte graphique de manière très simple en utilisant :

  • une Master Page
  • une palette de couleurs
  • une palette de polices
  • une image de fond

Lire la suite