22 octobre 2012

SharePoint 2013 : Géolocalisation

Aujourd'hui un petit article sur SharePoint 2013 et une nouveauté sympathique qui est la géolocalisation!
 
Au premier abord, il ne semble pas possible d'utiliser cette fonctionnalité car le type de colonne associé ne peut pas être créé. 
Pour réaliser notre besoin, il faudra lancer une commande PowerShell sur les sites (ou réaliser ceci par du code managé):
 
$weburl = "http://votresite"
$fieldXml = ""
$web = get-spweb $weburl
$field = $web.Fields.AddFieldAsXml($fieldXml)
$web.Update()
 
Suite au passage de ces commandes, une nouvelle colonne de site nommée 'Localisation" sera ajoutée à votre site.
Cette colonne est à présent disponible pour être utilisée. Pour cela, nous allons créer une liste personnalisée. Dans les paramètres de cette liste, il est possible de rajouter une colonne à partir d'une colonne de sites puis il faudra sélectionner la colonne "Localisation".

Vous pourrez à présent ajouter des éléments dans votre liste en utilisant la géolocalisation. Le champ nous permet de saisie la géolocalisation en utilisant les éléments suivants:
  • Position actuelle en utilisant le paramètre du navigateur.
  • Coordonnées GPS en remplissant les latitudes et longitudes.
Le rendu basique des éléments de la bibliothèque sera le suivant:
 
 
Lors du clic sur l'image globe, vous verez apparaitre une carte détaillée correspondant à la localisation renseignée. Ce composant utilise Bing Maps mais nécessite la création d'un compte d'utilisation sous peine d'avoir un joli message en plein milieu de la carte...
Pour utiliser pleinement les fonctionnalités de géolocalisation, il faudra affecter un compte Bing à votre ferme SharePoint: http://msdn.microsoft.com/en-us/library/jj163283(v=office.15).aspx
 
Il est ensuite possible de présenter la liste des points sur la même carte. Pour cela il faut créer une nouvelle vue de type "Carte" dans cette bibliothèque. Ce genre de vue a été rajouté automatiquement par SharePoint suite à l'utilisation de la colonne de type "Géolocalisation" à votre liste SharePoint.
 
Une fois cette vue de type "Carte" créée, vous pourrez présenter l'information comme vous le souhaitez. Par exemple, vous pourrez ajouter une WebPart sur la page d'accueil de votre site et avoir la présentation suivante:
 
 
 
Ceci vous permettra d'avoir une présentation centralisée des points de géolocalisation de votre liste.
Ce genre d'intégration offre de nouvelles perspectives pour les entreprises. Nous pouvons par exemple penser aux cas métiers suivants:
  • Localisation des hôtels et restaurants pour les déplacements des collaborateurs,
  • Localisation des points de ventes, d'une entreprise
  • Conception d'application métiers de détection d'évènements,
  • ...
 
Bienvenue dans votre SharePoint à la carte!

15 octobre 2012

SharePoint 2013 : Noderunner.exe

Aujourd'hui, un nouvel article sur SharePoint 2013!
En travaillant quotidiennement sur la nouvelle mouture de SharePoint Server, il s'avère que cette version est très plaisante mais qu'elle est aussi beaucoup plus gourmande que la précédente version en terme de consommation de ressources machine.
En allant faire un tour sur le Technet au niveau des prérequis matériels de SharePoint 2013, cette assertion est confirmée:
 
Il faut pour l'instant compter 8Go de RAM pour une installation SharePoint Foundation 2013 et 24Go de RAM pour la version SharePoint Server 2013! (oui oui 24Gb, ce n'est pas une erreur...).
 
Autant vous dire que pour une machine virtuelle de développement SharePoint Server 2013 qui tourne sur un PC portable de 8Go de RAM, l'affaire va s'avérer compliquée et l'optimisation des ressources va être nécessaire...
 
En faisant un tour sur les processus sur ma VM, je me suis aperçu que le service NodeRunner était vraiment très gourmand. Ce service est en fait relié à la recherche FAST!
 
Il existe néanmoins un moyen de contenir cet appétit des plus voraces.
Pour cela, il faut suivre les actions suivantes:
  • Réduire l'impact de la recherche sur la CPU de la machine de développement. Pour cela, il faut lancer la commande Powershell suivante : "Set-SPEnterpriseSearchService -PerformanceLevel Reduced"
  • Modifier le fichier de configuration situé à l'emplacement suivant : "C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config" afin de lui préciser la quantité de RAM dont il peut disposer. Il faut se positionner sur la balise "noderunnersettings" et modifier l'attribut "memoryLimitMegaBytes". Par défaut, la valeur est à "0", ce qui signifie que l'exécutable n'a aucune limite de RAM.
 
 
Ce problème de consommation des ressources par le service de recherche pourrait éventuellement être corrigé lors de la sortie de la version RTM, mais il vaut mieux être au courant de ce genre de paramétrage.

14 octobre 2012

INFOPATH : Solution Sandbox SharePoint

Aujourd'hui, un petit article sur les solutions  en mode Sandbox (ou en bon français : en mode bac à sable). Il est effectivement possible d'utiliser ce genre déploiement pour un formulaire de type InfoPath.
 
Les avantages sont les suivants:
  • Un administrateur de la collection de sites pourra déployer le formulaire lui-même sans demander de réaliser ceci à un administrateur ayant les accès à l'administration centrale.
  • Pas d'interruption de service sur la ferme SharePoint,
  • Possibilité de limiter la quantité de ressources utilisées par cette solution sandbox.
  • Le formulaire sera publié directement depuis InfoPath sans avoir besoin de passer par l'étape envoi à l'administrateur et téléchargement dans l'administration centrale,
  • Au niveau protection et sécurité de la ferme, les solutions Sandbox sont exécutées dans un processus séparé (il existe un service Windows User Code Host) tandis qu'un formulaire dans l'administration centrale peut exécuter n'importe quel genre de code sans sécurité et accéder à n'importe quelle ressource de la ferme.
 
Les inconvénients se situent surtout au niveau  du CAS (Code Access Security) qui entraine de nombreuses limitations sur le code :
  • Pas de possibilité d'impersonnation du contexte SharePoint (Le fameux 'RunWithElevatedPrivileges' bien connu des développeurs SharePoint...),
  • Modèle objet SharePoint limité,
  • Pas d'accès au disque,
  • ...
 
 
Vous l'aurez compris, il est recommandé d'utiliser le déploiement Sandbox d'un formulaire avec code lorsque vous disposez d'une faible quantité de code à embarquer dans le formulaire!
 
Bon jeu dans le bac à sable de SharePoint 2013!