Muharrem Taç www.muharremtac.com mtac@martisoft.com
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 Desteklenen veritabanları: MySQL, PostgreSQL, Oracle, IBM DB2, Microsoft SQL Server, Sybase, Hipersonic, Apache Derby,
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 \conf\Catalina\localhost\ROOT.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:\Documents and Settings\mtac\liferay\deploy\portlet.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:\Documents and Settings\mtac\liferay\deploy\portlet.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 Örnek Görünüm (doView) public void doView(RenderRequest portletRequest, RenderResponse portletResponse) throws PortletException, IOException { WindowState state = portletRequest.getWindowState(); portletResponse.setContentType("text/html"); PortletPreferences pref = portletRequest.getPreferences(); byte[] utfContentBytes = pref.getValue("content", null).getBytes(); String content = new String(utfContentBytes, "UTF-8"); portletRequest.setAttribute("content", content); Map userInfo = (Map) portletRequest.getAttribute(PortletRequest.USER_INFO); PortletContext context = getPortletContext(); PortletRequestDispatcher rd = context.getRequestDispatcher("/index.jsp"); rd.include(portletRequest, portletResponse); }
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