06 juillet 2006

Publier un formulaire InfoPath 2007 dans FormServer

L’une des grandes nouveauté dans MOSS2007 est l’introduction de InfoPath Form Service, ou Forms Server. Ce nouveau service est le client web d’un formulaire InfoPath. Contrairement à InfoPath 2003, il est possible de créer des formulaires en mode Web. L’avantage est de ne pas à avoir (des liscenses) à déployer le client InfoPath pour créer des formulaires.

Cependant pour des formulaires complexes, il est souvent nécessaire d’introduire du code managé dans le formulaire InfoPath (et oui c’est finis le vbscript dans les formulaires InfoPath, maintenant on peut mettre du .net). Or la présence de ce code managé peut présenter une menace sur la sécurité. C’est pourquoi la publication de formulaire contenant du code est soumis à un processus spécifique de publication dans Forms Server.

Ce post vous montre étapes par étapes, comment publier votre formulaire InfoPath contenant du code managé, dans Forms Server.

Merci à Josh Meyer pour son post : How to Deploy an InfoPath 2007 Form Containing Managed Code to a Browser-Enabled WSS v3 Library

Après avoir créer le formulaire avec InfoPath et ajouter du code manage, cliquer sur "Publier le modèle de formulaire" dans le panneau "Tâches de création".



Ensuite sélectionner "Vers un server SharePoint avec ou sans InfoPath Forms Services"



Entrer l’adresse du server SharePoint ou InfoPath Server

L’assistant détecte que vous avez un formulaire avec du code managé, et vous impose donc que votre formulaire soit approuvé par un administrateur. Si vous aviez eu un formulaire simple (pas de connexions à une base de données ou sans code managé), vous auriez pu publier directement.


Puisque c’est à un administrateur de SharePoint ou de InfoPath Server de publier, il faut que lui transmette le modèle de formulaire. Sélectionner donc un répertoire, où il peut y avoir accès

Spécifier les champs du formulaire qui seront mapper sur les colonnes de la bibliothèque de formulaires.


Ensuite cliquer sur "Publier", puis "Fermer".

Le modèle de formulaire vient d’être créer et est prêt à être approuvé par l’administrateur.

Dans l’administration centrale du serveur SharePoint, il existe une section spécifique à InfoPath Forms Services. Cliquer sur "Gérer les modèles de formulaire"


La page "Gestion des modèles de formulaire" propose un ensemble de formulaire déjà publier dans SharePoint. Cliquer sur "Télécharger"


Dans la page "ajout d’un modèle de formulaire", il est possible de vérifier sur le modèle de formulaire sera affichable en mode web (remarque : il est possible de le vérifier dans le client InfoPath 2007). Sélectionner votre modèle (destiné à l'administrateur) et cliquer sur "Télécharger".

Votre modèle est présent sur le serveur SharePoint, maintenant, il faut le rendre disponible.


Dans la page "Gestion des modèles de formulaire", faites un clique droit sur votre formulaire, pour afficher ses propriétés.

Spécifier un nom de catégorie qui correspondra à un type de contenu dans les bibliothèque de documents.


Dans la page "Gestion des modèles de formulaire", faites un clique droit sur votre formulaire, puis sélectionner "Activer sur une collection de site"


Votre modèle de formulaire InfoPath est disponible sur le serveur. Il faut donc créer une bibliothèque de formulaire qu’il utilise comme modèle.

Après avoir créer votre bibliothèque de formulaires, dans la section "Paramètres avancés", autoriser la gestion des types de contenu.



Ensuite dans le section "Ajouter des types de contenu", selectionner le type de contenu : Microsoft Office InfoPath, puis la catégorie correspondante à votre formulaire.

Maintenant, il est possible de créer des formulaires en mode web avec un modèle contenant du code managé.






3 commentaires:

Unknown a dit…

Merci pour ce post.
Mais j'ai un souci à l'execution de mon formulaire (en mode web): j'ai un message d'erreur "(401: non autorisé)". Dans mon code, je me connecte à une source de données externe (liste sharepoint). J'ai donc besoin de m'identifier... Cette identification doit pouvoir se faire de façon transparente à l'utilisateur. Comment puis-je résoudre ce problème?
Merci beaucoup
A+

Unknown a dit…

Merci pour ce post.
Mais j'ai un souci à l'execution de mon formulaire (en mode web): j'ai un message d'erreur "(401: non autorisé)". Dans mon code, je me connecte à une source de données externe (liste sharepoint). J'ai donc besoin de m'identifier... Cette identification doit pouvoir se faire de façon transparente à l'utilisateur. Comment puis-je résoudre ce problème?
Merci beaucoup
A+

Anonyme a dit…

François,
je suis en train de remettre au propre l'application sur laquelle nous avons travaillé fin 2007 et début 2008, tu sais pour l'Allemagne...
J'étais en train de réparer le formulaire de contacts et je n'avais jamais fait de form server. Une petite recherche sur l'emplacement des xsn et paf je tombe sur ton blog. Ton post arrive dans les premiers liens de ma recherche Google !

Merci pour la référence à mon blog. A bientôt.
Marc