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 List | 100 |
| Document Library | 101 |
| Survey | 102 |
| Links List | 103 |
| Annoucement List | 104 |
| Contacts List | 105 |
| Events List | 106 |
| Task List | 107 |
| Discussion Board | 108 |
| Picture Library | 109 |
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.


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.