Creare portali professionali a costo zero con Liferay: utopia o realtà?

Con più di 80.000 download al mese rappresenta uno dei prodotti open source più “caldi” del momento tanto che anche in Italia nel giro di pochissimo tempo ha catalizzato l’interesse di pubbliche amministrazioni, istituti di credito e aziende di tutte le dimensioni e l’interesse nei suoi confronti continua ad aumentare tanto che nessuna software house che si occupi di sviluppo su web di alto livello può più permettersi di non conoscerlo.
Stiamo ovviamente parlando di Liferay, un portal server conforme allo standard portlet (JSR 168/268) distribuito in versione open source con un bundle di oltre 60 portlet già pronte all’uso che possono essere sinteticamente rraggruppate nei seguenti insiemi:
- Portlet per la gestione dei contenuti: servono per gestire a livello di editing e di publishing tutto il ciclo di vita dei contenuti web (e non) che il portale dovrà erogare
- Portlet di collaboration: sono disponibili in versione “portlet” tutti i principali strumenti e funzionalità di collaboration più conosciuti e diffusi: rating e commenti sui contenuti, forum, wiki, blog, client IM, Calendario condiviso, client webmail
- Portlet di integrazione: si tratta di portlet finalizzate ad integrare contenuti e/o siti web esterni (via Iframe o Proxy), mappe di Google, feed RSS
- Portlet varie: sono per la maggior parte delle portlet “inutili” con finalità di demo. La più singolare è sicuramente la portlet “Random Bible Verse”

A queste si aggiungono moltissime funzionalità trasversali come ad esempio la status bar in stile Facebook per contattare gli amici attualmente collegati ed il pannello di controllo che consente ad ogni utente normale di gestire il suo profilo e all’amministratore di tener sotto controllo tutto quello che avviene nel portale, dalle singole azioni degli utenti alle risorse di memoria allocate.
Una volta effettuata l’installazione, lo startup di un portale basato su Liferay rappresenta una procedura molto veloce che può essere effettuata interamente via web attraverso funzioni user-friendly quasi interamente basate sul solo utilizzo del mouse. L’assemblaggio di un portale viene effettuato secondo la seguente sequenza di operazioni:
- Scelta del tema grafico: si tratta di un componente installabile proprio come qualunque altro plugin e che per questo motivo deve essere creato secondo precisi standard e convenzioni. Questo consente da un lato di poter effettuare delle sostituzioni a caldo dell’aspetto grafico e dall’altro ha favorito la nascita di un discreto repository di temi grafici gratuiti che vanno ad aggiungersi a quelli già inclusi nel bundle di installazione di Liferay
- Costruzione dell’alberatura del sito: le pagine possono essere create in maniera visuale con pochi click, quindi possono essere copiate, duplicate e spostate attraverso drag & drop in maniera istantanea
- Assemblaggio delle portlet nelle pagine: per ogni pagina sono disponibili svariati layout (singola colonna, due colonne, tre colonne, ecc…) all’interno dei quali è possibile trascinare le diverse portlet con l’utilizzo del mouse
- Configurazione utenze e permessi: uno dei punti di forza maggiori di questo prodotto (usabilità a parte) consiste proprio nella possibilità di controllare i permessi in maniera molto granulare. Ad esempio è possibile definire quali gruppi di utenti possono vedere una certa pagina o addirittura una certa portlet all’interno di una certa pagina!
- Creazione community e sottositi: il motore di Liferay consente da un lato di gestire più virtual host separati all’interno di un’unica istanza, dando così la possibilità di gestire più portali indipendenti, dall’altro di fornire ai gruppi e ai singoli utenti la possibilità di gestire in piena autonomia una propria area personale che può essere pubblica o privata. In questo senso Liferay si presta molto bene alla gestione di community e social network: non a caso ne esiste anche una versione denominata Liferay Social Office (destinata all’ambito professionale)
Ovviamente però non è tutto oro quel che luccica: per poter funzionare Liferay richiede un hosting Java dedicato e notevoli risorse hardware, motivo per cui si cofigura come un prodotto prevalentemente destinato ad un’ utenza professionale. Dal punto di vista poi della qualità presenta sicuramente anche svariati difetti. In particolare:
- Un sito sviluppato con Liferay rischia di essere particolarmente pesante anche per il browser: l’uso massiccio di Javascript per la costruzione di un’interfaccia user-friendly fa sentire tutto il suo peso. I tempi di latenza nel caricamento delle pagine spesso sono fin troppo percettibili. In questo senso però, soprattutto con le versioni più recenti, sono stati fatti notevoli passi in avanti, grazie all’introduzione di sistemi di compressione, caching ed ottimizzazione.
- La versione open source non è mai bug-free: il team di Liferay rilascia quasi mensilmente una nuova versione, spesso non retrocompatibile, con lo scopo (a mio avviso fin troppo palese) di sfruttare la community nell’identificazione e correzione dei bug. Le versioni stabili e consolidate convergono poi (purtroppo per noi) in Liferay Enterprise, la versione commerciale del portale. Chi decide di sviluppare su Liferay deve quindi preventivare anche un certo impegno nella risoluzione autonoma di problemi e bug di vario genere (personalmente, nei progetti che ho seguito, ne ho dovuti correggere almeno una decina)
- L’infrastruttura applicativa di Liferay è fortemente monolitica: le modifiche o estensioni finalizzate a correggere bug o a modificare/adattare il funzionamento delle portlet in bundle (capita molto spesso, motivo per cui lo svilupaptore ha a disposizione il cosiddetto “Extension Environment”), hanno sempre una portata trasversale su tutti i layer applicativi e nella maggioranza dei casi non sono mai portabili da una versione di Liferay a quella successiva. I problemi poi emergono maggiormente nel momento in cui si renda necessario intervenire sulla logica di presentazione (front end) layer implementato con soluzioni spesso spartane e poco modulari.
Liferay è distribuito in bundle con tutti i più diffusi application server e servlet engine in circolazione (open source e commerciali): si va da Jetty,Resin,Tomcat a Apache Geronimo, Sun GlassFish 2 UR1, JBoss, JOnAS, OracleAS, SUN JSAS, WebLogic, WebSphere. Anche a livello di database è compatibile praticamente con tutti i prodotti in circolazione: Apache Derby, IBM DB2, Firebird,Hypersonic, InterBase, JDataStore, MySQL, Oracle, PostgresSQL, SAP MaxDB, SQL Server, Sybase.
Di seguito un video che può servirvi per farvi un’idea sull’usabilità di Liferay e sulla velocità con cui un utente (esperto) possa configurare un portale complesso e pronto per il go-live:
In conclusione, ritengo che nonostante i concorrenti commerciali lo definiscano come “fumo negli occhi”, Liferay si configura sicuramente come un buon prodotto in grado di apportare notevoli vantaggi in svariate situazioni, soprattutto se lo si adotta “as is” accettandone quindi il funzionamento di default soprattutto in relazione alle portlet che fornisce già pronte in bundle. Nel momento in cui si inizia ad apportarvi estensioni e modifiche tutti i vantaggi acquisiti rischiano di scemare molto velocemente e di farvi convergere verso derive che possono diventare molto insidiose.
Visita il sito ufficiale di Liferay
Iscriviti alla newsletter per ricevere in tempo reale tutte le notizie e gli aggiornamenti!









Una sorta di Wordpress per professionisti!
!
Perchè la scelta di usare per tutto Java?
E’ pesantissimo (soprattutto su sistemi Windows)!
C’è qualche esisto d’esempio?
Grazie!
Ciao!
!
siti d’esempio http://www.google.it/search?rlz=1C1CHMB_itIT292IT303&sourceid=chrome&ie=UTF-8&q=p_p_lifecycle%3D0
ps. se hai intenzione di sviluppare per la pubblica amministrazione meglio se tieni presente che non soddisfa granchè la legge stanca, soprattutto nel punto riguardo all’utilizzo dei javascript e degli &
@pollycoke: eh lo so…Eccome se lo so…
. Il bello è che molte volte ti trovi i bandi di gara delle P.A che chiedono Liferay e legge Stanca…Così vanno le cose in Italia
Grazie!
!
Perchè vuoi lavorare per il Governo?
Ciao!
!
è vero quello dei bandi anche perchè ci sono geni che consigliano queste cose senza minimamente accorgersi delle implicazioni (tanti chissene di usabilità e accessibilità —> chissene se l’utente non ci capisce nulla e non riesce ad usarlo sono tutti dei niubbi) lo propongono perchè giocattolinonuovo, opensource/free; in pratica vogliono un prodotto acerbo perchè è figo e purtroppo le pubbliche amministrazioni non avendo gente competente per controbattere si lasciano trasportare…
@lupoalberto12
Eccoti oltre 70 esempi direttamente dalla community Liferay:
http://www.liferay.com/web/ronald.sarayudej/blog/-/blogs/people-who-use-liferay%3A-amgen-scholars;jsessionid=5E15AC14B598A6CC662580632621A745?_33_redirect=%2Fweb%2Fronald.sarayudej%2Fblog%3Fp_p_id%3D33%26p_p_lifecycle%3D0%26p_p_state%3Dnormal%26p_p_mode%3Dview%26_33_struts_action%3D%252Fblogs%252Fview
Quali sono i problemi di conformità con la legge Stanca?
@Pescenaufragp: eccone alcuni:
1) utilizzo massivo di Javascript ed Ajax per il rendering delle pagine: se disabiliti il JS il portale diventa inusabile
2) generazione di HTML non compliant (non Strict)
3) utilizzo delle TABLE html in maniera non conforme (ovvero per definire layout)
4) Presenza di definizioni di stile inline
Confermo in toto i pro e contro segnalati nella’articolo, anche se c’è da dire che dal 2008 Liferay è stato acquistato dalla SUN e l’ultima versione rilasciata e su cui stò lavorando (5.2.3) è molto più stabile e completa delle precedenti(anche se come al solito non retrocompatibile).
Ciao a tutti, vorrei creare un e-commerce utilizzando la versione gratuita Community Edition di Liferay.
Solo che dovrei apportare delle modifiche al portlet di default (Shopping): es. eliminare la parte relativa alla transazione economica, permettendo all’utente di poter semplicemente effettuare l’ordine.
Lo chiedo perché nell’articolo si legge: “Nel momento in cui si inizia ad apportarvi estensioni e modifiche tutti i vantaggi acquisiti rischiano di scemare molto velocemente e di farvi convergere verso derive che possono diventare molto insidiose.”
Siete d’accordo? Secondo voi è un’impresa rischiosa?
grazie!
@Diego: mah dipende molto da quello che vuoi ottenere. La portlet di commerce onestamente non mi sembra un gran che… Se pero’ per le tue esigenze e’ sufficiente qualche personalizzazione allora puoi anche valutare la cosa.
Ma la domanda principale e’: hai gia’ un portale liferay su cui vuoi attivare il commerce assieme ad altre funzionalita’ di cmmunity o partiresti da liferay solo per avere il commerce?
Nel secondo caso ti consiglio di optare per altre piattaforme dedicate come Magento
interesante quello che dite adesso mi domando qualle strumento usare invece di Liferay? sto cercando di capire un po come funziona o anche guardato un po Alfresco, lo conoscete? avete una proposta grazie
@Piera: Alfresco e’ un database documentale, quindi e’ piuttosto diverso da Liferay.
Tutto dipende da quelli che sono i tuoi requisiti di business….
@Davide: Grazie Davide. Darò un’occhiata a Magento!
Per ora ho optato per Joomla a cui ho aggiunto il compontente VirueMart, che mi sembra piuttosto semplice ma buono.
Però avrei preferito farlo con Liferay perché il mio cliente ha già numerosi servizi su un portale Liferay, quindi avrei potuto integrare la portlet.
Invece, facendolo con Joomla, avrà un link che lo farà accedere all’e-commerce posizionato su un’altra url.
Ciao!
Ciao Davide grazie della risposta, mi interesa poter lavorae con Liferay Social office o avere un’altra soluzione che mi permetta di esseguire questo tipo di lavoro in una azienda tipo quello che fa Dropbox pero io dovrei farlo nel mio lavoro con i server nostri, hai qualche suggerimento che mi puo aiutare. Grazie
@Piera: se devi salvare dei documenti “privati” su web e condividerli con altri utenti puoi usare Liferay Social Office. Su Liferay ottieni il massimo valore aggiunto se sei disponibile ad utilizzarlo AS IS senza personalizzazioni software.
Grazie Davide, sono andata a cercare informazione su Liferay Social Office, ho trovato anche che è uscita la versione 3.0 di Wordpress cosa pensi puo diventare anche quella una soluzione? Grazie
@Piera: Wordpress e’ una piattaforma per fare blog (e al massimo un mini CMS)…
Davide hai fatto una buona introduzione su Liferay. Da qualche mese lavoro su Liferay ma più sulla parte architetturale e performance (sia la versione CE sia la versione Enterprise).
Sul mio blog (o meglio su Slideshare http://www.slideshare.net/amusarra) ho pubblicato due articoli in italiano che trattano Liferay per la configurazione della persistenza su PostgreSQL e Oracle.
http://musarra.wordpress.com/2011/08/07/come-configurare-liferay-6-0-per-oracle-db/
http://musarra.wordpress.com/2011/06/16/come-configurare-liferay-6-0-per-postgresql/
Bye,
Antonio