Come sviluppare plugins Liferay con Maven

In un precedente articolo pubblicato sul mio blog abbiamo visto come sia stato semplice e immediato creare ogni tipo di plugin Liferay utilizzando uno strumento completo e complesso come Apache Maven1 (che da questo punto in poi chiameremo Maven) grazie al supporto fornito dal plugin M2Eclipse2 per Eclipse e alla disponibilità degli Artifact3 Liferay per Maven, quest’ultimi pubblicati sul Central Repository.

Nel corso di quest’articolo vedremo invece come utilizzare il Liferay Maven SDK per creare qualunque tipo (o quasi) di plugin partendo dagli Artifact Liferay installati sul proprio repository Maven locale. Successivamente vedremo come pubblicare il progetto creato nel corso dell’articolo sul repository GitHub4, introducendo in questo modo la gestione del ciclo di vita del progetto utilizzando strumenti divenuti standard come Maven e GitHub. L’articolo seguirà a grandi linee il flusso indicato in Figura 1, una sorta di vista su ciò che affronteremo da questo punto in poi.

Figura 1: Flusso degli argomenti tratti nel corso dell'articolo

Figura 1: Flusso degli argomenti tratti nel corso dell’articolo

La versione Liferay di riferimento per quest’articolo è la 6.2 SP8 Enterprise Edition (di cui consiglio l’installazione del bundle basato su Tomcat), in ogni caso quanto descritto in quest’articolo è applicabile anche alla Community Edition. La versione Maven di riferimento è la 3.2.x e il sistema operativo utilizzato è Unix-like1.

L’articolo sarà maggiormente efficace per coloro che partono da un livello di conoscenza base sullo sviluppo Liferay, utilizzo di Maven per la gestione dei progetti e Git per il versioning dei progetti. Dato che l’articolo è corposo (circa quaranta pagine) ho preferito pubblicare l’intero articolo Come sviluppare plugins Liferay con Maven sul mio account slide share.

Vi auguro una buona lettura e aspetto i vostri feedback.

1 Il termine unix-like (spesso abbreviato con *nix) indica, in informatica, tutti quei sistemi operativi che sono progettati seguendo le direttive dei sistemi Unix descritte nella Single UNIX Specification ma che, per questioni legali, non possono usare il marchio UNIX.

1 Il progetto Apache Maven è un software usato principalmente per la gestione di progetti Java e build automation.

2 Si tratta di un plugin per l’IDE Eclipse che consente l’integrazione con il progetto Apache Maven.

3 In informatica e in particolare in ingegneria del software, un artefatto o artifact è un sottoprodotto che viene realizzato durante lo sviluppo software. Nel nostro caso questi artefatti sono generati da Apache Maven (esempio: jar, war, pom, ear, etc…).

4 GitHub è un servizio web di hosting per lo sviluppo di progetti software (e non solo) che usa il sistema di controllo di versione Git.

 

Antonio Musarra

I began my journey into the world of computing from an Olivetti M24 PC (http://it.wikipedia.org/wiki/Olivetti_M24) bought by my father for his work. Day after day, quickly taking control until … Now doing business consulting for projects in the enterprise application development using web-oriented technologies such as J2EE, Web Services, ESB, TIBCO, PHP.

You may also like...

Cos'è il progetto CIE/CNS Apache Docker - Developers Italia

In questo video https://youtu.be/TcAzn1POhsM introdurrò il progetto CIE/CNS Apache Docker di Developers Italia (https://developers.italia.it/it/cie/#resourcecontent-3) nato circa due anni fa.

L'obiettivo di questo progetto è quello di fornire un template pronto all'uso che realizza un sistema di autenticazione tramite la Smart Card TS-CNS (o CNS) e la CIE (Carta d'Identità Elettronica) basato su Apache HTTP. Ognuno può poi modificare o specializzare questo progetto sulla base delle proprie esigenze Si tratta di un progetto docker per la creazione di un container che implementa un sistema di mutua autenticazione o autenticazione bilaterale SSL/TLS.

Questo meccanismo di autenticazione richiede anche il certificato digitale da parte del client, certificato che in questo caso risiede all'interno della TS-CNS o della CIE. La particolarità del sistema implementato (attraverso questo container) è quella di consentire l'autenticazione tramite:

  • La TS-CNS (Tessera Sanitaria - Carta Nazionale Servizi), rilasciata dalla regione di appartenenza;
  • La CIE (Carta d'Identità Elettronica), rilasciata dal comune di residenza.

Nella versione 2.0.0 il progetto è stato aggiornato per essere uniforme alle linee guida di Bootstrap Italia. A seguire alcune risorse che possono essere utili.

  • Cos’è il progetto CIE/CNS Apache Docker (http://bit.ly/3aJ5Gbl)
  • CIE Carta d'Identità Elettronica (https://developers.italia.it/it/cie/)
  • Carta Nazionale dei Servizi (https://www.agid.gov.it/it/piattaforme/carta-nazionale-servizi)
  • Raspberry Pi – Un esempio di applicazione della TS-CNS (https://bit.ly/3hkJ8Aj)
  • Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud (http://bit.ly/3aPoq8V)
  • Come accedere al portale VETINFO tramite TS-CNS e Mac OS (http://bit.ly/2VFMKq7)