SlideShare una empresa de Scribd logo
1 de 30
Muharrem Taç www.muharremtac.com [email_address]
Liferay Nedir
Liferay Nedir 2000 yılında Brian Chan önderliğinde geliştirilmeye başlanmış bir proje. Önce kar amacı gütmeyen bir oluşumken 2006-2007 yıllarında şirketleşti. Tek ürünleri Portal değil. Social Office adında yeni bir ürünleri var. Bu ürün de Liferay Enterprise Portal tabanlı.
Liferay Nedir Açık kaynak kodlu MIT lisansı Portlet container. JSR 168 ve JSR 268. Şu an portal 5.2 sürümünde. Fakat bu sürüm çok yeni Ana Frameworkler Spring ve Hibernate. MVC olarak Struts kullanılıyor. Şablonlarda Struts Tiles ve Velocity kulanılmış.
Liferay Nedir Tema, Layout, drag- drop destekli. Türkçe desteği. Exdend edilebilir hazır proje. OpenSSO, CAS Server, OpenID gibi yeni SSO yöntemlerine ve ürünlerine destek veriyor.
Liferay Nedir Tema Desteği
Liferay Nedir Layout Desteği
Liferay Nedir Authentication, SSO
Liferay Nedir ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Liferay Nedir
Liferay Installation
Liferay Installation Liferay yükleme kolaylığı için bundle olarak dağıtıldığı gibi tek başına web uygulaması olarak da indirilip yüklenebilir. Bu durumda ilave kütüphaneler için dependencies olan dağıtım indirilmeli. SourceForge adresi : http://sourceforge.net/projects/lportal/
Liferay Installation Bundle dağıtımlarların desteklediği; Servlet containerlar :  Tomcat, Jetty ,  Application serverlar : Jboss, Glassfish, Geronimo, JonAS, Resin Tomcat bundle yüklemesi için örneğin liferay-portal-tomcat-5.5-5.1.2.zip   açılır Açılan bu dizinde Tomcat’e herşeyiyle kurulmuş konfigüre edilmiş  Liferay Portal kuruludur.  Kurulu veritabanı HSQL’dir ve test kullanıcısı bulunmaktadır. Ayarlarda değişiklik mesela veritabanı değiştirmek için  onfatalinaocalhostOOT.xml   değiştirilebilir. webapps/ROOT  dizini ana uygulama dizinidir. Portal burada kuruludur.
Liferay Installation Portletler de webapps altına deploy edilir. Portlet deployment kullanıcı home dizini altında  liferay/deploy  dizinine war gönderilmesi ile gerçekleşir. Örneğin Windows için: C:ocuments and Settingstaciferayeployortlet.war Liferay  PortletAutoDeployListener   war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.
Liferay Web MVC
Liferay Web MVC Liferay 2000 yılından beri geliştirilmekte olduğu için oturmuş bir yapı var ve bu yapıyı tümden değiştirmek zor olduğundan Struts ile devam ediliyor. JSF ile geliştirilmeye devam edilecek söylentileri var. Struts actionları ve forwardları klasik şekilde struts-config.xml içinde tanımlı. tiles-defs.xml, forwardların nereye gideceği bilgisini taşıyor. Önemli ayar dosyaları system.properties, portal.properties Dil dosyaları Language.properties
Liferay Extend
Liferay Extend Liferay’in  sitesinde exdend projesi bulunuyor. Proje build edildiğinde Liferay extend core librarylerini jar halinde paketlerken önemli dosyaları –ext. olarak çoğaltıyor. portal.properties -> portal-ext.properties system.properties -> system-ext.properties tiles-defs.xml -> tiles-defs-ext.xml Language-ext_tr.properties
Portletler
Portletler Java stadardı. Portletler portale deploy edilen uygulamalar. Birer modül gibi düşünebiliriz. Bağımsız pencereler gibi çalışıyor. Portal ile bütünleşik olabiliyor. Portal’in sağladığı API’lara erişebiliyor. Kendine ait request ve response’u var.  RenderRequest RenderResponse gibi. Modern JavaEE Frameworkleri ile portlet yazılabiliyor. Spring, Struts, JSF.
Portletler Dr.Naci DAİ’nin kazandırdığı Lomboz ile Eclipse ile entegre olarak Portlet geliştirme imkanı.   http://lomboz.objectweb.org Preconfigured with Eclipse Ganymede and Europa for enteprise Java/JEE development Includes Eclipse Webtools Platform, Web Services, JSF and JPA Tools Includes BPEL Editor and builtin support for Apache ODE SOA support with REST, JAX-WS and JAXB Java Portal and Portlet Development Tools and support for Liferay and eXo Portals Bundles Spring IDE, Hibernate and Struts Tools Easy installation with cloudsmith virtual distros Support options
Portletler Portlet deployment kullanıcı home dizini altında liferay/deploy dizinine war gönderilmesi ile gerçekleşir. Örneğin Windows için: C:ocuments and Settingstaciferayeployortlet.war Liferay  PortletAutoDeployListener   war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.
Portletler 3 Önemli Dosya: portlet.xml :  portlet bilgilerinin tutulduğu standard dosya. liferay-portlet.xml :  Liferay’a özel yeteneklerin kullanılabildiği liferay specific dosya. Örnek : bir portleti ajaxable yapmak için <ajaxable>true</ajaxable> liferay-display.xml :   Liferay uygulama ekleme menüsünde görünecek isim ve kategori ağaç sırası.
Portletler 3 Önemli Method: javax.portlet.GenericPortlet içerisinde desteklenen methodlar: doView(RenderRequest portletRequest, RenderResponse portletResponse)  portlet görüntülendiğinde tetiklenir. doEdit(RenderRequest portletRequest, RenderResponse portletResponse)   Portlet edit modunda çalışır. processAction(ActionRequest request, ActionResponse response)   Portlet’te bir event tetiklendiğinde çalışan methoddur.
Portletler public void doView(RenderRequest portletRequest, RenderResponse portletResponse) throws PortletException, IOException { WindowState state = portletRequest.getWindowState(); portletResponse.setContentType(&quot;text/html&quot;); PortletPreferences pref = portletRequest.getPreferences(); byte[] utfContentBytes = pref.getValue(&quot;content&quot;, null).getBytes(); String content = new String(utfContentBytes, &quot;UTF-8&quot;); portletRequest.setAttribute(&quot;content&quot;, content); Map userInfo = (Map)  portletRequest.getAttribute(PortletRequest. USER_INFO ); PortletContext context = getPortletContext(); PortletRequestDispatcher rd = context.getRequestDispatcher(&quot;/index.jsp&quot;); rd.include(portletRequest, portletResponse); } Örnek Görünüm (doView)
Portletler Uygulama Ekleme
Liferay Dökümantasyonu
Liferay Dökümantasyonu Son derece açık anlaşılır bir dökümantasyonu mevcut. Yeni başlayanlardan uzmanlara kadar ayrılmış seviye dökümanları.
Liferay Dökümantasyonu Videolar ile görsel eğitimler (Lifecasts)
Teşekkürler

Más contenido relacionado

Destacado

Agent-based Models
Agent-based ModelsAgent-based Models
Agent-based ModelsFatih Erikli
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeMuharrem Tac
 
Karmaşık Ağlar ve NetworkX
Karmaşık Ağlar ve NetworkXKarmaşık Ağlar ve NetworkX
Karmaşık Ağlar ve NetworkXFatih Erikli
 
Mobil Teknolojiler
Mobil TeknolojilerMobil Teknolojiler
Mobil TeknolojilerMuharrem Tac
 
Giyilebilir Teknolojiler
Giyilebilir TeknolojilerGiyilebilir Teknolojiler
Giyilebilir TeknolojilerMuharrem Tac
 
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİ
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİAçık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİ
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİİbrahim Bayraktar
 
Python ve Django'da Test'le Yürüyen Geliştirme
Python ve Django'da Test'le Yürüyen GeliştirmePython ve Django'da Test'le Yürüyen Geliştirme
Python ve Django'da Test'le Yürüyen GeliştirmeUğur Özyılmazel
 
Webcar - Arduino Yun ile Webden yönetilen oyuncak araç
Webcar - Arduino Yun ile Webden yönetilen oyuncak araçWebcar - Arduino Yun ile Webden yönetilen oyuncak araç
Webcar - Arduino Yun ile Webden yönetilen oyuncak araçMuharrem Tac
 
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı araba
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı arabaAndroid ve Arduino ile Bluetooth üzerinden uzaktan kumandalı araba
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı arabaMuharrem Tac
 
Argüman Analizi Platformu
Argüman Analizi PlatformuArgüman Analizi Platformu
Argüman Analizi PlatformuFatih Erikli
 
Android ROM Geliştirme
Android ROM GeliştirmeAndroid ROM Geliştirme
Android ROM GeliştirmeMuharrem Tac
 
Klassify: Text Classification with Redis
Klassify: Text Classification with RedisKlassify: Text Classification with Redis
Klassify: Text Classification with RedisFatih Erikli
 

Destacado (20)

Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Java EE Struts
Java EE StrutsJava EE Struts
Java EE Struts
 
Ruby ile tanışma!
Ruby ile tanışma!Ruby ile tanışma!
Ruby ile tanışma!
 
Agent-based Models
Agent-based ModelsAgent-based Models
Agent-based Models
 
Tizen
TizenTizen
Tizen
 
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım GeliştirmeAndroid Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
Android Üzerinde Adobe Flex ve AIR ile Yazılım Geliştirme
 
Eclipse
EclipseEclipse
Eclipse
 
Karmaşık Ağlar ve NetworkX
Karmaşık Ağlar ve NetworkXKarmaşık Ağlar ve NetworkX
Karmaşık Ağlar ve NetworkX
 
Mobil Teknolojiler
Mobil TeknolojilerMobil Teknolojiler
Mobil Teknolojiler
 
Mobil Eğitim
Mobil EğitimMobil Eğitim
Mobil Eğitim
 
Giyilebilir Teknolojiler
Giyilebilir TeknolojilerGiyilebilir Teknolojiler
Giyilebilir Teknolojiler
 
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİ
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİAçık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİ
Açık Dergi Sistemleri Yazar Rehberi - BOZOK TIP DERGİSİ
 
Python ve Django'da Test'le Yürüyen Geliştirme
Python ve Django'da Test'le Yürüyen GeliştirmePython ve Django'da Test'le Yürüyen Geliştirme
Python ve Django'da Test'le Yürüyen Geliştirme
 
HTML5 ve Phonegap
HTML5  ve PhonegapHTML5  ve Phonegap
HTML5 ve Phonegap
 
Webcar - Arduino Yun ile Webden yönetilen oyuncak araç
Webcar - Arduino Yun ile Webden yönetilen oyuncak araçWebcar - Arduino Yun ile Webden yönetilen oyuncak araç
Webcar - Arduino Yun ile Webden yönetilen oyuncak araç
 
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı araba
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı arabaAndroid ve Arduino ile Bluetooth üzerinden uzaktan kumandalı araba
Android ve Arduino ile Bluetooth üzerinden uzaktan kumandalı araba
 
Argüman Analizi Platformu
Argüman Analizi PlatformuArgüman Analizi Platformu
Argüman Analizi Platformu
 
Android ROM Geliştirme
Android ROM GeliştirmeAndroid ROM Geliştirme
Android ROM Geliştirme
 
Iot Ekosistemleri
Iot EkosistemleriIot Ekosistemleri
Iot Ekosistemleri
 
Klassify: Text Classification with Redis
Klassify: Text Classification with RedisKlassify: Text Classification with Redis
Klassify: Text Classification with Redis
 

Similar a Liferay

ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciSinan Bozkuş
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma sonBGA Cyber Security
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated ContainersVahric Muhtaryan
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Evren Ayan
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytarOsman Kurt
 
Dojotoolkit Nedir?
Dojotoolkit Nedir?Dojotoolkit Nedir?
Dojotoolkit Nedir?zehra doruk
 
Dogus University-Web Application Security
Dogus University-Web Application SecurityDogus University-Web Application Security
Dogus University-Web Application Securitymtimur
 
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiAli İhsan Çalışkan
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişSinan Bozkuş
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Gokhan Boranalp
 
Microsoft Azure 08.2014
Microsoft Azure 08.2014Microsoft Azure 08.2014
Microsoft Azure 08.2014Mustafa Kuğu
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web GeliştiriciliğiBurak Oğuz
 
Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Hakan Yüksel
 
Windows Azure ile Cloud Computing Uygulamaları - 8
Windows Azure ile Cloud Computing Uygulamaları - 8Windows Azure ile Cloud Computing Uygulamaları - 8
Windows Azure ile Cloud Computing Uygulamaları - 8İbrahim ATAY
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEHalil İbrahim ÇELENLİ
 
F5 dergisi
F5 dergisiF5 dergisi
F5 dergisifatos11
 

Similar a Liferay (20)

ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş SüreciASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
ASP.NET MVC'den ASP.NET Core MVC'ye Geçiş Süreci
 
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   sonAçık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma   son
Açık kaynak kodlu uygulamalar ile adli bilişim labaratuarı kurma son
 
Primeface
PrimefacePrimeface
Primeface
 
vSphere Integrated Containers
vSphere Integrated ContainersvSphere Integrated Containers
vSphere Integrated Containers
 
Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010Yazılım Geliştiriciler İçin Sharepoint 2010
Yazılım Geliştiriciler İçin Sharepoint 2010
 
Osman kurt & zahide aytar
Osman kurt & zahide aytarOsman kurt & zahide aytar
Osman kurt & zahide aytar
 
Dojotoolkit Nedir?
Dojotoolkit Nedir?Dojotoolkit Nedir?
Dojotoolkit Nedir?
 
Wordpress
WordpressWordpress
Wordpress
 
Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor? Radore Workshop: Wordpress Nereye Koşuyor?
Radore Workshop: Wordpress Nereye Koşuyor?
 
Dogus University-Web Application Security
Dogus University-Web Application SecurityDogus University-Web Application Security
Dogus University-Web Application Security
 
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik DesteğiASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
ASP.NET MVC 2 Mimarisi, ASP.NET Uygulama Yönetimi ve Güvenlik Desteği
 
ASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a GeçişASP.NET MVC'den ASP.NET Core'a Geçiş
ASP.NET MVC'den ASP.NET Core'a Geçiş
 
Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?Açık kaynak iş modeli nedir?
Açık kaynak iş modeli nedir?
 
Microsoft Azure 08.2014
Microsoft Azure 08.2014Microsoft Azure 08.2014
Microsoft Azure 08.2014
 
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
2010 Kocaeli Linux Günleri - Linux Web Geliştiriciliği
 
Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture Webcast - Failover Cluster Architecture
Webcast - Failover Cluster Architecture
 
Ajansız log toplama
Ajansız log toplamaAjansız log toplama
Ajansız log toplama
 
Windows Azure ile Cloud Computing Uygulamaları - 8
Windows Azure ile Cloud Computing Uygulamaları - 8Windows Azure ile Cloud Computing Uygulamaları - 8
Windows Azure ile Cloud Computing Uygulamaları - 8
 
JVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDEJVM Tuning and Monitoring, JVM Languages, IDE
JVM Tuning and Monitoring, JVM Languages, IDE
 
F5 dergisi
F5 dergisiF5 dergisi
F5 dergisi
 

Liferay

  • 3. Liferay Nedir 2000 yılında Brian Chan önderliğinde geliştirilmeye başlanmış bir proje. Önce kar amacı gütmeyen bir oluşumken 2006-2007 yıllarında şirketleşti. Tek ürünleri Portal değil. Social Office adında yeni bir ürünleri var. Bu ürün de Liferay Enterprise Portal tabanlı.
  • 4. Liferay Nedir Açık kaynak kodlu MIT lisansı Portlet container. JSR 168 ve JSR 268. Şu an portal 5.2 sürümünde. Fakat bu sürüm çok yeni Ana Frameworkler Spring ve Hibernate. MVC olarak Struts kullanılıyor. Şablonlarda Struts Tiles ve Velocity kulanılmış.
  • 5. Liferay Nedir Tema, Layout, drag- drop destekli. Türkçe desteği. Exdend edilebilir hazır proje. OpenSSO, CAS Server, OpenID gibi yeni SSO yöntemlerine ve ürünlerine destek veriyor.
  • 9.
  • 12. Liferay Installation Liferay yükleme kolaylığı için bundle olarak dağıtıldığı gibi tek başına web uygulaması olarak da indirilip yüklenebilir. Bu durumda ilave kütüphaneler için dependencies olan dağıtım indirilmeli. SourceForge adresi : http://sourceforge.net/projects/lportal/
  • 13. Liferay Installation Bundle dağıtımlarların desteklediği; Servlet containerlar : Tomcat, Jetty , Application serverlar : Jboss, Glassfish, Geronimo, JonAS, Resin Tomcat bundle yüklemesi için örneğin liferay-portal-tomcat-5.5-5.1.2.zip açılır Açılan bu dizinde Tomcat’e herşeyiyle kurulmuş konfigüre edilmiş Liferay Portal kuruludur. Kurulu veritabanı HSQL’dir ve test kullanıcısı bulunmaktadır. Ayarlarda değişiklik mesela veritabanı değiştirmek için onfatalinaocalhostOOT.xml değiştirilebilir. webapps/ROOT dizini ana uygulama dizinidir. Portal burada kuruludur.
  • 14. Liferay Installation Portletler de webapps altına deploy edilir. Portlet deployment kullanıcı home dizini altında liferay/deploy dizinine war gönderilmesi ile gerçekleşir. Örneğin Windows için: C:ocuments and Settingstaciferayeployortlet.war Liferay PortletAutoDeployListener war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.
  • 16. Liferay Web MVC Liferay 2000 yılından beri geliştirilmekte olduğu için oturmuş bir yapı var ve bu yapıyı tümden değiştirmek zor olduğundan Struts ile devam ediliyor. JSF ile geliştirilmeye devam edilecek söylentileri var. Struts actionları ve forwardları klasik şekilde struts-config.xml içinde tanımlı. tiles-defs.xml, forwardların nereye gideceği bilgisini taşıyor. Önemli ayar dosyaları system.properties, portal.properties Dil dosyaları Language.properties
  • 18. Liferay Extend Liferay’in sitesinde exdend projesi bulunuyor. Proje build edildiğinde Liferay extend core librarylerini jar halinde paketlerken önemli dosyaları –ext. olarak çoğaltıyor. portal.properties -> portal-ext.properties system.properties -> system-ext.properties tiles-defs.xml -> tiles-defs-ext.xml Language-ext_tr.properties
  • 20. Portletler Java stadardı. Portletler portale deploy edilen uygulamalar. Birer modül gibi düşünebiliriz. Bağımsız pencereler gibi çalışıyor. Portal ile bütünleşik olabiliyor. Portal’in sağladığı API’lara erişebiliyor. Kendine ait request ve response’u var. RenderRequest RenderResponse gibi. Modern JavaEE Frameworkleri ile portlet yazılabiliyor. Spring, Struts, JSF.
  • 21. Portletler Dr.Naci DAİ’nin kazandırdığı Lomboz ile Eclipse ile entegre olarak Portlet geliştirme imkanı. http://lomboz.objectweb.org Preconfigured with Eclipse Ganymede and Europa for enteprise Java/JEE development Includes Eclipse Webtools Platform, Web Services, JSF and JPA Tools Includes BPEL Editor and builtin support for Apache ODE SOA support with REST, JAX-WS and JAXB Java Portal and Portlet Development Tools and support for Liferay and eXo Portals Bundles Spring IDE, Hibernate and Struts Tools Easy installation with cloudsmith virtual distros Support options
  • 22. Portletler Portlet deployment kullanıcı home dizini altında liferay/deploy dizinine war gönderilmesi ile gerçekleşir. Örneğin Windows için: C:ocuments and Settingstaciferayeployortlet.war Liferay PortletAutoDeployListener war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.
  • 23. Portletler 3 Önemli Dosya: portlet.xml : portlet bilgilerinin tutulduğu standard dosya. liferay-portlet.xml : Liferay’a özel yeteneklerin kullanılabildiği liferay specific dosya. Örnek : bir portleti ajaxable yapmak için <ajaxable>true</ajaxable> liferay-display.xml : Liferay uygulama ekleme menüsünde görünecek isim ve kategori ağaç sırası.
  • 24. Portletler 3 Önemli Method: javax.portlet.GenericPortlet içerisinde desteklenen methodlar: doView(RenderRequest portletRequest, RenderResponse portletResponse) portlet görüntülendiğinde tetiklenir. doEdit(RenderRequest portletRequest, RenderResponse portletResponse) Portlet edit modunda çalışır. processAction(ActionRequest request, ActionResponse response) Portlet’te bir event tetiklendiğinde çalışan methoddur.
  • 25. Portletler public void doView(RenderRequest portletRequest, RenderResponse portletResponse) throws PortletException, IOException { WindowState state = portletRequest.getWindowState(); portletResponse.setContentType(&quot;text/html&quot;); PortletPreferences pref = portletRequest.getPreferences(); byte[] utfContentBytes = pref.getValue(&quot;content&quot;, null).getBytes(); String content = new String(utfContentBytes, &quot;UTF-8&quot;); portletRequest.setAttribute(&quot;content&quot;, content); Map userInfo = (Map) portletRequest.getAttribute(PortletRequest. USER_INFO ); PortletContext context = getPortletContext(); PortletRequestDispatcher rd = context.getRequestDispatcher(&quot;/index.jsp&quot;); rd.include(portletRequest, portletResponse); } Örnek Görünüm (doView)
  • 28. Liferay Dökümantasyonu Son derece açık anlaşılır bir dökümantasyonu mevcut. Yeni başlayanlardan uzmanlara kadar ayrılmış seviye dökümanları.
  • 29. Liferay Dökümantasyonu Videolar ile görsel eğitimler (Lifecasts)