Erstellen einer benutzerdefinierten Übermittlungsaktion für adaptive Forms (Kernkomponenten)
Mit einer Übermittlungsaktion können Benutzer das Ziel für die in einem Formular erfassten Daten auswählen und zusätzliche Funktionen definieren, die bei der Formularübermittlung ausgeführt werden sollen. AEM-Formular unterstützt mehrere Übermittlungsaktionen (OOTB),. B. das Senden einer E-Mail oder das Speichern von Daten an SharePoint oder OneDrive.
Sie können auch eine benutzerdefinierte Übermittlungsaktion erstellen, um Funktionen hinzuzufügen, die nicht in den vordefinierten Optionen“ enthalten. Integrieren Sie beispielsweise die Formulardaten in eine Drittanbieteranwendung oder einen Trigger in einer personalisierten SMS-Benachrichtigung, die auf Benutzereingaben basiert.
Voraussetzungen
Bevor Sie mit der Erstellung Ihrer ersten benutzerdefinierten Übermittlungsaktion für adaptive Forms beginnen, stellen Sie sicher, dass Sie über Folgendes verfügen:
-
Nur-Text-Editor (IDE): Zwar kann jeder einfache Nur-Text-Editor verwendet werden, aber eine integrierte Entwicklungsumgebung (IDE) wie Microsoft Visual Studio Code bietet erweiterte Funktionen für eine einfachere Bearbeitung.
-
Git: Dieses Versionskontrollsystem ist für die Verwaltung von Code-Änderungen erforderlich. Wenn Sie nicht über das Programm verfügen, laden Sie es von https://git-scm.com herunter.
Erstellen der ersten benutzerdefinierten Sende-Aktion für das Formular
Das folgende Diagramm zeigt die Schritte zum Erstellen einer benutzerdefinierten Übermittlungsaktion für ein adaptives Formular:
Klonen Sie das AEM as a Cloud Service-Git-Repository.
-
Öffnen Sie die Befehlszeile und wählen Sie einen Ordner zum Speichern des AEM as a Cloud Service-Repositorys aus, z. B.
/cloud-service-repository/
. -
Führen Sie den folgenden Befehl aus, um das Repository zu klonen:
code language-none git clone https://git.cloudmanager.adobe.com/<organization-name>/<app-id>/
Wo finden Sie diese Informationen?
Eine schrittweise Anleitung zum Auffinden dieser Details finden Sie im Adobe Experience League-Artikel Zugriff auf Git.
Ihr Projekt ist bereit.
Wenn der Befehl erfolgreich abgeschlossen wurde, wird in Ihrem lokalen Verzeichnis ein neuer Ordner erstellt. Dieser Ordner wird nach Ihrem Programm benannt (z. B. app-id). Dieser Ordner enthält alle Dateien und den Code, die Sie aus Ihrem AEM as a Cloud Service-Git-Repository heruntergeladen haben. Sie finden
<appid>
für Ihr AEM-Projekt in der Dateiarchetype.properties
.In diesem Handbuch wird dieser Ordner als
[AEMaaCS project directory]
bezeichnet.
Neue Übermittlungsaktion hinzufügen
-
Öffnen Sie den Repository-Ordner in einem Editor.
-
Navigieren Sie in Ihrem
[AEMaaCS project directory]
zum folgenden Verzeichnis:code language-none /ui.apps/src/main/content/jcr_root/apps/<app-id>/
Wichtig: Ersetzen Sie
<app-id>
durch Ihre tatsächliche Anwendungs-ID. -
Erstellen Sie einen neuen Ordner für Ihre benutzerdefinierte Übermittlungsaktion und geben Sie ihr einen Namen Ihrer Wahl. Benennen Sie beispielsweise den Ordner als
customsubmitaction
. -
Navigieren Sie zum hinzugefügten Verzeichnis für benutzerdefinierte Übermittlungsaktionen .
Navigieren Sie innerhalb Ihres
[AEMaaCS project directory]
zu folgendem Pfad:/ui.apps/src/main/content/jcr_root/apps/<app-id>/customsubmitaction/
Important
: ersetzen <app-id> mit Ihrer tatsächlichen Anwendungs-ID. -
Erstellen Sie eine neue Konfigurationsdatei.
Erstellen Sie im Ordnercustomsubmitaction
eine neue Datei mit dem Namen.content.xml
. -
Öffnen Sie diese Datei und fügen Sie den folgenden Inhalt ein. Ersetzen Sie dabei
[customsubmitaction]
durch den Namen Ihrer Übermittlungsaktioncode 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]"/>
Ersetzen Sie zum Beispiel den
[customsubmitaction]
mit dem benutzerdefinierten Namen der Übermittlungsaktion wieCustom Submit Action
.note note NOTE Merken Sie sich den Namen der [customSubmitAction], da derselbe Name beim Erstellen eines Formulars in der Submit action
Dropdown-Liste angezeigt wird.
Fügen Sie den neuen Ordner infilter.xml
ein
-
Navigieren Sie zur Datei
/ui.apps/src/main/content/META-INF/vault/filter.xml
in Ihrem [AEMaaCS-Projektverzeichnis]. -
Öffnen Sie die Datei und fügen Sie die folgende Zeile am Ende ein:
code language-none <filter root="/apps/<app-id>/[customsubmitaction-folder]"/>
Fügen Sie beispielsweise die folgende Codezeile hinzu, um den
customsubmitaction
Ordner in derfilter.xml
-Datei hinzuzufügen:code language-none <filter root="/apps/wknd/customsubmitaction"/>
-
Speichern Sie die Änderungen.
Implementieren Sie den Service für die hinzugefügte Übermittlungsaktion.
-
Navigieren Sie in Ihrem
[AEMaaCS project directory]
zum folgenden Verzeichnis:/core/src/main/java/com/<app-id>/core/service/
Important
: ersetzen <app-id> mit Ihrer tatsächlichen Anwendungs-ID. -
Erstellen Sie eine neue Java-Datei, um den Service für die hinzugefügte Übermittlungsaktion zu implementieren. Fügen Sie beispielsweise eine neue Java-Datei als
CustomSubmitService.java
hinzu. -
Öffnen Sie diese Datei und fügen Sie den Code für Ihre benutzerdefinierte Übermittlungsaktionsimplementierung hinzu.
Der folgende Java-Code ist beispielsweise ein OSGi-Dienst, der die Formularübermittlung verarbeitet, indem er die übermittelten Daten protokolliert und einen
OK
zurückgibt. Fügen Sie den folgenden Code in dieCustomSubmitService.java
-Datei ein: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; } }
-
Speichern Sie die Änderungen.
Stellen Sie den Code bereit.
Bereitstellen von Code für eine lokale Entwicklungsumgebung
-
Stellen Sie die AEM as a Cloud Service
[AEMaaCS project directory]
in Ihrer lokalen Entwicklungsumgebung bereit, um die neue Übermittlungsaktion auf Ihrem lokalen Computer auszuprobieren. Für die Bereitstellung in Ihrer lokalen Entwicklungsumgebung:-
Stellen Sie sicher, dass Ihre lokale Entwicklungsumgebung betriebsbereit ist. Wenn Sie noch keine lokale Entwicklungsumgebung eingerichtet haben, lesen Sie das Handbuch unter Einrichten einer lokalen Entwicklungsumgebung für AEM Forms.
-
Öffnen Sie das Terminal-Fenster oder eine Eingabeaufforderung.
-
Navigieren Sie zum
[AEMaaCS project directory]
. -
Führen Sie den folgenden Befehl aus:
code language-none mvn -PautoInstallPackage clean install
-
Stellen Sie den Code für die Cloud Service-Umgebung bereit
-
Stellen Sie die AEM as a Cloud Service
[AEMaaCS project directory]
in Ihrer Cloud Service-Umgebung bereit. So stellen Sie es in Ihrer Cloud Service-Umgebung bereit:-
Übergeben Sie Ihre Änderungen:
Nachdem Sie die neue benutzerdefinierte Konfiguration der Übermittlungsaktion hinzugefügt haben, übertragen Sie Ihre Änderungen mit einer klaren Git-Nachricht. (Beispiel: „Neue benutzerdefinierte Übermittlungsaktion hinzugefügt„).
-
Stellen Sie den aktualisierten Code bereit:
Lösen Sie eine Bereitstellung Ihres Codes durch die vorhandene Full-Stack-Pipeline aus. Der aktualisierte Code wird automatisch mit der neuen Unterstützung für benutzerdefinierte Übermittlungsaktionen erstellt und bereitgestellt.
Wenn Sie noch keine Pipeline eingerichtet haben, lesen Sie das Handbuch zur Einrichtung einer Pipeline für AEM Forms as a Cloud Service.
Wie kann ich die Installation bestätigen?
Nachdem das Projekt erfolgreich erstellt wurde, wird die benutzerdefinierte Übermittlungsaktion beim Erstellen eines Formulars in der Dropdown-Liste
Submit action
angezeigt.
Ihre Umgebung kann jetzt beim Erstellen eines Formulars die hinzugefügte benutzerdefinierte Übermittlungsaktion verwenden.
-
Vorschau eines adaptiven Formulars mit neu hinzugefügter Übermittlungsaktion
-
Melden Sie sich bei Ihrer AEM Forms as a Cloud Service-Instanz an.
-
Gehen Sie zu Formulare > Formulare und Dokumente.
-
Wählen Sie ein adaptives Formular aus und klicken Sie auf Bearbeiten. Das Formular wird im Bearbeitungsmodus geöffnet.
-
Öffnen Sie den Inhalts-Browser und wählen Sie die Guide-Container-Komponente Ihres adaptiven Formulars aus.
-
Klicken Sie auf das Symbol für die Guide-Container-Eigenschaften
-
Klicken Sie auf die Registerkarte Übermittlung.
-
Wählen Sie in Dropdown-Liste Übermittlungsaktion“ die Übermittlungsaktion aus. Wählen Sie beispielsweise die Übermittlungsaktion wie
Custom Submit Action
aus. -
Füllen Sie das Formular aus und senden Sie es ab.
Nachdem das Formular erfolgreich übermittelt wurde, können Sie die Konfiguration der Adobe Experience Manager-Web-Konsole überprüfen, um die Aktion der benutzerdefinierten Übermittlungsaktion in der lokalen Entwicklungsumgebung zu überprüfen.
-
Rufen Sie
http://<host>:<port>/system/console/configMgr
auf. -
Navigieren Sie zur Protokollunterstützung für die Adobe Experience Manager Web Console unter
http://<host>:<port>/system/console/slinglog
. -
Klicken Sie auf die Option
logs/error.log
.
-
Öffnen Sie die
error.log
Datei , um zu sehen, dass die Daten angehängt wurden.note note NOTE Um Fehlerprotokolle in der AEM as a Cloud Service-Umgebung anzuzeigen, können Sie Splunk verwenden.
Verwandte Artikel
- E-Mail senden
- Übermitteln an eine SharePoint-Dokumentbibliothek
- Übermitteln an eine SharePoint-Liste
- Mit Formulardatenmodell senden
- An Azure Blob Storage senden
- An REST-Endpunkt senden
- An OneDrive senden
- AEM-Workflow aufrufen
- An Power Automate senden
- An Workfront Fusion senden
- Verbinden eines adaptiven Formulars mit einer Salesforce-Anwendung
- Verbinden eines adaptiven Formulars mit Microsoft
- Verbinden eines adaptiven Formulars mit Adobe Marketo Engage
- Erstellen einer benutzerdefinierten Sendeaktion