In questo articolo verrà illustrato il caso d'uso relativo all'archiviazione di allegati di moduli nel database MySQL.
I clienti chiedono spesso di memorizzare i dati dei moduli acquisiti e l’allegato del modulo in una tabella di database.
Per eseguire questo caso d’uso sono stati seguiti i seguenti passaggi
È stata creata una tabella denominata newhire che contiene i dati del modulo. Osserva l’immagine del nome della colonna di tipo LONGBLOB per memorizzare l'allegato del modulo
È stato creato un modello dati modulo per comunicare con il database MySQL. Dovrai creare i seguenti elementi
Se si configura il modulo adattivo per l’invio a un flusso di lavoro AEM, è possibile salvare gli allegati del modulo in una variabile del flusso di lavoro o salvarli in una cartella specificata sotto il payload. Per questo caso d’uso, è necessario salvare gli allegati in una variabile di flusso di lavoro di tipo ArrayList of Document. Da questo ArrayList è necessario estrarre il primo elemento e inizializzare una variabile di documento. Le variabili del flusso di lavoro denominate listOfDocuments e employeePhoto sono stati creati.
Quando il modulo adattivo viene inviato per attivare il flusso di lavoro, un passaggio nel flusso di lavoro inizializza la variabile employeePhoto utilizzando lo script ECMA. Di seguito è riportato il codice di script ECMA
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");
Il passaggio successivo nel flusso di lavoro consiste nell’inserire i dati e l’allegato del modulo nella tabella utilizzando il componente del servizio Richiama modello dati modulo.
Il flusso di lavoro completo con lo script ECMA di esempio può essere scaricato da qui.
Dovrai creare un nuovo modello dati modulo basato su JDBC e utilizzare tale modello dati modulo nel flusso di lavoro
Crea il modulo adattivo in base al modello dati del modulo creato nel passaggio precedente. Trascina e rilascia gli elementi del modello di dati del modulo nel modulo. Configura l’invio del modulo per attivare il flusso di lavoro e specifica le seguenti proprietà come mostrato nella schermata seguente