Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Chable

He blogs, you blog, I blog ...

[SharePoint 2010] Créer et packager une application Silverlight pour SharePoint 2010

L’intégration native de Silverlight dans SharePoint 2010 représente une avancée majeure dans la conception des applications sur la plateforme SharePoint. Et pour cause, Silverlight repousse les limites du Web de SharePoint en offrant une expérience plus riche à l’utilisateur : dynamisme des interfaces, possibilité d’utilisation hors ligne et hors navigateur des applications, streaming vidéo, … et mise à disposition d’un modèle objet pour accéder en toute simplicité aux données de SharePoint !

Ce court post a pour objet de vous présenter une façon de créer et de déployer un projet d’application Silverlight. Nous utiliserons très succinctement le modèle objet client pour Silverlight de Sharepoint 2010.

Création d’un projet Silverlight pour SharePoint 2010 et utilisation du modèle  client

1. Créer un projet de type « Silverlight Application » (ajoutez un projet Web de test si vous le souhaitez pour tester votre application, au moins l’interface, lors de sa conception) :

image

2. Pour communiquer depuis un contexte Silverlight avec le serveur SharePoint en utilisant le modèle objet mis à disposition par l’équipe de Redmond, vous devez référencer les deux DLLs suivantes :

  • Microsoft.SharePoint.Client.Silverlight.dll
  • Microsoft.SharePoint.Client.Silverlight.Runtime.dll

Remarque : les DLL pour les clients non Silverlight se trouve dans le répertoire ISAPI et se nomment Microsoft.SharePoint.Client.dll et Microsoft.SharePoint.Client.Runtime.dll.

Effectuez un clic droit sur votre projet > ‘Add Reference’

image

Localisez les DLLs (cf plus haut) dans le chemin « c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin ».

Votre projet devrait maintenant posséder les références vers les DLLs du modèle objet client pour Silverlight :

image

3. Dans votre fichier de code de l’application, ajoutez l’espace de nom Microsoft.SharePoint.Client :

image

4. Le modèle objet de Silverlight est accessible, ici de façon asynchrone, c’est à dire que vous empiler les requêtes (de chargement, de mise à jour, …) et les exécuter à l’aide de la méthode ExecuteQueryAsync.

private Client.ClientContext context = null;
private Client.Web web;
private delegate void MiseAJourInterface();

...

private void btnRefresh_Click(object sender, RoutedEventArgs e)
        {
           
// Récupération du contexte SharePoint
            context = Client.
ClientContext.Current;
            web = context.Web;

           
// Récupération des informations du site
            context.Load(web,
null);

           
// Chargement asynhrone des listes du site
            context.Load(web.Lists,
null);
            context.ExecuteQueryAsync(RequeteSucceeCallback, RequeteEchecCallback);
        }

        #region Gestion des appels asynchrones

       
private void RequeteSucceeCallback(object sender, Client.ClientRequestSucceededEventArgs args)
        {
           
// TODO
        }

       
private void RequeteEchecCallback(object sender, Client.ClientRequestFailedEventArgs args)
        {
           
// TODO
        }

        #endregion

Dans cet exemple nous souhaitons récupérer toutes les informations du site web courant et les listes/bibliothèque de ce dernier.

Déploiement d’une application Silverlight dans SharePoint 2010

Pour déployer votre application Silverlight sur SharePoint, il vous faut créer comme vous vous en doutez une feature ! Avec la nouvelle extension SharePoint de Visual Studio 2010, rien de plus simple :

5. Ajoutez un nouveau projet à votre solution : clic droit sur la solution > Add project > SharePoint > 2010 > Empty SharePoint Project

image

6. Dans le module créé par le modèle de projet (que vous pouvez renommer), modifiez son fichier Elements.xml  associé de la façon suivante :

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <Module Name="SLAccessible">
    <File Path="SLAccessible/SilverlightAccessible2010.xap" Url="_catalogs/masterpage/SilverlightAccessible2010.xap" />
</Module>
</Elements>

Attention à bien remplacer les valeurs des attributs par les valeurs correspondant à votre projet. L’élément File contenant dans l’élément Module contient deux attributs :

  • Path : chemin de l’emplacement du fichier .xap à inclure dans le projet,
  • Url : emplacement où sera déployé sur le serveur SharePoint le fichier .xap spécifié par l’attribut Path.

Remarque : Dans l’exemple, je place le fichier .xap dans la bibliothèque des pages maîtres, néanmoins un autre emplacement (LAYOUT) par exemple est tout aussi indiqué.

7. Maintenant vous devez inclure le fichier .xap de votre application Silverlight dans le projet SharePoint. Pour cela, ajoutez la sortie du projet Silverlight à votre module en effectuant les actions suivantes : propriétés du module > Project Output Preferences (cliquez sur le bouton ‘…’) > Add > Project Name (changez et mettez votre projet Silverlight) > Deployment Type (mettez ElementFile) > OK

image

image

8. Pour packager, déployer et lancer le débogage : F5 ! Le compilateur va d’abord procéder à la compilation de votre application Silverlight puis il l’intégrera dans le WSP qui sera généré avant de déployer et d’activer la feature ainsi créée.

9. Une fois la feature déployée, insérez une webpart Silverlight dans une page et paramétrez cette dernière pour qu’elle pointe vers le fichier .xap déployé sur votre serveur (à l’adresse de la valeur Url du fichier .xap de votre fichier Elements.xml).

image

image 

image

10. Enregistrez la page et vous devriez maintenant observer votre application Silverlight dans votre espace SharePoint 2010 :

 image

 

Voilà j’espère que ces quelques rapides explications sur la création d’une application Silverlight dans SharePoint 2010 vous satisferont (n’ayant pas trop le temps de créer un article détaillé sur le sujet). Les retours d’expérience et les améliorations sont bien évidemment toujours les bienvenues !

Bon SPCode !

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 16 mars 2010 08:24 par neodante
Classé sous : ,

Commentaires

JeremyJeanson a dit :

Merci Julien

Enfin un article simple sur le déploiement dans SharePoint où le développeur peut comprendre comment utiliser Silverlight sans réinventer le roue!

# mars 16, 2010 10:09
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [SharePoint] Les sessions TechDays 2012… par Le blog de Patrick [MVP SharePoint] le il y a 6 heures et 55 minutes

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le 02-09-2012, 11:01

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le 02-09-2012, 08:28

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59