muharrem taç muharremtac mtac@martisoft

Post on 10-Jan-2016

29 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Muharrem Taç www.muharremtac.com mtac@martisoft.com. Liferay Nedir. Liferay Nedir. - PowerPoint PPT Presentation

TRANSCRIPT

Muharrem TaçMuharrem Taçwww.muharremtac.comwww.muharremtac.com

mtac@martisoft.commtac@martisoft.com

Liferay NedirLiferay Nedir

Liferay NedirLiferay Nedir

2000 yılında Brian Chan önderliğinde 2000 yılında Brian Chan önderliğinde geliştirilmeye başlanmış bir proje. Önce kar geliştirilmeye başlanmış bir proje. Önce kar amacı gütmeyen bir oluşumken 2006-2007 amacı gütmeyen bir oluşumken 2006-2007 yıllarında şirketleşti. Tek ürünleri Portal yıllarında şirketleşti. Tek ürünleri Portal değil. Social Office adında yeni bir ürünleri değil. Social Office adında yeni bir ürünleri var. Bu ürün de Liferay Enterprise Portal var. Bu ürün de Liferay Enterprise Portal tabanlı.tabanlı.

Liferay NedirLiferay Nedir

Açık kaynak kodlu MIT lisansıAçık kaynak kodlu MIT lisansıPortlet container. JSR 168 ve JSR 268.Portlet container. JSR 168 ve JSR 268.Şu an portal 5.2 sürümünde. Fakat bu sürüm çok yeniŞu an portal 5.2 sürümünde. Fakat bu sürüm çok yeniAna Frameworkler Spring ve Hibernate.Ana Frameworkler Spring ve Hibernate.MVC olarak Struts kullanılıyor.MVC olarak Struts kullanılıyor.Şablonlarda Struts Tiles ve Velocity kulanılmış.Şablonlarda Struts Tiles ve Velocity kulanılmış.

Liferay NedirLiferay Nedir

Tema, Layout, drag- drop destekli.Tema, Layout, drag- drop destekli.Türkçe desteği.Türkçe desteği.Exdend edilebilir hazır proje.Exdend edilebilir hazır proje.OpenSSO, CAS Server, OpenID gibi yeni SSO yöntemlerine ve OpenSSO, CAS Server, OpenID gibi yeni SSO yöntemlerine ve ürünlerine destek veriyor.ürünlerine destek veriyor.

Liferay NedirLiferay NedirTema DesteğiTema Desteği

Liferay NedirLiferay NedirLayout DesteğiLayout Desteği

Liferay NedirLiferay NedirAuthentication, SSOAuthentication, SSO

Liferay NedirLiferay Nedir

Desteklenen veritabanları:Desteklenen veritabanları:

MySQL,MySQL,PostgreSQL,PostgreSQL,Oracle,Oracle,IBM DB2,IBM DB2,Microsoft SQL Server,Microsoft SQL Server,Sybase,Sybase,Hipersonic,Hipersonic,Apache Derby,Apache Derby,

Liferay NedirLiferay Nedir

Liferay InstallationLiferay Installation

Liferay InstallationLiferay Installation

Liferay yükleme kolaylığı için bundle olarak dağıtıldığı gibi tek Liferay yükleme kolaylığı için bundle olarak dağıtıldığı gibi tek başına web uygulaması olarak da indirilip yüklenebilir. Bu başına web uygulaması olarak da indirilip yüklenebilir. Bu durumda ilave kütüphaneler için dependencies olan dağıtım durumda ilave kütüphaneler için dependencies olan dağıtım indirilmeli.indirilmeli.

SourceForge adresi :SourceForge adresi :http://sourceforge.net/projects/lportal/http://sourceforge.net/projects/lportal/

Liferay InstallationLiferay Installation

Bundle dağıtımlarların desteklediği;Bundle dağıtımlarların desteklediği;Servlet containerlar : Tomcat, Jetty , Servlet containerlar : Tomcat, Jetty , Application serverlar : Jboss, Glassfish, Geronimo, JonAS, Application serverlar : Jboss, Glassfish, Geronimo, JonAS, ResinResin

Tomcat bundle yüklemesi için örneğinTomcat bundle yüklemesi için örneğinliferay-portal-tomcat-5.5-5.1.2.zipliferay-portal-tomcat-5.5-5.1.2.zip açılıraçılırAçılan bu dizinde Tomcat’e herşeyiyle kurulmuş konfigüre Açılan bu dizinde Tomcat’e herşeyiyle kurulmuş konfigüre edilmiş Liferay Portal kuruludur. Kurulu veritabanı HSQL’dir ve edilmiş Liferay Portal kuruludur. Kurulu veritabanı HSQL’dir ve test kullanıcısı bulunmaktadır. Ayarlarda değişiklik mesela test kullanıcısı bulunmaktadır. Ayarlarda değişiklik mesela veritabanı değiştirmek için veritabanı değiştirmek için \conf\Catalina\localhost\ROOT.xml\conf\Catalina\localhost\ROOT.xml değiştirilebilir.değiştirilebilir.webapps/ROOT webapps/ROOT dizini ana uygulama dizinidir. Portal burada dizini ana uygulama dizinidir. Portal burada kuruludur.kuruludur.

Liferay InstallationLiferay Installation

Portletler de webapps altına deploy edilir.Portletler de webapps altına deploy edilir.Portlet deployment kullanıcı home dizini altında Portlet deployment kullanıcı home dizini altında liferay/deployliferay/deploy dizinine war gönderilmesi ile gerçekleşir.dizinine war gönderilmesi ile gerçekleşir.Örneğin Windows için:Örneğin Windows için:C:\Documents and Settings\mtac\liferay\deploy\portlet.warC:\Documents and Settings\mtac\liferay\deploy\portlet.warLiferay Liferay PortletAutoDeployListenerPortletAutoDeployListener war dosyasını buradan alarak war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.Bir uygulama içerisinde pek çok portlet olabilir.

Liferay Web MVCLiferay Web MVC

Liferay Web MVCLiferay Web MVC

Liferay 2000 yılından beri geliştirilmekte olduğu için oturmuş bir 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 yapı var ve bu yapıyı tümden değiştirmek zor olduğundan Struts ile devam ediliyor.ile devam ediliyor.JSF ile geliştirilmeye devam edilecek söylentileri var.JSF ile geliştirilmeye devam edilecek söylentileri var.

Struts actionları ve forwardları klasik şekilde struts-config.xml Struts actionları ve forwardları klasik şekilde struts-config.xml içinde tanımlı.içinde tanımlı.tiles-defs.xml, forwardların nereye gideceği bilgisini taşıyor.tiles-defs.xml, forwardların nereye gideceği bilgisini taşıyor.Önemli ayar dosyaları system.properties, portal.propertiesÖnemli ayar dosyaları system.properties, portal.propertiesDil dosyaları Language.propertiesDil dosyaları Language.properties

Liferay ExtendLiferay Extend

Liferay ExtendLiferay Extend

Liferay’in sitesinde exdend projesi bulunuyor.Liferay’in sitesinde exdend projesi bulunuyor.Proje build edildiğinde Liferay extend core librarylerini jar Proje build edildiğinde Liferay extend core librarylerini jar halinde paketlerken önemli dosyaları –ext. olarak çoğaltıyor.halinde paketlerken önemli dosyaları –ext. olarak çoğaltıyor.

portal.properties -> portal-ext.propertiesportal.properties -> portal-ext.propertiessystem.properties -> system-ext.propertiessystem.properties -> system-ext.propertiestiles-defs.xml -> tiles-defs-ext.xmltiles-defs.xml -> tiles-defs-ext.xmlLanguage-ext_tr.propertiesLanguage-ext_tr.properties

PortletlerPortletler

PortletlerPortletler

Java stadardı.Java stadardı.Portletler portale deploy edilen uygulamalar. Birer modül gibi Portletler portale deploy edilen uygulamalar. Birer modül gibi düşünebiliriz. Bağımsız pencereler gibi çalışıyor.düşünebiliriz. Bağımsız pencereler gibi çalışıyor.Portal ile bütünleşik olabiliyor. Portal’in sağladığı API’lara Portal ile bütünleşik olabiliyor. Portal’in sağladığı API’lara erişebiliyor.erişebiliyor.Kendine ait request ve response’u var. Kendine ait request ve response’u var. RenderRequestRenderRequestRenderResponse gibi.RenderResponse gibi.Modern JavaEE Frameworkleri ile portlet yazılabiliyor. Spring, Modern JavaEE Frameworkleri ile portlet yazılabiliyor. Spring, Struts, JSF.Struts, JSF.

PortletlerPortletler

Dr.Naci DAİ’nin kazandırdığı Lomboz ile Eclipse ile entegre Dr.Naci DAİ’nin kazandırdığı Lomboz ile Eclipse ile entegre olarak Portlet geliştirme imkanı.olarak Portlet geliştirme imkanı.

http://lomboz.objectweb.orghttp://lomboz.objectweb.org

Preconfigured with Eclipse Ganymede and Europa for enteprise Java/JEE Preconfigured with Eclipse Ganymede and Europa for enteprise Java/JEE developmentdevelopmentIncludes Eclipse Webtools Platform, Web Services, JSF and JPA ToolsIncludes Eclipse Webtools Platform, Web Services, JSF and JPA ToolsIncludes BPEL Editor and builtin support for Apache ODEIncludes BPEL Editor and builtin support for Apache ODESOA support with REST, JAX-WS and JAXBSOA support with REST, JAX-WS and JAXBJava Portal and Portlet Development Tools and support for Liferay and eXo Java Portal and Portlet Development Tools and support for Liferay and eXo PortalsPortalsBundles Spring IDE, Hibernate and Struts ToolsBundles Spring IDE, Hibernate and Struts ToolsEasy installation with cloudsmith virtual distrosEasy installation with cloudsmith virtual distrosSupport optionsSupport options

PortletlerPortletler

Portlet deployment kullanıcı home dizini altında liferay/deploy Portlet deployment kullanıcı home dizini altında liferay/deploy dizinine war gönderilmesi ile gerçekleşir.dizinine war gönderilmesi ile gerçekleşir.Örneğin Windows için:Örneğin Windows için:C:\Documents and Settings\mtac\liferay\deploy\portlet.warC:\Documents and Settings\mtac\liferay\deploy\portlet.warLiferay Liferay PortletAutoDeployListenerPortletAutoDeployListener war dosyasını buradan alarak war dosyasını buradan alarak webapps dizinine kopyalar ve portletleri register etmeye başlar. webapps dizinine kopyalar ve portletleri register etmeye başlar. Bir uygulama içerisinde pek çok portlet olabilir.Bir uygulama içerisinde pek çok portlet olabilir.

PortletlerPortletler

3 Önemli Dosya:3 Önemli Dosya:

portlet.xml :portlet.xml : portlet bilgilerinin tutulduğu standard dosya. portlet bilgilerinin tutulduğu standard dosya.

liferay-portlet.xml :liferay-portlet.xml : Liferay’a özel yeteneklerin kullanılabildiği Liferay’a özel yeteneklerin kullanılabildiği liferay specific dosya. Örnek : bir portleti ajaxable yapmak içinliferay specific dosya. Örnek : bir portleti ajaxable yapmak için<ajaxable>true</ajaxable><ajaxable>true</ajaxable>

liferay-display.xml :liferay-display.xml : Liferay uygulama ekleme menüsünde Liferay uygulama ekleme menüsünde görünecek isim ve kategori ağaç sırası.görünecek isim ve kategori ağaç sırası.

PortletlerPortletler

3 Önemli Method:3 Önemli Method:

javax.portlet.GenericPortlet içerisinde desteklenen methodlar:javax.portlet.GenericPortlet içerisinde desteklenen methodlar:

doView(RenderRequest portletRequest,doView(RenderRequest portletRequest,RenderResponse portletResponse)RenderResponse portletResponse) portlet görüntülendiğinde portlet görüntülendiğinde tetiklenir.tetiklenir.

doEdit(RenderRequest portletRequest,doEdit(RenderRequest portletRequest,RenderResponse portletResponse)RenderResponse portletResponse) Portlet edit modunda çalışır.Portlet edit modunda çalışır.

processAction(ActionRequest request, ActionResponse response)processAction(ActionRequest request, ActionResponse response) Portlet’te bir event tetiklendiğinde çalışan methoddur.Portlet’te bir event tetiklendiğinde çalışan methoddur.

PortletlerPortletler

public void doView(RenderRequest portletRequest,public void doView(RenderRequest portletRequest,RenderResponse portletResponse) throws PortletException, IOException {RenderResponse portletResponse) throws PortletException, IOException {WindowState state = portletRequest.getWindowState();WindowState state = portletRequest.getWindowState();portletResponse.setContentType("text/html");portletResponse.setContentType("text/html");

PortletPreferences pref = portletRequest.getPreferences();PortletPreferences pref = portletRequest.getPreferences();byte[] utfContentBytes = pref.getValue("content", null).getBytes();byte[] utfContentBytes = pref.getValue("content", null).getBytes();

String content = new String(utfContentBytes, "UTF-8");String content = new String(utfContentBytes, "UTF-8");portletRequest.setAttribute("content", content);portletRequest.setAttribute("content", content);

Map userInfo = (Map) Map userInfo = (Map) portletRequest.getAttribute(PortletRequest.portletRequest.getAttribute(PortletRequest.USER_INFOUSER_INFO););

PortletContext context = getPortletContext();PortletContext context = getPortletContext();PortletRequestDispatcher rd = PortletRequestDispatcher rd =

context.getRequestDispatcher("/index.jsp");context.getRequestDispatcher("/index.jsp");rd.include(portletRequest, portletResponse);rd.include(portletRequest, portletResponse);

}}

Örnek Görünüm (doView)Örnek Görünüm (doView)

PortletlerPortletlerUygulama EklemeUygulama Ekleme

Liferay Liferay DökümantasyonuDökümantasyonu

Liferay DökümantasyonuLiferay Dökümantasyonu

Son derece açık anlaşılır bir dökümantasyonu mevcut.Son derece açık anlaşılır bir dökümantasyonu mevcut.Yeni başlayanlardan uzmanlara kadar ayrılmış seviye Yeni başlayanlardan uzmanlara kadar ayrılmış seviye dökümanları.dökümanları.

Liferay DökümantasyonuLiferay Dökümantasyonu

Videolar ile görsel eğitimler (Lifecasts)Videolar ile görsel eğitimler (Lifecasts)

TeşekkürlerTeşekkürler

top related