Liferay ECMS

Liferay è un ECM scritto in Java e compliant allo standard JSR-286 (Portlet 2.0). Questa piattaforma è open source e disponibile nella versione Community, che è gratuita ma priva di supporto o nella versione enterprise che invece è a pagamento. La caratteristica principale di questo prodotto è la facilità di personalizzazione grafica e la modularità. Lo sviluppatore può estendere le funzionalità presenti nel bundle di base realizzando diverse tipologie di progetti, tramite l’Sdk e l’integrazione per l’IDE Eclipse. Nella versione a pagamento è incluso un apposito IDE ottimizzato per lo sviluppo su piattaforma Liferay. Le modalità di estensione sono:

  • Themes: È possibile aggiungere temi grafici che consistono in un set di template velocity (.vm), css, javascript ed altre risorse grafiche. Gli elementi presenti nel tema devono rispondere ad una serie di convenzioni che permettono allo sviluppatore di sovrascrivere gli stili grafici di base e realizzare la propria skin per l’applicazione.
  • Portlet: Attraverso questa tipologia di progetto lo sviluppatore può aggiungere le proprie funzionalità al pacchetto già presente di base. Ogni portlet rappresenta una piccola applicazione autocontenuta che viene posizionata a runtime all’interno del layout di una determinata pagina. Ciascuna portlet è isolata e indipendente dalle altre, e può essere costruita sfruttando un determinato motore di rendering (JSP, MVC su JSP, Vaadin). A supporto dello sviluppatore Liferay offre di base:
    • Un sistema ORM basato su Hibernate e Spring, supportato da un approccio code-generated, gestito tramite il plugin dell’ide.
    • L’accesso a tutte le entità presenti all’interno del core.
    • L’automatizzazione del processo di build e deploy.
  • Hook: Attraverso questo sistema lo sviluppatore può sovrascrivere alcune parti presenti all’interno della piattaforma, in concreto può:
    • Sovrascrivere le chiavi di configurazione.
    • Sovrascrivere i file di templating relativi alle portlet presenti all’interno del sistema.
    • Cambiare alcuni comportamenti predefiniti (es. logica di login).

L’intero processo di sviluppo è standardizzato e supporta i maggiori web server (tomcat, jboss, glassfish, etc..) e database (Mysql, oracle, PostgreSQL, etc.)  presenti sul mercato.

All’interno del pacchetto è presente un sistema di gestione dei flussi di lavoro, una piattaforma di archiviazione documentale e per la gestione di form dinamiche. Supporta la configurazione in clustering con condivisione della cache a livello applicativo e supporta anche l’adozione di database in clustering.

 

I PRO di Liferay

  •  Molto facile l’integrazione grafica
  • Non richiede costi di licenza (almeno per quanto riguarda l’OS)
  • Si basa sulle tecnologie open source più diffuse al momento
  • Offre enormi possibilità di personalizzazione

I CONTRO di Liferay

  • La parte documentale risulta poco matura rispetto ad altri prodotti analoghi a pagamento
  • La piattaforma è in continua evoluzione: occorre mettere in programma di aggiornarla frequentemente
  • Per lo sviluppo occorre disporre di una macchina ben carrozzata
  • L’sdk non prevede l’utilizzo da parte di più sviluppatori, occorre gestire la mancanza tramite convenzioni
danielefontani

Actually CTO in Sintra Consulting s.r.l, I'm senior developer and architect specialized on portals, intranets, and others business applications. Particularly interested in Agile developing and open source projects, I worked on some of this as project manager and developer. My experience include: Frameworks \Technlogies: .NET Framework (C# & VB), ASP.NET, Java, php, Spring Client languages: XML, HTML, CSS, JavaScript, Angular.js,Angular. jQuery Platforms: Sharepoint,Liferay, Drupal Databases: MSSQL, ORACLE, MYSQL, Postgres

Lascia un commento