Erkan Okur Resmi Web Sitesi

  • Increase font size
  • Default font size
  • Decrease font size
Liferay Portal Geliştirme Ortamı Kurulumu (Extension Environment) PDF Yazdır
Liferay (Extension Environment)

Liferay Portal sisteminin en önemli özelliklerinden biri JSR-286 portlet geliştirmesine imkan vermesi kuşkusuz. Ancak Liferay Portal kurulumu (kurulum notları için bknz: Liferay Wiki) tamamladıktan sonra, bilmeniz gereken bazı ufak detaylar bulunuyor.

Abdullah Erol
konuyla ilgili oldukça başarılı bir yazı kaleme almış. Abdullah bey'in günlüğünü takip etmenizi tavsiye edip sizi yazıyla başbaşa bırakıyorum.

Alıntı

Bu güncede Liferay kullanarak JSR-286 portlet geliştirimesinden bahsedeceğim. JSR 168 den 286 geçerken neler oldu neler bitti yaz yaz bitecek gibi değil. Konusu gelince eskiden böyleydi şöyleydi diye belirteceğim. Şimdilik iyi şeyler oldu biliniz yeter. Hatta 168 hiç kullanmayın derim.

Liferay içinde ServiceBuilder diye bir uygulama var. Java Servisleri geliştirmenizi sağlıyor. Ayrıca, bu servislere yerel olarak ve/veya web servisleri üzerinden de erişebiliyosunuz. Bu yazımda size sırayla ortamı nasıl kuracağız, servicebuilder ile model ve servisleri nasıl üreteceğiz, Ext ortamında bunları nasıl birleştireceğiz vb. anlatmaya çalışacağım.


Genişletme ortamının kurulmasıyla başlayalım. Genişletme ortamı, liferay kaynak kodları için bir sarım katmanı oluşturur. Kaynak kodların önemli klasörleri için aynalama sağlar. (ext-impl/, ext-service/, ve ext-web/). Yani, Liferay'in kaynak kodlarının üzerine yeni kodlar inşaa ediyormuşsunuz gibi düşünebilirsiniz. Böylelikle, kaynak kod değişiklerinden etkilenmessiniz(teoride enazından). Kişisel olarak son bir yılı aşkın süredir ben etkilenmedim. Tümleşik bir geliştirme, genişletme, özelleştirme, konuşlandırma ve hata ayıklama ortamı için gerekli olan malzemeleri sayıyorum.

JDK : Bu ne diyorsanız ve/veya bunu nasıl kuracağım, JAVA_HOME'u nasıl ayarlıyacağım gibi sorularınız varsa, okumayı burda kesebilirsiniz. Dünyaya bir kez geliyosun, gez dolaş, oyna...
Değilse makinana JDK 1.5 ya da 1.6 kur.

ANT: Sözlüğe bakıp 'karınca' karşılığını bulduysanız ya da başka bir çağrışım yapmıyorsa, hemen uzaklaşınız burdan. Yok, illa programcı filan olacam şeklinde azimliyseniz, Microsoft .net Platformunu tavsiye ederim. Sürükle-bırak gibi şeylerle oyalanabilirsiniz. 3-5 yıl sonra nasıl olsa tekrar geleceksiniz Değilse, 1.7 ve üst sürümünü kurup ANT_HOME ortam değişkenini, kurulum dizinine ayarlayınız.

VeriTabanı : Her ne kadar liferay her marka ve nerdeyse markaların tüm modellerini desteklese de ben burda mySQL kullanacağım. SQL-Server olmazmı derseniz, olur tabiki. Siz bu yazıyı okurken, bende MYSQL_HOME ortam değişkenini kurduğum dizine ayarlayıp geleyim. PATH 'e de 'bin'meyi unutmayınız. c:\mysql --version yazdığınızda 4 ün üzerinde bi rakam okuyunuz.

MySQL kurulduktan sonra bir araçla (ben TOAD for MySQL kullanıyorum -ücretsiz-) bağlanıp yeni bir veritabanı oluşturuyoruz. Komut satırından da herşeyi yapabilirsiniz. Tercih sizin. Şimdi aşağıdaki komutları çalıştırıp veritabanı kurlumunu tamamlıyoruz.
drop database if exists lportal;
create database lportal character set utf8;
grant all on lportal.* to 'lportal'@'localhost' identified by 'lportal' with grant option;
grant all on lportal.* to 'lportal'@'localhost.localdomain' identified by 'lportal' with grant option;
Burda veritabanının illa lportal adıyla kurulması gerekmiyor. Gönlünüze göre seçebilirsiniz. Farklı seçerseniz portal-ext.properties dosyasında ya da kişiselleşmiş halinde ilgili bilgileri güncellemeniz gerekecektir. Ben, varsayılan değerlerle kurulum yapıp, kendime iş çıkarmak istemediğim için bu şekilde bıraktım.

Uygulama Sunucusu : Liferay portalin çalıştığı değilde, çalışmadığı sunucuları söyleyelim isterseniz. Diğer türlü Borland ES, Apache Geronimo, Sun GlassFish, JBoss, JOnAS, JRun, OracleAS, Orion, SUN JSAS, WebLogic, WebSphere, Jetty, Resin, Tomcat vb. gibi yazmak zorundayız. Gelecekte ortaya çıkacak yeni sunucularıda destekliyor olacağına bahse girerim. IIS üzerinde çalışırmı diye mi soruyosunuz. Uygulama sunucundan bahsediyoruz. Dikkat!.
Ben Tomcat üzerinde örnekleme yapacağım. Neden mi? Sizin için sırf. Kolay kurup kullanasınız diye. Yoksa, kendi geliştirmelerimi GlassFish üzerinde yapıyorum.

Tomkediyi kurmadan önce C: sürücüsüne Liferay-Portal isimli yeni bir klasör oluşturunuz. Tomcat'in tercihen en son sürümünü indirip bu klasör içerisinde açınız. Ve, CATALINA_HOME ortam değişkenini bu klasörü gösterecek biçimde ayarlayınız. (C:\Liferay-Portal\apache-tomcat-5.5.27 gibi). Tomcat neden Liferay-portal klasörü altına kurduk?. Çalışma anında Tomcat data ve doploy adında iki dizin daha oluşturacak. Bu dizinler Liferay-portal altında yeralacak. Kısacası derli toplu olsun diye.
IDE -Tümleşik Geliştirme Ortamı : Herhangi bir Java geliştirme ortamı kullanabilirsiniz. Ben bu anlatımda Eclipse kullanacağım. Siz kendi beğendiğiniz başka bir ortamı kullanabilirsiniz. Eclipse'in hangi sürümü ve hangi modeli de derseniz; en son sürümlerinden bir olsun. Eclipse Classic de iyi bir seçim olabilir. Ben eclipse Ganymede kullanacağım. Özel bir sebebi yok. Makinamda kurulmuş durumda halihazırda. Eclipse kurulumdan sonra ECLIPSE_IDE_HOME değişkenini kurulum dizinini gösterecek biçimde ayarlayınız. Bellek problemi yaşamak istemiyorsanız $ECLIPSE_IDE_HOME/eclipse.ini dosyasını açarak –XX: maxPermSize değerini 256M ya da daha fazla yapınız. Fazla abartmayınız.

Eclipse ile çalışmak için bir çalışma alanına ihtiyacımız var. Liferay-portal klasörü içerisine workspace isminde bir klasör açıyoruz. Eclipse'i açıp bu klasörü çalışma alanı olarak seçiyoruz.
-Subclipse : Liferay Portal kaynak kodları SVN havuzunda saklanmaktadır. Bizim de bu havuzdan kaynak kodları kendi çalışma alanımıza alma ihtiyacımız var. Bunun için kullanına bir Eclipse eklentisidir, subclipse. Tabi, önce indirip Liferay ile tümleştirmek gerekmektedir. Bunun için Eclipse menusunden help->Software updates->Avaliable Software->Add Site yazdıktan sonra subclipse.tigris.org/update-1.6x adresini giriyoruz. Daha yeni sürümü varsa onu da tercih edebilirsiniz. Install düğmesine tıkladıktan sonra eklenti kurulumunu beklememiz gerekiyor.

-Sydeo : Yükleme tamamlandıktan sonra, Eclipse yeniden başlayımmı derse, kırmayın onu. Window->Open Perspective->Other... menü seçeneklerini takip edip SVN Repository Exploreri seçiyoruz. SVN Repositories görünümüne sağ tıkladıktan sonra New Repository Location'u seçiyoruz. Buraya svn://svn.liferay.com/repos/public adresini girip bir süre bekledikten sonra 3 ana klasör altında (incubation, plugins, portal) liferay portalin tüm kaynak kodlarının SVN havuzundaki klasör yapısını görüyoruz. Portal->Trunk klasorünü seçip 'checkout' diyoruz. Karşılaştığınız ekranlarda ayarları karıştırmayın. Bu işlemin sonucunda çalışma alanınızda portal isminde yeni bir proje oluşacak. Bu işlem bağlantı hızınıza göre bu işlem bir saat kadar sürebilir.

SVN havuzundan kaynak kodları ininceye kadar bizde Eclipse ortamına işe yarayacak bir Tomcat eklentisi daha kuralım. Yapacağınız işlem basit. http://www.eclipsetotale.com adresinden eklentiyi indirip Eclipse'in kurulduğu klasördeki dropins içerisine açıyorsunuz. Tabi Eclipse yeniden başlatılmalı işlemin sonunda.
Kurulumdan sonra Tomcat başlatmak durdumak vb. işleri halletmek için araç çubuğuna ikonlar yerleşmiş olmalı.

Ek olarak, Eclipse-Liferay eklentisini de sourceforge.net/projects/lportal/files/Liferay%20IDE/0.3/liferay-ide-eclipse-0.3.jar/download adresinden indirebilirsiniz. İlgili jar dosyasını indirdikten sonra yapmanız gerekn bu dosyayı eclipse kurulum klasörünün altındaki plugins klasörüne kopyalamak. Çok da bir işe yaramıyor şimdiden söyleyim.

Eclipse ortamında Tomcat ve JDK ve ANT ile ilgili ayarlamalarıda yapmanız gerekmektedir. Bu genel bir işlem olduğu için başka bir günce de anlatacağım.

İndirme işlemi tamamlandıktan sonra Window->Open Perspective->J2EE seçiniz. Eğer Ant görünümü karşınıza gelmez ise, Window->Show View->Ant'ı seçiniz, Ve Build.xml dosyasını
sürükleyerek Ant Görünümü üzerine bırakınız. Karşınıza Aşağıdaki görüntüye benzer bir görüntü çıkacaktır

.Liferay Ant View

























Bu görüntüde sağ tarafta ant görevleri yeralmaktadır. Bu görevlerden örneğin clean'ı seçerseniz /portal-impl, /portal-kernel, /portal-service klasörleri altındaki derlenmiş yava sınıflarıyla, CATALINA-HOME altında yer alan /temp, /logs, /work ve /webapp/ROOT klasörlerinin içeriğini silecektir. Tabi bu aşamada Tomcat için durum böyle. Başka bir uygulama sunucusu ile çalışıyor olsa idik, ilgili sunucudaki uygun klasörlerin içerikleri silinecekti.

Tomcat'in Ext geliştirme ortamı için güncellenmesi :

Ext'i yapılandırmadan önce Tomcat'in Ext geliştirmesini desteklemesi için güncellenmesine ihtiyacımız var. Aşağıdaki adımları birlikte yapalım :

1. Eclipse ortamında yeni bir java projesi oluşturuyoruz. Yeni olşturduğumuz projenin ismi 'Server' olsun. Tabi başka bir isimde verebilirsiniz.
2. Server Projesi üzerine sağ tıklayım New|Folder'i seçiyoruz.
3. Klasör ismi olarak CATALINA_HOME giriyoruz.
4. < Düğmesine tıklıyoruz.
5. Link to folder in the file sistem'i onayladıktan sonra browse seçeneği ile Tomcat'in kurulduğu dizini seçiyoruz.
6. conf/catalina.properties dosyasını açıyoruz.
7. common.loader satırını buluyoruz.
8. Bu satıra, ${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/ext/*.jar ifadelerini ekleyip dosyayı kaydediyoruz.

Bunları neden yaptık? Liferay içerisinden deploy target'ini kullandığımız zaman bu klasörlere bazı jar dosyaları kopyalanacak. Tomcat'de bu jar dosyalarını başlangıç aşamasında yükleyecektir.

Tomcat'i Eclipse içerisinden değilde, komut satırından da doğrudan başlatablirsiniz. Bu amaçla /bin klasörü içerisine setenv.bat dosyasını açarak, içerisine set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT ifadesini ekleyebilirsiniz. Bu değerler geliştirme ortamı için. Gerçek çalışma ortamında bu değerleri 2 çarpanıyla kullanabilirsiniz.

Properties Dosyalarının Uyarlanması :

Ant içerisinden kullanacağımız build-ext hedefini ilgilendiren 3 konfigurasyon dosyası bulunmaktadır. Bunlar, release.properties, app.server.properties ve build.properties dosyalarıdır.

Öncelikle, Liferay Portale, Ext dosyalarını nereye oluşturacağını belirtmemiz gerekli. lp.ext.dir değişkeni bu amaçla kullanılmaktadır. Bu klasör herhangi bir konumda ve herhangi bir isimde olabilir. Ben, derli toplu olsun diye portal çalışma alanı içerisinde ext ismiyle bir klasör açıp burayı belirteceğim. Yukarda andığımız properties dosyalarına doğrudan müdahele etmiyoruz. Bu şekilde kaynak kodlardan uptade ettiğimiz zaman yaptığımız değişikliklerin ezilmemesini veya kaynak kodlardaki değişiklikleri takip edebiliyoruz. Liferay bu amaçla içerisinde bir mekanizma sağlıyor. Bu dosyaları genişletebiliyoruz. Bu amaçla, genişletmek istediğimiz dosyanın formatını dosya_adı.${makina_kullanıcı_adı}.properties şeklinde değiştirip yeni bir dosya oluşturduktan sonra, orjinal dosyada değiştirmek istediğimiz satırların yeni halini bu dosyaya ekliyoruz. Burada makina_kullanıcı_adı o anda sistemi kullanan kullanıcın adını belirtmekte. Bu kullanıcı sistemde, yönetici grubuna dahil olmuş olmlıdır. Şu anda kim diye merak ederseniz komut satırında iken c:\set yazarak USERNAME değişkenine bakabilirsiniz.

Bu amaçla ben; app.server.Abdullah.properties,build.Abdullah.properties ve release.Abdullah.properties adlarındaki üç dosyayı orjinallerini kopyalayıp isimlerini değiştirerek oluşturdum. Bu dosyalardan release.Abdullah.properties dosyasını açıp
lp.ext.dir=C:/Liferay-Portal/Workspace/portal/ext
lp.eclipse.project.name=Ext
satırlarını ekledim.

Benzer biçimde build.Abdullah.properties dosyasını açıp

ant.build.javac.source=1.6
ant.build.javac.target=1.6
satırlarını ekledim. Ben JDK -1.6 kullanıyorum. Siz kendi kullandığınız sürümü yazınız.

Son olarak da, app.server.Abdullah.properties dosyasını açıp

app.server.type=tomcat
app.server.tomcat.version=6.0
app.server.tomcat.dir=C:/Liferay-Portal/apache-tomcat-6.0.20
satırlarını ekledim.

Not : Biz bu kadar uğraşırken Portal'in kaynak kodları değişmiş olabililir mi?.. Belkide, en güzel yöntemi çalışma alanımızı güncellemek. Bu amaçla, Navigator görünümünde iken Portal üzerine sağtıklayıp Team|Update to HEAD 'i seçiyoruz. Belirli bir sürüme dönmek isterseniz de update to Version seçebilirsiniz.
Artık, Ext ortamını luşturabiliriz. Ant görünümüne geçiyoruz. (Window|Show View|Ant)
Start
build-ext hedeflerine sırasıyla çift tıklıyoruz.

Eclipse ortamında, ext klasörünü yenilediğiniz zaman (refresh) içeriğinin aşağıdaki biçimce olştuğunu görmelisiniz. Eğer oluşmamış ise iki durum sözkonusu olabilir. Birincisi kaynak kodlar derlenememiştir (çok ihtimal dahilinde değil), diğeri de path'leri yanlış tanımlamış olabilirsiniz.

Resimdeki ? sembolleri kafanızı karıştırmasın. SVN'r bağlı bir çalışma ortamındasınız ve bu dosyalar SVN havuzunda değiller anlamındalar.

Eclipse içerisinde görünse de, oluşan bu yapı henüz bir Eclipse projesi değil. Bu klasörü bir proje olarak Eclipse tanıtmak için Navigatör üzerinde iken sağ tıklayıp İmport|General|Existing Project into Workspace seçip Ext klasörünü belirtiyoruz. Evet, artık yeni bir Java projemiz daha oluştu.

Artık, konuşlandırma zamanı geldi. Bunu yapmadan önce minik tefek işlerimiz var ;
/ext/ext-impl/src klasörü içerisindeki portal-ext.properties dosyasını açıp içerisine

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=lportal
jdbc.default.password=lportal

jdbc.default.acquireIncrement=1
jdbc.default.maxPoolSize=4
jdbc.default.minPoolSize=2
jdbc.default.numHelperThreads=4
hibernate.show_sql=false
satırlarını ekliyoruz. Ürün ortamında, geliştirme ortamındaki uygulama sunucusu ve Java sürümünü kullanıyor iseniz, Portal klasöründeki 3 ayar dosyasını ext klasörüne kopyalayınız. Değilse, bu dosyaları oluşturup içeriğini kendi ortamınıza göre güncelleyiniz. Ben, pp.server.Abdullah.properties,build.Abdullah.properties ve release.Abdullah.properties dosyalarını ext içerisine kopyaladım. Artık hazırız. Ant Görünümüne geçip build.xml dosyasını sürükleyip Ant View üzerine bırakınız. Sırasıyla clean ve deploy hedeflerini kullanınız.

Şimdi Tomcat'i başlatıp, tarayıcınız üzerinden http://localhost:8080 yazarak portal'in tadına bakabiliriz.

Alıntı
Açıklama:  Liferay Portal Geliştirme Ortamı Kurulumu (Extension Environment) Hakkında Bilgiler, Gerekli Ayarlar, Kodlar ve Linkler
Etiketler: Liferay Portal, Liferay Portal Platformu, Liferay Portal Teknik Bilgileri,  Liferay Portal Geliştirme Ortamı, Liferay Portal Kurulumu
Kaynak: Abdullah Erol (abdullaherol.blogspot.com/)
GoogleLiferay Portal Extension EnvironmentLiferay Portal Geliştirme Ortamı Kurulumu (Extension Environment)
Erkan OKUR Diyor ki:
Son Güncelleme: Cumartesi, 04 Eylül 2010 23:22