Einfügen von Formularanlagen in eine Datenbank

In diesem Artikel wird der Anwendungsfall zum Speichern von Formularanlagen in der MySQL-Datenbank erläutert.

Eine gängige Anforderung der Kundschaft besteht darin, erfasste Formulardaten und die Formularanlage in einer Datenbanktabelle zu speichern.
Um diesen Anwendungsfall zu realisieren, wurden die folgenden Schritte durchgeführt:

Erstellen einer Datenbanktabelle für die Formulardaten und -anlagen

Eine Tabelle mit dem Namen „newhire“ wurde erstellt, um die Formulardaten zu speichern. Beachten Sie den Spaltennamen Bild des Typs LONGBLOB zur Speicherung der Formularanlage
table-schema

Erstellen von Formulardatenmodellen

Es wurde ein Formulardatenmodell zur Kommunikation mit der MySQL-Datenbank erstellt. Sie müssen Folgendes erstellen:

Erstellen eines Workflows

Wenn Sie Ihr adaptives Formular für die Übermittlung an einen AEM-Workflow konfigurieren möchten, können Sie die Formularanhänge in einer Workflow-Variablen speichern oder die Anlagen in einem angegebenen Ordner unter dem Payload speichern. Für diesen Anwendungsfall müssen wir die Anlagen in einer Workflow-Variablen des Typs „ArrayList of Document“ speichern. Aus dieser ArrayList müssen wir das erste Element extrahieren und eine Dokumentvariable initialisieren. Die Workflow-Variablen namens listOfDocuments und employeePhoto wurden erstellt.
Wenn das adaptive Formular zur Auslösung des Workflows übermittelt wird, initialisiert ein Schritt im Workflow die Variable „employeePhoto“ mithilfe des ECMA-Skripts. Im Folgenden finden Sie den ECMA-Skript-Code:

log.info("executing script now...");
var metaDataMap = graniteWorkItem.getWorkflow().getWorkflowData().getMetaDataMap();
var listOfAttachments = [];
// Make sure you have a workflow variable caled listOfDocuments defined
listOfAttachments = metaDataMap.get("listOfDocuments");
log.info("$$$  got listOfAttachments");
//Make sure you have a workflow variable caled employeePhoto defined
var employeePhoto = listOfAttachments[0];
metaDataMap.put("employeePhoto", employeePhoto);
log.info("Employee Photo updated");

Der nächste Schritt im Workflow besteht darin, Daten und den Formularanhang mithilfe von „Formulardatenmodell-Dienstkomponente aufrufen“ in die Tabelle einzufügen.
insert-pic
Der vollständige Workflow mit dem Beispiel-ECMA-Skript kann hier heruntergeladen werden..

NOTE
Sie müssen ein neues JDBC-basiertes Formulardatenmodell erstellen und dieses Formulardatenmodell im Workflow verwenden.

Erstellen eines adaptiven Formulars

Erstellen Sie Ihr adaptives Formular basierend auf dem Formulardatenmodell, das Sie im vorherigen Schritt erstellt haben. Ziehen Sie die Elemente des Formulardatenmodells per Drag-and-Drop in das Formular. Konfigurieren Sie die Übermittlung des Formulars, um den Workflow auszulösen, und geben Sie die folgenden Eigenschaften an, wie im folgenden Screenshot dargestellt:
form-attachments

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e