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
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.
Der vollständige Workflow mit dem Beispiel-ECMA-Skript kann hier heruntergeladen werden..
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: