Do It The jAPS Way
Copyright © 2010 Tzente S.r.l.
Legal Notice
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the Appendix entitled "GNU Free Documentation License".
2011-02-14
| Revision History | ||
|---|---|---|
| Revision 1.8 | 2011-02-11 | MEM |
Adattamento per la versione di jAPS 2.0 entando versione 2.2.0 | ||
| Revision 1.7 | 2010-04-1 | MEM |
Cambiamento dell'ordine dei capitoli | ||
| Revision 1.6 | 2010-03-16 | EM |
Terza versione pubblica, aggiornata alla versione del plugin 1.2 | ||
| Revision 1.5 | 2009-07-30 | EM |
Seconda versione pubblica, aggiornata alla versione del plugin 1.1 | ||
| Revision 1.4 | 2009-06-16 | EM |
Prima versione pubblica | ||
| Revision 1.3 | 2009-05-04 | EM |
Seconda versione interna | ||
| Revision 1.2 | 2009-04-09 | EM |
Prima versione interna | ||
Abstract
Lo scopo di questo documento è quello di fornire una descrizione completa della struttura del Plugin Mail.
Table of Contents
List of Tables
Table of Contents
Lo scopo di questo documento è quello di fornire una descrizione completa della struttura del Plugin Mail.
Questo documento è destinato a chi intende conoscere le funzionalità del jAPS Plugin Mail,
e sta prendendo in considerazione la eventuale integrazione in un Ambiente di Produzione già funzionante
o nel proprio Ambiente di Sviluppo (Progetto in IDE Eclipse).
Il documento è indirizzato sia a Sistemisti (responsabili di installazioni di Applicazioni su base jAPS 2.0) che a Java Developers (con una conoscenza base del Framework jAPS 2.0 entando).
Per poter utilizzare efficacemente le informazioni contenute in questo documento, occorre un po' di esperienza su alcune tecnologie del web base: la piattaforma Java, gli strumenti di sviluppo Eclipse, il servlet engine Apache Tomcat, il database PostgreSQL, e del Framework jAPS 2.0. E' inoltre necessario aver letto il documento jAPS 2.0 - Plugin Pattern.
Ulteriori informazioni possono essere richieste attraverso la mailing list ufficiale Google Group "japs-platform".
Per mandare un messaggio ai membri della lista, invia una mail a <japs-platform@googlegroups.com>.
È inoltre possibile consultare la documentazione presente in:
Table of Contents
Il Plugin Mail fornisce le funzionalità di base per l'invio di eMail in testo semplice e/o html,
con o senza allegati. Tale servizio è la base per tutti i plugin che richiedono l'invio di eMail.
Il plugin è strutturato in maniera da essere inserito in una istanza di jAPS senza intaccarne il core.
Table 2.1. Riassunto delle caratteristiche
| Codice | Nome | Tipo | Versione del Plugin | Versione di jAPS 2.0 entando |
|---|---|---|---|---|
| jpmail | PurePlugin | 1.3 | 2.2.0 - | |
| jpmail | PurePlugin | 1.2 | 2.0.10 | |
| jpmail | PurePlugin | 1.1 | 2.0.6 - 2.0.8 | |
| jpmail | PurePlugin | 1.0 | 2.0.2 |
Il Plugin Mail fornisce la funzionalità di invio eMail da uno dei mittenti configurati nel servizio.
Lo scopo principale del plugin è fornire delle funzioni generali a servizio di implementazioni particolari; le funzionalità esposte sono a servizio esclusivo di altri moduli plugin che necessitano, per il loro funzionamento, della spedizione di eMail; es: moduli di Registrazione Utenti, Moduli Newsletter, ecc.
Le interfacce esposte dal servizio consentono la personalizzazione, da parte dei Plugin utilizzatori, dei seguenti campi della mail:
mittente (uno tra i mittenti configurati nel servizio)
oggetto
testo
destinatario (anche in CC e BCC)
contenuto (in testo semplice, html o misto, con o senza allegati)
Il modulo presenta una interfaccia del Back-End tramite la quale un utente superuser può configurare il servizio.
Tale interfaccia aderisce perfettamente alla grafica ed impostazione del Back-End ed è accessibile attraverso una voce del menù Plugins.
Tale interfaccia consente di configurare, separatamente, il server smtp e i gli indirizzi dei mittenti del sistema.
Il plugin fornisce una interfaccia di Back-End, accessibile dalla voce di menù Plugin, sottomenù Gestione eMail.
La voce di menù presenta due sottomenù, uno che conduce all'interfaccia per la configurazione del server Smtp, un altro che conduce all'interfaccia per la configurazione dei mittenti delle mail.
Table of Contents
Il plugin ha la caratteristica di PurePlugin, la sua installazione non modifica nessuna funzionalità presente nel sistema.
Il pacchetto del Plugin contiene l'insieme delle directory
(directory
doc
ed
src
più il file
Readme
)
definite nel documento di descrizione generale chiamato
jAPS2.0 - Plugin Pattern
.
In particolare, la directory
src
è strutturata come di seguito descritto:
Directory
java. Contiene le sorgenti java complete e i test jUnit del Plugin.Directory
sql. Contiene gli script da eseguire nei dbPorteServprincipali e di test.Directory
webapp. La directory contiene tutti i file necessari alla webapp. In particolare, la directory contiene i file (jsp) relativi alla interfacce utente ed i file di configurazione delle stesse, i file di definizione dei bean a servizio (sia del layer di Business del Modello di jAPS 2.0, che nelle action di Struts 2 relative al Layer di Presentation), le librerie (compresa la libreria ricavata dalle sorgenti java date in dotazione), le risorse statiche necessarie (css, immagini, e js).
Di seguito individueremo con
mioportale
il nome della Web Application in ambiente di produzione in cui
installeremo il plugin.
Per eseguire l'installazione in una applicazione Web in produzione basata sulla versione di jAPS 2.0 entando dichiarata compatibile con il plugin, i passi da eseguire sono i seguenti:
Note
Le precedenti attività sono da eseguire nell'applicazione a freddo , successivamente all'arresto del container.
Copiare il contenuto della directory
src/webapp/WEB-INF/libdel pacchetto dato in dotazione, all'interno della directoryin produzione.mioportale/WEB-INF/lib/Copiare il contenuto della directory
src/webapp/WEB-INF/pluginsdel pacchetto dato in dotazione, all'interno della directoryin produzione. Creare la directory plugins se non è presente.mioportale/WEB-INF/plugins/Copiare il contenuto della directory
src/webapp/resources/pluginsdel pacchetto dato in dotazione, all'interno della directoryin produzione.mioportale/resources/plugins/Eseguire i task contenuti nel file
portScript.sql(contenuto nella directorysrc/sqldel pacchetto dato in dotazione) nel dbportin produzione.Lo script è strutturato ipotizzando il version
production(variare se il version dell'ambiente di produzione è diverso). Modificare la configurazione del server smtp e degli indirizzi dei mittenti secondo le necessità.
Di seguito individueremo con
mioprogetto
il nome del progetto Eclipse in cui installeremo il plugin.
Per eseguire l'installazione in un progetto Eclipse basato sulla versione di jAPS 2.0 entando dichiarata compatibile con il plugin, i passi da eseguire sono i seguenti:
Copiare il contenuto della directory
src/webapp/WEB-INF/libdel pacchetto dato in dotazione, all'interno della directory, con l'esclusione del filemioprogetto/WebContent/WEB-INF/lib/jAPSPlugin-jpmail-1.1.jar.Copiare il contenuto della directory
src/webapp/WEB-INF/pluginsdel pacchetto dato in dotazione, all'interno della directory. Creare la directory plugins se non è presente.mioprogetto/WebContent/WEB-INF/plugins/Copiare il contenuto della directory
src/webapp/resources/pluginsdel pacchetto dato in dotazione, all'interno della directory.mioprogetto/WebContent/resources/plugins/Eseguire i task contenuti nel file
portScript.sql(contenuto nella directorysrc/sqldel pacchetto dato in dotazione) nel proprio dbport. Lo script è strutturato ipotizzando il versionproduction(variare se il version dell'ambiente di produzione è diverso). Modificare la configurazione del server smtp e degli indirizzi dei mittenti secondo le necessità.Eseguire i task contenuti nel file
portTestScript.sql(contenuto nella directorysrc/sqldel pacchetto dato in dotazione) nel proprio dbportdi test.Copiare il contenuto della directory
src/java/main/comnella directorydel proprio progetto.mioprogetto/src/comCopiare il contenuto della directory
src/java/test/testnella directorydel proprio progetto.mioprogetto/src/testCopiare nella directory
del proprio progetto il file contenuto della directorymioprogetto/src/src/java/maindi nomejpmail_japs-struts-plugin.xml. Nel caso che nella directorysrcdel progetto Eclipse sia già presente un file di nomejaps-struts-plugin.xml, copiare il contenuto del tag <struts> del filejpmail_japs-struts-plugin.xmlall'interno del filejaps-struts-plugin.xmlesistente e cancellare il filejpmail_japs-struts-plugin.xml. Nel caso che nella directorysrcdel progetto Eclipse non sia presente un file di nomejaps-struts-plugin.xml, rinominare il filejpmail_japs-struts-plugin.xmlinjaps-struts-plugin.xml.Per verificare il corretto invio delle mail nei test di jUnit, modificare la costante MAIL_ADDRESSES della classe
JpmailTestHelper.javanel packagetest.com.agiletec.plugins.jpmail.util.
Una volta eseguiti i passi sopra descritti, far partire il progetto da Eclipse e verificare la presenza della voce specifica voce di menù nell'area di amministrazione del progetto.
Table of Contents
Il plugin necessita di una configurazione XML iniziale, inserita nel db Port
dell'istanza di jAPS 2.0, dove sono inseriti tutti i parametri sistemistici (host,
username, password etc) il flag per il debug e una serie di mittenti individuati da un
codice univoco.
È preferibile modificare i parametri di default direttamente dall'interfaccia di anministrazione.
Di seguito un esempio della configurazione necessaria:
<mailConfig>
<senders>
<sender code="CODE1">EMAIL1@EMAIL.COM</sender>
<sender code="CODE2">EMAIL2@EMAIL.COM</sender>
</senders>
<smtp debug="true" >
<host>out.virgilio.it</host>
<user></user>
<password></password>
<security>tls</security> <!-- tls, ssl, std (l'ultima per l'smtp standard)-->
</smtp>
</mailConfig>
Tutti questi elementi sono obbligatori tranne l'attributo
debug
che, nel caso non sia presente, varrà impostato a false.
