23 juillet 2012

INFOPATH : Relier les formulaires

Aujourd'hui un dernier post dans la lignée des problématiques de migration.

Lors de la migration vers une version supérieure de SharePoint ou lors d'un changement d'alias DNS, il est primordial de relier les instances XML des formulaires existants sur SharePoint.
En effet, les instances pointent toujours sur l'ancienne version de SharePoint et une authentification vous sera alors demandée. Ainsi les éléments compris dans la bibliothèque ne seront plus utilisables...D'où le besoin de ne pas oublier ce point très important lors d'une migration!

Heureusement, il existe une vue dans chaque bibliothèque de formulaires InfoPath permettant de réaliser de nouveau le lien avec les formulaires : cette vue native dans ce type de bibliothèques se nomme "Recréer un lien avec le formulaire".
Le bandeau de SharePoint 2010 comprend 2 boutons "Relier" et "Relier tout" permettant de réaliser ce genre de besoin.

Cette solution manuelle peut-être améliorée en utilisant une solution automatique. Nous pouvons par exemple imaginer une solution en mode bas à sable qui irait relier toutes les bibliothèques de formulaires d'une collection de sites lors de son activation.

En attendant, il existe un outil sur CodePlex permettant de relier automatiquement ces formulaires à la bibliothèque : SPRelinkDocuments CodePlex

15 juillet 2012

INFOPATH : Migration SharePoint 2010

Pour faire écho au post précédent qui traite de la migration de formulaires InfoPath vers SharePoint 2007 (correction des urls de connexions de données), voici à présent un article qui détaille la procédure à suivre pour réaliser ceci sur SharePoint 2010.

Il existe à présent dans SharePoint 2010 des commandes Powershell qui permettent de modifier les URL stockées en dur dans les modèles de formulaire InfoPath ( essentiellement au niveau des connexions de données), les fichiers UDC et les types de contenus afin de garantir que les modèles de formulaire continuent à fonctionner correctement. Ces commandes peuvent être exécutées dans les cas suivants:
  • Migration de SharePoint 2007 à SharePoint 2010,
  • Changement d'alias de votre ferme SharePoint 2010 ou migration de la collection de sites sur une web application différente.


Il est donc possible de corriger les dysfonctionnements causés par ce genre de modifications en utilisant les commandes suivantes grâce à l'éditeur PowerShell pour SharePoint 2010 :

Get-SPWebApplication http://alias2010 | Update-SPInfoPathUserFileUrl –find http://alias2007 –replace http://alias2010


La commande ci-dessus est lancée sur une application web. Il est possible à l'aide de cette commande de préciser de même une base de contenu ou une collection de sites.
Voici le lien vers la description du technet : http://technet.microsoft.com/en-us/library/ff607651
Vous y trouverez les arguments supplémentaires à cette commande pouvant être utilisés : dont notamment "Confirm" permettant de valider le choix ou "Scan" permettant de réaliser un tour à blanc sur les formulaires à modifier.

4 juillet 2012

INFOPATH : Migration SharePoint 2007

Les formulaires InfoPath intégrés à SharePoint constituent un outil fort puissant.
Ces formulaires permettent d'intégrer des connexions de données vers des bibliothèques ou listes SharePoint. Un des best practices est d'externaliser ces sources de données vers des bibliothèques SharePoint de type "Connexion de données.

Lors de la migration de SharePoint 2003 à SharePoint 2007 ou lors d'un déplacement d'une collection de sites dans SharePoint 2007, vous pouvez rencontrer un problème avec ces connexions de données.
En effet, celles-ci ne sont pas mises à jour et pointent toujours vers leur ancien emplacement.

Pour se débarrasser de ce problème, Microsoft fourni un outil à déposer sur un serveur SharePoint 2007 64 bits:

Dixit cet article: L'outil de migration et de mise à niveau du serveur permet à un administrateur de batterie de serveurs Microsoft SharePoint 64 bits de modifier les URL codées en dur dans les modèles de formulaire InfoPath, les fichiers UDC et les types de contenus pour garantir que les modèles de formulaire continuent à fonctionner correctement dans les circonstances suivantes :
  • lors de l'exécution d'une mise à niveau progressive de Microsoft Windows SharePoint Services 2.0 x64 vers Microsoft Windows SharePoint Services 3.0 x64 ou de Microsoft Office SharePoint Portal Server x64 vers Microsoft Office SharePoint Server 2007 x64 ;
  • lors de la migration de formulaires et de modèles de formulaire InfoPath à partir de Windows SharePoint Services 3.0 x64, de SharePoint Server 2007 x64 ou d'une collection de sites Web vers une autre.

Techniquement, il suffit d'installer le package sur un de vos serveurs SharePoint 2007.
Celui-ci ajoutera un nouvel exécutable dans le répertoire "bin" du dossier "12" de SharePoint nommé "IPWSSUPG" (au même niveau que le fameux STSADM.exe).

Pour utiliser celui-ci, il suffit de se placer dans le répertoire "bin" puis de lancer la commande suivante pour scanner la liste des formulaires:

IpWssUpg.exe /f http://oldalias /r http://newalias /p http://newalias /l application /m scan

Cette action de scan ne réalise aucune modification sur les formulaires mais permet de consulter les modifications qui seront réalisées dans les formulaires. Pour lancer la correction des url des connexions de données, il faut utiliser l'argument "fix" comme ci-dessous:

IpWssUpg.exe /f http://oldalias /r http://newalias /p http://newalias /l application /m fix


Pour utiliser celui-ci, il suffit de se placer dans le répertoire "bin" puis de lancer la commande suivante pour scanner la liste des formulaires:
Ainsi vous pourrez aisément modifier en une seule commande toutes vos connexions de données internes aux formulaires ou fichiers UDCX sur votre application web.

30 juin 2012

INFOPATH : Bibliothèque de formulaires non visible

Il existe plusieurs moyens de stocker les données saisies dans un formulaire InfoPath. Le moyen le plus classique et le plus usité reste tout de même de stocker les instances XML dans une bibliothèque SharePoint.

Le type de bibliothèque dédié aux formulaires InfoPath se nomme basiquement "Bibliothèque de formulaires". Or, en fonction du modèle utilisé lors de la création de votre site ( site de publication, site vide,...), il se peut que le type de bibliothèque pour les formulaires InfoPath ne soit pas disponible lors de la création d'une bibliothèque.

Pour voir apparaitre ce type de bibliothèque de formulaires, il suffit uniquement d'activer la fonctionnalité de sites nommée: "Listes de collaboration d'équipe" ou "Team colllaboration lists".


Il existe le même fonctionnement pour les bibliothèques de type "connexion de données" dans SharePoint. Ce genre de bibliothèque permet de stocker les connexions de données externalisée depuis le formulaire InfoPath (connexion à une base de données, à un web service, a une bibliothèque SharePoint).
Pour information, l'utilisation de fichiers UDCX constitue un best practice lors de la création de formulaire InfoPath car ils permettent de migrer un formulaire InfoPath d'un environnement à un autre sans nécessiter la modification du formulaire pour mettre à jour les url des connexions de données.

Pour voir apparaitre ce type de bibliothèques "connexion de données", il suffit d'activer la fonctionnalité de collection de sites nommée : "Fonctionnalités d'entreprise du serveur SharePoint" ou "SharePoint Server Enterprise site feature".


21 juin 2012

INFOPATH 2010 : Modèle de formulaire

InfoPath possède une fonctionnalité très utile mais aussi trop peu rarement utilisée en entreprise.
Elle consiste en la possibilité de pouvoir créer un modèle de template qui pourra par la suite être réutilisé dans tous vos formulaires.
L'avantage conséquent de l'utilisation de ces modèles est une uniformisation du design de vos formulaires (entête, pied de page, etc). Les utilisateurs sont ainsi moins déroutés lorsqu'ils utilisent les formulaires grâce à une charte graphique unique.

Pour utiliser ce genre de modèle, il faut suivre les étapes suivantes:

  • Lancer Microsoft Office InfoPath Designer,
  • Sur la page de sélection du type de modèle, sélectionner "Template vierge":



  • Créer votre modèle en rajoutant un logo et un titre par exemple,
  • Enregistrez ce modèle au format précisé par InfoPath,
  • Re-ouvrir InfoPath,
  • Sur la page de sélection du type de modèle, sélectionner "Formulaire vierge",
  •  Se placer dans la section contrôles, puis cliquer sur "Ajouter/Supprimer des contrôles personnalisés",
  • Sélectionner "Modèle" comme ci-dessous :


  • Saisir le chemin pour accéder au formulaire "Modèle" enregistré plus haut,
  • Cliquer sur "Ajouter". Le modèle est à présent ajouté aux contrôles personnalisés :

 

  • A présent, ce contrôle apparaitra ainsi dans la liste des contrôles personnalisés de votre programme InfoPath comme ci-dessous :



  • Lors du clic sur ce modèle, une section se rajoutera automatiquement dans votre formulaire. Voici ici le cas d'une entête simple qui est insérée dans vos formulaires. Cette entête permettra à tous les formulaires de l'entrepris d'être homogène en terme de présentation.






Si vous disposez uniquement de 2 formulaires InfoPath dans votre entreprise, l'avantage de cette fonctionnalité ne vous parait peut-être pas évident.
Mais je peux vous garantir qu'au delà, il est nécessaire de privilégier cette approche qui permettra:
  • De gagner du temps lors de la conception,
  • De ne pas dérouter les utilisateurs en leur proposant une multitude de chartes.