SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Liferay – Quick Start
1° Episodio
Bundle Tomcat and Plugin SDK
Antonio Musarra’s Blog
Twitter: @antonio_musarra
Email: antonio.musarra@gmail.com
Blog: www.dontesta.it
GitHub: github.com/amusarra
SlideShare: slideshare.net/amusarra
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
Liferay is a trademark of Liferay, Inc. in the United States, the European Union and other countries. The Liferay Logo is a trademark of Liferay Inc. in the United States, the European Union and other countries.
Sommario
• Liferay Overview
• Quick Start
• Tomcat Bundle
• Plugins SDK
• Risorse
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
1
Liferay Overview
• Liferay è un Enterprise Portal free e Open Source scritto in Java
• E’ costituito da tre parti fondamentali
• Un Kernel (Liferay Portal) che funge da base per le applicazioni e i contenuti
• Un Content Management System (Liferay CMS)
• Una suite di applicazioni per realizzare collaboration e social networks (Liferay
Collaboration)
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
2
Liferay Overview
 È basato su un'architettura di tipo Service Oriented (SOA) che rende possibile la
realizzazione di applicazioni chiamate Portlet a partire da Servizi Web esistenti.
 Liferay è standard. Le Portlet sono definite dagli standard JSR-168 e JSR-286 e
sono componenti che definiscono il markup della singola applicazione all'interno di
una pagina del portale.
 Le Portlet sono gestite da un Portlet Container e da un Portal Server, responsabile
di servire le pagine al browser o al client. Questi due sistemi, insieme, costituiscono
l'infrastruttura del portale necessaria al deployment delle applicazioni.
 Il Service Builder è un code-generator che permette di generare automaticamente
entità, script sql e classi di interfaccia al database
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
3
Liferay Overview
• Liferay è Developer Friendly
• E’ compatibile con l’infrastruttura IT esistente
• Aderisce e contribuisce alla definizione di nuovi standard
• Utilizza un sistema di autorizzazioni granulare
• Integrazione semplificata con i più comuni meccanismi di Single Sign On (SSO)
• Semplifica le attività di Enterprise Application Integration (EAI)
• Eseguire le altre applicazioni (PHP, Ruby, Python) in Liferay
• Aiuta a diventare social grazie a tag library, set di API, Widget e Mashup
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
4
Liferay Overview
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
5
Liferay segue i seguenti approcci architetturali
 Model Driven Architecture (MDA)
 Platform Independent Model (PIM)
 Platform Specific Model (PSM)
 Domain Specific Model (DSM)
Sviluppare e estendere funzionalità su Liferay è reso
possibile e agevole grazie a vari framework, i
principali sono:
 Extension Envinronment
 Plugins Framework
 Asset Framework
Quick Start
Cosa occorre fare per essere rapidamente operativi su Liferay Portal?
• Scaricare e installare la Sun/Oracle JDK 6, consigliata la versione 7 della JDK. Se
non si dispone dell’ambiente Java installato nel proprio ambiente non è un
problema, il Portal Bundle è fornito con Java JRE e sarà in grado di eseguire il
portale
• Scaricare il Portal Bundle direttamente dalla sezione download del portale
liferay.com. E’ consigliato iniziare la propria esperienza con il Bundle with Tomcat
da installare sulla propria workstation
• Run Liferay Portal e andare all’indirizzo http://localhost:8080 accedendo con le
credenziali test@liferay.com/test
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
6
Tomcat Bundle
• Il Bundle with Tomcat è la soluzione veloce e consigliata per l’installazione del portale in
ambiente di sviluppo e comunque è facile trovare installazioni Liferay in esecuzione su
Tomcat anche in ambienti di produzione
• Liferay è una Servlet Application che può essere installata su tutti gli Application Server
che sono JSR154 compliant
• Liferay è inoltre distribuito in bundle anche su:
• Geronimo
• Glassfish
• JBoss
• Jetty
• Resin
• JOnAS + Tomcat
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
7
Tomcat Bundle – Filesystem Layout
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
8
• bin: è la directory contenente i file eseguibili di
Tomcat
• conf: è la directory contenente i file di
configurazione di Tomcat
• lib: è la directory che contiene i jar comuni a tutte
le Web Application di Tomcat
• lib/ext: Ci sono e andranno
• i driver di connessione al data base
• le librerie che implementano JavaMail
• la libreria portlet.jar che contiene la
definizione del JSR168 e JSR286
• la libreria portal-service.jar che contiene i
bridge che permettono ai singoli portlet di
invocare il Service Layer del core di Liferay
Gli eventuali Services sviluppati o di terze parti
devono essere posizionati all’interno di lib/ext.
• webapps: È la directory dove saranno installati
tutti i nostri plugin (temi, layout, portlet, hooks,
etc.) e dove viene installata la webapp che
conterrà̀ Liferay.
Tomcat Bundle – Filesystem Layout
• I file della directory bin di nostro interesse sono:
• catalina.[bat|sh]. All’interno di questi file è possibile specificare il percorso della JDK o JRE
tramite l'impostazione delle properties:
• JAVA_HOME: nel caso d’utilizzo della JDK. Ricordo anche la possibilità di leggere il percorso della JDK
dall’environment JAVA_HOME
• JRE_HOME: nel caso d’utilizzo della JRE. Ricordo anche la possibilità di leggere il percorso della JRE
dall’environment JRE_HOME
• setenv.[bat|sh]. All’interno di questo file è possibile indicare le risorse in termini di memoria:
• -Xms: imposta il valore iniziale della heap
• -Xmx: imposta il valore massimo della heap
• -XX:MaxPermSize: imposta il valore della PermGen
• startup.[bat|sh] e shutdown.[bat.sh]: I comandi per accendere e spegnere Tomcat
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
9
Leveraging the Plugins SDK
• Liferay mette a disposizione degli sviluppatori un Software Development Kit (SDK)
basato su Apache Ant che può essere utilizzato con qualsiasi editor o ambiente di
sviluppo integrato (IDE). L’SDK è lo strumento essenziale per lo sviluppo delle
proprie applicazioni Liferay.
• Da qualche anno Liferay ha reso disponibile l’SDK Plugin basato su Apache Maven
• Liferay ha realizzato un IDE (Open Source) basato sull’ambiente di sviluppo Eclipse
che semplifica lo sviluppo di ogni tipo di plugin per Liferay
• Esiste anche una versione commerciale dell’IDE che si chiama Liferay Developer
Studio sempre basato su Eclipse che contiene alcune caratteristiche aggiuntive per
lo sviluppo sull’edizione commerciale (Enterprise) di Liferay
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
10
Leveraging the Plugins SDK
Tramite questo strumento di sviluppo è possibile quindi:
• Realizzare Portlet. Applicazioni Web scritte in Java che sono eseguite all’interno di
una porzione di una pagina web
• Estendere e personalizzare Liferay attraverso gli Hook
• Personalizzare il look and feel attraverso i Themes
• Aggiungere dei nuovi layout di pagina attraverso i Layout Template
• Implementare nuove estensioni avanzate attraverso gli Ext
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
11
Leveraging the Plugins SDK
Il Plugins SDK è articolato su diversi folder, dove sei di questi folder sono dedicati a rispettivi tipi di
plugin.
• liferay-plugins-<version>/ - Plugins SDK root directory
• ext/ - Ext plugins directory
• hooks/ - hook plugins directory
• layouttpl/ - layout templates directory
• portlets/ - portlet plugins directory
• themes/ - themes plugins directory
• webs/ - web plugins directory
Tramite file di properties è possibile agire per esempio sull’ambiente di deployment e altre
impostazioni di configurazione. Esistono due file di properties, uno globale e uno specifico per utente
(esempio: build.<username>.properties), quest’ultimo sovrascrive le impostazioni del primo.
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
12
Leveraging the Plugins SDK
I nuovi plugin sviluppati sono messi all’interno della sottodirectory del tipo plug-in appropriato. Ad
esempio, un nuovo portlet denominato “shirus-portlet” dovrebbe risiedere in:
• liferay-plugins-[version]/portlets/shirus-portlet
Per ogni tipo di plugin esiste il file build.xml di Ant, tramite il quale è possibile eseguire i seguenti task:
• build-service: costruisce il livello di servizio per un plugin, utilizzando Liferay servizio Builder
• clean: pulisce i file residui creati durante la compilazione, archiviazione e distribuzione
• compile: compilazione del plugin e posizionamento del WAR dentro la directory dist
• deploy: builds e deploys il plugin sull’Application Server
• format-source: formatta il codice sorgente secondo le linee guida di Liferay e informa su eventuali
violazioni.
• format-javadoc: formatta i Javadoc
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
13
Risorse
Con queste “14 misere” slide ho cercato d’introdurre Liferay e come iniziare con il piede
giusto per affrontare lo sviluppo di applicazioni ai voi che siete proprio “novelli”. Spero di
essere riuscito con questo primo episodio a suscitare la vostra curiosità e interesse.
Vi lascio con delle ottime risorse da consulture per i vostri approfondimenti.
• Liferay Developer Network
• Liferay Community Blog
• Antonio Musarra’s Blog
• D’vel Blog
• Marco Napolitano
(C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ}
14

Mais conteúdo relacionado

Mais procurados

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
 
SugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minutiSugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minutiAntonio 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
 
Come configurare Liferay 6.0 per PostgreSQL
Come configurare Liferay 6.0 per PostgreSQLCome configurare Liferay 6.0 per PostgreSQL
Come configurare Liferay 6.0 per PostgreSQLAntonio Musarra
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceAntonio 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
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Codemotion
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8Valerio Radice
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Valerio Radice
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummiesfirenze-gtug
 
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
 
Spring Framework
Spring FrameworkSpring Framework
Spring FrameworkNaLUG
 
Un backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringUn backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringMarcello Teodori
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
 
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
 

Mais procurados (20)

OSGi e Liferay 7
OSGi e Liferay 7OSGi e Liferay 7
OSGi e Liferay 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
 
SugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minutiSugarCRM REST API: Un’applicazione in appena dieci minuti
SugarCRM REST API: Un’applicazione in appena dieci minuti
 
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
 
Come configurare Liferay 6.0 per PostgreSQL
Come configurare Liferay 6.0 per PostgreSQLCome configurare Liferay 6.0 per PostgreSQL
Come configurare Liferay 6.0 per PostgreSQL
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
 
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...
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
Apache Maven
Apache MavenApache Maven
Apache Maven
 
Maven Eclipse
Maven EclipseMaven Eclipse
Maven Eclipse
 
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
Java EE facile con Spring Boot - Luigi Bennardis - Codemotion Roma 2015
 
Introduzione ad angular 7/8
Introduzione ad angular 7/8Introduzione ad angular 7/8
Introduzione ad angular 7/8
 
Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]Introduzione a Docker (Maggio 2017) [ITA]
Introduzione a Docker (Maggio 2017) [ITA]
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummies
 
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
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Un backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con SpringUn backend per tutte le stagioni con Spring
Un backend per tutte le stagioni con Spring
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
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
 
TYPO3 CMS 7.6 - Le novita
TYPO3 CMS 7.6 - Le novitaTYPO3 CMS 7.6 - Le novita
TYPO3 CMS 7.6 - Le novita
 

Destaque

Java 8 from perm gen to metaspace
Java 8  from perm gen to metaspaceJava 8  from perm gen to metaspace
Java 8 from perm gen to metaspaceMohammad Faizan
 
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
 
La Social Intranet di Elica Group [Case Study]
La Social Intranet di Elica Group [Case Study]La Social Intranet di Elica Group [Case Study]
La Social Intranet di Elica Group [Case Study]Ariadne
 
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
 
Advanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availabilityAdvanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availabilityBordin Kijsirijareonchai
 
Microservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservicesMicroservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservicesMiguel Pastor
 
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMilen Dyankov
 
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8AppDynamics
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RSFahad Golra
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portalrivetlogic
 

Destaque (15)

Java 8 from perm gen to metaspace
Java 8  from perm gen to metaspaceJava 8  from perm gen to metaspace
Java 8 from perm gen to metaspace
 
Presentazione web
Presentazione web Presentazione web
Presentazione web
 
Liferay e Modularização com Arquitetura OSGi
Liferay e Modularização com Arquitetura OSGiLiferay e Modularização com Arquitetura OSGi
Liferay e Modularização com Arquitetura OSGi
 
Intranet 2.0 Webinar Oct 2008
Intranet 2.0 Webinar Oct 2008Intranet 2.0 Webinar Oct 2008
Intranet 2.0 Webinar Oct 2008
 
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
Integrazione Sistemi CRM (Joomla) & CRM (SugarCRM)
 
La Social Intranet di Elica Group [Case Study]
La Social Intranet di Elica Group [Case Study]La Social Intranet di Elica Group [Case Study]
La Social Intranet di Elica Group [Case Study]
 
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)
 
Advanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availabilityAdvanced liferay architecture clustering and high availability
Advanced liferay architecture clustering and high availability
 
Microservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservicesMicroservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservices
 
Bootstrap with liferay
Bootstrap with liferayBootstrap with liferay
Bootstrap with liferay
 
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
 
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
 
Introduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay PortalIntroduction to Portlets Using Liferay Portal
Introduction to Portlets Using Liferay Portal
 

Semelhante a Liferay - Quick Start 1° Episodio

Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfrescoMirco Leo
 
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del webEugenio Uccheddu
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecmedoardo fraioli
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]santi caltabiano
 
CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeDotNetMarche
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkMassimo Schiro
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetesblexin
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloudGabriele Baldoni
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webAndrea Dottor
 
Resilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyResilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyGiulio Roggero
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1dotnetcode
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiGiulia S
 
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!Alex Comba
 

Semelhante a Liferay - Quick Start 1° Episodio (20)

Tesina Grupposis
Tesina GrupposisTesina Grupposis
Tesina Grupposis
 
Link. javascript ajax
  Link. javascript ajax  Link. javascript ajax
Link. javascript ajax
 
Installazione del cms alfresco
Installazione del cms alfrescoInstallazione del cms alfresco
Installazione del cms alfresco
 
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del web
 
Corso Avanzato Alfresco Ecm
Corso Avanzato Alfresco EcmCorso Avanzato Alfresco Ecm
Corso Avanzato Alfresco Ecm
 
Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
 
CruiseControl.net in un progetto reale
CruiseControl.net in un progetto realeCruiseControl.net in un progetto reale
CruiseControl.net in un progetto reale
 
Grasso Frameworks Ajax
Grasso Frameworks AjaxGrasso Frameworks Ajax
Grasso Frameworks Ajax
 
Webdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 OkWebdays 2004 Blogfordummies2 Ok
Webdays 2004 Blogfordummies2 Ok
 
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e KubernetesWorkshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
 
High specialized vm on open stack cloud
High specialized vm on open stack cloudHigh specialized vm on open stack cloud
High specialized vm on open stack cloud
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del webASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
ASP.NET 4.6 e ASP.NET 5...l'evoluzione del web
 
Domino R9 e OpenSocial , #dd13
Domino R9 e OpenSocial , #dd13Domino R9 e OpenSocial , #dd13
Domino R9 e OpenSocial , #dd13
 
Resilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case StudyResilient Contracting - Apache Http Server Case Study
Resilient Contracting - Apache Http Server Case Study
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Java&Solidarieta
Java&SolidarietaJava&Solidarieta
Java&Solidarieta
 
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
Meetup DotNetCode Settembre 2018 - ASP.NET Core 2.1
 
Cms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenutiCms, Content Management System. Sistema di gestione dei contenuti
Cms, Content Management System. Sistema di gestione dei contenuti
 
OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!OCA: da Oggi Contribuisco Anch'io!
OCA: da Oggi Contribuisco Anch'io!
 

Mais de Antonio Musarra

SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.
SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.
SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.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 a Liferay Message BUS
Introduzione a Liferay Message BUSIntroduzione a Liferay Message BUS
Introduzione a Liferay Message BUSAntonio Musarra
 
Un CRM dentro un CMS v1.0
Un CRM dentro un CMS v1.0Un CRM dentro un CMS v1.0
Un CRM dentro un CMS v1.0Antonio Musarra
 
Running Kettle Job by API v1.2
Running Kettle Job by API v1.2Running Kettle Job by API v1.2
Running Kettle Job by API v1.2Antonio Musarra
 
SugarCRM Web Services: Build a Apache CXF Client
SugarCRM Web Services: Build a Apache CXF ClientSugarCRM Web Services: Build a Apache CXF Client
SugarCRM Web Services: Build a Apache CXF ClientAntonio 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
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMAntonio 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
 
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
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideAntonio 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
 
Configure Kettle debug session
Configure Kettle debug sessionConfigure Kettle debug session
Configure Kettle debug sessionAntonio Musarra
 

Mais de Antonio Musarra (14)

SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.
SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.
SugarCRM: Come realizzare un Custom Scheduler. Un esempio completo.
 
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 a Liferay Message BUS
Introduzione a Liferay Message BUSIntroduzione a Liferay Message BUS
Introduzione a Liferay Message BUS
 
Un CRM dentro un CMS v1.0
Un CRM dentro un CMS v1.0Un CRM dentro un CMS v1.0
Un CRM dentro un CMS v1.0
 
Running Kettle Job by API v1.2
Running Kettle Job by API v1.2Running Kettle Job by API v1.2
Running Kettle Job by API v1.2
 
SugarCRM Web Services: Build a Apache CXF Client
SugarCRM Web Services: Build a Apache CXF ClientSugarCRM Web Services: Build a Apache CXF Client
SugarCRM Web Services: Build a Apache CXF Client
 
Building a Client .NET for SugarCRM
Building a Client .NET for SugarCRMBuilding a Client .NET for SugarCRM
Building a Client .NET for SugarCRM
 
Costruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRMCostruire un client .NET per SugarCRM
Costruire un client .NET per SugarCRM
 
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
 
HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)HOW TO SAML Password Management (Note)
HOW TO SAML Password Management (Note)
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuide
 
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
 
Configure Kettle debug session
Configure Kettle debug sessionConfigure Kettle debug session
Configure Kettle debug session
 

Liferay - Quick Start 1° Episodio

  • 1. Liferay – Quick Start 1° Episodio Bundle Tomcat and Plugin SDK Antonio Musarra’s Blog Twitter: @antonio_musarra Email: antonio.musarra@gmail.com Blog: www.dontesta.it GitHub: github.com/amusarra SlideShare: slideshare.net/amusarra (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} Liferay is a trademark of Liferay, Inc. in the United States, the European Union and other countries. The Liferay Logo is a trademark of Liferay Inc. in the United States, the European Union and other countries.
  • 2. Sommario • Liferay Overview • Quick Start • Tomcat Bundle • Plugins SDK • Risorse (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 1
  • 3. Liferay Overview • Liferay è un Enterprise Portal free e Open Source scritto in Java • E’ costituito da tre parti fondamentali • Un Kernel (Liferay Portal) che funge da base per le applicazioni e i contenuti • Un Content Management System (Liferay CMS) • Una suite di applicazioni per realizzare collaboration e social networks (Liferay Collaboration) (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 2
  • 4. Liferay Overview  È basato su un'architettura di tipo Service Oriented (SOA) che rende possibile la realizzazione di applicazioni chiamate Portlet a partire da Servizi Web esistenti.  Liferay è standard. Le Portlet sono definite dagli standard JSR-168 e JSR-286 e sono componenti che definiscono il markup della singola applicazione all'interno di una pagina del portale.  Le Portlet sono gestite da un Portlet Container e da un Portal Server, responsabile di servire le pagine al browser o al client. Questi due sistemi, insieme, costituiscono l'infrastruttura del portale necessaria al deployment delle applicazioni.  Il Service Builder è un code-generator che permette di generare automaticamente entità, script sql e classi di interfaccia al database (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 3
  • 5. Liferay Overview • Liferay è Developer Friendly • E’ compatibile con l’infrastruttura IT esistente • Aderisce e contribuisce alla definizione di nuovi standard • Utilizza un sistema di autorizzazioni granulare • Integrazione semplificata con i più comuni meccanismi di Single Sign On (SSO) • Semplifica le attività di Enterprise Application Integration (EAI) • Eseguire le altre applicazioni (PHP, Ruby, Python) in Liferay • Aiuta a diventare social grazie a tag library, set di API, Widget e Mashup (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 4
  • 6. Liferay Overview (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 5 Liferay segue i seguenti approcci architetturali  Model Driven Architecture (MDA)  Platform Independent Model (PIM)  Platform Specific Model (PSM)  Domain Specific Model (DSM) Sviluppare e estendere funzionalità su Liferay è reso possibile e agevole grazie a vari framework, i principali sono:  Extension Envinronment  Plugins Framework  Asset Framework
  • 7. Quick Start Cosa occorre fare per essere rapidamente operativi su Liferay Portal? • Scaricare e installare la Sun/Oracle JDK 6, consigliata la versione 7 della JDK. Se non si dispone dell’ambiente Java installato nel proprio ambiente non è un problema, il Portal Bundle è fornito con Java JRE e sarà in grado di eseguire il portale • Scaricare il Portal Bundle direttamente dalla sezione download del portale liferay.com. E’ consigliato iniziare la propria esperienza con il Bundle with Tomcat da installare sulla propria workstation • Run Liferay Portal e andare all’indirizzo http://localhost:8080 accedendo con le credenziali test@liferay.com/test (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 6
  • 8. Tomcat Bundle • Il Bundle with Tomcat è la soluzione veloce e consigliata per l’installazione del portale in ambiente di sviluppo e comunque è facile trovare installazioni Liferay in esecuzione su Tomcat anche in ambienti di produzione • Liferay è una Servlet Application che può essere installata su tutti gli Application Server che sono JSR154 compliant • Liferay è inoltre distribuito in bundle anche su: • Geronimo • Glassfish • JBoss • Jetty • Resin • JOnAS + Tomcat (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 7
  • 9. Tomcat Bundle – Filesystem Layout (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 8 • bin: è la directory contenente i file eseguibili di Tomcat • conf: è la directory contenente i file di configurazione di Tomcat • lib: è la directory che contiene i jar comuni a tutte le Web Application di Tomcat • lib/ext: Ci sono e andranno • i driver di connessione al data base • le librerie che implementano JavaMail • la libreria portlet.jar che contiene la definizione del JSR168 e JSR286 • la libreria portal-service.jar che contiene i bridge che permettono ai singoli portlet di invocare il Service Layer del core di Liferay Gli eventuali Services sviluppati o di terze parti devono essere posizionati all’interno di lib/ext. • webapps: È la directory dove saranno installati tutti i nostri plugin (temi, layout, portlet, hooks, etc.) e dove viene installata la webapp che conterrà̀ Liferay.
  • 10. Tomcat Bundle – Filesystem Layout • I file della directory bin di nostro interesse sono: • catalina.[bat|sh]. All’interno di questi file è possibile specificare il percorso della JDK o JRE tramite l'impostazione delle properties: • JAVA_HOME: nel caso d’utilizzo della JDK. Ricordo anche la possibilità di leggere il percorso della JDK dall’environment JAVA_HOME • JRE_HOME: nel caso d’utilizzo della JRE. Ricordo anche la possibilità di leggere il percorso della JRE dall’environment JRE_HOME • setenv.[bat|sh]. All’interno di questo file è possibile indicare le risorse in termini di memoria: • -Xms: imposta il valore iniziale della heap • -Xmx: imposta il valore massimo della heap • -XX:MaxPermSize: imposta il valore della PermGen • startup.[bat|sh] e shutdown.[bat.sh]: I comandi per accendere e spegnere Tomcat (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 9
  • 11. Leveraging the Plugins SDK • Liferay mette a disposizione degli sviluppatori un Software Development Kit (SDK) basato su Apache Ant che può essere utilizzato con qualsiasi editor o ambiente di sviluppo integrato (IDE). L’SDK è lo strumento essenziale per lo sviluppo delle proprie applicazioni Liferay. • Da qualche anno Liferay ha reso disponibile l’SDK Plugin basato su Apache Maven • Liferay ha realizzato un IDE (Open Source) basato sull’ambiente di sviluppo Eclipse che semplifica lo sviluppo di ogni tipo di plugin per Liferay • Esiste anche una versione commerciale dell’IDE che si chiama Liferay Developer Studio sempre basato su Eclipse che contiene alcune caratteristiche aggiuntive per lo sviluppo sull’edizione commerciale (Enterprise) di Liferay (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 10
  • 12. Leveraging the Plugins SDK Tramite questo strumento di sviluppo è possibile quindi: • Realizzare Portlet. Applicazioni Web scritte in Java che sono eseguite all’interno di una porzione di una pagina web • Estendere e personalizzare Liferay attraverso gli Hook • Personalizzare il look and feel attraverso i Themes • Aggiungere dei nuovi layout di pagina attraverso i Layout Template • Implementare nuove estensioni avanzate attraverso gli Ext (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 11
  • 13. Leveraging the Plugins SDK Il Plugins SDK è articolato su diversi folder, dove sei di questi folder sono dedicati a rispettivi tipi di plugin. • liferay-plugins-<version>/ - Plugins SDK root directory • ext/ - Ext plugins directory • hooks/ - hook plugins directory • layouttpl/ - layout templates directory • portlets/ - portlet plugins directory • themes/ - themes plugins directory • webs/ - web plugins directory Tramite file di properties è possibile agire per esempio sull’ambiente di deployment e altre impostazioni di configurazione. Esistono due file di properties, uno globale e uno specifico per utente (esempio: build.<username>.properties), quest’ultimo sovrascrive le impostazioni del primo. (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 12
  • 14. Leveraging the Plugins SDK I nuovi plugin sviluppati sono messi all’interno della sottodirectory del tipo plug-in appropriato. Ad esempio, un nuovo portlet denominato “shirus-portlet” dovrebbe risiedere in: • liferay-plugins-[version]/portlets/shirus-portlet Per ogni tipo di plugin esiste il file build.xml di Ant, tramite il quale è possibile eseguire i seguenti task: • build-service: costruisce il livello di servizio per un plugin, utilizzando Liferay servizio Builder • clean: pulisce i file residui creati durante la compilazione, archiviazione e distribuzione • compile: compilazione del plugin e posizionamento del WAR dentro la directory dist • deploy: builds e deploys il plugin sull’Application Server • format-source: formatta il codice sorgente secondo le linee guida di Liferay e informa su eventuali violazioni. • format-javadoc: formatta i Javadoc (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 13
  • 15. Risorse Con queste “14 misere” slide ho cercato d’introdurre Liferay e come iniziare con il piede giusto per affrontare lo sviluppo di applicazioni ai voi che siete proprio “novelli”. Spero di essere riuscito con questo primo episodio a suscitare la vostra curiosità e interesse. Vi lascio con delle ottime risorse da consulture per i vostri approfondimenti. • Liferay Developer Network • Liferay Community Blog • Antonio Musarra’s Blog • D’vel Blog • Marco Napolitano (C) Antonio Musarra's Blog 2009 - 2015 {http://www.dontesta.it} - Release 1.0/IT 31/03/2015 - CC BY-NC-SA 3.0 IT {http://goo.gl/uZj1IQ} 14