Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
FORUM OFFICE FAQs OFFICE TUTORIELS OFFICE LIVRES OFFICE SOURCES VBA ACCESS

Sharepoint 2007 : Les Custom Actions

Date de publication : 21/12/2007

Par Ludovic Lefort (Site web) (Blog)
 

Création de menus dans l'interface utilisateur de Sharepoint 2007

0. Introduction
1. Un exemple simple
2. Tokens utilisables lors de la création d'une URL
3. Liens
4. Conclusion


0. Introduction

Sharepoint 2007 permet aux développeurs d'ajouter des menus personnalisés à leurs interfaces utilisateurs.
Cela peut être fait à l'aide d'une feature.


1. Un exemple simple

Nous allons créer une feature très simple qui ajoute une action dans le menu Site Actions de Sharepoint 2007 qui redirigera vers le site de Développez.com
Commençons par créer le fichier feature.xml

<?xml version="1.0" encoding="utf-8" ?>
<Feature xmlns="http://schemas.microsoft.com/sharepoint/" 
		 Id="EDFD660C-66BA-4c73-8928-DC84CE52D8AC" 
	     Title="Link to developpez.com" 
	     Description="Navigate to www.developpez.com website" 
	     Scope="Site" 
	     Hidden="false" 
	     ImageUrl="menuprofile.gif">
	<ElementManifests>
		<ElementManifest Location="elements.xml"/>
	</ElementManifests>
</Feature>

Créons maintenant le fichier elements.xml qui contiendra la définition du lien

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
	<CustomAction 
		Id="SiteSettings" 
	    GroupId="SiteActions" 
		Location="Microsoft.SharePoint.StandardMenu" 
		Sequence="2000" 
		Title="Link to developpez.com" 
		Description="Navigate to www.developpez.com website"
		>
		<UrlAction Url="http://www.developpez.com"/>
	</CustomAction>
</Elements>
	

Pour définir une nouvelle action nous utilisons la balise CustomActions qui requiert les paramètres GroupID et Location pour définir l'emplacement du lien.
Ce tableau reprend les valeurs possibles :

Emplacement GroupID Location
Barre d'outil affichage Aucun DisplayFormToolbar
Barre d'outil édition Aucun EditFormToolbar
Barre d'outil nouveau Aucun NewFormToolbar
Barre d'outil Vue d'une list Aucun ViewToolbar
Menu édition d'un item Aucun EditControlBlock
Menu nouveau d'une liste Microsoft.SharePoint.StandardMenu NewMenu
Menu action d'une liste Microsoft.SharePoint.StandardMenu ActionsMenu
Menu settings d'une liste Microsoft.SharePoint.StandardMenu SettingsMenu
Menu upload d'une liste Microsoft.SharePoint.StandardMenu UploadMenu
Menu Site Actions Microsoft.SharePoint.StandardMenu SiteActions
Colonne Site Collections Settings de la page Settings.aspx Microsoft.SharePoint.SiteSettings SiteCollectionAdmin
Colonne Site Settings de la page Settings.aspx Microsoft.SharePoint.SiteSettings SiteAdministration
Colonne Gallerie de la page Settings.aspx Microsoft.SharePoint.SiteSettings Galleries
Colonne Look and Feel de la page Settings.aspx Microsoft.SharePoint.SiteSettings Customization
Colonne Users and Permissions de la page Settings.aspx Microsoft.SharePoint.SiteSettings UsersAndPermissions
Menu Actions pour les sondages Microsoft.SharePoint.StandardMenu ActionsMenuForSurvey
Menu Site Settings pour les sondages Microsoft.SharePoint.SiteSettings SettingsMenuForSurvey
Menu Settings pour les Content Types Aucun Microsoft.SharePoint.ContentTypeSettings
Menu operations de la Central Administration Aucun Microsoft.SharePoint.Administration.Operations
Menu Application Management de la Central Administration Aucun Microsoft.SharePoint.Administration.ApplicationManagement


Pour tester et déployer la feature exposée par cet exemple, vous devez :

  • Créer un répertoire dans C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\
  • Imaginons que nous appellions notre feature DVP : copier/créer les fichiers XML montrés dans l'exemple dans le répertoire C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\DVP
  • Command prompt : stsadm -o installfeature -filename DVP\feature.xml pour installer la feature
  • Command prompt : stsadm -o activatefeature -filename DVP\feature.xml -url <url ciblée par la feature, typiquement l'url d'une collection de site> pour l'activer

Note : si stsadm n'est pas reconnu par votre système, veuillez mettre à jour la variable d'environnement PATH en y ajoutant le chemin vers cette commande, c'est à dire C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN


Essayons maintenant quelque chose d'un peu plus complexe. Par exemple imaginons que nous voulons ajouter une action dans le menu contextuel pour chaque élément d'une document Library.
Ce lien pointera vers la description d'un article sur un autre site : http://www.masociete.com/article.aspx?Id=[ID du produit]

<?xml version="1.0" encoding="utf-8" ?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
	<CustomAction 
		Id="C670889F-58D7-4beb-9A09-E8133E3A5917" 
		RegistrationType="List"
		RegistrationId="101" 
	    Location="EditControlBlock" 
		Sequence="2000" 
		Title="Link to product detail" 
		Description="Navigate to the product detail">
		<UrlAction Url="http://www.masociete/article.aspx?id={ItemId}"/>
	</CustomAction>
</Elements>

Nous remarquons deux paramètres supplémentaires : RegistrationType et RegistrationId
RegistrationType défini le type d'object concerné par notre CustomAction dans cet exemple ce sera une liste.
RegistrationId défini le type de liste concernée. 101 = Document Library.

Voici la liste des template ID :

List Template Type Template ID
Custom List100
Document Library101
Survey102
Links List103
Annoucement List104
Contacts List105
Events List106
Task List107
Discussion Board108
Picture Library109

2. Tokens utilisables lors de la création d'une URL

Nous avons défini une Url à notre action, celle du site de Développez.com.
Il est également possible d'utiliser des Tokens pour paramétrer cette Url.
En voici la liste :

Token Valeur
~site Adresse relative du site courant
~sitecollection Adresse relative du site collection courant
{ItemId} ID (Entier) représentant l'item courant d'une liste
{ItemUrl} Url de l'item en cours dans une Document Library
{ListId} Guid de la liste
{SiteUrl} Url du site courant

3. Liens



4. Conclusion

Cet article relativement court pourra vous servir de pense-bête lorsque vous aurez à créer des custom actions dans votre interface Sharepoint.





Je tiens à remercier RideKick et stephane eyskens pour leurs corrections orthographiques.



Valid XHTML 1.1!Valid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Responsables bénévoles de la rubrique MS-Office : Christophe Warin (MVP) et Maxence HUBICHE (MVP) - Contacter par EMail :
Vos questions techniques : forum d'entraide MS-Office - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.