22 avril 2013

SHAREPOINT 2013 : Futur InfoPath

Comme beaucoup de personnes l'ont constaté, la nouvelle version d'Office 2013 et de SharePoint 2013 n'apportent quasiment aucune nouveauté au niveau des formulaires INFOPATH.
Il n'en fallait pas plus pour que de nombreuses personnes s'interrogent sur le futur d'InfoPath dans SharePoint. Va t'il passer à la trapinette comme le regretté Silverlight?
 
Le responsable marketing produit de Microsoft 'Keenan Newton' a levé le voile dans cet article : http://blogs.office.com/b/sharepoint/archive/2013/03/04/options-to-create-forms-in-sharepoint-2013.aspx
 
Voici les outils permettant de créer des formulaires dans SharePoint:
  • InfoPath : Les formulaires InfoPath peuvent toujours être utilisés et constituent actuellement la solution la plus efficace pour construire des formulaires puissants (code managé, sections extensibles, signatures numériques, pièces jointes...). Il est de même possible de la coupler à des workflow d'entreprise (SharePoint Designer,WF,...).
  • Access Services : Ce produit est vendu sur le papier comme le remplaçant d'InfoPath grâce à sa facilité d'utilisation et sa compatibilité HTML5. Après quelques tests, il s'avère que cette solution est clairement très loin derrière InfoPath. La palette de contrôles disponible est ridiculement pauvre et il n'est pas possible actuellement de réaliser du code managé (retour aux macros) ou d'intégrer des workflows.
  • Excel Forms : Excel web apps comprend à présent l'intégration de formulaires Excel. Cela permet de réaliser des formulaires basiques (enquêtes,...). Voir exemple ici : http://cwebbbi.wordpress.com/2012/07/23/creating-surveys-using-excel-2013-forms/
  • Visual Studio : Il est possible de développer des formulaires en utilisant le nouveau concept introduit dans SharePoint 2013 : les apps. Nous ne détaillerons pas cette notion qui constitue un sujet à part entière. Cette solution nécessite des compétences en programmation et n'est donc pas adaptée à une utilisation de masse dans une entreprise.
  • Solutions tierces : Les éditeurs "Nintex" ou "Formotus" pour ne citer qu'eux. Nintex est une solution complète permettant de réaliser des formulaires et des flux de travail assez simplement. Le point positif reste la possibilité de concevoir des formulaires s'adaptant aux devices (Windows Phone, Andoid, IPhone, Ipad). Le point négatif des formulaires Nintex est qu'il faut utiliser beaucoup de JQUERY pour arriver au potentiel d'InfoPath.
 
 
Autant dire qu'InfoPath dispose encore de beaux jours devant lui ! Cela n'engage que moi mais au jour d'aujourd'hui, les solutions alternatives n'apportent aucune plus value comparativement à InfoPath.

13 avril 2013

SHAREPOINT 2013 : Developer DashBoard

Aujourd'hui, nouvel article sur un élément incontournable pour tout bon développeur SharePoint 2013 qui se respecte : Le Developer Dashboard.

Cet outil précédemment disponible en version 2010 a subi un sérieux lifting afin de correspondre aux besoins :
  • S'exécute dans une fenêtre séparée afin d'éviter d'affecter le rendu des pages,
  • Information détaillée par requêtes,
  • Données complètes : temps d'exécution, procédures stockées SQL, logs ULS associés à la demande, appels du cache,
  • Utilisation du service WCF nommé "diagnoscticdata.svc",
  • Le service applicatif "Usage and health data" devra être créé et activé,
  • Ce Dashboard est désactivé par défaut.
 
Pour activer cet outil, il faudra lancer les commandes suivante sur la ferme SharePoint:
$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$DeveloperDashBoard = $svc.DeveloperDashboardSettings
$DeveloperDashBoard.DisplayLevel = "On"
$DeveloperDashBoard.Update()

 
Une fois ces commandes exécutées, une nouvelle icone apparaitra à droite de vos sites:
 
 
Il n'existe plus que les modes "On" et "Off". Le mode "OnDemand" existant précédemment sera à présent assimilé au mode d'activation "On".
 
Cet outil sera à utiliser dès que possible et permettra notamment de disposer d'éléments pertinents.
Il permettra de débuguer ou auditer les problèmes rencontrés sur les pages SharePoint, dont la frustrante "Something went wrong"...

 
 
 
Il est de même possible d'étendre ce Dashboard en ajoutant des fonctionnalités à l'aide de JavaScript :http://blogs.technet.com/b/stefan_gossner/archive/2013/01/23/customizing-the-sharepoint-2013-developer-dashboard-using-custom-scripts.aspx

 

6 avril 2013

Office 365 : InfoPath GetUserProfileByName

Aujourd'hui un court article sur une limitation découverte sur InfoPath Forms Services dans le cadre d'Office 365 lors de la tentative d'utilisation d'un service web SharePoint.
 
La méthode "GetUserProfileByName" permet de retrouver facilement les informations de l'utilisateur connecté sur SharePoint en recherchant les données depuis sa fiche de profil.
L'appel de cette méthode depuis un formulaire InfoPath Forms Services génère une exception (error 5566 ou 401).
 
En effet, celui-ci n'est pas accessible depuis InfoPath dans Office 365 à cause du paramétrage de désactivation de la protection de bouclage ("DisableLoopBackCheck").
Cela fonctionne généralement sur les serveurs SharePoint On Premise car la clé de registre "DisableLoopBackCheck" est positionnée à "1".
 
Voici un article du support MS répertoriant ce problème :
 
Malheureusement, pour des raisons de sécurité évidentes du côté de chez Microsoft, cette contrainte semble immuable. Autant prédire qu'il y ait peu de chances que cette utilisation dans O365 soit un jour possible ...
 
Il reste donc 2 solutions de contournement aussi contraignantes l'une que l'autre:
  • Réaliser un formulaire "client lourd" se connectant à ce web service car cela fonctionne avec cette méthode (Inconvénient : Les utilisateurs devront posséder InfoPath sur leur poste),
  • Utiliser une liste SharePoint comprenant les informations nécessaire (Inconvénient : duplication de l'information).