Skapa en anpassad sändningsåtgärd för adaptiva Forms (kärnkomponenter)
Med en skicka-åtgärd kan användarna välja mål för de data som hämtas från ett formulär och definiera ytterligare funktioner som ska utföras när formulär skickas. AEM har stöd för flera färdiga åtgärder (OTB), t.ex. att skicka ett e-postmeddelande eller spara data till SharePoint eller OneDrive.
Du kan också skapa en anpassad skickaåtgärd för att lägga till funktioner som inte ingår i de färdiga alternativen. Integrera till exempel formulärdata med ett program från en annan leverantör eller utlösa ett personanpassat SMS-meddelande baserat på användarens indata.
Krav
Innan du börjar skapa din första anpassade sändningsåtgärd för Adaptive Forms ska du kontrollera att du har följande:
-
Vanlig textredigerare (IDE): En integrerad utvecklingsmiljö (IDE), som Microsoft Visual Studio Code, har avancerade funktioner för enklare redigering, även om en vanlig textredigerare kan fungera.
-
Git: Det här versionskontrollsystemet krävs för att hantera kodändringar. Om du inte har det installerat hämtar du det från https://git-scm.com.
Skapa din första anpassade skickaåtgärd för formulär
I bilden nedan visas stegen för att skapa en anpassad skickaåtgärd för ett anpassat formulär:
Klona AEM as a Cloud Service Git-databasen.
-
Öppna kommandoraden och välj en katalog där AEM as a Cloud Service-databasen ska lagras, t.ex.
/cloud-service-repository/
. -
Kör följande kommando för att klona databasen:
code language-none git clone https://git.cloudmanager.adobe.com/<organization-name>/<app-id>/
Var hittar du den här informationen?
Stegvisa instruktioner om hur du hittar dessa uppgifter finns i Adobe Experience League-artikeln Accessing Git.
Projektet är klart!
När kommandot har slutförts visas en ny mapp som har skapats i din lokala katalog. Den här mappen namnges efter ditt program (till exempel app-id). Den här mappen innehåller alla filer och all kod som hämtats från din AEM as a Cloud Service Git-databas. Du kan hitta
<appid>
för ditt AEM projekt i filenarchetype.properties
.I hela den här guiden ser vi den här mappen som
[AEMaaCS project directory]
.
Lägg till ny skickaåtgärd
-
Öppna databasmappen i en redigerare.
-
Navigera till följande katalog i din
[AEMaaCS project directory]
:code language-none /ui.apps/src/main/content/jcr_root/apps/<app-id>/
Viktigt: Ersätt
<app-id>
med ditt faktiska program-ID. -
Skapa en ny mapp för din anpassade sändningsåtgärd och ge den ett namn du väljer. Ge till exempel mappen namnet
customsubmitaction
. -
Navigera till den tillagda anpassade åtgärdskatalogen för skicka.
Navigera till följande sökväg i din
[AEMaaCS project directory]
:/ui.apps/src/main/content/jcr_root/apps/<app-id>/customsubmitaction/
Important
: Ersätt <app-id> med ditt faktiska program-ID. -
Skapa ny konfigurationsfil.
Skapa en ny fil med namnet.content.xml
i mappencustomsubmitaction
. -
Öppna den här filen och klistra in följande innehåll och ersätt
[customsubmitaction]
med namnet på din sändningsåtgärdcode 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]"/>
Ersätt till exempel
[customsubmitaction]
med ditt anpassade namn på åtgärden Skicka somCustom Submit Action
.note note NOTE Kom ihåg namnet på [anpassad inskickning], eftersom samma namn visas i listrutan Submit action
när du redigerar ett formulär.
Inkludera den nya mappen ifilter.xml
-
Navigera till filen
/ui.apps/src/main/content/META-INF/vault/filter.xml
i [AEMaaCS-projektkatalogen]. -
Öppna filen och lägg till följande rad i slutet:
code language-none <filter root="/apps/<app-id>/[customsubmitaction-folder]"/>
Lägg till exempel till följande kodrad för att lägga till mappen
customsubmitaction
i filenfilter.xml
:code language-none <filter root="/apps/wknd/customsubmitaction"/>
-
Spara ändringarna.
Implementera tjänsten för den tillagda skicka-åtgärden.
-
Navigera till följande katalog i din
[AEMaaCS project directory]
:/core/src/main/java/com/<app-id>/core/service/
Important
: Ersätt <app-id> med ditt faktiska program-ID. -
Skapa en ny Java-fil för att implementera tjänsten för den tillagda sändningsåtgärden. Lägg till exempel till en ny Java-fil som
CustomSubmitService.java
. -
Öppna den här filen och lägg till koden för den anpassade implementeringen av åtgärden skicka.
Java-koden nedan är till exempel en OSGi-tjänst som hanterar formuläröverföringen genom att logga skickade data och returnerar statusen
OK
. Lägg till följande kod i filenCustomSubmitService.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; } }
-
Spara ändringarna.
Distribuera koden.
Distribuera kod för lokal utvecklingsmiljö
-
Distribuera AEM as a Cloud Service,
[AEMaaCS project directory]
, till din lokala utvecklingsmiljö för att testa den nya skicka-åtgärden på din lokala dator. Så här distribuerar du till din lokala utvecklingsmiljö:-
Kontrollera att den lokala utvecklingsmiljön är igång och körs. Om du inte redan har konfigurerat en lokal utvecklingsmiljö läser du i guiden Konfigurera en lokal utvecklingsmiljö för AEM Forms.
-
Öppna terminalfönstret eller kommandotolken.
-
Navigera till
[AEMaaCS project directory]
. -
Kör följande kommando:
code language-none mvn -PautoInstallPackage clean install
-
Distribuera koden för Cloud Servicen
-
Distribuera AEM as a Cloud Service,
[AEMaaCS project directory]
, till din Cloud Service. Så här distribuerar du till din Cloud Service:-
Genomför ändringarna:
När du har lagt till den nya anpassade konfigurationen för åtgärden Skicka verkställer du ändringarna med ett tydligt Git-meddelande. (Exempel:"En ny anpassad sändningsåtgärd har lagts till").
-
Distribuera den uppdaterade koden:
Utlös en distribution av koden via den befintliga pipelinen för hela stacken. Den genererar och distribuerar automatiskt den uppdaterade koden med det nya stödet för åtgärden Skicka.
Om du inte redan har konfigurerat en pipeline kan du läsa guiden Konfigurera en pipeline för AEM Forms as a Cloud Service.
Hur bekräftar jag installationen?
När projektet har skapats visas den anpassade åtgärden för att skicka i listrutan
Submit action
när du redigerar ett formulär.
Miljön är nu klar att använda den nya anpassade skicka-åtgärden när du redigerar ett formulär.
-
Förhandsgranska ett anpassat formulär med en nyligen tillagd åtgärd för att skicka
-
Logga in på din AEM Forms as a Cloud Service-instans.
-
Gå till Forms > Forms och dokument.
-
Markera ett anpassat formulär och klicka på Redigera. Formuläret öppnas i redigeringsläge.
-
Öppna innehållsläsaren och markera komponenten Guide Container i det adaptiva formuläret.
-
Klicka på ikonen för egenskaper för stödlinjebehållaren
-
Klicka på fliken Submission.
-
Välj åtgärden Skicka i listrutan Submit Action. Välj till exempel åtgärden Skicka som
Custom Submit Action
. -
Fyll i formuläret och skicka det.
När formuläret har skickats kan du kontrollera Adobe Experience Manager Web Console-konfigurationen för att verifiera åtgärden för den anpassade skicka-åtgärden i den lokala utvecklingsmiljön.
-
Gå till
http://<host>:<port>/system/console/configMgr
. -
Gå till Adobe Experience Manager Web Console Log Support på
http://<host>:<port>/system/console/slinglog
. -
Klicka på alternativet
logs/error.log
.
-
Öppna filen
error.log
för att se att data har lagts till i den.note note NOTE Om du vill visa felloggar i AEM as a Cloud Service-miljön kan du använda Splunk.
Relaterade artiklar
- Skicka e-post
- Skicka till SharePoint Document Library
- Skicka till SharePoint List
- Skicka med formulärdatamodell
- Skicka till Azure Blob Storage
- Skicka till REST-slutpunkt
- Skicka till OneDrive
- Starta ett AEM-arbetsflöde
- Skicka till Power Automate
- Skicka till Workfront Fusion
- Ansluta anpassat formulär till Salesforce
- Ansluta ett adaptivt formulär till Microsoft
- Ansluta ett adaptivt formulär till Adobe Marketo Engage
- Skapa anpassad skickaåtgärd