Les formulaires HTML5 avec processus de soumission par défaut et de rendu par défaut dans un workflow ne sont ni soumis, ni rendus dans JBOSS 7

Environnement

AEM Forms 6.5 sur JEE

Problème

Si vous passez à la version 6.5 d’AEM Forms :

  • Un formulaire HTML5 inclus dans un workflow qui contient le processus de soumission par défaut ne parvient pas à effectuer la soumission.
  • Un formulaire HTML5 inclus dans un workflow qui contient le processus de rendu par défaut ne parvient pas à effectuer le rendu.

Cause

Mise à jour des versions 6.4.5 (utilisée dans AEM Forms 6.3) et 7.0.6 (utilisée dans AEM Forms 6.4) de JBoss vers la version 7.1.2 dans AEM Forms 6.5.

Par conséquent, la soumission ou le rendu des formulaires HTML5 échoue en raison d’une mise à jour du type de contenu utilisé dans le processus de soumission par défaut du formulaire ou de l’utilisateur agent utilisé dans le processus de rendu par défaut.

Solution

Effectuez les étapes suivantes pour contourner l’échec dû au processus de soumission de formulaire par défaut :

  1. Ouvrez le processus Soumission par défaut du formulaire dans Workbench.
  2. Créez une nouvelle variable de type chaîne de caractères. Par exemple, camelCaseContentType.
  3. À l’étape Detecter le type de contenu, mappez « /process_data/@camelCaseContentType » avec « /process_data/httpHeaders[@id='Content-Type'] ».
  4. Ajoutez la condition suivante à la ligne « content type refers to html form » :
    string(contains(lower-case(/process_data/@camelCaseContentType), 'application/x-www-form-urlencoded'))
  5. Enregistrez et déployez le processus.

Effectuez les étapes suivantes pour contourner l’échec dû au processus de rendu par défaut :

  1. Ouvrez le processus Rendu par défaut dans Workbench.
  2. Créez une nouvelle variable de type chaîne de caractères. Par exemple, camelCaseUserAgent.
  3. À l’étape Detecter l’agent utilisateur, mappez « /process_data/@camelCaseUserAgent » avec « /process_data/httpHeaders[@id='User-Agent'] ».
  4. Ajoutez la condition suivante à la ligne « user agent contains ipad or android » :
    string(contains(lower-case(/process_data/@camelCaseUserAgent), 'msapphost')) = 'true'
    string(contains(lower-case(/process_data/@camelCaseUserAgent), 'android')) = 'true'
    string(contains(lower-case(/process_data/@camelCaseUserAgent), 'ipad')) = 'true'
  5. Enregistrez et déployez le processus.

 

Logo Adobe

Accéder à votre compte