Come accade da qualche anno, anche questo 2012 ha visto arrivare nel nostro Paese l’atteso Liferay Symposium. Dopo l’evento capitolino dell’anno scorso, quest’anno il simposio si è svolto a Milano. Vediamo com’è andata la giornata, tra le aspettative dei clienti e le novità proposte.
Benvenuti al simposio
Milano è stata la cornice che ha accolto il Liferay Symposium 2012 lo scorso 16 novembre. Dopo essere entrati a Palazzo Visconti, uno degli esempi più eleganti del Barocchetto Lombardo nonche’ sede del simposio, abbiamo timidamente avuto accesso alla Sala Visconti, salone principale dell’evento con gli occhi rivolti verso il soffitto e un pensiero comune: “oh, basso profilo!”
Figura 1 – Sala Visconti.
Fresco della recente promozione a Liferay Platinum Partner, anche quest’anno lo staff di SMC ha organizzato in maniera egregia l’evento, a partire dall’incredibile location, dai numerosi gadget brandizzati in omaggio e, udite udite, da un iPad Mini sorteggiato a fine giornata tra i partecipanti!
L’evento è stato ufficialmente aperto dall’onnipresente Luca Borghesio, Sales Manager di SMC, che ha subito lasciato la parola a Bryan Cheung, fondatore e CEO di Liferay Inc., per il consueto keynote di apertura.
Keynote focalizzato molto quest’anno sui vantaggi legati all’utilizzo di software open source, nei confronti di blasonati software proprietari che portano il nome di IBM, piuttosto che Oracle oppure Microsoft.
Figura 2 – Comparativa software open source/proprietario
Vantaggi legati soprattutto alla maggiore possibilità di innovazione e flessibilità di un prodotto solido, supportato da una grande ed entusiasta comunità, adattabile a diverse piattaforme ed architetture. Prodotto soprattutto degno della fiducia di oltre un migliaio di clienti del calibro di Cisco, Lufthansa, Movistar e di cui l’Italia è il sesto paese utilizzatore al mondo.
Liferay permette infatti di adottare una metodologia agile che si colloca a metà tra:
- Prodotto Proprietario, difficilmente customizzabile;
- Prodotto Open Source, dove il tempo impiegato a sviluppare è maggiore per la mancanza di features di base.
Liferay rappresenta il giusto compromesso tra prodotti proprietari e open source, poiche’ è costituito da un blocco di funzionalità proprietarie più un blocco aperto customizzabile attraverso portlet e hook che rendono il prodotto molto più flessibile alle diverse esigenze dei clienti.
Figura 3 – Supporto multipiattaforma.
Social Office e Marketplace
Grande attesa c’era quest’anno per il talk tenuto da Joseph Shum, Director of Operations per l’area Europea, per la presentazione di Social Office e Marketplace.
Il Social Office è stata la grande novità di quest’anno (ed in generale della versione 6.1.1), con cui Liferay ha introdotto la propria suite di collaboration fondendo tutti gli aspetti normalmente interessati nell’attività di ogni giorno: suddivisione dei progetti, gestione documentale, wiki, blog e forum. L’introduzione di questa suite ha visto inoltre un’epocale svolta nella pacchettizzazione del bundle: sparisce Bruno e la gang 7Cogs a vantaggio della suite Social Office (tema e portlet) già preconfigurata.
Grande delusione, invece, da parte degli operatori del settore per la totale mancanza di cenni al Marketplace, pubblicizzato da tempo da Liferay ma mai ufficialmente messo a disposizione. Tanti dubbi e tante speranze ruotano attorno a questo progetto che consentirebbe ad aziende e professionisti di sviluppare le proprie componenti (portlet, hook, temi e quantaltro…) e di venderle sul Marketplace con il grande vantaggio che essere potrebbero essere installate direttamente dal pannello di controllo di Liferay, in maniera analoga a quanto avviene per Google Play o iTunes. Per il momento, però, non possiamo fare altro che aspettare…
Dopo una prima e abbondante pausa caffè, il Simposio si divide come di consueto nei due filoni di sessioni tecniche e business. Dal momento che chi scrive è un tecnico, ci concentreremo sulla parte tecnica dell’evento.
Document & Media
L’intervento successivo tenuto da Mauro Mariuzzo, Liferay Architect di SMC, ci mostra le novità della Document Library, introdotte già da tempo con Liferay 6.1 che mirano a migliorare l’interfaccia utente e l’usabilità del componente; di seguito i punti principali:
- interfaccia più User-Friendly;
- uso massiccio di Ajax;
- tre modalità di visualizzazione: Icona, Lista, Titoli;
- supporto Drag&Drop;
- upload multiplo di file con categorie e tag annessi;
- sostituzione del concetto di file con il concetto di Documento con dei metadati annessi ad esso;
- inserimento di regole per i folder in modo che accettino solo Documenti che abbiano determinate caratteristiche nei metadati (p.e. l’ipotetica cartella Budgets può accettare solo documenti di tipo Budget).
Figura 4 – Document & Media Library.
La modifica di maggior interesse è sicuramente l’abbandono del concetto di “file” e l’introduzione del concetto generico di “documento” visto come un contenitore di metadati e byte; grazie a questo è possibile definire le proprie tipologie di documento (budget, fattura, …) ciascuna con le proprie informazioni da gestire, dando anche la possibilità di limitare nelle cartelle le tipologie che vi possono essere inserite.
Terminata la descrizione delle novità, è stato illustrato come integrare il protocollo CMIS all’interno di Liferay in modo da rendere il portale l’unico punto di ingresso degli utenti, attraverso cui poter consultare documenti contenuti in sistemi documentali esterni come Documentum o Sharepoint.
Figura 5 – Gestione dei repository.
Per quanto riguarda la consultazione offline dei documenti, oltre al solito WebDAV, è stato presentato anche Liferay Sync (disponibile solamente nella versione EE), un comodo client analogo a quello di Dropbox o Google Drive attraverso cui è possibile gestire i documenti dal file system della propria macchina.
Advanced Search & Indexing
È quindi il turno dei ragazzi di Ariadne, Filippo Frignocca e Marcello Torriani, che ci illustrano una loro soluzione per la ricerca e indicizzazione avanzata di contenuti provenienti da fonti esterne a Liferay.
Figura 6 – Advanced Search & Indexing.
La soluzione proposta sostituisce il motore Lucene fornito con il portale, con un’integrazione molto interessante di due prodotti open source: Apache Solr 4.0 (che sostituisce la versione 1.4 inclusa in Liferay e si occupa della parte di indicizzazione e ricerca) e Apache ManifoldCF (per l’interconnessione e la gestione di fonti dati esterne).
È un progetto ancora in fase di sviluppo ma sicuramente molto interessante per espandere le potenzialità di Liferay; speriamo che i risultati ottenuti possano essere presto condivisi con la comunità.
Message Bus
A seguire abbiamo assistito all’intervento di Fabio Pezzutto di SMC, sull’utilizzo del Message Bus di Liferay come strumento architetturale per disaccoppiare le parti di frontend e backend, anche in termini di performance e di miglioramento della fase di deploy nel tempo.
Figura 7 – Message Bus.
Sono state descritte le varie modalità di funzionamento del bus: quella sincrona e quella asincrona, suddivisa nelle due modalità di funzionamento “Call back” e “Send-and-forget“. L’intervento è stato davvero molto interessante perche’ ha descritto in maniera molto chiara e strutturata l’utilizzo del Message Bus per qualcosa che finalmente non fosse l’invio di una mail!
Di seguito i principali vantaggi nell’utilizzo del message Bus:
- disaccoppiamento Front-end/Back-end;
- gestione a code delle richieste;
- inoltro delle richieste in ambiente cluster.
Technical best practices
Le sessioni tecniche hanno quindi proseguito con l’intervento di Riccardo Ferrari, Liferay GmbH, che ha trasformato le richieste di assistenza pervenute dagli utenti in un elenco di best practices da mettere in piedi all’interno di un portale Liferay; con un pizzico di orgoglio posso dire che molte erano per me già ovvie!
Si è parlato di importanza e tecniche di backup, di coerenza di configurazione tra l’ambiente di sviluppo e di produzione, di strumenti di analisi (da Firebug a Wireshark, fino agli immancabili log), di clustering e problemi di indicizzazione.
Estendere e personalizzare Liferay
Finalmente è stato il turno di Andrea Di Giorgi, ingegnere R&D in SMC (nonche’ unico docente italiano certificato Liferay), che ci accompagna con la sua abituale passione e competenza nel mondo dei plugin di Liferay, concentrandosi sulle peculiarità di hook ed ext environment (molto esplicativa l’icona del martello).
Figura 8 – Modalità di estensione di Liferay.
L’intervento prosegue con un’analisi molto precisa del meccanismo di class loading di Liferay e sulla modalità con cui poter interagire con esso, e si conclude con un esempio di utilizzo dei JSON Web Service con autenticazione.
Figura 9 – Class Loading.
Well hidden features of Liferay
Lo ammetto, solo leggendo il titolo di questo intervento ho desiderato ardentemente partecipare al Symposium 2012! Conoscere le funzionalità ben nascoste di Liferay rappresenta davvero una marcia in più. Ed effettivamente molte “features” sono state interessanti e illustrate con simpatia da Olaf Kock, Senior Consultant & Trainer in Liferay GmbH.
Una buona notizia per i nostalgici di Liferay 5.2.3. si può usare jQuery anche nella versione 6.1, basta conoscere la “well hidden feature” del caso.
Figura 10 – Usare jQuery con Liferay 6.1.
Altro giro, altra “well hidden feature” che ogni sviluppatore dovrebbe conoscere: la modalità che impedisce a Liferay di fondere e compattare i file JavaScript, rendendo praticamente impossibile il debug.
Figura 11 – JavaScript Minifier.
Interventi conclusivi
Terminate le sessioni parallele, si torna in modalità congiunta per gli ultimi interventi del simposio.
Joseph Shum riprende la parola sottolineando nuovamente l’importanza dell’open source e facendo previsioni della sua diffusione e sul suo utilizzo nelle aziende nei prossimi anni.
Figura 12 – Piattaforma Liferay.
Ma un Liferay Symposium non si può dire finito senza il discorso di chiusura di Bryan Cheung, che si apre con una domanda molto filosofica sul “why we exist”.
Figura 13 – Why we exist.
Il resto dell’intervento è incentrato sull’impegno sociale, argomento che sta molto a cuore allo staff di Liferay e che si è materializzato nel 2012 nell’apertura di un nuovo ufficio vendite ad Hamilton, in Ohio, per dare lavoro ai numerosi disoccupati che si erano creati dopo la chiusura di uno stabilimento locale.
Le origini orientali di Bryan lo hanno poi portato in Giappone, a sporcarsi le mani per dare una mano a ricostruire dopo lo tsunami dell’anno scorso; decisamente poco choosy! Sembra inoltre che nel 2013 verrà aperta una nuova sede nelle zone colpite per rilanciare l’economia locale.
Conclusioni
E anche per questo 2012 il Liferay Symposium è terminato, portandosi dietro alcune novità e un po’ di delusione per alcuni argomenti molto richiesti ma poco approfonditi; a dire il vero, il simposio non ha presentato nessuna grossa novità sul prodotto. Tuttavia è sempre un momento sociale molto importante per la comunità, per incontrarsi con aziende e operatori del settore e per condividere problemi ed esperienze.
Rimaniamo quindi in attesa delle prossime novità, a partire da Liferay 6.2.0, che al momento della scrittura di questo articolo è rilasciato in versione Milestone M2. Quindi, aspettiamo con fiducia le novità. Un arrivederci a tutti al 2013… se il mondo non finisce prima!
Riferimenti
[1] Utilizzare jQuery con Liferay 6.1
http://yuilibrary.com/gallery/show/yquery
[2] Liferay Portal 6.2.0 M2
http://sourceforge.net/projects/lportal/files/Liferay%20Portal/6.2.0%20M2/