Home   |   Archivio   |   Chi siamo   |   Contatti
Matteo Baccan
Lotus Domino e Java
Le form - III parte
di
Matteo Baccan
Terza e conclusiva parte sulle form di Lotus Domino. Si analizza il controllo dei dati inseriti, il condizionamento della fase di salvataggio tramite il campo SaveOptions e l'invio di email utilizzando le classi Notes

In questa puntata si conclude la parte relativa al trattamento delle form, si analizza il condizionamento della fase di salvataggio dati e si vede come sia possibile mandare una semplice email utilizzando le sole classi Notes di creazione di documenti.

Introduzione

A questo punto dovrebbe essere chiaro come si compone una form Notes, come è possibile porre dei valori di default e come sia possibile aggiungere, alla fase di salvataggio, una schermata di conferma dei dati inseriti.

Gli argomenti trattati in questa puntata sono relativi alla fase di controllo dei dati inseriti.

Si vedrà come è possibile rimandare l'utente alla maschera di inserimento dati in caso d'errore, inoltre come possano convivere codice Java, JavaScript e LotusScript all'interno della stessa maschera. Infine, tramite una semplice form, viene spedito un messaggio di posta elettronica.

Campi speciali

L'esempio preso in considerazione si basa su una form Notes contenente i seguenti campi: Nome, Cognome, Citta, Indirizzo ed email.

In questa form è anche presente un SaveAgent, inserito tramite la proprietà WebQuerySave, utilizzando la seguente riga di LotusScript:

@Command([ToolsRunMacro]; "testQuerySaveAgent3")

Tale script serve ad indicare che, al salvataggio della maschera, deve essere chiamato l'agente di nome testQuerySaveAgent3.

Quello che si ottiene è un oggetto utilizzabile tramite un normale browser, ma non ancora condizionabile nella fase di salvataggio dati. Non esiste infatti nessuna direttiva in grado di evitare che quanto viene scritto venga salvato su disco.

All'interno di Notes, come già visto, esistono una serie di campi definiti speciali. Tali campi hanno la caratteristica di poter condizionare il normale comportamento del programma.

Per questa casistica è stato creato il campo SaveOptions, che, se creato di tipo computed ed impostato a 0, evita che il dato inserito lato Internet venga salvato all'interno del database Notes.

In questo modo sarà possibile, da parte di un agente WebQuerySave, decidere se salvare i dati oppure no.

Controlliamo i dati inseriti

L'articolo passa poi a scrivere i controlli necessari per verificare che, nei campi inseriti nella maschera di richiesta dati, siano effettivamente contenuti valori corretti.

All'interno di un agente è possibile accedere ai valori dei campi di una form semplicemente utilizzando il metodo getDocumentContext:

Document doc = agentContext.getDocumentContext();

In questo modo, tramite il metodo getItemValueString, è possibile prendere il valore di un campo e controllare se contiene i valori giusti. Nel caso mostrato nell'articolo l'obiettivo è verificare se i campi Nome, Cognome ed email contengono un valore valido.

Conclusioni

Questa puntata chiude la sezione dedicata alle form mostrando come da semplici maschere di input si possa arrivare a veri punti di controllo del flusso applicativo: validazione, blocco del salvataggio, riinvio alla form e perfino invio di email.

Il messaggio chiave è che Lotus Domino, combinato con Java e con i meccanismi speciali di Notes, consente un livello di controllo sul comportamento web delle form molto più ricco di quanto possa sembrare a una prima lettura.

MokaByte® è un marchio registrato da MokaByte s.r.l. 
Java®, Jini® e tutti i nomi derivati sono marchi registrati da Sun Microsystems.
Tutti i diritti riservati. E' vietata la riproduzione anche parziale.
Per comunicazioni inviare una mail a info@mokabyte.it