SharePoint : ajouter un webpart depuis une feature ?

Pour un de mes clients, j’ai été confronté à la difficulté suivante : comment, depuis une feature, instancier un web part sur la page d’accueil ?

En effet, un de mes features fournit web part spécifique, et je souhaite, à l’activation de la feature, qu’un exemplaire de ce dernier soit disponible sur la page d’accueil.

Tout aurait été simple si je déployait un nouvelle page. En effet, lorsque vous déployez une page, vous le faite via un module. Et dans un module, vous définissez un fichier à déployer :

Ici le noeud “AllUsersWebPart” permet d’ajouter un webpart à un page que vous êtes entrain de déployer. Comment faire alors pour une page existante, comme par exemple le fichier default.aspx ? Continue reading

Rating 3.50 out of 5
[?]

SharePoint : un web part qui ne s’affiche qu’avec certaines permissions ?

Voici un petit peu de code qui vous aidera à créer un WebPart qui ne s’affiche que si on dispose de certaines autorisations.

L’exemple typique est l’ajout d’un menu “gestionnaire” qui affiche certaines opérations/liens.

Ici, je vous montre un webpart qui permet d’afficher un lien vers un tableau de bord (dashboard.aspx) seulement si l’utilisateur connecté dispose de l’autorisation demandée :

L’astuce consiste à utiliser la propriété Hidden du WebPart plutôt que la propriété Visible. Si vous essayez de modifier cette dernière, vous aurez une erreur du genre :

[text]The Visible property cannot be set on Web Part XXXX. It can only be set on a standalone Web Part[/text]
Après déploiement du webpart, vous pouvez le poser sur une page de composant WebPart classique. Dans les propriétés de ce WebPart, dans la catégorie Divers, la sélection de l’autorisation nécessaire s’affiche :

Il suffit alors de sélectionner la permission requise pour afficher le web part.

Ce code est simpliste et ne sert qu’à montrer le principe. En production, on créera le webpart avec des règles métiers qui déterminent l’affichage, ou alors avec un ToolPart plus ergonomique, etc.

A noter que le webpart ici ne sécurise en rien la cible du lien… il ne fait qu’afficher ou non un lien !

Rating 3.00 out of 5
[?]

SharePoint 2007: Onet.xml et ContentEditorWebPart

Pour un de mes clients j’ai eu à créer un modèle de site dans lequel un WebPart “ContentEditorWebPart” devait être préconfiguré.
En utilisant la méthode “classique” qui consiste à configurer le WebPart dans un site de design, puis l’exporter dans un fichier .webpart avant de l’inclure dans le fichier ONET.Xml, j’ai eu la mauvaise surprise de voir une imbrication des balises CDATA. Continue reading

Rating 5.00 out of 5
[?]