Inserimento di un allegato modulo nel database

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

Crea una tabella di database per contenere i dati del modulo e l'allegato

È 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
table-schema

Crea modello dati modulo

È stato creato un modello dati modulo per comunicare con il database MySQL. Dovrai creare i seguenti elementi

Crea flusso di lavoro

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.
insert-pic
Il flusso di lavoro completo con lo script ECMA di esempio può essere scaricato da qui.

NOTA

Dovrai creare un nuovo modello dati modulo basato su JDBC e utilizzare tale modello dati modulo nel flusso di lavoro

Creare un modulo adattivo

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
allegati modulo

In questa pagina