SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  

Un	
  CRM	
  dentro	
  un	
  CMS	
  
             Certamente	
  il	
  titolo	
  dell’articolo	
   può	
  sembrare	
  un	
  po’	
  bizzarro	
  ma	
  non	
  ho	
  
trovato	
   titolo	
   migliore.	
   Avrei	
   potuto	
   dare	
   un	
   titolo	
   del	
   tipo	
   “Integrazione	
   tra	
  
CRM….”	
   che	
   a	
   mio	
   avviso	
   per	
   il	
   tipo	
   di	
   soluzione	
   descritta	
   nel	
   corso	
   di	
  
quest’articolo,	
  non	
  si	
  configura	
  una	
  vera	
  integrazione.	
  	
  
	
  	
  
             Inizierei	
  specificando	
  meglio	
  i	
  soggetti	
  del	
  titolo	
  attribuendogli	
  un	
  nome.	
  I	
  
protagonisti	
   sono,	
   SugarCRM	
   che	
   implementa	
   per	
   l’appunto	
   un	
   sistema	
   di	
  
Customer	
   Relationship	
   Management	
   (abbreviato	
   in	
   CRM)	
   e	
   Liferay	
   che	
   invece	
  
implementa	
  un	
  sistema	
  di	
  Content	
  Management	
  System	
  (abbreviato	
  in	
  CMS).	
  
             	
  
             Stiamo	
  attraversando	
  una	
  fase	
  dov’è	
  richiesta	
  sempre	
  di	
  più	
  l’integrazione	
  
tra	
  i	
  più	
  disparati	
  sistemi	
  informativi	
  che	
  coprono	
  responsabilità	
  diverse,	
  è	
  come	
  
fare	
  un	
  puzzle,	
  unire	
  insiemi	
  pezzi	
  diversi	
  in	
  modo	
  tale	
  che	
  la	
  loro	
  collaborazione	
  
consenta	
   di	
   raggiugere	
   l’obiettivo,	
   cercando	
   di	
   mantenere	
   un’interfaccia	
   unica	
  
per	
  interagire	
  con	
  l’intero	
  o	
  parti	
  del	
  puzzle.	
  	
  
             	
  
             Nel	
   corso	
   di	
   queste	
   poche	
   righe	
   vedremo	
   quindi	
   come	
   sia	
   possibile	
   e	
  
semplice	
   mettere	
   SugarCRM	
   proprio	
   “dentro”	
   Liferay.	
   Ipotizzando	
   uno	
   scenario	
  
dove	
   Liferay	
   implementa	
   un	
   portale	
   operativo	
   da	
   cui	
   è	
   possibile	
   accedere	
   a	
  
informazioni	
   e	
   procedure	
   di	
   un’ipotetica	
   azienda,	
   non	
   sarebbe	
   una	
   cosa	
   fuori	
   dal	
  
comune,	
   consentire	
   l’accesso	
   al	
   CRM	
   direttamente	
   dal	
   portale	
   senza	
   essere	
  
obbligati	
   a	
   dover	
   aprire	
   una	
   nuova	
   finestra	
   del	
   browser	
   evitando	
   anche	
   la	
  
ripetizione	
  dell’autenticazione.	
  
             	
  
             Raggiungere	
  l’obiettivo	
  è	
  davvero	
  semplice	
  con	
  Liferay,	
  non	
  sono	
  richiesti	
  
sviluppi	
   ma	
   solamente	
   attività	
   di	
   configurazione	
   dell’iFrame	
   Portlet,	
   già	
  
disponibile	
   di	
   serie	
   con	
   Liferay.	
   Quanto	
   mostrato	
   nel	
   corso	
   della	
   trattazione	
   è	
  
applicabile	
   sia	
   all’edizione	
   Community	
   sia	
   all’edizione	
   Enterprise	
   di	
   Liferay,	
   la	
  
versione	
  utilizza	
  per	
  quest’occasione	
  è	
  una	
  6.1	
  GA2	
  CE.	
  
	
  


         1. Requisiti	
  
     Affinché	
   la	
   soluzione	
   del	
   “dentro”	
   sia	
   applicabile,	
   è	
   indispensabile	
   che	
   i	
  
seguenti	
  requisiti	
  siano	
  soddisfatti:	
  
     	
  
             • Accesso	
   al	
   portale	
   Liferay	
   con	
   un	
   livello	
   d’accesso	
   di	
   tipo	
  
               amministrativo	
   o	
   con	
   un	
   ruolo	
   tale	
   da	
   consentire	
   l’aggiunta	
   di	
  
               applicazioni	
  (portlet)	
  e	
  la	
  possibilità	
  di	
  configurazione	
  delle	
  stesse;	
  
             • Possibilità	
   di	
   esecuzione	
   di	
   attività	
   di	
   tipo	
   sistemistico,	
   tipo	
  
               operazioni	
  di	
  start,	
  stop	
  e	
  modifica	
  delle	
  configurazioni;	
  
             • URL	
  dell’istanza	
  di	
  SugarCRM.	
  
	
  
23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                                                      1	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                          	
  
	
  
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  
         2. Funzionamento	
  
          Ogni	
  utente	
  del	
  portale,	
  quindi	
  autenticato,	
  potrà	
  accedere	
  direttamente	
  dal	
  
portale	
  alla	
  propria	
  area	
  di	
  lavoro	
  del	
  CRM	
  senza	
  spostarsi	
  di	
  “browser”,	
  evitando	
  
per	
   altro	
   di	
   ripetere	
   la	
   procedura	
   d’autenticazione.	
   Come	
   introdotto	
   in	
  
precedenza,	
  questa	
  possibilità	
  è	
  offerta	
  dall’iFrame	
  Portlet.	
  
          	
  
          L’iFrame	
  Portlet	
  permette	
  di	
  inserire	
  un'altra	
  pagina	
  HTML	
  all'interno	
  della	
  
pagina	
   che	
   ospita	
   la	
   portlet.	
   Inoltre,	
   l'utente	
   può	
   navigare	
   attraverso	
   la	
   pagina	
  
“nascosta”	
  senza	
  perdere	
  il	
  contesto	
  della	
  pagina	
  del	
  portale.	
  
          	
  
          L’iFrame	
   Portlet	
   utilizza	
   il	
   tag	
   HTML	
   iframe	
   introdotto	
   dalla	
   versione	
   4	
   di	
  
HTML,	
  ed	
  è	
  supportata	
  in	
  tutti	
  i	
  principali	
  browser.	
  L’iFrame	
  Portlet	
  consente	
  di	
  
regolare	
  la	
  dimensione	
  della	
  pagina	
  HTML	
  e	
  svariati	
  altri	
  attributi.	
  
          	
  
          Una	
   caratteristica	
   importante	
   di	
   questa	
   portlet	
   e	
   fondamentale	
   in	
   questo	
  
scenario	
   è	
   la	
   possibilità	
   di	
   poter	
   eseguire	
   il	
   processo	
   di	
   autenticazione	
   al	
   posto	
  
nostro.	
  Sono	
  supportati	
  due	
  tipi	
  di	
  autenticazione:	
  Basic	
  e	
  Form,	
  noi	
  faremo	
  uso	
  
del	
   secondo	
   metodo,	
   comunque,	
   la	
   scelta	
   dipende	
   dal	
   tipo	
   di	
   autenticazione	
  
supportata	
  dall’applicazione	
  web	
  da	
  integrare.	
  
          	
  
          Avrete	
  già	
  intuito	
  che	
  un	
  requisito	
  indispensabile	
  affinché	
  l’autenticazione	
  
sia	
   trasparente	
   consiste	
   nell’asserzione	
   che	
   sia	
  username	
   (solitamente	
   l’attributo	
  
screen	
  name)	
   sia	
   password	
   dell’utente	
   del	
   portale	
   coincida	
   con	
   le	
   rispettive	
   del	
  
CRM.	
  
	
  


         3. Configurazione	
  
       Aggiunta	
   la	
   portlet	
   su	
   una	
   vostra	
   pagina,	
   non	
   resta	
   che	
   procedere	
   con	
   la	
  
configurazione	
  i	
  cui	
  parametri	
  principali	
  e	
  valori	
  sono	
  i	
  seguenti:	
  
       	
  
                    • URL	
  dell’istanza	
  di	
  SugarCRM	
  a	
  cui	
  volete	
  dare	
  l’accesso;	
  
                    • Tipo	
  di	
  autenticazione	
  
                                o Tipo:	
  Form	
  
                                o Method:	
  POST	
  
                    • Username	
  
                                o FieldName:	
  user_name	
  
                                o Value:	
  @screen_name@	
  
                    • Password:	
  
                                o FieldName:	
  user_password	
  
                                o Value:	
  @password@	
  
                    • Variabili	
  Hidden	
  
                                o module=Users;action=Authenticate	
  
	
  
       I	
   valori	
   indicati	
   come	
   @screen_name@	
   e	
   @password@	
   saranno	
   poi	
  
sostituiti	
  a	
  runtime	
  con	
  i	
  valori	
  reali	
  e	
  in	
  seguito	
  inviati	
  a	
  SugarCRM	
  nel	
  processo	
  
d’autenticazione,	
   ecco	
   il	
   motivo	
   per	
   cui	
   è	
   necessario	
   che	
   le	
   credenziali	
  
23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                             2	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                       	
  
	
  
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  
coincidano;	
   in	
   caso	
   contrario	
   sarete	
   necessariamente	
   obbligati	
   a	
   eseguire	
  
manualmente	
   l’autenticazione	
   tramite	
   la	
   form	
   di	
   SugarCRM.	
   In	
   Figura	
   1	
   è	
  
mostrata	
   la	
   configurazione	
   dell’iFrame	
   portlet.	
   L’URL	
   specificato	
   fa	
   riferimento	
   a	
  
un’istanza	
  di	
  SugarCRM	
  CE	
  6.5	
  ospitata	
  sul	
  cloud	
  Open	
  Shift.	
  	
  
	
  




                                                                                                                                                            	
  
Figura	
  1	
  Configurazione	
  iFrame	
  Portlet	
  per	
  SugarCRM.	
  

      Esiste	
   un	
   meccanismo	
   di	
   sicurezza	
   di	
   Liferay	
   tale	
   per	
   cui	
   le	
   vostre	
  
credenziali	
   non	
   sono	
   memorizzate	
   (in	
   sessione,	
   cookie,	
   etc…)	
   per	
   impostazione	
  
predefinita,	
   inoltre	
   è	
   possibile	
   fare	
   in	
   modo	
   che	
   i	
   soli	
   utenti	
   appartenenti	
   a	
   un	
  
determinato	
   ruolo	
   possano	
   inviare	
   la	
   propria	
   password	
   a	
   sistemi	
   esterni	
   tramite	
  
l’iFrame	
  portlet.	
  
	
  




23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                                                      3	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                          	
  
	
  
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  




                                                                                                                                                       	
  
Figura	
  2	
  Creazione	
  del	
  ruolo	
  per	
  l’autenticazione	
  trasperente.	
  

      Tramite	
   delle	
   properties	
   di	
   configurazione	
   è	
   possibile	
   abilitare	
   la	
  
memorizzazione	
   della	
   password	
   (in	
   chiaro)	
   in	
   sessione	
   e	
   specificare	
   inoltre	
   il	
  
ruolo	
   da	
   assegnare	
   agli	
   utenti	
   che	
   devono	
   avere	
   la	
   possibilità	
   di	
   trasmettere	
   la	
  
password	
  all’esterno	
  tramite	
  la	
  portlet	
  iFrame.	
  
	
  
                 public static String getPassword(
                                 PortletRequest portletRequest, String password)
                         throws PortalException, SystemException {

                                  if (!isPasswordTokenEnabled(portletRequest)) {
                                          return StringPool.BLANK;
                                  }

                                  if (Validator.isNull(password) || password.equals("@password@")) {
                                          password = PortalUtil.getUserPassword(portletRequest);

                                                      if (password == null) {
                                                              password = StringPool.BLANK;
                                                      }
                                  }

                                  return password;
                 }
	
  
Listato	
  1	
  Get	
  della	
  password	
  dalla	
  sessione.	
  

       Il	
   Listato	
   2	
   mostra	
   il	
   metodo	
   getPassword()	
   della	
   classe	
   IFrameUtil	
   del	
  
package	
   com.liferay.portlet.iframe.util	
   che	
   recupera	
   la	
   password	
   utente	
   dalla	
  
23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                    4	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                       	
  
	
  
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  
sessione	
  effettuando	
  prima	
  un	
  controllo	
  dell’associazione	
  ruolo/utente	
  tramite	
  il	
  
metodo	
  isPasswordTokenEnabled().	
  
      	
  




                                                                                                                                                         	
  
Figura	
  3	
  Associazione	
  del	
  ruolo	
  all’utente.	
  

	
  
##
## IFrame Portlet
##

        #
        # Specify a role name that a user must be associated with in order to
        # configure the IFrame portlet to use the @password@ token. This token is
        # used to post the password of users who access this portlet in order to
        # automatically login to the framed site.
        #
        # No role is required by default. However, it is recommended that you
        # specify a role in high security environments where users who configure
        # this portlet may attempt password theft. See LPS-5272 for more
        # information.
        #
        iframe.password.token.role=iFrameUserToken

##
## Session
##
    #
    # Set this to true to store the user's password in the session.
    #
    session.store.password=true
	
  
Listato	
  2	
  Configurazione	
  file	
  di	
  properties	
  portal-­‐ext.properties	
  

     La	
   configurazione	
   mostra	
   il	
   ruolo	
   (di	
   un	
   nome	
   a	
   vostra	
   scelta)	
   cui	
   gli	
   utenti	
  
devono	
   appartenere	
   e	
   l’esplicita	
   istruzione	
   di	
   memorizzare	
   in	
   sessione	
   la	
  

23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                                                      5	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                          	
  
	
  
Antonio	
  Musarra's	
  Blog	
  
The	
  ideal	
  solution	
  for	
  a	
  problem	
                                                          Blog:	
  http://musarra.wordpress.com	
  
                                                                                                           Mail:	
  antonio.musarra@gmail.com	
  
	
  
password	
   dell’utente.	
   L’applicazione	
   di	
   questa	
   configurazione	
   richiede	
  
l’operazione	
  di	
  riavvio	
  del	
  portale.	
  
         	
  
         A	
   portale	
   riavviato	
   e	
   portlet	
   configurata	
   in	
   precedenza,	
   basterà	
   accedere	
  
con	
  le	
  vostre	
  credenziali	
  per	
  avere	
  la	
  vostra	
  area	
  di	
  lavoro	
  CRM	
  pronta	
  all’uso.	
  
	
  




                                                                                                                                                         	
  
Figura	
  4	
  Il	
  CRM	
  dentro	
  il	
  CMS.	
  



         4. Conclusioni	
  
        In	
   questo	
   breve	
   articolo	
   abbiamo	
   visto	
   come	
   sia	
   semplice	
   integrare	
  
SugarCRM	
   “dentro”	
   Liferay	
   sfruttando	
   la	
   potenzialità	
   messa	
   a	
   disposizione	
  
dall’iFrame	
  portlet.	
  E’	
  senz’altro	
  comodo	
  poter	
  eseguire	
  l’autenticazione	
  in	
  modo	
  
trasparente.	
  Questa	
  soluzione	
  può	
  essere	
  adottata	
  per	
  integrare	
  qualunque	
  tipo	
  
di	
  applicazione	
  web.	
  
        	
  	
  




23/09/12	
  -­‐	
  Document	
  Revision:	
  1.0	
                                                                                                      6	
  

       This	
  document	
  is	
  issued	
  with	
  license	
  Creative	
  Commons	
  Attribution-­‐NonCommercial-­‐ShareAlike	
  
                                                                                                                                                          	
  
	
  

Más contenido relacionado

La actualidad más candente

Liferay Web Services - Come importare utenti da un foglio Excel
Liferay Web Services - Come importare utenti da un foglio ExcelLiferay Web Services - Come importare utenti da un foglio Excel
Liferay Web Services - Come importare utenti da un foglio ExcelAntonio Musarra
 
Costruire un client Java per SugarCRM
Costruire un client Java per SugarCRMCostruire un client Java per SugarCRM
Costruire un client Java per SugarCRMAntonio Musarra
 
PHP Documentation APIs on the fly
PHP Documentation APIs on the flyPHP Documentation APIs on the fly
PHP Documentation APIs on the flyAntonio Musarra
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideAntonio Musarra
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMAntonio Musarra
 
Running Kettle Job by API
Running Kettle Job by APIRunning Kettle Job by API
Running Kettle Job by APIAntonio Musarra
 
Configure Kettle debug session
Configure Kettle debug sessionConfigure Kettle debug session
Configure Kettle debug sessionAntonio Musarra
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriAlessandro Nadalin
 
Fun with Machine Translation APIs
Fun with Machine Translation APIsFun with Machine Translation APIs
Fun with Machine Translation APIsMassimo Bonanni
 

La actualidad más candente (11)

Liferay Web Services - Come importare utenti da un foglio Excel
Liferay Web Services - Come importare utenti da un foglio ExcelLiferay Web Services - Come importare utenti da un foglio Excel
Liferay Web Services - Come importare utenti da un foglio Excel
 
J-SugarCRM UserSync 1.0
J-SugarCRM UserSync 1.0J-SugarCRM UserSync 1.0
J-SugarCRM UserSync 1.0
 
Costruire un client Java per SugarCRM
Costruire un client Java per SugarCRMCostruire un client Java per SugarCRM
Costruire un client Java per SugarCRM
 
PHP Documentation APIs on the fly
PHP Documentation APIs on the flyPHP Documentation APIs on the fly
PHP Documentation APIs on the fly
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuide
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRM
 
Running Kettle Job by API
Running Kettle Job by APIRunning Kettle Job by API
Running Kettle Job by API
 
Configure Kettle debug session
Configure Kettle debug sessionConfigure Kettle debug session
Configure Kettle debug session
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Fun with Machine Translation APIs
Fun with Machine Translation APIsFun with Machine Translation APIs
Fun with Machine Translation APIs
 
Wordpress funzioni utente-bevilacqua
Wordpress funzioni utente-bevilacquaWordpress funzioni utente-bevilacqua
Wordpress funzioni utente-bevilacqua
 

Destacado

Introduzione agli Hooks – Primo Episodio
Introduzione agli Hooks – Primo EpisodioIntroduzione agli Hooks – Primo Episodio
Introduzione agli Hooks – Primo EpisodioAntonio Musarra
 
Come configurare Liferay 6.0 per Oracle
Come configurare Liferay 6.0 per OracleCome configurare Liferay 6.0 per Oracle
Come configurare Liferay 6.0 per OracleAntonio Musarra
 
Building a Client .NET for SugarCRM
Building a Client .NET for SugarCRMBuilding a Client .NET for SugarCRM
Building a Client .NET for SugarCRMAntonio Musarra
 
HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)Antonio Musarra
 
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)Antonio Musarra
 
How to Build a Java client for SugarCRM
How to Build a Java client for SugarCRMHow to Build a Java client for SugarCRM
How to Build a Java client for SugarCRMAntonio Musarra
 
Introduzione ai sistemi di Content Management System (CMS)
Introduzione ai sistemi di Content Management System (CMS)Introduzione ai sistemi di Content Management System (CMS)
Introduzione ai sistemi di Content Management System (CMS)Antonio Musarra
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioAntonio Musarra
 
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi StyleLiferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi StyleAntonio Musarra
 

Destacado (12)

Introduzione agli Hooks – Primo Episodio
Introduzione agli Hooks – Primo EpisodioIntroduzione agli Hooks – Primo Episodio
Introduzione agli Hooks – Primo Episodio
 
Come configurare Liferay 6.0 per Oracle
Come configurare Liferay 6.0 per OracleCome configurare Liferay 6.0 per Oracle
Come configurare Liferay 6.0 per Oracle
 
Building a Client .NET for SugarCRM
Building a Client .NET for SugarCRMBuilding a Client .NET for SugarCRM
Building a Client .NET for SugarCRM
 
HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)
 
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
 
How to Build a Java client for SugarCRM
How to Build a Java client for SugarCRMHow to Build a Java client for SugarCRM
How to Build a Java client for SugarCRM
 
Introduzione al Web 2.0
Introduzione al Web 2.0Introduzione al Web 2.0
Introduzione al Web 2.0
 
Introduzione ai sistemi di Content Management System (CMS)
Introduzione ai sistemi di Content Management System (CMS)Introduzione ai sistemi di Content Management System (CMS)
Introduzione ai sistemi di Content Management System (CMS)
 
Liferay - Quick Start 1° Episodio
Liferay - Quick Start 1° EpisodioLiferay - Quick Start 1° Episodio
Liferay - Quick Start 1° Episodio
 
JAX-WS e JAX-RS
JAX-WS e JAX-RSJAX-WS e JAX-RS
JAX-WS e JAX-RS
 
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi StyleLiferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
Liferay 7: Come realizzare un client SOAP con Apache CXF in OSGi Style
 
OSGi e Liferay 7
OSGi e Liferay 7OSGi e Liferay 7
OSGi e Liferay 7
 

Similar a Un CRM dentro un CMS v1.0

WSO2 IAM - Identity Access Management - Introduzione e Roadmap
 WSO2 IAM - Identity Access Management - Introduzione e Roadmap WSO2 IAM - Identity Access Management - Introduzione e Roadmap
WSO2 IAM - Identity Access Management - Introduzione e RoadmapProfesia Srl, Lynx Group
 
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...Aruba S.p.A.
 
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerManuel Scapolan
 
Luca Peressini - 20 moduli in 20 minuti
Luca Peressini - 20 moduli in 20 minutiLuca Peressini - 20 moduli in 20 minuti
Luca Peressini - 20 moduli in 20 minutiMeet Magento Italy
 
WordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaWordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaFlavius-Florin Harabor
 
ASP.NET MVC 3 - Trasportare i dati nel Model
ASP.NET MVC 3 - Trasportare i dati nel ModelASP.NET MVC 3 - Trasportare i dati nel Model
ASP.NET MVC 3 - Trasportare i dati nel ModelManuel Scapolan
 
2019 ottobre 28 gdoox personal profile
2019 ottobre 28 gdoox personal profile2019 ottobre 28 gdoox personal profile
2019 ottobre 28 gdoox personal profileDaniel Rueda H
 
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1 Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1 caioturtle
 
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiSicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiLaura Lonighi
 
Alessandro Germano SMAU PAdova 2018
Alessandro Germano SMAU PAdova 2018Alessandro Germano SMAU PAdova 2018
Alessandro Germano SMAU PAdova 2018Alessandro Germano
 
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018Alessandro Germano
 
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDayHosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDayAruba S.p.A.
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriGrUSP
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2 ...
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2  ...Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2  ...
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2 ...Aruba S.p.A.
 
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...Aruba S.p.A.
 

Similar a Un CRM dentro un CMS v1.0 (20)

WSO2 IAM - Identity Access Management - Introduzione e Roadmap
 WSO2 IAM - Identity Access Management - Introduzione e Roadmap WSO2 IAM - Identity Access Management - Introduzione e Roadmap
WSO2 IAM - Identity Access Management - Introduzione e Roadmap
 
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...
Con Aruba, a lezione di cloud #lezione 25 - parte 1: Gestione dei permessi ut...
 
ASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del ControllerASP.NET MVC3 - Tutti i compiti del Controller
ASP.NET MVC3 - Tutti i compiti del Controller
 
Tips and tricks
Tips and tricksTips and tricks
Tips and tricks
 
Luca Peressini - 20 moduli in 20 minuti
Luca Peressini - 20 moduli in 20 minutiLuca Peressini - 20 moduli in 20 minuti
Luca Peressini - 20 moduli in 20 minuti
 
WordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaWordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezza
 
Cms
CmsCms
Cms
 
ASP.NET MVC 3 - Trasportare i dati nel Model
ASP.NET MVC 3 - Trasportare i dati nel ModelASP.NET MVC 3 - Trasportare i dati nel Model
ASP.NET MVC 3 - Trasportare i dati nel Model
 
2019 ottobre 28 gdoox personal profile
2019 ottobre 28 gdoox personal profile2019 ottobre 28 gdoox personal profile
2019 ottobre 28 gdoox personal profile
 
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1 Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1
Guida al computer - Lezione 97 - Pannello di Controllo – Account Utente Parte 1
 
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passiSicurezza WordPress: rendere il tuo sito sicuro in 10 passi
Sicurezza WordPress: rendere il tuo sito sicuro in 10 passi
 
Alessandro Germano SMAU PAdova 2018
Alessandro Germano SMAU PAdova 2018Alessandro Germano SMAU PAdova 2018
Alessandro Germano SMAU PAdova 2018
 
Form e HTML basi
Form e HTML basiForm e HTML basi
Form e HTML basi
 
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018
Joomla! non solo siti web ma anche software gestionali - Smau Bologna 2018
 
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDayHosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDay
Hosting: 10 consigli per mettere al sicuro un sito - parte 1 #TipOfTheDay
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
HTML Form
HTML Form HTML Form
HTML Form
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2 ...
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2  ...Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2  ...
Hosting: cache Joomla, tutte le opzioni spiegate passo dopo passo - parte 2 ...
 
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...
Con Aruba, a lezione di cloud #lezione 28 - parte 2: Cloud Server Smart, come...
 

Más de Antonio Musarra

Liferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cLiferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cAntonio Musarra
 
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Antonio Musarra
 
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cCome installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cAntonio Musarra
 
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Antonio Musarra
 
Liferay & Salesforce.com
Liferay & Salesforce.comLiferay & Salesforce.com
Liferay & Salesforce.comAntonio Musarra
 
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseCome installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseAntonio Musarra
 
Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1Antonio Musarra
 

Más de Antonio Musarra (7)

Liferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19cLiferay Portal CE 7.4: Come configurare Oracle Database 19c
Liferay Portal CE 7.4: Come configurare Oracle Database 19c
 
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
 
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19cCome installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
Come installare Liferay 7.2 GA2 su WildFly 16 + Oracle Database 19c
 
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
Liferay SSL/TLS Security. Come configurare il bundle Liferay per abilitare il...
 
Liferay & Salesforce.com
Liferay & Salesforce.comLiferay & Salesforce.com
Liferay & Salesforce.com
 
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle DatabaseCome installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
Come installare Liferay 7 su JBOSS EAP con il supporto​ Oracle Database
 
Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1Corso introduttivo di Design Pattern in Java per Elis - 1
Corso introduttivo di Design Pattern in Java per Elis - 1
 

Un CRM dentro un CMS v1.0

  • 1. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com     Un  CRM  dentro  un  CMS   Certamente  il  titolo  dell’articolo   può  sembrare  un  po’  bizzarro  ma  non  ho   trovato   titolo   migliore.   Avrei   potuto   dare   un   titolo   del   tipo   “Integrazione   tra   CRM….”   che   a   mio   avviso   per   il   tipo   di   soluzione   descritta   nel   corso   di   quest’articolo,  non  si  configura  una  vera  integrazione.         Inizierei  specificando  meglio  i  soggetti  del  titolo  attribuendogli  un  nome.  I   protagonisti   sono,   SugarCRM   che   implementa   per   l’appunto   un   sistema   di   Customer   Relationship   Management   (abbreviato   in   CRM)   e   Liferay   che   invece   implementa  un  sistema  di  Content  Management  System  (abbreviato  in  CMS).     Stiamo  attraversando  una  fase  dov’è  richiesta  sempre  di  più  l’integrazione   tra  i  più  disparati  sistemi  informativi  che  coprono  responsabilità  diverse,  è  come   fare  un  puzzle,  unire  insiemi  pezzi  diversi  in  modo  tale  che  la  loro  collaborazione   consenta   di   raggiugere   l’obiettivo,   cercando   di   mantenere   un’interfaccia   unica   per  interagire  con  l’intero  o  parti  del  puzzle.       Nel   corso   di   queste   poche   righe   vedremo   quindi   come   sia   possibile   e   semplice   mettere   SugarCRM   proprio   “dentro”   Liferay.   Ipotizzando   uno   scenario   dove   Liferay   implementa   un   portale   operativo   da   cui   è   possibile   accedere   a   informazioni   e   procedure   di   un’ipotetica   azienda,   non   sarebbe   una   cosa   fuori   dal   comune,   consentire   l’accesso   al   CRM   direttamente   dal   portale   senza   essere   obbligati   a   dover   aprire   una   nuova   finestra   del   browser   evitando   anche   la   ripetizione  dell’autenticazione.     Raggiungere  l’obiettivo  è  davvero  semplice  con  Liferay,  non  sono  richiesti   sviluppi   ma   solamente   attività   di   configurazione   dell’iFrame   Portlet,   già   disponibile   di   serie   con   Liferay.   Quanto   mostrato   nel   corso   della   trattazione   è   applicabile   sia   all’edizione   Community   sia   all’edizione   Enterprise   di   Liferay,   la   versione  utilizza  per  quest’occasione  è  una  6.1  GA2  CE.     1. Requisiti   Affinché   la   soluzione   del   “dentro”   sia   applicabile,   è   indispensabile   che   i   seguenti  requisiti  siano  soddisfatti:     • Accesso   al   portale   Liferay   con   un   livello   d’accesso   di   tipo   amministrativo   o   con   un   ruolo   tale   da   consentire   l’aggiunta   di   applicazioni  (portlet)  e  la  possibilità  di  configurazione  delle  stesse;   • Possibilità   di   esecuzione   di   attività   di   tipo   sistemistico,   tipo   operazioni  di  start,  stop  e  modifica  delle  configurazioni;   • URL  dell’istanza  di  SugarCRM.     23/09/12  -­‐  Document  Revision:  1.0   1   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike      
  • 2. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com     2. Funzionamento   Ogni  utente  del  portale,  quindi  autenticato,  potrà  accedere  direttamente  dal   portale  alla  propria  area  di  lavoro  del  CRM  senza  spostarsi  di  “browser”,  evitando   per   altro   di   ripetere   la   procedura   d’autenticazione.   Come   introdotto   in   precedenza,  questa  possibilità  è  offerta  dall’iFrame  Portlet.     L’iFrame  Portlet  permette  di  inserire  un'altra  pagina  HTML  all'interno  della   pagina   che   ospita   la   portlet.   Inoltre,   l'utente   può   navigare   attraverso   la   pagina   “nascosta”  senza  perdere  il  contesto  della  pagina  del  portale.     L’iFrame   Portlet   utilizza   il   tag   HTML   iframe   introdotto   dalla   versione   4   di   HTML,  ed  è  supportata  in  tutti  i  principali  browser.  L’iFrame  Portlet  consente  di   regolare  la  dimensione  della  pagina  HTML  e  svariati  altri  attributi.     Una   caratteristica   importante   di   questa   portlet   e   fondamentale   in   questo   scenario   è   la   possibilità   di   poter   eseguire   il   processo   di   autenticazione   al   posto   nostro.  Sono  supportati  due  tipi  di  autenticazione:  Basic  e  Form,  noi  faremo  uso   del   secondo   metodo,   comunque,   la   scelta   dipende   dal   tipo   di   autenticazione   supportata  dall’applicazione  web  da  integrare.     Avrete  già  intuito  che  un  requisito  indispensabile  affinché  l’autenticazione   sia   trasparente   consiste   nell’asserzione   che   sia  username   (solitamente   l’attributo   screen  name)   sia   password   dell’utente   del   portale   coincida   con   le   rispettive   del   CRM.     3. Configurazione   Aggiunta   la   portlet   su   una   vostra   pagina,   non   resta   che   procedere   con   la   configurazione  i  cui  parametri  principali  e  valori  sono  i  seguenti:     • URL  dell’istanza  di  SugarCRM  a  cui  volete  dare  l’accesso;   • Tipo  di  autenticazione   o Tipo:  Form   o Method:  POST   • Username   o FieldName:  user_name   o Value:  @screen_name@   • Password:   o FieldName:  user_password   o Value:  @password@   • Variabili  Hidden   o module=Users;action=Authenticate     I   valori   indicati   come   @screen_name@   e   @password@   saranno   poi   sostituiti  a  runtime  con  i  valori  reali  e  in  seguito  inviati  a  SugarCRM  nel  processo   d’autenticazione,   ecco   il   motivo   per   cui   è   necessario   che   le   credenziali   23/09/12  -­‐  Document  Revision:  1.0   2   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike      
  • 3. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com     coincidano;   in   caso   contrario   sarete   necessariamente   obbligati   a   eseguire   manualmente   l’autenticazione   tramite   la   form   di   SugarCRM.   In   Figura   1   è   mostrata   la   configurazione   dell’iFrame   portlet.   L’URL   specificato   fa   riferimento   a   un’istanza  di  SugarCRM  CE  6.5  ospitata  sul  cloud  Open  Shift.         Figura  1  Configurazione  iFrame  Portlet  per  SugarCRM.   Esiste   un   meccanismo   di   sicurezza   di   Liferay   tale   per   cui   le   vostre   credenziali   non   sono   memorizzate   (in   sessione,   cookie,   etc…)   per   impostazione   predefinita,   inoltre   è   possibile   fare   in   modo   che   i   soli   utenti   appartenenti   a   un   determinato   ruolo   possano   inviare   la   propria   password   a   sistemi   esterni   tramite   l’iFrame  portlet.     23/09/12  -­‐  Document  Revision:  1.0   3   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike      
  • 4. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com       Figura  2  Creazione  del  ruolo  per  l’autenticazione  trasperente.   Tramite   delle   properties   di   configurazione   è   possibile   abilitare   la   memorizzazione   della   password   (in   chiaro)   in   sessione   e   specificare   inoltre   il   ruolo   da   assegnare   agli   utenti   che   devono   avere   la   possibilità   di   trasmettere   la   password  all’esterno  tramite  la  portlet  iFrame.     public static String getPassword( PortletRequest portletRequest, String password) throws PortalException, SystemException { if (!isPasswordTokenEnabled(portletRequest)) { return StringPool.BLANK; } if (Validator.isNull(password) || password.equals("@password@")) { password = PortalUtil.getUserPassword(portletRequest); if (password == null) { password = StringPool.BLANK; } } return password; }   Listato  1  Get  della  password  dalla  sessione.   Il   Listato   2   mostra   il   metodo   getPassword()   della   classe   IFrameUtil   del   package   com.liferay.portlet.iframe.util   che   recupera   la   password   utente   dalla   23/09/12  -­‐  Document  Revision:  1.0   4   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike      
  • 5. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com     sessione  effettuando  prima  un  controllo  dell’associazione  ruolo/utente  tramite  il   metodo  isPasswordTokenEnabled().       Figura  3  Associazione  del  ruolo  all’utente.     ## ## IFrame Portlet ## # # Specify a role name that a user must be associated with in order to # configure the IFrame portlet to use the @password@ token. This token is # used to post the password of users who access this portlet in order to # automatically login to the framed site. # # No role is required by default. However, it is recommended that you # specify a role in high security environments where users who configure # this portlet may attempt password theft. See LPS-5272 for more # information. # iframe.password.token.role=iFrameUserToken ## ## Session ## # # Set this to true to store the user's password in the session. # session.store.password=true   Listato  2  Configurazione  file  di  properties  portal-­‐ext.properties   La   configurazione   mostra   il   ruolo   (di   un   nome   a   vostra   scelta)   cui   gli   utenti   devono   appartenere   e   l’esplicita   istruzione   di   memorizzare   in   sessione   la   23/09/12  -­‐  Document  Revision:  1.0   5   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike      
  • 6. Antonio  Musarra's  Blog   The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com   Mail:  antonio.musarra@gmail.com     password   dell’utente.   L’applicazione   di   questa   configurazione   richiede   l’operazione  di  riavvio  del  portale.     A   portale   riavviato   e   portlet   configurata   in   precedenza,   basterà   accedere   con  le  vostre  credenziali  per  avere  la  vostra  area  di  lavoro  CRM  pronta  all’uso.       Figura  4  Il  CRM  dentro  il  CMS.   4. Conclusioni   In   questo   breve   articolo   abbiamo   visto   come   sia   semplice   integrare   SugarCRM   “dentro”   Liferay   sfruttando   la   potenzialità   messa   a   disposizione   dall’iFrame  portlet.  E’  senz’altro  comodo  poter  eseguire  l’autenticazione  in  modo   trasparente.  Questa  soluzione  può  essere  adottata  per  integrare  qualunque  tipo   di  applicazione  web.       23/09/12  -­‐  Document  Revision:  1.0   6   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike