MVPs for Office and SharePoint 2010: InfoPath 2010

Editor's Note: The following is a guest post by MVP Ludovic Lefort as part of the MVP Award Program Blog's "MVPs for Office and SharePoint 2010" series. Ludovic Lefort has been a SharePoint Server Consultant, MVP for three years, and is active in various technical communities. He is responsible for the SharePoint Topic of developpez.com famous French community and co-author of two books about developing components for SharePoint 2007 and 2010. (https://www.consultpoint.net/blog)

1. Introduction

Dans la version 2007 de SharePoint les interactions avec InfoPath se faisaient au travers de Form Library (ou Document Library).

En effet, les formulaires étaient uploadés dans une library et certains champs du formulaire pouvaient être "promus" comme colonne dans SharePoint.

Malgré que les données restaient stockées dans le formulaire lui-même, l'utilisateur avait la possibilité d'appliquer des filtres, des tris, etc . Dans SharePoint comme avec n'importe quelles autres colonnes. Cependant, il était impossible de modifier la valeur de la colonne directement dans SharePoint.

Avec la nouvelle version de SharePoint Microsoft change complètement la manière dont InfoPath intègre SharePoint. A présent les formulaires de liste sont des formulaires InfoPath.

Lorsque vous ouvrez un élément, la page affichée contient un formulaire InfoPath que vous pouvez très simplement modifier sans avoir recours à du développement.

2. Personnalisation pour une liste existante

Débutons par la manière la plus simple de personnaliser un formulaire. Créez une nouvelle liste dans votre site et appelez-la SharePoint books.

Comme son nom l'indique, elle contiendra une liste de livres sur SharePoint. Voici sa structure:

Affichez cette liste de votre site et cliquez sur le bouton customize form de votre ruban.

Cette action a pour effet d'ouvrir InfoPath 2010 avec le formulaire de la liste en mode Design. Commençons par un changement purement cosmétique, nous allons ajouter une image à notre formulaire.

La première étape consiste à ajouter une nouvelle colonne sur la gauche de notre tableau, ajoutez ensuite une image dans cette colonne et adaptez la taille du formulaire. Vous obtiendrez alors quelque chose comme ceci:

Lorsque vous êtes satisfaits de votre personnalisation, la publication des modifications vers SharePoint est encore plus simple : un clic sur le bouton quick publish suffit:

Voici le résultat obtenu dans SharePoint:

Vous constatez donc à quel point il est simple à présent de personnaliser les formulaires dans SharePoint.

3. Utilisation des règles dans InfoPath

Un deuxième avantage non négligeable dans l'utilisation d'InfoPath est sa notion de règles. Les règles sont des actions/comportements définissables sans utilisation de code.

Il existe trois types de règles : le formatage conditionnel, les actions et les validations.

Dans cet exemple, nous allons ajouter une régle de type formatage conditionnel. La règle sera simple, mais permettra de démontrer la simplicité d'utilisation des règles.

Ma liste contient une colonne de type Yes/No définissant si un livre est disponible ou pas. Je souhaite colorer le titre du livre en rouge ou vert suivant la disponibilité du livre.

Faites un clic droit sur le champ titre du formulaire dans InfoPath et choisissez rules, manage rules. L' interface de gestion des règles pour votre champ s'affiche:

Ajoutons deux règles de type formatage conditionnel: Disponible et Indisponible. La première aura une condition testant si le champ Available est égal à true et formatera le texte en vert. La deuxième testera si la valeur du champ est égale à false et formatera le texte en rouge:

Republiez votre formulaire dans SharePoint à l'aide du bouton quick publish et testez votre formulaire.

4. Création d'une liste SharePoint depuis InfoPath

Une autre possibilité offerte par InfoPath 2010 est la création de liste ou library. En effet, il est également possible de définir un formulaire avec tous les champs nécessaires.

Lors de la publication du formulaire dans SharePoint, une liste avec les colonnes nécessaires sera créée.

Illustrons cette fonctionnalité : démarrez une nouvelle instance d'InfoPath et choisissez le template SharePoint List.

La première étape de l'assistant consiste à entrer l'adresse de votre site:

Choisissez ensuite un nom pour votre nouvelle liste, dans ce cas je vais choisir Reservation. Cette liste permettra d'enregistrer des réservations de livre.

Passons maintenant à la création proprement dite du formulaire.

Le premier champ que nous allons ajouter nous permettra de choisir un livre depuis notre liste de livres. Pour ce faire, ajoutez un contrôle de type dropdown list sur le formulaire. Nne fenêtre s'ouvre automatiquement et vous permet de choisir la liste source et le champ à afficher:

Ensuite, n'oubliez pas de renommer le champ avec un nom plus précis. Vous pouvez le faire via le menu Control tools, Properties du ruban. Dans ce cas, nommez votre champ Book.

Ajoutez ensuite deux champs de type datetieme picker et nommez-les From et to. Le dernier champ à ajouter sera de type rich text et s'appellera Comment. Voici le résultat final:

Publiez le formulaire comme fait précédemment à l'aide du bouton quick publish. Depuis votre site, testez votre nouveau formulaire.

5. Utilisation de l'InfoPath WebPart

Parmi les nouveaux WebPart de SharePoint 2010, on retrouve l'InfoPath WebPart. Ce WebPart permet l'intégration de formulaire InfoPath et c'est exactement ce que nous allons faire.

Nous allons ajouter le formulaire de réservation créé précédement et l'intégrer dans une page à l'aide de l'InfoPath WebPart. Modifiez la page d'accueil de votre site et ajoutez-y un WebPart:

Vous trouverez l'InfoPath Form WebPart sous la catégorie Office Client Application. Ajoutez-le sur votre page. Modifiez ensuite les paramètres dans le panneau de configuration du WebPart afin de choisir votre liste:

6. Conclusion

Nous venons de voir la facilité avec laquelle InfoPath permet de modifier les formulaires de SharePoint 2010. InfoPath est donc, à mon sens, l'outil à maîtriser lorsque l'on souhaite personnaliser les formulaires dans SharePoint.