Création d’une action d’envoi personnalisée pour le Forms adaptatif (composants principaux)
Une action d’envoi permet aux utilisateurs de sélectionner la destination des données capturées à partir d’un formulaire et de définir des fonctionnalités supplémentaires à exécuter lors de l’envoi du formulaire. AEM formulaire prend en charge plusieurs actions d’envoi prêtes à l’emploi (prêtes à l’emploi), telles que l’envoi d’un courrier électronique ou l’enregistrement de données vers SharePoint ou OneDrive.
Vous pouvez également créer une action d’envoi personnalisée pour ajouter des fonctionnalités non incluses dans les options d’usine. Par exemple, intégrez les données de formulaire à une application tierce ou déclenchez une notification SMS personnalisée en fonction des entrées de l’utilisateur.
Prérequis
Avant de commencer à créer votre première action d’envoi personnalisée pour Adaptive Forms, assurez-vous que vous disposez des éléments suivants :
-
Éditeur de texte brut (IDE) : bien que tout éditeur de texte brut puisse fonctionner, un environnement de développement intégré (IDE) comme Microsoft Visual Studio Code offre des fonctionnalités avancées pour faciliter la modification.
-
Git : ce système de contrôle de version est nécessaire pour gérer les modifications de code. Si vous ne l’avez pas installé, téléchargez-le à partir de https://git-scm.com.
Créer votre première action d’envoi personnalisée pour le formulaire
Le diagramme ci-dessous illustre les étapes de création d’une action d’envoi personnalisée pour un formulaire adaptatif :
{width="50"}
Cloner le référentiel Git AEM as a Cloud Service.
-
Ouvrez la ligne de commande et choisissez un répertoire pour stocker votre référentiel AEM as a Cloud Service, tel que
/cloud-service-repository/
. -
Exécutez la commande ci-dessous pour cloner le référentiel :
code language-none git clone https://git.cloudmanager.adobe.com/<organization-name>/<app-id>/
Où trouver ces informations ?
Pour obtenir des instructions détaillées sur la localisation de ces détails, reportez-vous à l’article de Adobe Experience League "Accès à Git".
Votre projet est prêt !
Une fois la commande terminée, un nouveau dossier est créé dans votre répertoire local. Ce dossier est nommé d’après votre application (par exemple, app-id). Ce dossier contient tous les fichiers et le code téléchargés à partir de votre référentiel Git AEM as a Cloud Service. Vous pouvez trouver
<appid>
pour votre projet AEM dans le fichierarchetype.properties
.Dans ce guide, nous nous référons à ce dossier sous le nom de
[AEMaaCS project directory]
.
Ajouter une action d’envoi
-
Ouvrez le dossier du référentiel dans un éditeur.
-
Accédez au répertoire suivant dans votre
[AEMaaCS project directory]
:code language-none /ui.apps/src/main/content/jcr_root/apps/<app-id>/
Important : remplacez
<app-id>
par votre ID d’application réel. -
Créez un dossier pour votre action d’envoi personnalisée et attribuez-lui un nom de votre choix. Par exemple, nommez le dossier
customsubmitaction
. -
Accédez au répertoire d’action d’envoi personnalisée ajouté.
Dans votre
[AEMaaCS project directory]
, accédez au chemin suivant :/ui.apps/src/main/content/jcr_root/apps/<app-id>/customsubmitaction/
Important
: Remplacer <app-id> avec votre ID d’application réel. -
Créez un fichier de configuration.
Dans le dossiercustomsubmitaction
, créez un fichier nommé.content.xml
. -
Ouvrez ce fichier et collez le contenu suivant, en remplaçant
[customsubmitaction]
par le nom de votre action d’envoi.code language-none <?xml version="1.0" encoding="UTF-8"?> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0" jcr:description="[customsubmitaction]" jcr:primaryType="sling:Folder" guideComponentType="fd/af/components/guidesubmittype" guideDataModel="basic,xfa,xsd" submitService="[customsubmitaction]"/>
Par exemple, remplacez
[customsubmitaction]
par le nom de votre action d’envoi personnaliséeCustom Submit Action
.note note NOTE N’oubliez pas le nom de [customsubmitaction], car le même nom apparaît dans la liste déroulante Submit action
lors de la création d’un formulaire.
Inclure le nouveau dossier dansfilter.xml
-
Accédez au fichier
/ui.apps/src/main/content/META-INF/vault/filter.xml
dans votre [ répertoire de projet AEMaaCS]. -
Ouvrez le fichier et ajoutez la ligne suivante à la fin :
code language-none <filter root="/apps/<app-id>/[customsubmitaction-folder]"/>
Par exemple, ajoutez la ligne de code suivante pour ajouter le dossier
customsubmitaction
dans le fichierfilter.xml
:code language-none <filter root="/apps/wknd/customsubmitaction"/>
-
Enregistrez les modifications.
Mettez en oeuvre le service pour l’action d’envoi ajoutée.
-
Accédez au répertoire suivant dans votre
[AEMaaCS project directory]
:/core/src/main/java/com/<app-id>/core/service/
Important
: Remplacer <app-id> avec votre ID d’application réel. -
Créez un fichier Java pour mettre en oeuvre le service pour l’action d’envoi ajoutée. Par exemple, ajoutez un nouveau fichier Java en tant que
CustomSubmitService.java
. -
Ouvrez ce fichier et ajoutez le code correspondant à votre implémentation d’action d’envoi personnalisée.
Par exemple, le code Java ci-dessous est un service OSGi qui gère l’envoi du formulaire en enregistrant les données envoyées et en renvoyant un état
OK
. Ajoutez le code suivant dans le fichierCustomSubmitService.java
:code language-none package com.wknd.core.service; import com.adobe.aemds.guide.model.FormSubmitInfo; import com.adobe.aemds.guide.service.FormSubmitActionService; import java.util.HashMap; import java.util.Map; import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Component( service = FormSubmitActionService.class, immediate = true ) public class CustomSubmitService implements FormSubmitActionService { private static final String serviceName = "Custom Submit Action"; private static Logger log = LoggerFactory.getLogger(CustomSubmitService.class); @Override public String getServiceName() { return serviceName; } @Override public Map<String, Object> submit(FormSubmitInfo formSubmitInfo) { String data = formSubmitInfo.getData(); log.info("Using custom submit action service, [data] --> " + data); Map<String, Object> result = new HashMap<>(); result.put("status", "OK"); return result; } }
-
Enregistrez les modifications.
Déployez le code.
Déployer du code pour l’environnement de développement local
-
Déployez AEM as a Cloud Service,
[AEMaaCS project directory]
, dans votre environnement de développement local pour essayer la nouvelle action d’envoi sur votre ordinateur local. Pour effectuer un déploiement sur votre environnement de développement local :-
Assurez-vous que votre environnement de développement local est opérationnel. Si vous n’avez pas encore configuré d’environnement de développement local, reportez-vous au guide sur la configuration d’un environnement de développement local pour AEM Forms.
-
Ouvrez la fenêtre de terminal ou l’invite de commande.
-
Accédez au
[AEMaaCS project directory]
. -
Exécutez la commande suivante :
code language-none mvn -PautoInstallPackage clean install
-
Déployer le code pour l’environnement du Cloud Service
-
Déployez AEM as a Cloud Service,
[AEMaaCS project directory]
, dans votre environnement de Cloud Service. Pour effectuer un déploiement sur votre environnement de Cloud Service :-
Validez vos modifications :
Après avoir ajouté la nouvelle configuration d’action d’envoi personnalisée, validez vos modifications avec un message Git clair. (Par exemple, "Ajout d’une nouvelle action d’envoi personnalisée").
-
Déployez le code mis à jour :
Déclenchez un déploiement de votre code par le biais du pipeline de pile complète existant. Il crée et déploie automatiquement le code mis à jour avec la nouvelle prise en charge de l’action d’envoi personnalisée.
Si vous n’avez pas encore configuré de pipeline, reportez-vous au guide sur la configuration d’un pipeline pour AEM Forms as a Cloud Service🔗.
Comment confirmer l'installation ?
Une fois le projet créé, l’action d’envoi personnalisée apparaît dans la liste déroulante
Submit action
lors de la création d’un formulaire.
Votre environnement est maintenant prêt à utiliser l’action d’envoi personnalisée ajoutée lors de la création d’un formulaire.
-
Aperçu d’un formulaire adaptatif avec la nouvelle action d’envoi ajoutée
-
Connectez-vous à votre instance AEM Forms as a Cloud Service.
-
Accédez à Formulaires > Formulaires et documents.
-
Sélectionnez un formulaire adaptatif et cliquez sur Modifier. Le formulaire s’ouvre en mode d’édition.
-
Ouvrez l’explorateur de contenu, puis sélectionnez le composant Conteneur de guide de votre formulaire adaptatif.
-
Cliquez sur l’icône des propriétés du conteneur de guide . La fenêtre du conteneur de formulaires adaptatifs s’ouvre.
-
Cliquez sur l’onglet Envoi.
-
Dans la liste déroulante Action d’envoi, sélectionnez l’action d’envoi. Par exemple, sélectionnez l’action d’envoi
Custom Submit Action
. -
Remplissez le formulaire et envoyez-le.
Une fois le formulaire envoyé avec succès, vous pouvez vérifier la configuration de la console web Adobe Experience Manager pour vérifier l’action de l’action d’envoi personnalisée dans l’environnement de développement local.
-
Accédez à
http://<host>:<port>/system/console/configMgr
. -
Accédez à la prise en charge du journal de la console web Adobe Experience Manager à l’adresse
http://<host>:<port>/system/console/slinglog
. -
Cliquez sur l’option
logs/error.log
.
-
Ouvrez le fichier
error.log
pour vérifier que les données lui ont été ajoutées.note note NOTE Pour afficher les journaux d’erreurs dans l’environnement AEM as a Cloud Service, vous pouvez utiliser Splunk.
Articles connexes
- Envoyer un e-mail
- Envoyer à SharePoint
- Envoyer à l’aide du modèle de données de formulaire
- Envoyer au stockage Blob Azure
- Envoyer vers le point d’entrée REST
- Envoyer à OneDrive
- Appeler un workflow AEM
- Envoyer à Power Automate
- Envoyer vers Workfront Fusion
- Connecter un formulaire adaptatif à l’application Salesforce
- Connecter un formulaire adaptatif à Microsoft
- Création d’une action d’envoi personnalisée