Guida alla stilizzazione delle applicazioni

Da cosa dipende l'aspetto grafico delle applicazioni generate da guigen?

L'aspetto grafico delle applicazioni web generate con la cartuccia struts2Basic di guigen dipende da due fattori:

  1. la cartuccia di generazione utilizzata (ovvero il portale target)
  2. le risorse grafiche di stilizzazione (skin CSS)

Cartuccia struts2Basic e portali target

Nell' ambito della cartuccia di generazione struts2Basic esiste la possibilità di specificare il portale target, tramite un parametro (portalName) della cartuccia stessa. Questa possibilità deriva dalla necessità di adattare il codice html generato agli standard del particolare portale. Al momento sono previsti i seguenti portali target:

In aggiunta a queste modalità che permettono di adeguarsi ad alcuni dei portali 'storici' dei clienti del CSI, esiste una nuova modalità, denominata 'neutral', non legata a nessun particolare portale, ma basata su una struttura di codice xhtml molto flessibile ed utilizzabile per riprodurre differenti strutture grafiche con l'ausilio di appositi skin CSS. La modalità neutral, a sua volta si presenta sotto due differenti forme che differiscono per lo schema di referenziazione delle risorse grafiche e che necessitano, dunque, di differenti skin CSS:
  1. una modalità con schema di referenziazione delle risorse grafiche nuova
  2. una modalità con schema di referenziazione delle risorse grafiche vecchia (mantenuta per retrocompatibilità finccè non saranno convertiti tutti gli skin nella nuova modalità)
La scelta della modalità da utilizzare si effettua mediante il parametro staticResourcesSchemaVersion che può valere M1 per la vecchia modalità ed M2 per la nuova modalità.

modalità locale vs remote

Per alcuni portali è le risorse statiche sono mantenute globalmente sul web-server e alcuni frammenti di pagina (header di portale, footer di portale, header di applicativo) devono essere reperiti dall'applicativo con il meccanismo della remote include, mediante il quale la componente installata sull'application server reperisce tali frammenti facendo una chiamata server-to-server verso il resource provider, ovvero lo stesso apache che fornisce le risorse statiche.

L'impostazione della modalità da utilizzare deve essere effettuata secondo quanto descritto nel manuale della cartuccia struts2Basic.

Quale target portal utilizzare?

La linea strategica a tendere è quella di abbandonare gradualmente i target portal legacy in favore della modalità neutral stilizzata con gli skin che permettono di riprodurre il tema grafico dei vari portali.

La logica di scelta del portale target (e quindi l'impostazione dell' opportuno parametro portalName nella cartuccia di generazione) è mostrato in figura:

scelta target portal

Struttura delle risorse statiche in modalità neutral/M2

La struttura (alberatura) delle risorse statiche in modalità neutral/M2 è quella riportata in figura.

alberatura risorse statiche

Le risorse contenute in ris/images e ris/utheme/global sono gestite centralmente, mentre l'unica cartella relativa al singolo progetto si trova nell percorso ris/utheme/<nome_canale>/<nome_applicativo;>.

Nella modalità neutral/M2/remota tale cartella deve essere installata (copiata) sul web server unitamente all'installazione dell'applicazione J2EE nell'application server

Di fatto è necessario creare manualmente le risorse statiche. Le risorse necessarie sono le seguenti:

risorsadescrizioneposizione sul webservernote
css di applicazione file CSS che contiene le stilizzazioni specifiche dell'applicativo. Tra le stilizzazioni specifiche di applicativo rientrano anche ad esempio la stilizzazione dell'header di applicazione (ad esempio per apporre una immagine sul banner dell'applcativo) /ris/utheme/[cod_canale]/[cod_applicativo]/css/[cod_applicativo].css il file è opzionale e deve essere creato a carico del progetto. E' consigliabile comunque creare almeno il file vuoto perchè il browser lo cerca comunque
header di applicazione file contenente un frammento di codice HTML che contiene il markup dell'header di applicazione, dove tipicamente viene inserito il nome dell'applicazione, e un eventuale banner grafico. /ris/utheme/[cod_canale]/[cod_applicativo]/include/application_header.html il file è obbligatorio e deve essere creato a carico del progetto. Un esempio di codice è il seguente:
	  	<div id="applicationHeader">
			<h2>Mio Applicativo</h2>
		</div>
	  
static links file contenente un frammento di codice HTML che contiene il markup degli "static links" dell'applicazione (tipicamente i link di help on line e contatti). /ris/utheme/[cod_canale]/[cod_applicativo]/include/static_links.html il file è obbligatorio e deve essere creato a carico del progetto. Un esempio di codice è il seguente:
	  	<li>
			<a href="/ris/utheme/[cod_canale]/[cod_appl]/help.html" class="aprihelp">
					help
			</a>
		</li>
		<li>
			<a href="/ris/utheme/[cod_canale]/[cod_appl]/contatti.html" class="apricontatti">
					contatti
			</a>
			</li>
		<li>
			<a href="/ris/utheme/[cod_canale]/[cod_appl]/popup.html" class="apri">
					nuova finestra
			</a>
		</li>
	  
(La presenza delle classi "apri","apriHelp","apriContatti" permette, grazie ad un arricchimento standard presente in tutti gli skin, l'apertura del link corrispondente in una finestra/popup separata, come previsto dagli standard).
immagini di applicazione immagini specifiche dell'applicazione (es. immagine del banner di applicazione, icone aggiuntive, ...) /ris/utheme/[cod_canale]/[cod_applicativo]/css/im/... la cartella e i relativi files sono opzionali e devono essere creati a carico del progetto.
altri file eventuali altri file necessari per l'applicazione /ris/utheme/[cod_canale]/[cod_applicativo]/... eventuali altri file possono essere liberamente collocati nella cartella relativa all'applicazione o in eventuali sottocartelle specifiche (es. file di help, file di contatti, ...)