Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Julien Chable

He blogs, you blog, I blog ...

Archives

[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

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01