websphere portal & user experience

38
WebSphere Portal e WCM WebSphere Portal e WCM gestire siti web aderendo alle linee gestire siti web aderendo alle linee guida SEO per migliorare il ranking guida SEO per migliorare il ranking dei siti, e l'user experience dei siti, e l'user experience Andrea Fontana Andrea Fontana Mail: [email protected] Mail: [email protected]

Upload: andrea-fontana

Post on 25-May-2015

196 views

Category:

Documents


4 download

DESCRIPTION

WebSphere Portal e WCM gestire siti web aderendo alle lineeguida SEO per migliorare il ranking dei siti, e la user experience

TRANSCRIPT

Page 1: WebSphere Portal & User Experience

WebSphere Portal e WCMWebSphere Portal e WCM

gestire siti web aderendo alle linee gestire siti web aderendo alle linee guida SEO per migliorare il ranking guida SEO per migliorare il ranking dei siti, e l'user experiencedei siti, e l'user experience

Andrea FontanaAndrea FontanaMail: [email protected]: [email protected]

Page 2: WebSphere Portal & User Experience

Mi presento:Mi presento:Andrea Fontana: Andrea Fontana: • Ho Ho cominciatocominciato a a lavorolavoro in in ambienteambiente “Lotus” “Lotus” daldal '92 '92

(notes 2.8), (notes 2.8), primaprima come come AmministratoreAmministratore poi come poi come sviluppatoresviluppatore

• Mi sono occupato di ottimizzazioni SQL sia su DB2 che Mi sono occupato di ottimizzazioni SQL sia su DB2 che Digital RDBMS come DBADigital RDBMS come DBA

• DalDal 2001 2001 lavorolavoro in in ambitoambito WebSphere Portal (3.5) e WebSphere Portal (3.5) e soluzionisoluzioni Collaborative Collaborative

• AttualmenteAttualmente lavorolavoro in Factor-y in Factor-y•

Page 3: WebSphere Portal & User Experience

FocusFocus

• SEO SEO – Quali suggerimenti considerareQuali suggerimenti considerare

• Pagine di cortesiaPagine di cortesia– Come gestisco pagine di cortesia diverse Come gestisco pagine di cortesia diverse

mantenendo il look & mantenendo il look & fell in soluzioni Mutli-fell in soluzioni Mutli-Brand?Brand?

Page 4: WebSphere Portal & User Experience

SEO SEO (Search Engine Optimization)(Search Engine Optimization)

Page 5: WebSphere Portal & User Experience

Search Engine Optimization Search Engine Optimization è un soggetto è un soggetto ComplessoComplesso

I punti focali su cui operare tipicamente sono:I punti focali su cui operare tipicamente sono:• <meta Title<meta Title• <meta Description<meta Description• Researchable KeyWord , hanno senso??Researchable KeyWord , hanno senso??

– Keyword stuffing.....Keyword stuffing.....• Link ref “Canonical”Link ref “Canonical”• Improve the structure of your URLsImprove the structure of your URLs• Use pages courtesyUse pages courtesy• ……....

Page 6: WebSphere Portal & User Experience

Guideline to SeoGuideline to Seo

Riepilogando i punti su cui lavorare sono:Riepilogando i punti su cui lavorare sono:

• Utilizzare delle parole sensate nell’URLUtilizzare delle parole sensate nell’URL• Semplifica la struttura delle tue rotteSemplifica la struttura delle tue rotte• Fornire una versione unica dell’URL per Fornire una versione unica dell’URL per

raggiungere una data risorsaraggiungere una data risorsa• Usare pagine di cortesia che siano utiliUsare pagine di cortesia che siano utili

Page 7: WebSphere Portal & User Experience

Normalizzazione URLNormalizzazione URLStep 1: Risposta in “/”Step 1: Risposta in “/”

Obbiettivo: fare in modo che il sito sviluppato con WebSphere Content Manager risponda ad una URL del tipo Obbiettivo: fare in modo che il sito sviluppato con WebSphere Content Manager risponda ad una URL del tipo http://<fqdn> invece dell'url standard del tipo http://<fqdn> invece dell'url standard del tipo

http://<fqdn>/wps/wcm/connect/[LIBRARY]/[SITE]/[SITE AREA 1]/[SITE AREA 1.1]/[SITE AREA 1.1.1]/http://<fqdn>/wps/wcm/connect/[LIBRARY]/[SITE]/[SITE AREA 1]/[SITE AREA 1.1]/[SITE AREA 1.1.1]/[NAME+OF+CONTENT]/[NAME+OF+CONTENT]/

Ad esempio: Ad esempio:

http://www.agenziadogane.it/wps/wcm/connect/Internet/ed/http://www.agenziadogane.it/wps/wcm/connect/Internet/ed/

Ai fini del SEO sarebbe auspicabile che il sito rispondesse in Ai fini del SEO sarebbe auspicabile che il sito rispondesse in

http://www.agenziadogane.it/http://www.agenziadogane.it/

Page 8: WebSphere Portal & User Experience

Risposta in /Risposta in /Come farlo?Come farlo?

Usiamo l'http server di front-end.Usiamo l'http server di front-end.

Possiamo farlo in modo coerente al Seo o peggiorando la situazione, vediamo Possiamo farlo in modo coerente al Seo o peggiorando la situazione, vediamo come.come.

Se la redirect è gestita da una pagina html che esegue la redirect con un meta Se la redirect è gestita da una pagina html che esegue la redirect con un meta tag del tipo tag del tipo

<meta http-equiv="Refresh" content="0;url=/wps/wcm....." />, <meta http-equiv="Refresh" content="0;url=/wps/wcm....." />,

otteniamo che in 0 secondi verremo rediretti sul sito ma con quali risultati?otteniamo che in 0 secondi verremo rediretti sul sito ma con quali risultati?

302 Moved Temporarily302 Moved Temporarily

Risultato lato crawler?Risultato lato crawler?

302 : indicizzo la pagina perchè la redirezione è temporanea302 : indicizzo la pagina perchè la redirezione è temporanea

e indicizzo la nuova pagina perchè temporaneamente ci devo arrivare =e indicizzo la nuova pagina perchè temporaneamente ci devo arrivare =

2 URL per il medesimo contenuto2 URL per il medesimo contenuto

Page 9: WebSphere Portal & User Experience

Risposta in /Risposta in /Alternativa ?Alternativa ?

Usiamo le regole di rewrite di Apache / IHSUsiamo le regole di rewrite di Apache / IHS

RewriteCond %{HTTP_HOST} ^<nome.host.fqdn>RewriteCond %{HTTP_HOST} ^<nome.host.fqdn>

RewriteCond %{REQUEST_URI} ^(/)?$RewriteCond %{REQUEST_URI} ^(/)?$

RewriteRule ^(/)?$ /wps/wcm/....../ [PT,NC] RewriteRule ^(/)?$ /wps/wcm/....../ [PT,NC]

200 OK!200 OK!

Risultato lato crawler?Risultato lato crawler?

200 : indicizzo la pagina perchè la pagina in cui devo arrivare =200 : indicizzo la pagina perchè la pagina in cui devo arrivare =

1 url , 1 contenuto1 url , 1 contenuto

Page 10: WebSphere Portal & User Experience

Risposta in /Risposta in /Attenzioni da seguire nello sviluppo del sito con il WCMAttenzioni da seguire nello sviluppo del sito con il WCM

• Tutti i riferimenti alla HomePage devono essere relativi e Tutti i riferimenti alla HomePage devono essere relativi e

puntare a “/”puntare a “/”

Capiamo il perchè:Capiamo il perchè:

Analizzando la composizione di un URL si identificano le seguenti partiAnalizzando la composizione di un URL si identificano le seguenti parti

Un link contenuto nella pagina composto con /path/contenuto, verrà ricomposto dal browser come Un link contenuto nella pagina composto con /path/contenuto, verrà ricomposto dal browser come <schema><fqdn>/path/contenuto.<schema><fqdn>/path/contenuto.

In questo modo nel nostro caso rientriamo nel ciclo della rewrite che ci permette di rispondere in / In questo modo nel nostro caso rientriamo nel ciclo della rewrite che ci permette di rispondere in / evitando di far trovare per il medesimo contenuto sia l'URL / che l'url nativo nel formato evitando di far trovare per il medesimo contenuto sia l'URL / che l'url nativo nel formato “/wps/wcm/connect/[LIBRARY]/[SITE]/[SITE AREA 1]/[SITE AREA 1.1]/[SITE AREA 1.1.1]/“/wps/wcm/connect/[LIBRARY]/[SITE]/[SITE AREA 1]/[SITE AREA 1.1]/[SITE AREA 1.1.1]/[NAME+OF+CONTENT]/” evitando di ricadere nel fatto che il crwaler vede 2 indirizzi per lo stesso [NAME+OF+CONTENT]/” evitando di ricadere nel fatto che il crwaler vede 2 indirizzi per lo stesso contenuto.contenuto.

Page 11: WebSphere Portal & User Experience

Page RankPage RankOvvero: l'importanza che l'intelligenza collettiva Ovvero: l'importanza che l'intelligenza collettiva

del web da a una determinata pagina internet. del web da a una determinata pagina internet.

La differenza fondamentale tra i due metodi La differenza fondamentale tra i due metodi

di reindirizzamento è:di reindirizzamento è:

Caso <meta → 2 indirizzi → 1 contenuto proveniente dal medesimo FQDNCaso <meta → 2 indirizzi → 1 contenuto proveniente dal medesimo FQDN

Caso rewrite → 1 indirizzo → 1 contenutoCaso rewrite → 1 indirizzo → 1 contenuto

I sistemi di I sistemi di crawlingcrawling nel primo caso escludono il nel primo caso escludono il rankingranking generato dal secondo indirizzo. generato dal secondo indirizzo.

100 50

Page 12: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

Ipotizziamo un sito ricco, molto ricco di contenuti, Ipotizziamo un sito ricco, molto ricco di contenuti, ha senso che tutti i contenuti abbiano una radice ha senso che tutti i contenuti abbiano una radice costante e ripetitiva?costante e ripetitiva?

Come abbiamo visto l'url di un sito sviluppato con il WCM è del tipoCome abbiamo visto l'url di un sito sviluppato con il WCM è del tipo

http://<fqdn>/wps/wcm/connect/[LIBRARY]/[SITE]/......http://<fqdn>/wps/wcm/connect/[LIBRARY]/[SITE]/......

Quale valore aggiunto può dare ai fini della ricercabilità la presenza per ogni contenuto della Quale valore aggiunto può dare ai fini della ricercabilità la presenza per ogni contenuto della parte costante? Identificata dal percorso parte costante? Identificata dal percorso

/wps/wcm/connect/[LIBRARY]/[SITE]//wps/wcm/connect/[LIBRARY]/[SITE]/

Ripetuto per ogni contenuto?Ripetuto per ogni contenuto?

Possiamo dire NESSUNO ! Possiamo dire NESSUNO ! Quindi possiamo eliminarlo. Quindi possiamo eliminarlo.

Page 13: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

Questo un buon motivo per usare l'Http server nativo l'IBM Http Server [ndr]Questo un buon motivo per usare l'Http server nativo l'IBM Http Server [ndr]

Evitiamo URL fantasiose del tipoEvitiamo URL fantasiose del tipo::

http://<fqdn>/wps/wcm/connect/libreria del sito 1/sito 1/contenuti multi medialihttp://<fqdn>/wps/wcm/connect/libreria del sito 1/sito 1/contenuti multi mediali

Che il browser tradurra in Che il browser tradurra in

http://<fqdn>/wps/wcm/connect/libreria%20del%20sito%201/sito%201/contenuti%20multihttp://<fqdn>/wps/wcm/connect/libreria%20del%20sito%201/sito%201/contenuti%20multi%20mediali %20mediali

Se proprio dovete sostituite il (blank) con -␢Se proprio dovete sostituite il (blank) con -␢/libreria-del-sito-1......../libreria-del-sito-1........

Ma come si fa ad eliminare la parte costante?Ma come si fa ad eliminare la parte costante?

Ci aiuterà ancora una volta l'HTTP Server (IHS o Apache)Ci aiuterà ancora una volta l'HTTP Server (IHS o Apache)

Page 14: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

L'Http server ci permette di convertire dinamicamente il contenuto delle pagine L'Http server ci permette di convertire dinamicamente il contenuto delle pagine web. Possiamo forzare il cambiamento da /wps/wcm/connect/libreria/site web. Possiamo forzare il cambiamento da /wps/wcm/connect/libreria/site sostituendolo run time con un percorso più semplice ad es, /newpathsostituendolo run time con un percorso più semplice ad es, /newpath

Limitazioni conosciute:Limitazioni conosciute:

• Non può cambiare i contenuti delle appletNon può cambiare i contenuti delle applet

• Non può cambiare i contenuti dei javascript embeddedNon può cambiare i contenuti dei javascript embedded

• Non può cambiare i link assolutiNon può cambiare i link assoluti

Page 15: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

La funzione sfrutta alcune librerie Apache, e la funzionalità di La funzione sfrutta alcune librerie Apache, e la funzionalità di

R-Proxy. Schematicamente il flusso è il seguente:R-Proxy. Schematicamente il flusso è il seguente:

Noi interverremo proprio nella configurazione del R-Proxy inserendo le funzioni Noi interverremo proprio nella configurazione del R-Proxy inserendo le funzioni di “Proxy HTML” e lo schema diventadi “Proxy HTML” e lo schema diventa

Page 16: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

Page 17: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

Come fare:Come fare:

Installare e caricare le librerie necessarie:Installare e caricare le librerie necessarie:

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_http_module modules/mod_proxy_http.so

Abilitare i Virtual HostAbilitare i Virtual Host

Sia per il sito principale in cui inseriremo le regole di “riscrittura”Sia per il sito principale in cui inseriremo le regole di “riscrittura”

Sia per il sito Privato “riscrivente”Sia per il sito Privato “riscrivente”

Page 18: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

VH sito principale:VH sito principale:

Inserie le regole di proxy-HTMLInserie le regole di proxy-HTML

Sostituiremo la rotta Sostituiremo la rotta /wps/wcm/connect/mysite/site/ /wps/wcm/connect/mysite/site/ concon /it/ /it/

ProxyHTMLLogVerbose On ProxyHTMLLogVerbose On

LogLevel Debug LogLevel Debug

ProxyPass /it/ http://www1.mysite.com/wps/wcm/connect/mysite/site/ ProxyPass /it/ http://www1.mysite.com/wps/wcm/connect/mysite/site/

ProxyHTMLURLMap http://www1.mysite.com/wps/wcm/connect/mysite/site/ /it [c] ProxyHTMLURLMap http://www1.mysite.com/wps/wcm/connect/mysite/site/ /it [c]

<Location /it/> <Location /it/>

ProxyHTMLEnable On ProxyHTMLEnable On

ProxyPassReverse http://www1.mysite.com/wps/wcm/connect/mysite/site/ ProxyPassReverse http://www1.mysite.com/wps/wcm/connect/mysite/site/

SetOutputFilter proxy-html SetOutputFilter proxy-html

ProxyHTMLURLMap /wps/wcm/connect/mysite/site/ /it/ ProxyHTMLURLMap /wps/wcm/connect/mysite/site/ /it/

ProxyHTMLURLMap /it /it ProxyHTMLURLMap /it /it

</Location> </Location>

Page 19: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

VH “privato”:VH “privato”:<VirtualHost <yourIP>:80><VirtualHost <yourIP>:80>

DocumentRoot www/mysiteDocumentRoot www/mysite

ServerName www-1.mysite.comServerName www-1.mysite.com

ErrorLog logs/www/mysite/error.logErrorLog logs/www/mysite/error.log

CustomLog logs/www/mysite/access.log commonCustomLog logs/www/mysite/access.log common

</VirtualHost></VirtualHost>

In questa configurazione l'fqdn In questa configurazione l'fqdn www.mysite.comwww.mysite.com è pubblico e risolto dai DNS è pubblico e risolto dai DNS

www-1.mysite.com è privato e risolto solo localmente tramite file hosts.www-1.mysite.com è privato e risolto solo localmente tramite file hosts.

Page 20: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

Va da se che se nelle pagine vi sono dei link pseudo realtivi, risulteranno non raggiungibili.Va da se che se nelle pagine vi sono dei link pseudo realtivi, risulteranno non raggiungibili.

<%@ page contentType="text/html; charset=iso-8859-1" language="java" %><%@ page contentType="text/html; charset=iso-8859-1" language="java" %><%<% String hostName=request.getServerName();String hostName=request.getServerName();%>%><html><html><head><head><title>Server host name in jsp</title><title>Server host name in jsp</title></head></head><body><body> Host Name of server <%=hostName%>Host Name of server <%=hostName%></body></body></html></html>

Pagine come questa verrano servite attraverso il VH Privato dando un riferimento al nome Pagine come questa verrano servite attraverso il VH Privato dando un riferimento al nome

Privato Privato www-1.mysite.comwww-1.mysite.com NON Raggiungibile NON Raggiungibile

Page 21: WebSphere Portal & User Experience

Step2: Normalizzare ovvero eliminare le parti superflueStep2: Normalizzare ovvero eliminare le parti superflue

In fine usiamo i Robots per garantirci che eventuali url lunghe orfane vengano In fine usiamo i Robots per garantirci che eventuali url lunghe orfane vengano indicizzate.indicizzate.

Per farlo inseriamo un file chiamato robots.txt nella home root del nostro http Per farlo inseriamo un file chiamato robots.txt nella home root del nostro http server., un file testuale composto nel modo seguente:server., un file testuale composto nel modo seguente:Un campo "User-agent" ed uno o più campi "Disallow".Un campo "User-agent" ed uno o più campi "Disallow".

Il campo User-agent serve ad indicare a quale robot/spider le direttive successive sono rivolte. La Il campo User-agent serve ad indicare a quale robot/spider le direttive successive sono rivolte. La sua sintassi è:sua sintassi è:

User-agent <duepunti> <spazio> <nome_dello_spider>User-agent <duepunti> <spazio> <nome_dello_spider>

Il campo Disallow serve a indicare a quali file e/o directory non può accedere lo spider indicato nel Il campo Disallow serve a indicare a quali file e/o directory non può accedere lo spider indicato nel campo User-agent. La sintassi di questo campo è:campo User-agent. La sintassi di questo campo è:

Disallow <duepunti> <spazio> <nome_del_file_o_directory> Disallow <duepunti> <spazio> <nome_del_file_o_directory>

Ad eempioAd eempio

User-agent: googlebotUser-agent: googlebot

Disallow: /wps/wcm/connect/<libraryName>Disallow: /wps/wcm/connect/<libraryName>

Page 23: WebSphere Portal & User Experience

Pagine di CortesiaPagine di Cortesia

Page 24: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

• Dire in modo chiaro che la pagina cercata non esisteDire in modo chiaro che la pagina cercata non esiste• Avere il medesimo look & fell del sito, in questo modo l'utente non Avere il medesimo look & fell del sito, in questo modo l'utente non

si sente perso e abbandonato....si sente perso e abbandonato....• Considerare l'aggiunta di link ai tuoi articoli o post più popolari, Considerare l'aggiunta di link ai tuoi articoli o post più popolari,

alla home page del tuo sito.alla home page del tuo sito.• Permettere agli utenti di segnalarci gli errori Permettere agli utenti di segnalarci gli errori • Essere certi che venga restituito il codice di errore, così Google Essere certi che venga restituito il codice di errore, così Google

non la indicizza.....non la indicizza.....• Valutare se inserire un widget che permetta la ricerca nel sito, e Valutare se inserire un widget che permetta la ricerca nel sito, e

fornire agli utenti informazioni utili per aiutarli a trovare le fornire agli utenti informazioni utili per aiutarli a trovare le informazioni di cui hanno bisogno.informazioni di cui hanno bisogno.

• ..................

Page 25: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Esempi:Esempi:

Page 26: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Come fare: modifichiamo le configurazioni del nostro HTTP Server e Come fare: modifichiamo le configurazioni del nostro HTTP Server e abbiamo vinto.abbiamo vinto.

È sufficiente inserire le direttive appropriate È sufficiente inserire le direttive appropriate

ErrorDocument 404 /bad_urls.htmlErrorDocument 404 /bad_urls.html

ErrorDocument 401 /subscription_info.htmlErrorDocument 401 /subscription_info.html

ErrorDocument 403 "Sorry can't allow you access today"ErrorDocument 403 "Sorry can't allow you access today"

Ma davvero è tutto qui?Ma davvero è tutto qui?

Page 27: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Allora come mai il mio sito mi restituisce una pagina diversa? Allora come mai il mio sito mi restituisce una pagina diversa?

E sopratutto chi la restituisce?E sopratutto chi la restituisce?

Le risorse Non-URL sono manipolate e trasformate all'interno del Le risorse Non-URL sono manipolate e trasformate all'interno del livello di sicurezza di WebSphere Application Server (WSAS). Queste livello di sicurezza di WebSphere Application Server (WSAS). Queste definizioni sono specificate nel file web.xml nel file wps.ear e definizioni sono specificate nel file web.xml nel file wps.ear e wcm.ear. È necessario modificare le applicazioni per consentire la wcm.ear. È necessario modificare le applicazioni per consentire la gestione di una pagina di errore personalizzata.gestione di una pagina di errore personalizzata.

Page 28: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Per cui tramite il WSAS l'application server intercetta l'errore e Per cui tramite il WSAS l'application server intercetta l'errore e fornisce la pagina di default, rispondendo comunque un 200 all'HTTP.fornisce la pagina di default, rispondendo comunque un 200 all'HTTP.

Il processo verifica il web.xml dell'applicazione e se trova una Il processo verifica il web.xml dell'applicazione e se trova una specifica di gestione dell'errore, utilizza la pagina definita altrimenti specifica di gestione dell'errore, utilizza la pagina definita altrimenti restituisce la standard.restituisce la standard.

Error 404: SRVE0190E: File not found: Error 404: SRVE0190E: File not found: /wccm/connect/SitiI......./home_page /wccm/connect/SitiI......./home_page

Page 29: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Ora, è sufficente modificare il web.xml dell'applicazione e inserire la Ora, è sufficente modificare il web.xml dell'applicazione e inserire la mappatura della pagina di cortesia, il problema è che la mappatura della pagina di cortesia, il problema è che la WebApplication da modificare sono due nello specifico:WebApplication da modificare sono due nello specifico:• wps.earwps.ear• wcm.earwcm.ear

una soluzione per la parte protale consiste nel esguire l'UnDeploy una soluzione per la parte protale consiste nel esguire l'UnDeploy dell'applicazione, modificarla e Deployarla nuovamente, più dell'applicazione, modificarla e Deployarla nuovamente, più complicato farlo per il WCM, dovendo ricostruire manualmente tutti i complicato farlo per il WCM, dovendo ricostruire manualmente tutti i riferimenti EJB.riferimenti EJB.

Page 30: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

La modifica da insere nel web.xml è la seguente: La modifica da insere nel web.xml è la seguente:

<error-page><error-page>

<error-code>404</error-code><error-code>404</error-code>

<location>/ep/e404.html</location><location>/ep/e404.html</location>

</error-page></error-page>

un blocco per codice di errore da gestireun blocco per codice di errore da gestire

Page 31: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Ma se il nostro WCM, espone più siti, ad esempio soluzioniMa se il nostro WCM, espone più siti, ad esempio soluzioni

Multi-Brand, siti as Service, etc etc. cosa succede? Multi-Brand, siti as Service, etc etc. cosa succede?

Il nostro WSAS in caso di errore carica la nostra pagina. (Una per Il nostro WSAS in caso di errore carica la nostra pagina. (Una per Application Server)Application Server)

Ma se abbiamo Look & Fell diversi come faccio? Ma se abbiamo Look & Fell diversi come faccio?

Inseriamo una pagina che in realtà sollevi Inseriamo una pagina che in realtà sollevi l'eccezionel'eccezione all'HTTP Server all'HTTP Server che ha la vera pagina di cortesia da servire all'utente, mantenendo che ha la vera pagina di cortesia da servire all'utente, mantenendo l'eccezzione ed evitando che i crawler la indicizzino.l'eccezzione ed evitando che i crawler la indicizzino.

Page 32: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Page 33: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Esistono due modi leggermente diversi d'implementare la soluzione,Esistono due modi leggermente diversi d'implementare la soluzione,

Dipendenti dal fatto che se opero in una soluzione Single-Node o in Dipendenti dal fatto che se opero in una soluzione Single-Node o in un Cluster.un Cluster.

Fondamentalmente dovrò operare in posti diversi, ma facendo le Fondamentalmente dovrò operare in posti diversi, ma facendo le stesse cose, nel caso del Cluster devo, operare nel Deploy-Manger e stesse cose, nel caso del Cluster devo, operare nel Deploy-Manger e gestire la modifica tramite una fullSyncronize dei nodi, in modo che il gestire la modifica tramite una fullSyncronize dei nodi, in modo che il sitema “rideploy” le applicazioni sui nodi.sitema “rideploy” le applicazioni sui nodi.

Va da se che se ho la brutta abitudine di “deployare” i temi e le jsp Va da se che se ho la brutta abitudine di “deployare” i temi e le jsp custom direttamente nei nodi, le perderò inesorabilmente, ma qui il custom direttamente nei nodi, le perderò inesorabilmente, ma qui il porblema stà da un altra parte.porblema stà da un altra parte.

Page 34: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Ad esempio nel caso del Cluster modificare il file web.xml che si trova inAd esempio nel caso del Cluster modificare il file web.xml che si trova in /profiles/<DMGRProfiles>/config/cells/applications/wps.ear//profiles/<DMGRProfiles>/config/cells/applications/wps.ear/

deployments/wps/ wps.war/WEB-INF/web.xmldeployments/wps/ wps.war/WEB-INF/web.xml

Cercare i tag Cercare i tag </mime-mapping> </mime-mapping>

<resource-ref><resource-ref>

Ed inserire tra i due tag la seguente strutturaEd inserire tra i due tag la seguente struttura<error-page><error-page>

<error-code>404</error-code><error-code>404</error-code>

<location>/ep/e404.html</location><location>/ep/e404.html</location>

</error-page></error-page>

Page 35: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Preparare la pagina di gestione Preparare la pagina di gestione della “redirect”della “redirect” ed installarla nel file .ear ed installarla nel file .ear che stiamo gestendoche stiamo gestendo

/ep/e404.html/ep/e404.html

Questa pagina avrà la struttura del tipoQuesta pagina avrà la struttura del tipo<html xmlns="<html xmlns="http://www.w3.org/1999/xhtmlhttp://www.w3.org/1999/xhtml">">

<head><head>

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=/yourCourtesyPage.html"> <title>Not Found</title><META HTTP-EQUIV="Refresh" CONTENT="0;URL=/yourCourtesyPage.html"> <title>Not Found</title>

</head></head>

<body><body>

</body></body>

</html></html>

Page 36: WebSphere Portal & User Experience

Pagine di cortesia:Pagine di cortesia:ma lo sono veramente?ma lo sono veramente?

Ora non resta che preparare la nostra Ora non resta che preparare la nostra /yourCourtesyPage.html /yourCourtesyPage.html ed installarla ed installarla nell'http server in modo che venga caricata in caso di errore.nell'http server in modo che venga caricata in caso di errore.

Eseguiamo la fullSyncronize dei nodi del cluster ed il gioco è fatto.Eseguiamo la fullSyncronize dei nodi del cluster ed il gioco è fatto.

Riferimenti: Riferimenti: Customize Error PageCustomize Error Page

Page 37: WebSphere Portal & User Experience

Letture consigliateLetture consigliateWebSphere Portal 6x InfocenterWebSphere Portal 6x Infocenter

IBM Http Server ForumIBM Http Server Forum

Apache Http Server ProjectApache Http Server Project

WebSphere Portal WikiWebSphere Portal Wiki

Apache at WebÞingApache at WebÞing

Apache TutorApache Tutor

Page 38: WebSphere Portal & User Experience

Grazie agli sponsor per aver reso possibile i Grazie agli sponsor per aver reso possibile i Dominopoint Days 2012!Dominopoint Days 2012!

Main SponsorMain Sponsor

Vad sponsorVad sponsor

Platinum sponsorPlatinum sponsor

Gold sponsorGold sponsor