8 février 2015

INFOPATH 2013 : Rediriger un formulaire

Une demande récurrente dans la conception des formulaires InfoPath Forms Services est la possibilité de rediriger le formulaire vers une URL spécifique lors de l'enregistrement, la fermeture ou l'annulation du formulaire.
 
Il existe une méthode "classique" qui consiste à modifier l'adresse dans le paramètre "Source" de l'url du formulaire. Lorsque le formulaire se ferme, vous êtes automatiquement redirigé vers la valeur précisée dans le paramètre source.
Cette technique fonctionne très bien uniquement lorsque que vous restez sur votre tenant SharePoint.

Si vous devez préciser une URL externe, il sera nécessaire de passer par une page intermédiaire stockée dans SP.
Afin de contourner le problème de limitation d'une redirection vers une url externe, vous pouvez suivre les étapes suivantes:
  • Créer un fichier ".aspx" sur votre PC,
  • Dans ce fichier, insérer uniquement une balise JavaScript et insérer le code de redirection suivant : "window.location="monurl":

  • Télécharger ce fichier dans une bibliothèque SharePoint en l'approuvant ou le publiant si nécessaire,
  • Faire pointer le paramètre "Source" de l'url de votre formulaire vers l'adresse de ce fichier.
 
Note : Si vous concevez un fichier HTML (à la place d'une page ASPX), celui-ci ne sera pas être ouvert directement par SharePoint et il vous sera demandé de le télécharger. Ce comportement reste tout de même modifiable en changeant le mode de sécurité de l'application web de 'Strict' à 'Permissif' (attention cette option n'est pas disponible sur Office 365).
 
 
Ceci est une version basique fonctionnant sur SharePoint 2013 et Office 365. Il serait possible d'être plus intelligent et dynamique en réalisant des redirections en fonction:
  • de valeurs du formulaire (interrogation via JSOM),
  • du type de formulaires,
  • du type d'utilisateurs,...

Pour cela, il suffira uniquement de passer les paramètres souhaités à la page de redirection qui comprendra l'intelligence métier.

Aucun commentaire:

Enregistrer un commentaire