Creare un’azione di invio personalizzata per Adaptive Forms (Componenti core)
Un’azione di invio consente agli utenti di selezionare la destinazione dei dati acquisiti da un modulo e di definire funzionalità aggiuntive da eseguire all’invio del modulo. Il modulo AEM supporta più azioni di invio pronte all'uso (OOTB), ad esempio l'invio di un'e-mail o il salvataggio di dati in SharePoint o OneDrive.
Puoi anche creare un'azione di invio personalizzata per aggiungere funzionalità non incluse nelle opzioni predefinite. Ad esempio, integra i dati del modulo con un’applicazione di terze parti o attiva una notifica SMS personalizzata in base all’input dell’utente.
Prerequisiti
Prima di iniziare la creazione della prima azione di invio personalizzata per Adaptive Forms, assicurati di disporre dei seguenti elementi:
-
Editor di testo normale (IDE): mentre qualsiasi editor di testo normale può funzionare, un ambiente di sviluppo integrato (IDE) come Microsoft Visual Studio Code offre funzionalità avanzate per semplificare la modifica.
-
Git: questo sistema di controllo della versione è necessario per la gestione delle modifiche al codice. Se non lo hai installato, scaricalo da https://git-scm.com.
Creare la prima azione di invio personalizzata per il modulo
Il diagramma seguente illustra i passaggi necessari per creare un’azione di invio personalizzata per un modulo adattivo:
Clona l’archivio Git di AEM as a Cloud Service.
-
Aprire la riga di comando e scegliere una directory in cui archiviare l'archivio AEM as a Cloud Service, ad esempio
/cloud-service-repository/
. -
Esegui il comando seguente per clonare l’archivio:
code language-none git clone https://git.cloudmanager.adobe.com/<organization-name>/<app-id>/
Dove trovare queste informazioni?
Per istruzioni dettagliate su come individuare questi dettagli, consulta l'articolo di Adobe Experience League "Accesso a Git".
Il progetto è pronto!
Al termine del comando viene visualizzata una nuova cartella creata nella directory locale. Questa cartella prende il nome dall’applicazione (ad esempio, app-id). Questa cartella contiene tutti i file e il codice scaricati dall’archivio Git di AEM as a Cloud Service. Puoi trovare
<appid>
per il progetto AEM nel filearchetype.properties
.In questa guida questa cartella viene indicata come
[AEMaaCS project directory]
.
Aggiungi nuova azione di invio
-
Apri la cartella dell’archivio in un editor.
-
Passare alla seguente directory all'interno di
[AEMaaCS project directory]
:code language-none /ui.apps/src/main/content/jcr_root/apps/<app-id>/
Importante: sostituisci
<app-id>
con il tuo ID applicazione effettivo. -
Crea una nuova cartella per l’azione di invio personalizzata e assegnagli un nome a tua scelta. Ad esempio, assegnare alla cartella il nome
customsubmitaction
. -
Passa alla directory dell’azione di invio personalizzata aggiunta.
All'interno di
[AEMaaCS project directory]
, passa al seguente percorso:/ui.apps/src/main/content/jcr_root/apps/<app-id>/customsubmitaction/
Important
: Sostituisci <app-id> con l'ID applicazione effettivo. -
Crea un nuovo file di configurazione.
Nella cartellacustomsubmitaction
, creare un nuovo file denominato.content.xml
. -
Apri il file e incolla il seguente contenuto, sostituendo
[customsubmitaction]
con il nome dell'azione di inviocode 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]"/>
Ad esempio, sostituisci
[customsubmitaction]
con il nome dell'azione di invio personalizzatoCustom Submit Action
.note note NOTE Ricordare il nome di [customsubmitaction], poiché lo stesso nome viene visualizzato nell'elenco a discesa Submit action
durante la creazione di un modulo.
Includi la nuova cartella infilter.xml
-
Passa al file
/ui.apps/src/main/content/META-INF/vault/filter.xml
nella directory del progetto [AEMaaCS]. -
Apri il file e aggiungi la seguente riga alla fine:
code language-none <filter root="/apps/<app-id>/[customsubmitaction-folder]"/>
Aggiungere ad esempio la seguente riga di codice per aggiungere la cartella
customsubmitaction
nel filefilter.xml
:code language-none <filter root="/apps/wknd/customsubmitaction"/>
-
Salva le modifiche.
Implementa il servizio per l’azione di invio aggiunta.
-
Passare alla seguente directory all'interno di
[AEMaaCS project directory]
:/core/src/main/java/com/<app-id>/core/service/
Important
: Sostituisci <app-id> con l'ID applicazione effettivo. -
Crea un nuovo file Java per implementare il servizio per l’azione di invio aggiunta. Ad esempio, aggiungere un nuovo file Java come
CustomSubmitService.java
. -
Apri questo file e aggiungi il codice per l’implementazione dell’azione di invio personalizzata.
Il codice Java seguente, ad esempio, è un servizio OSGi che gestisce l'invio del modulo registrando i dati inviati e restituendo uno stato
OK
. Aggiungi il seguente codice nel fileCustomSubmitService.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; } }
-
Salva le modifiche.
Distribuisci il codice.
Distribuisci il codice per l'ambiente di sviluppo locale
-
Distribuire AEM as a Cloud Service
[AEMaaCS project directory]
nell'ambiente di sviluppo locale per provare la nuova azione di invio nel computer locale. Per implementare nell’ambiente di sviluppo locale:-
Assicurati che l’ambiente di sviluppo locale sia operativo. Se non hai già configurato un ambiente di sviluppo locale, consulta la guida su Configurare un ambiente di sviluppo locale per AEM Forms.
-
Aprire la finestra del terminale o il prompt dei comandi.
-
Passare a
[AEMaaCS project directory]
. -
Esegui il comando seguente:
code language-none mvn -PautoInstallPackage clean install
-
Distribuire il codice per l'ambiente di Cloud Service
-
Distribuire AEM as a Cloud Service,
[AEMaaCS project directory]
, nell'ambiente di Cloud Service. Per eseguire l’implementazione nell’ambiente di Cloud Service:-
Eseguire il commit delle modifiche:
Dopo aver aggiunto la nuova configurazione dell’azione di invio personalizzata, conferma le modifiche con un messaggio Git cancellato. (ad esempio, "Aggiunta nuova azione di invio personalizzata").
-
Distribuisci il codice aggiornato:
Attiva una distribuzione del codice tramite la pipeline full stack esistente. Genera e distribuisce automaticamente il codice aggiornato con il nuovo supporto per l’azione di invio personalizzata.
Se non hai già configurato una pipeline, consulta la guida su come impostare una pipeline per AEM Forms as a Cloud Service.
Come confermare l'installazione?
Una volta creato correttamente il progetto, l'azione di invio personalizzata viene visualizzata nell'elenco a discesa
Submit action
durante la creazione di un modulo.
Il tuo ambiente è ora pronto per utilizzare l’azione di invio personalizzata aggiunta durante la creazione di un modulo.
-
Anteprima di un modulo adattivo con nuova azione di invio aggiunta
-
Accedi all’istanza AEM Forms as a Cloud Service.
-
Vai a Forms > Forms e documenti.
-
Seleziona un modulo adattivo e fai clic su Modifica. Il modulo si apre in modalità di modifica.
-
Apri il browser Contenuto e seleziona il componente Contenitore guida del modulo adattivo.
-
Fare clic sull'icona delle proprietà del Contenitore Guida TV
-
Fare clic sulla scheda Invio.
-
Dall'elenco a discesa Azione invio, selezionare l'azione di invio. Selezionare ad esempio l'azione di invio come
Custom Submit Action
. -
Compila il modulo e invialo.
Dopo aver inviato il modulo, è possibile controllare la configurazione della console Web Adobe Experience Manager per verificare l'azione dell'azione di invio personalizzata nell'ambiente di sviluppo locale.
-
Passa a
http://<host>:<port>/system/console/configMgr
. -
Passare a Supporto log console Web Adobe Experience Manager in
http://<host>:<port>/system/console/slinglog
. -
Fare clic sull'opzione
logs/error.log
.
-
Aprire il file
error.log
per verificare che i dati siano stati aggiunti alla fine.note note NOTE Per visualizzare i registri di errore nell’ambiente AEM as a Cloud Service, puoi utilizzare Splunk.
Articoli correlati
- Invia e-mail
- Invia a libreria documenti di SharePoint
- Invia a elenco SharePoint
- Invia usando il modello dati modulo
- Invia ad Azure Blob Storage
- Invia a endpoint REST
- Invia a OneDrive
- Richiama un flusso di lavoro AEM
- Invia a Power Automate
- Invia a Workfront Fusion
- Collegare un modulo adattivo all’applicazione Salesforce
- Collegare un modulo adattivo a Microsoft
- Collegare un modulo adattivo a Marketo Engage
- Creare un’azione di invio personalizzata