Who is online ?
Technologie : SharePoint 2007Contenu :
- 5 Web Parts
- 2 features
- 2 pages applicatives
- 2 user controls
- 1 job
Téléchargement :
Description :
Who is online est une solution SharePoint 2007 ayant deux buts. Le premier consiste à afficher le nombre de personne connectées sur un site SharePoint 2007. La deuxième utilité de cette solution est de permettre aux utilisateurs d'envoyer des messages privés aux autres membres en utilisant les fonctions standard de SharePoint.
Prérequis
- AJAX
- MOSS 2007 avec les profils utilisateurs utilisés
Cette solution se compose de deux features. La première (de scope Site) permet d'exploiter tous les fonctionnalités de Who is online. La seconde (de scope Farm) quant à elle va permettre de déployer les fichiers ressources dans le dossier d'IIS. Etant donné que cette feature est de scope Farm, gardez à l'esprit qu'il vous faudra être administrateur de la ferme pour pouvoir l'installer. Voici les commandes à exécuter pour utiliser Who Is Online :
- stsadm -o deactivatefeature -name WhoIsOnline -url URL
- stsadm -o uninstallfeature -name WhoIsOnline -force
- stsadm -o retractsolution -name whoisonline.wsp -url URL -immediate
- stsadm -o execadmsvcjobs
- stsadm -o deletesolution -name WhoIsOnline.wsp
- pause
- stsadm -o addsolution -filename WhoIsOnline.wsp
- stsadm -o deploysolution -name whoisonline.wsp -url URL -immediate -allowgacdeployment -force
- stsadm -o execadmsvcjobs
- stsadm -o installfeature -name WhoIsOnline -force
- stsadm -o activatefeature -name WhoIsOnline -url URL
- pause
Nous allons tout d'abord aborder l'utilisation des Web Parts et User Controls permettant de voir le nombre de membre en ligne. Ouvrez votre site SharePoint, affichez l'écran permettant d'ajouter une Web Part sur la page et choisissez Who Is Online ? :
Actuellement, cette Web Part affiche bien qu'il n'y a qu'un seul membre connecté, à savoir moi. Pour les besoins de la démonstration, ce site contiant également un membre nommé SPMember et un membre nommé SPVIsitor.
Si vous cliquez sur le lien, vous tomberez sur une page vide n'affichant aucune information. Cela provient du fait que les options de la solution n'ont pas été définie. L'endroit principal où celles-ci doivent être définir est dans Site Actions > Site Settings > Online members :
Cette page applicative va vous permettre de modifier les paramètres généraux du compteur d'utilisateur en ligne. La première section va permettre d'activer ou désactiver le masquage. Effectivement, pour certaines raisons, il se pourrait qu'un utilisateur ne désire pas être comptabilisé parmi les utilisateurs en ligne. Si cette option est cochée, la Web part (ainsi que l'User Control que nosu verrons plus tard) proposera une option pour cacher sa présence. Cependant, un membre caché ne pourra pas consulter la liste des utilisateurs en lignes.
La section suivant permet de définir le délai d'inactivité. Ce délai représente la durée séparant le fait que l'utilisateur ait quitté le fait et le fait qu'il disparaisse de la liste des membres en lignes.
Nous avons ensuite la partie "Apparence" qui va nous permettre d'indiquer quelle phrase la Web Part affichera pour afficher le nombre d'utilisateur connecté. La dièse (#) sera automatiquement remplacée par le nombre de connectés.
La section suivante va permettre de définir les propriétés des membres qui seront affichés dans la page récapitulative des membres connectés. Ici, nous allons sélectionner "First Name", "Last Name" et "Account Name" (en français, cela doit être "Prénom", "Nom" et "Login"). La liste déroulante en face de la propriété permet de choisir la position de la propriété dans le tableau. Choisissez 1 pour "Account Name".
La partie suivant concerne uniquement l'User Control. Effectivement, celui-ci est doté d'une partie permettant de faire apparaître un popup affichant 3 informations sur les membres actuellement connectés. La partie de configuration du panneau ("Pane configuration") permet de définir les options relatives à ce popup. Cliquez donc la première option qui consiste simplement à activer ce panneau d'affichage. La partie concernant le format va vous permettre d'afficher 3 propriétés des membres séparés par des textes de votre choix. Remplissez donc cette partie de cette manière :
La deuxième zone de texte contient juste un espace. Cette configuration aura pour effet d'afficher les informations de l'utilisateur sous la forme "Prénom Nom ( e-mail )". La case a cocher suivante permet d'afficher ou non la présence communicator. La case à cocher en dessous permet d'indiquer que le panneau devra afficher la liste de tous les utilisateurs connectés. Généralement, on utilise cette option quand il n'y a que peu de membre à affichés, dans le cas contraire, la liste sera trop importante. Dans le cas contraire, les options en dessous permettent d'indiquer comment se comportera le panneau. Ainsi, la première zone de texte permet de définir combien d'utilisateur il faut afficher dans le panneau. Les deux zones de texte en dessous permettent de définir l'apparence du panneau. Si vous n'être pas sur de vos modifications, laissez les valeurs par défaut. La zone de texte suivante permet de définir l'image qui sera affichée et sur laquelle il faudra cliquer pour afficher le panneau. Les rond d'options permettent quant à eux de définir la position d'affichage du panneau par rapport à l'image. Enfin, la dernière zone de texte permet de définir la largeur du panneau.
La section suivante permet d'ajouter des champs additionnels à la page d'affichage des membres connectés. Ils affichent respectivement la date et l'heure de la dernière acticité du membre sur le site, un lien vers le profil du membre (my site) et la présence Communicator.
Enfin, la dernière section de cette page va nous permettre d'exclure des membres de la liste des membres en lignes. La raison la plus évidente qui m'a poussé à faire cette section est l'indexage du contenu. Effectivement, lorsque le compte de service va indexer le contenu, il n'est pas nécessaire que cet "utilisateur" apparaisse dans la liste des utilisateurs connectés, il suffit donc d'entrer son login dans cette section et cet utilisateur ne sera pas comptabilisé.
Si nous validons les choix que nous avons fait, notre page récapitulative sera déjà mieux fournie. Pour bien illustrer l'exemple, je me suis également connecté avec le compte SPMember sur le site. Voici ce que nous affiche la page après cette manipulation :
Comme vous le voyez, les membres ainsi que leur login, leur nom et leur prénom apparaissent bien. Revenez maintenant sur la page où se trouve votre Web part et cliquez sur le lien "Hide Me" (ou "Me cacher"). Cette fois, vous ne voyez plus qu'un utilisateur en ligne (ou 0 si vous ne vous êtes pas connecté avec un autre compte). Effectivement, étant donné que vous cacher votre présence, vous n'êtes plus considéré comme en ligne, mais vous ne pouvez plus non plus consulter la liste des membres en ligne. En cliquant sur "Show Me" (ou "Me montrer"), vous indiquez au système que vous désirez de nouveau apparaître en ligne.
Si vous modifiez les propriété de la Web Part, vous remarquerez que celle-ci possède 2 propriété personnalisées. La première permet de définir le délai de rafraichissement de la Web Part. La deuxième propriété quant à elle permet de définir l'URL de la page affichée lorsque l'on clique sur le lien affichant le nombre de membre en ligne. Nous allons modifiez cette propriété dans quelques instants.
Avant cela, créez une nouvelle Web Part Page basé sur le gabarit ne contenant qu'une seule Web Part Zone occupant toute la largeur de la page. Ajoutez ensuite la Web Part "Online members list" (ou "Membres en ligne"). Pour ma part, cette page se trouve à l'url "/FormServerTemplates/online.aspx". Retournez donc sur la page affichant le nombre d'utilisateur en ligne et modifiez la Web Part. Entrez l'URL de la page que vous venez de créer comme valeur de la propriété "URL". Rafraichissez la page pour que les changements prennent effet. Vous remarquerez maintenant que lorsque vous cliquez sur le nombre d'utilisateur en ligne, c'est bien la page que nous venons de créer qui apparaît.
Supprimez maintenant votre Web Part affichant le nombre d'utilisateurs connectés et ouvrez la page maître avec SharePoint Designer. Commencez par ajouter l'entête suivante :
Une fois cet assembly référence nous allons placer le code de notre User Control sur la page. Pour ma part, je l'ai mis à cet endroit :
Il vous suffit de repérer la ligne de tableau portant la classe "ms-bodyareapagemargin" et d'y insérer ce code. Remarquez cependant que j'ai ajouté un attribut style à la ligne pour améliorer un peu la présentation du contrôle. Actuellement, le contrôle affiche ceci :
Vous remarquerez que le contrôle affiche également une petite flèche. Celle-ci va vous permettre d'afficher la liste des membres en ligne sous forme de popup. Voici donc ce que vous verrez en cliquant sur cette flèche :
Le panneau apparaît bien avec la liste des membres connectés dans le format demandé. Si vous cliquez sur le lien, vous serez redirigé vers la page que vous avez créé précédemment. Voilà un peu près tout ce qui concerne la fonctionnalité des membres en lignes grâce à WhoIsOnline. Nous allons maintenant passer à la fonctionnalité permettant d'envoyer des messages privés entre membres.
Nous n'évoquerons que l'installation du système et non l'utilisation. Effectivement, tout le monde sait envoyer des messages privés, il est donc inutile de nous étendre sur le sujet. Placez vous sur une Web Part page et modifiez la pour pouvoir ajouter des Web part dessus. Ajoutez alors les Web Part suivantes :
Il ne vous reste plus qu'à connecter les Web Part entres elles pour que celles-ci affichent correctement leur contenu. Pour cela, modifiez la Web Part indiquant qu'elle doit être connecté aux deux autres :
Connectez donc les Web Part entre elles de cette manière pour leur permettre de s'afficher correctement. Il ne vous reste plus alors qu'à utiliser le système très simplement.











