Redirection temporaire d’un smartform vers une URL

Il peut être nécessaire de temps en temps de rendre indisponible un formulaire spécifique, voire tout un ensemble de formulaires. Souvent, ces besoins apparaissent lors de période de mises à jour.

Evidemment, il est possible de mettre en place une règle qui s’exécute au chargement du formulaire K2 et qui fait cette redirection, mais il est possible de le faire sans toucher à la conception des formulaires, et nous allons voir comment dans la suite de ce billet.

NB : ceci est valable uniquement pour les versions on-prem de K2. Pour K2 Cloud, il faudra utiliser les règles des formulaires.

Pré-requis

Il va falloir installer sur le serveur K2 smartforms l’outil Microsoft suivant : Microsoft URL Rewrite Module 2.0 for IIS (x64).

Je vous fais grâce des étapes d’installation de cet outil (qui se résument à cliquer sur les boutons Accepter, Installer, Terminer). Il faudra cependant penser à redémarrer le service World Wide Web Publishing Service (IIS) ou, a minima, l’application IIS cible (par exemple l’application Runtime de K2 smartforms dans notre exemple).

Pas à pas

Une fois l’outil installé, vous pouvez aller éditer le fichier web.config racine de K2 (C:\inetpub\wwwroot\k2\web.config). Puis ajouter les balises suivantes dans <system.webServer>, où :

  • match url correspond à l’URL du formulaire qui doit être rendu temporairement inaccessible.
  • action url au formulaire de remplacement. Dans l’exemple, on redirige vers un formulaire smartform, mais il est possible de rediriger vers n’importe quel autre formulaire du serveur IIS.

<br />
        &lt;rewrite&gt;<br />
            &lt;rules&gt;<br />
                &lt;rule name=&quot;Redirect_Forms&quot; stopProcessing=&quot;true&quot;&gt;<br />
                    &lt;match url=&quot;^Runtime/Runtile/Form/HelloForm/&quot; /&gt;<br />
                    &lt;action type=&quot;Redirect&quot; url=&quot;Runtime/Runtile/Form/TempHelloForm/&quot; redirectType=&quot;Temporary&quot; /&gt;<br />
                &lt;/rule&gt;<br />
            &lt;/rules&gt;<br />
        &lt;/rewrite&gt;<br />

Voici ce que donne, une fois modifié, le fichier web.config dans sa globalité :

Fichier web.config mis à jour
Fichier web.config mis à jour

Pour les frileux de la mise à jour manuelle, il est possible d’utiliser une interface graphique que vous retrouverez dans la Features View de votre site web sur IIS Manager :

URL Rewrite dans IIS
URL Rewrite dans IIS

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.