<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6116287514090186313</id><updated>2012-01-15T18:23:18.892-02:00</updated><category term='glassfish windows service install'/><category term='portal'/><category term='liferay'/><category term='tomcat'/><category term='eclipse'/><category term='project.net'/><category term='ext-environment'/><category term='projectdotnet'/><category term='JSR-286'/><category term='oracle'/><title type='text'>AÇIK KAYNAK - AÇIK GÜNLÜK</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-2442461588518077773</id><published>2009-08-23T12:19:00.003-02:00</published><updated>2009-08-23T13:26:03.332-02:00</updated><title type='text'>Liferay: Plugin SDK kullanarak tema geliştirme</title><content type='html'>Temalar portal üzerinde paylaşılan görünumlerdir. Başka siteler üzerindeki sayfalar da temaları paylaşabilirler.  Bir tema CSS, resim, JavaScript ve Velocity şablonlarından oluşur. Yani, yeni bir tema oluştururken bu 4 bileşenle genellikle uğraşmamız gerekir. Bu yüzden _diffs klasörü içerisinde &lt;span style="font-family: courier new;"&gt;css, images, javascript ve templates&lt;/span&gt; isminde 4 klasör açıyoruz. Ayrıca, &lt;span style="font-family: courier new;"&gt;WEB-INF&lt;/span&gt; isimli bir klasör ve içerisinde  &lt;span style="font-family: courier new;"&gt;liferay-plugin-package.properties&lt;/span&gt; ve &lt;span style="font-family: courier new;"&gt;liferay-look-and-feel.xml&lt;/span&gt; dosylalarını oluşturuyoruz.&lt;br /&gt;&lt;br /&gt;Aslında, bu işlemleri otomatik yapabiliyoruz. $PLUGINS_SDK_HOME/themes klasörü içerisinde komut satırından,  &lt;span style="font-family: courier new;"&gt;create softera "softera"&lt;/span&gt; komutunu çalıştırdığımızda ismi softera-theme olan bir klasör ve gerekli minimum içerik bizim içi hazırlanmış olur.  Bu komut çalıştırıldıktan sonra, yerleşim şablonunda olduğu gibi &lt;span style="font-family: courier new;"&gt;build.xml&lt;/span&gt; dosyası oluşturulur ve içeriği aşağıdaki gibi oluşturulur. &lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;project name="theme" basedir="." default="deploy"&amp;gt;&lt;br /&gt;&amp;lt;import file="../build-common-theme.xml" /&amp;gt;&lt;br /&gt;&amp;lt;property name="theme.parent" value="_styled" /&amp;gt;&lt;br /&gt;&amp;lt;/project&lt;br /&gt;&lt;br /&gt;Bizim için oluşturulan bu dizin yapısı içerisine liferay-look-and-feel.xml isimli bir dosya oluşturuyoruz ve içerisini aşağıdaki gibi belirliyoruz.&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&amp;lt;!DOCTYPE look-and-feel PUBLIC&lt;br /&gt;"-//Liferay//DTD Look and Feel 5.2.0//EN"&lt;br /&gt;"http://www.liferay.com/dtd/liferay-look-and-&lt;br /&gt;feel_5_2_0.dtd"&amp;gt;&lt;br /&gt;&amp;lt;look-and-feel&amp;gt;&lt;br /&gt;&amp;lt;compatibility&amp;gt;&lt;br /&gt;&amp;lt;version&amp;gt;5.2.0+&amp;lt;/version&amp;gt;&lt;br /&gt;&amp;lt;/compatibility&amp;gt;&lt;br /&gt;&amp;lt;theme id="Softera" name="Softera"&amp;gt;&lt;br /&gt;&amp;lt;settings&amp;gt;&lt;br /&gt;&amp;lt;setting key="portlet-setup-show-borders-default"&lt;br /&gt;value="false" /&amp;gt;&lt;br /&gt;&amp;lt;/settings&amp;gt;&lt;br /&gt;&amp;lt;/theme&amp;gt;&lt;br /&gt;&amp;lt;/look-and-feel&amp;gt;&lt;br /&gt;&lt;br /&gt;Yuakrıdaki ifade de &lt;span style="font-family: courier new;"&gt;portlet-setup-show-borders-default=false&lt;/span&gt; Liferay Portal'in&lt;br /&gt;bu temayı kullanan sayfalarda, portlet kenarlıklarını öntanımlı olarak çizmemesini sağlar. Yerleşim şablonlarında olduğu gibi tema içinde sürüm numarası tutulur ve bu numara yeni sürümlere geçince uygun biçimde değiştirilmelidir. tanımlamaya göre, tema softera ismiyle kayıt edilir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-2442461588518077773?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/2442461588518077773/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=2442461588518077773' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2442461588518077773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2442461588518077773'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/08/liferay-plugin-sdk-kullanarak-tema.html' title='Liferay: Plugin SDK kullanarak tema geliştirme'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-27665825266585818</id><published>2009-08-22T20:16:00.005-02:00</published><updated>2009-08-22T21:56:58.072-02:00</updated><title type='text'>Liferay : Plugin SDK kullanarak yerleşim şablonu geliştirme</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fWOXecBPDrs/SpBwfudoFgI/AAAAAAAAA5A/-Tu5Ue8WZj4/s1600-h/themethumnail.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 106px; height: 105px;" src="http://1.bp.blogspot.com/_fWOXecBPDrs/SpBwfudoFgI/AAAAAAAAA5A/-Tu5Ue8WZj4/s320/themethumnail.jpg" alt="" id="BLOGGER_PHOTO_ID_5372918045803550210" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bu güncede, hot-deploy edilebilir nitelikte yerleşim şablonu geliştirilmesine bakacağız.  Bir ürün sayfası tasarladğımızı düşünelim.  Bu sayfanın görüntüsünün yandaki  gibi olacağını varsayalım. Tabi bu tasarımın Sayfa şablonları menüsünde de yeralmasını sağlayacağız. Bu tür bir tema Ect ortamında da yapılabilir olmasına rağmen, eğer otomatik konuşlandırılmasını istiyorsak, Plugin SDK kullanmalıyız.&lt;br /&gt;Öncelikle yapmamız gereken ilk iş PLUGIN_SDK_HOME&lt;span style="font-size:78%;"&gt;(1)&lt;/span&gt; klasörünün altında yer alan layouttpl klasörü içerisin "Softera-1-2-3-sablon" isimli bir klasör açıyoruz. Bu klasörle aynı seviyeye ismi "docroot" olan başka bir klasör açıp içerisine build.xml dosyasını oluşturuyoruz. Bu dosyanın içeriği aşağıdaki gibi olmalıdır.&lt;br /&gt;&amp;lt;?xml version="1.0"?&amp;gt;&lt;br /&gt;&amp;lt;project name="layouttpl" basedir="." default="deploy"&amp;gt;&lt;br /&gt;&amp;lt;property name="plugin.version" value="1" /&amp;gt;&lt;br /&gt;&amp;lt;import file="../build-common-layouttpl.xml" /&amp;gt;&lt;br /&gt;&amp;lt;/project&amp;gt;&lt;br /&gt;Yukarıdaki belirtim, layouttpl projesi ve içerisinde varsayılan ant deploy target'ini tanımlar. Eklenti sürümü olarak (plugin versiyon) olarak  1 değeri verilmiştir. Bunun yanısıra, build-common-layouttpl.xml doyasıda kullanılmaktadır.&lt;br /&gt;&lt;br /&gt;Daha sonra, docroot klasörü içerisine WEB-INF isminde bir klasör açıp, içerisine liferay-plugin-package.xml isimli bir dosya oluşturuyoruz. Bu dosya içerisine aşağıdaki içieriği ekleyiniz.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE plugin-package PUBLIC "-//Liferay//DTD Plugin Package 5.2.0//EN" "http://www.liferay.com/dtd/liferay-plugin-package_5_2_0.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;plugin-package&amp;gt;&lt;br /&gt;  &amp;lt;name&amp;gt;softera-1-2-3 Templates&amp;lt;/name&amp;gt;&lt;br /&gt;  &amp;lt;module-id&amp;gt;liferay/softera-1-2-3-layouttpl/5.2.0.1/war&amp;lt;/module-id&amp;gt;&lt;br /&gt;  &amp;lt;types&amp;gt;&lt;br /&gt;      &amp;lt;type&amp;gt;layout-template&amp;lt;/type&amp;gt;&lt;br /&gt;  &amp;lt;/types&amp;gt;&lt;br /&gt;  &amp;lt;short-description&amp;gt;&lt;br /&gt;      This plugin is a softera-1-2-3 layout template.&lt;br /&gt;  &amp;lt;/short-description&amp;gt;&lt;br /&gt;  &amp;lt;change-log&amp;gt;&amp;lt;/change-log&amp;gt;&lt;br /&gt;  &amp;lt;page-url&amp;gt;http://www.liferay.com&amp;lt;/page-url&amp;gt;&lt;br /&gt;  &amp;lt;author&amp;gt;Liferay, Inc.&amp;lt;/author&amp;gt;&lt;br /&gt;  &amp;lt;licenses&amp;gt;&lt;br /&gt;      &amp;lt;license osi-approved="true"&amp;gt;MIT&amp;lt;/license&amp;gt;&lt;br /&gt;  &amp;lt;/licenses&amp;gt;&lt;br /&gt;  &amp;lt;liferay-versions&amp;gt;&lt;br /&gt;      &amp;lt;liferay-version&amp;gt;5.2.0+&amp;lt;/liferay-version&amp;gt;&lt;br /&gt;  &amp;lt;/liferay-versions&amp;gt;&lt;br /&gt;&amp;lt;/plugin-package&amp;gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki kod parçası "softera-1-2-3 Templates" isminde bir modül isminde ve  "&amp;lt;module-id&amp;gt;liferay/softera-1-2-3-layouttpl/5.2.0.1/war&amp;lt;/module-id&amp;gt;" kimliğinde bir modül tanımlar.&lt;br /&gt;Burdaki 5.2.0.1 sürüm numarasıdır. Liferay Portal'i yeni sürümlerine günceledikçe sizde bu sürüm numaralarını uygun biçimde düzeltmelisiniz.&lt;br /&gt;&lt;br /&gt;Son olarak, Softera-1-2-3 yerleşim şablonunu Plugin SDK'ya kayıt etmeliyiz. Bu amaçla docroot klasörü içerisine "liferay-layout-templates.xml" isminde bir dosya olşuturup içeriğini açağıdaki gibi oluştruyoruz.&lt;br /&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE layout-templates PUBLIC "-//Liferay//DTD Layout Templates 5.2.0//EN" "http://www.liferay.com/dtd/liferay-layout-templates_5_2_0.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;layout-templates&amp;gt;&lt;br /&gt;  &amp;lt;custom&amp;gt;&lt;br /&gt;      &amp;lt;layout-template id="softera_1_2_3" name="softera-1-2-3"&amp;gt;&lt;br /&gt;          &amp;lt;template-path&amp;gt;/softera_1_2_3.tpl&amp;lt;/template-path&amp;gt;&lt;br /&gt;          &amp;lt;wap-template-path&amp;gt;/softera_1_2_3.wap.tpl&amp;lt;/wap-template-path&amp;gt;&lt;br /&gt;          &amp;lt;thumbnail-path&amp;gt;/softera_1_2_3.png&amp;lt;/thumbnail-path&amp;gt;&lt;br /&gt;      &amp;lt;/layout-template&amp;gt;&lt;br /&gt;  &amp;lt;/custom&amp;gt;&lt;br /&gt;&amp;lt;/layout-templates&amp;gt;&lt;br /&gt;&lt;br /&gt;Bu işlemleri yapmanın basit bir yolu daha var. Elle yapmak yerine $PLUGINS_SDK_HOME/layouttpl  içerisinde yer alan "create" kabuk komutunu  kullanabilirsiniz. Kullanım biçimi aşağıda verilmiştir.&lt;br /&gt;Linux ya da MAC ortamında ;&lt;br /&gt;/create.sh softera-1-2-3 "softera-1-2-3"&lt;br /&gt;Windows ortamında;&lt;br /&gt;create.bat softera-1-2-3 "softera-1-2-3"&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;(1)&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt; : Liferay kaynak kodlarınının inidirilmesi ve konfigurasyonu ile ilgili, &lt;/span&gt;&lt;a style="color: rgb(255, 204, 51);" href="http://www.blogger.com/www.softera.com.tr"&gt;www.softera.com.tr &lt;/a&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;adresinedeki güncelere bakabilirsiniz. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);"&gt;Yerleşim şablonunun oluştrurulması&lt;/span&gt; Şu ana kadar projemizi oluşrurmuş olduk. Şimdi diğer aşamaları gerçekleştirelim. Öncelikle bir ikon dosyası oluşturmamız gerekiyor. Eğer yukarıdaki kısayolu kullanmış iseniz örnek bir ikon dosyası da sizin için oluşur. Diğer türlü bir resim editörü kullanarak bu işlemi yapmanız gerekmektedir. Tasarlayacağınız bu resmin 123X123 piksel uzunluğunda olması, diğer ikonlarla eşit büyüklükte olmasını sağlar.  Şimdi iki ek dosya daha oluşturacağız bunlardan biri tarayıcı şablonu(softera_1_2_3.tpl) ve diğeri de WAP şablonu (softera_1_2_3.wap.tpl).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;softera_1_2_3.tpl içeriği:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="content-wrapper"&amp;gt;&lt;br /&gt;&amp;lt;table class="lfr-grid" id="layout-grid" border="0"&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;      &amp;lt;td class="lfr-column" valign="top" colspan="2" "style="border: 0px solid green; padding: 5px: width: 970px; "&amp;gt;&lt;br /&gt;          $processor.processColumn("column-1")&lt;br /&gt;      &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;    &amp;lt;tr&amp;gt;&lt;br /&gt;      &amp;lt;td class="lfr-column" style="width: 240px; padding-right: 15px; " valign="top"&amp;gt;&lt;br /&gt;          $processor.processColumn("column-2")&lt;br /&gt;      &amp;lt;/td&amp;gt;&lt;br /&gt;      &amp;lt;td class="lfr-column" style="width:7 15px; padding: 0px; " valign="top"&amp;gt;&lt;br /&gt;          &amp;lt;table width="100%" cellspacing="0" cellpadding="0" border="0"&amp;gt;&lt;br /&gt;              &amp;lt;tr&amp;gt;&lt;br /&gt;                  &amp;lt;td class="lfr-column" colspan="2" style="width: 715px; padding: 0px;border: 0px solid green; " valign="top"&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-3")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;              &amp;lt;/tr&amp;gt;&lt;br /&gt;              &amp;lt;tr&amp;gt;&lt;br /&gt;                  &amp;lt;td class="lfr-column" style="width: 345px;padding-right: 12px; border: 0px solid green;" valign="top"&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-4")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;                  &amp;lt;td class="lfr-column" style="width: 345px;padding-left: 13px;border: 0px solid green; " valign="top"&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-5")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;              &amp;lt;/tr&amp;gt;&lt;br /&gt;          &amp;lt;/table&amp;gt;&lt;br /&gt;      &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;softera_1_2_3.wap.tpl içeriği;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;table&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;      &amp;lt;td colspan="2"&amp;gt;&lt;br /&gt;          $processor.processColumn("column-1")&lt;br /&gt;      &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;      &amp;lt;td&amp;gt;&lt;br /&gt;          $processor.processColumn("column-2")&lt;br /&gt;      &amp;lt;/td&amp;gt;&lt;br /&gt;      &amp;lt;td&amp;gt;&lt;br /&gt;          &amp;lt;table&amp;gt;&lt;br /&gt;              &amp;lt;tr&amp;gt;&lt;br /&gt;                  &amp;lt;td colspan="2"&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-3")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;              &amp;lt;/tr&amp;gt;&lt;br /&gt;              &amp;lt;tr&amp;gt;&lt;br /&gt;                  &amp;lt;td&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-4")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;                  &amp;lt;td&amp;gt;&lt;br /&gt;                      $processor.processColumn("column-5")&lt;br /&gt;                  &amp;lt;/td&amp;gt;&lt;br /&gt;              &amp;lt;/tr&amp;gt;&lt;br /&gt;          &amp;lt;/table&amp;gt;&lt;br /&gt;      &amp;lt;td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;Evet artık yeni yerleşim şablonumuzu eklemeye hazırız.  Bunun için yapmamız gereken tek şey $PLUGINS_SDK_HOME/layouttpl/softera-1-2-3 klasörü içerisinde iken komut satırından  "ant clean deploy"  komutunu uygulamak. Aşağıdaki şekilde softera-1-2-3 isimli yerleşim şablonunun seçenekler arasına girmiş olduğunu görebilirsiniz.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fWOXecBPDrs/SpCFgK06fyI/AAAAAAAAA5I/341JvQqQfWQ/s1600-h/softera-1-2-3template.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 232px;" src="http://1.bp.blogspot.com/_fWOXecBPDrs/SpCFgK06fyI/AAAAAAAAA5I/341JvQqQfWQ/s320/softera-1-2-3template.jpg" alt="" id="BLOGGER_PHOTO_ID_5372941143161601826" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-27665825266585818?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/27665825266585818/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=27665825266585818' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/27665825266585818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/27665825266585818'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/08/liferay-plugin-sdk-kullanarak-yerlesim.html' title='Liferay : Plugin SDK kullanarak yerleşim şablonu geliştirme'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fWOXecBPDrs/SpBwfudoFgI/AAAAAAAAA5A/-Tu5Ue8WZj4/s72-c/themethumnail.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-3584052370266436788</id><published>2009-08-22T11:49:00.008-02:00</published><updated>2009-08-22T19:27:56.014-02:00</updated><title type='text'>Liferay : Ext Ortamında Yerleşim şablonları ve Tema Geliştirme</title><content type='html'>Portal üzerinde yaşayan her sayfanın, kullanılan temadan kaynaklana özel bir görünümü vardır. Bunun ötesinde sayfa yerleşimi de yerleşim şablonları(Layout templates)  ile sağlanır. Normal koşullarda temalar tüm web sitesinin, ya da bir kişinin, topluluğun vb. web site görüntüsünü belirlerken, yerleşim şablonları her bir sayfanın portlet yerleşimini sağlar. Liferay 5.2.3 ile birlikte her bir sayfanın da ayrı şablonu olabilmektedir.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fWOXecBPDrs/So__uaqItbI/AAAAAAAAA4w/_y0OauEuIms/s1600-h/layout+templates.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 235px;" src="http://3.bp.blogspot.com/_fWOXecBPDrs/So__uaqItbI/AAAAAAAAA4w/_y0OauEuIms/s320/layout+templates.jpg" alt="" id="BLOGGER_PHOTO_ID_5372794053371409842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Liferay Portal, içerisinde satır ve sutunların sayfa üzerinde nasıl yerleşeceğini belirleyen yerleşim şablonları sağlar. Sürüm 5.2.3 de farklı yerleşim şablonlarının sayısı 10 dur. Aşağıdaki görüntüde sayfa şablonları portletini görebilirsiniz.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fWOXecBPDrs/SpAAXXXlV0I/AAAAAAAAA44/l-F3vvvtaLQ/s1600-h/portaltemalar.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 297px; height: 320px;" src="http://1.bp.blogspot.com/_fWOXecBPDrs/SpAAXXXlV0I/AAAAAAAAA44/l-F3vvvtaLQ/s320/portaltemalar.jpg" alt="" id="BLOGGER_PHOTO_ID_5372794756862924610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bunun yanısıra Portal yukarıda bahsedildiği gibi temalar da sağlamaktadır. Bu temaların sayısı 70 civarındadır. bu temaların bir kısmını ayrıca yüklemek gerekmektedir.&lt;br /&gt;Bu güncede, ext ortamı ve Plugins SDK kullanarak yerlerşim şablonları ve Plugins SDK kullanarak tema geliştirme konularına değineceğiz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Ext ortamında Yerleşim Şablonlarının kullanımı :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Yerleşm Şablonları&lt;/span&gt;, portletlerin sayfalar üzerinde nasıl yerleşeceğini belirler. Sayfa şablonları genellikle ızgara benzer yapılardır. Çoğunlukla HMTL tabloları kullanılarak oluşturulurlar. Geniş bir gövdeye sahiptirler, bu gövdeye portletler satırlar ve sutunlar biçiminde yerleşirler. İçerik üreticiler, içeriklerini hazırlamadan önce ya da hazırladıktan sonra yerleşim şablonunu seçebilir. Bir yerleşim şablonunu seçtikten sonra, başka bir yerleşim şablonuna geçebilir.  Tabi tüm bu işlemlerin gerekli yetkilere sahip kullanıclar tarafından yapıldığını unutmuyoruz. Bunun yanısıra portal'e üye olan kullanıcılara "powe user" rolü verilirse, bu kullanıcılar, kendi sayfalaını da düzenleyebilirler.&lt;br /&gt;&lt;br /&gt;Yerleşim şablonları kısaca sayfa üzerindeki portletlerin düzenini belirler diyebiliriz. Önceden de söylediğimiz gibi, portal üzerinde birçok hazır sayfa yerleşim şablonu ile birlikte gelmektedir. Fakat, sizin daha karmaşık ya da daha öze şablon isterleriniz olabilir. Bu durumda kendi şablonlarınızı oluşturabilirsiniz.&lt;br /&gt;&lt;br /&gt;Yerleşim şablonları /portal/portal-web/docroot/html/layouttpl/standard ve portal/portal-web/html/custom klasörlerinde bulunmaktadır.  Öntanımlı olarak standard ve custom olmak üzere iki grup yerleşim şablonu bulunmaktadır. Bu şablonları aşağıdaki gibi bulabilirsiniz&lt;br /&gt;- liferay-layout-templates.xml dosyasını, /portal/portal-web/docroot/WEB-INF klasöründe bularak açınız. Bu dosyayı incelerseniz, standart yerleşim şablonları exclusive, max, ve  pop_up; içerirken, costom yerleşim şablonları freeform, 1_column gibi yapıları içerirler. Her bir sayfa şablonu standart 3 dosyadan oluşur, bunlar;  icon dosyası (.png), tarayıcı şablon dosyası (.tpl) ve WAP uyumlu araçlar için taryıcı şablon dosyası (.wap.tpl). Örnek olarak 1_column yerleşim şablonu  /layouttpl/custom/1_column.tpl template path,  /layouttpl/custom/1_column.wap.tpl, ve /layouttpl/custom/1_column.png dosyalarından oluşur.&lt;br /&gt;&lt;br /&gt;Şimdi Exr ortamında özelleşmiş yerleşim şablonu oluşturalım, bunu gerçekleştirmek için ana aşamalar aşağıda verilmiştir :&lt;br /&gt;1- /ext/ext-web/docroot klasörü içerisinde ismi "softera" olan bir klasör oluşturuyoruz,&lt;br /&gt;2-  /ext/ext-web/docroot/klasörü içerisinde, "softera" klasörü içerisine "softeraozel" isminde bir klasör açıyoruz,&lt;br /&gt;3- Yukarıda oluşturduğumuz ozel klasörü içerisine ikon dosyasını (softeraozel.png) kopyalıyoruz. 4-  softera.tpl doyasını,  /ext/ext-web/docroot/softera/softeraozel klasörü içerisinde açıp, aşağıdaki içeriği içerisine yerleştiriyoruz.&lt;br /&gt;&amp;lt;div id="content-wrapper"&amp;gt;&lt;br /&gt;&amp;lt;table class="lfr-grid" id="layout-grid"&amp;gt;&lt;br /&gt;&amp;lt;tr id="row-1"&amp;gt;&lt;br /&gt;&amp;lt;td class="lfr-column" id="column-1" valign="top" colspan="3"&lt;br /&gt;style="border: 0px solid green; padding-left: 0px; width: 917px; "&amp;gt;&lt;br /&gt;$processor.processColumn("column-1")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr id="row-2"&amp;gt;&lt;br /&gt;&amp;lt;td class="lfr-column thirty" id="column-2" valign="top" style="border: 0px solid green; padding-left: 0px; "&amp;gt;&lt;br /&gt;$processor.processColumn("column-2")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td class="lfr-column thirty" id="column-3" valign="top" style="border: 0px solid green; padding-left: 0px; "&amp;gt;&lt;br /&gt;$processor.processColumn("column-3")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td class="lfr-column thirty" id="column-4" valign="top" style="border: 0px solid green; padding-right: 0px; "&amp;gt;&lt;br /&gt;$processor.processColumn("column-4")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr id="row-3"&amp;gt;&lt;br /&gt;&amp;lt;td class="lfr-column" id="column-5" valign="top" colspan="3" style="border: 0px solid green; padding-left: 25px; padding-right: 25px; width: 917px; "&amp;gt;&lt;br /&gt;$processor.processColumn("column-5")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki HTML kodunda herbir tablo hücresi &amp;lt;td&amp;gt; elementi bir CSS sınıfıyla (örneğin lfr-column) ilişkilendirilmiştir. Bunun yanısıra her birinin bir ID'si vardır (örneğin column-1). Buradaki "style" etiketi içerisini değiştirerek farklı görünümler elde edilebilir. Tabiki CSS sınıfını da değiştirerek özel görünümler elde edebilirsiniz. &lt;br /&gt;&lt;br /&gt;Şimdi de WAP için aynı isimde bir .wap.tpl dosyası oluşturalım, içerisine aşağıdaki içeriği kopyalayalım:&lt;br /&gt;&amp;lt;table&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&amp;lt;td colspan="3"&amp;gt;&lt;br /&gt;$processor.processColumn("column-1")&lt;br /&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;$processor.processColumn("column-2")&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;$processor.processColumn("column-3")&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;td&amp;gt;$processor.processColumn("column-4")&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;td colspan="3"&amp;gt;&lt;br /&gt;$processor.processColumn("column-5")&lt;br /&gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt;Yukarıdaki HTML kodundan da göreceğiniz gibi WAP sürümü CSS nimetlerini kullanamaz. Çalışma zamanında Portal kendisine bağlanan istemcinin tipini, istem başlık(request header) içeriğinden  anlayarak, porletleri uygun şablon içerisinden otomatik gösterir.&lt;br /&gt;&lt;br /&gt;Şimdi geliştirdiğimiz bu şablonu nasıl Liferay Portal'e tanıtacağımıza bakalım. Aşağıda bu adımları bulabilirsiniz.&lt;br /&gt;1 - /portal/portal-web/docroot/WEB-INF klasörü içerisinde, liferay-layout-templates.xml dosyasını bulunuz.&lt;br /&gt;2-  Bulduğunuz bu liferay-layout-templates.xml dosyasını /ext/ext-web/docroot/&lt;br /&gt;WEB-INF klasörüne kopyalayınız.&lt;br /&gt;3- Kopyaladığınız bu dosyayı açınız.&lt;br /&gt;4- Dosya içerisine custom, ve layout etiketleri kapanmadan aşğıdaki içeriği ekleyiniz.&lt;br /&gt;&amp;lt;layout-template id="Softera" name="Softera Şablon"&amp;gt;&lt;br /&gt;&amp;lt;template-path&amp;gt;&lt;br /&gt;/softera/softeraozel/softera.tpl&lt;br /&gt;&amp;lt;/template-path&amp;gt;&lt;br /&gt;&amp;lt;wap-template-path&amp;gt;&lt;br /&gt;/softera/softeraozel/softera.wap.tpl&lt;br /&gt;&amp;lt;/wap-template-path&amp;gt;&lt;br /&gt;&amp;lt;thumbnail-path&amp;gt;&lt;br /&gt;/layouttpl/softeraozel/softera.png&lt;br /&gt;&amp;lt;/thumbnail-path&amp;gt;&lt;br /&gt;&amp;lt;/layout-template&amp;gt;&lt;br /&gt;&amp;lt;layout-template id="softera 2" name="Softera Sablon 2"&amp;gt;&lt;br /&gt;&amp;lt;template-path&amp;gt;&lt;br /&gt;/softera/softeraozel/softera1.tpl&lt;br /&gt;&amp;lt;/template-path&amp;gt;&lt;br /&gt;&amp;lt;wap-template-path&amp;gt;&lt;br /&gt;/softera/softeraozel/softera2.wap.tpl&lt;br /&gt;&amp;lt;/wap-template-path&amp;gt;&lt;br /&gt;&amp;lt;thumbnail-path&amp;gt;&lt;br /&gt;/softera/softeraozel/softera2.png&amp;lt;/thumbnail-path&amp;gt;&lt;br /&gt;&amp;lt;/layout-template&amp;gt;&lt;br /&gt;&lt;br /&gt;Hazırladığım bu şablon Velocity Şablon Moturunun standardındadır.  Velocity aracı ile ilgili detalı bilgilere&lt;a href="http://velocity.apache.org/"&gt; buradan&lt;/a&gt; ulaşabilirsiniz.  Basit olarak, her bir Valocity şablonu, içerisinde özel sembolleri de barındıran  düz bir metin dosyasıdır. Aşğıdaki listede Velocity şablonunun değişkenlerini bulabilirsiniz:&lt;br /&gt;Variable - Template type&lt;br /&gt;processor- com.liferay.portlet.layoutconfiguration. util.velocity.TemplateProcessor&lt;br /&gt;request - javax.servlet.http.HttpServletRequest&lt;br /&gt;pageContext - javax.servlet.jsp.PageContext&lt;br /&gt;portletConfig - com.liferay.portlet.PortletConfigImpl&lt;br /&gt;renderRequest - javax.portlet.RenderRequest&lt;br /&gt;renderResponse - javax.portlet.RenderResponse&lt;br /&gt;themeDisplay - com.liferay.portal.theme.ThemeDisplay&lt;br /&gt;company - com.liferay.portal.model.Company&lt;br /&gt;user/realUser - com.liferay.portal.model.User&lt;br /&gt;layout - com.liferay.portal.model.Layout&lt;br /&gt;layouts - java.util.List&amp;lt;com.liferay.portal.model.Layout&amp;gt;&lt;br /&gt;plid - java.lang.String&lt;br /&gt;layoutTypePortlet - com.liferay.portal.model.LayoutTypePortlet&lt;br /&gt;portletGroupId - java.lang.String&lt;br /&gt;locale - java.util.Locale&lt;br /&gt;timeZone - java.util.TimeZone&lt;br /&gt;theme - com.liferay.portal.model.Theme&lt;br /&gt;colorScheme - com.liferay.portal.model.ColorScheme&lt;br /&gt;portletDisplay - com.liferay.portal.theme.PortletDisplay&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-3584052370266436788?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/3584052370266436788/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=3584052370266436788' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3584052370266436788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3584052370266436788'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/08/liferay-yerlesim-sablonlar-ve-tema.html' title='Liferay : Ext Ortamında Yerleşim şablonları ve Tema Geliştirme'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fWOXecBPDrs/So__uaqItbI/AAAAAAAAA4w/_y0OauEuIms/s72-c/layout+templates.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-3134254125448187108</id><published>2009-08-03T07:15:00.004-02:00</published><updated>2009-08-03T07:22:41.532-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='glassfish windows service install'/><title type='text'>GlassFish'in Windows Servisi olarak kaydedilmesi</title><content type='html'>Uygulama sunucularındaki en büyük problemlerden biri de bildiğiniz gibi, üzerinde kurulu bulunan sunucunun başladığı zaman otomatik başlamaması. Weblogic'ten neler çektim bu konuda bilemezsiniz. GlassFish'de bu konuda birkaç yöntem olmasına rağmen, ben size en kolay yöntemi anlatacağım.&lt;br /&gt;Bu amaçla sağolsun &lt;a href="http://www.ryandelaplante.com/"&gt;Ryande Lapante&lt;/a&gt; -bilgi- kardeşimiz bir komut satırı aracı hazırlamış. Bu aracı kullanarak servis kaydetme olayı oldukça basitleşti. Aşağıda gerekli açıklamaları bulabilirsiniz :&lt;br /&gt;&lt;br /&gt;Kullanım:&lt;br /&gt;java -jar glassfishsvc.jar [-i | -u] [Seçenekler]&lt;br /&gt;&lt;br /&gt;-i : Windows servisi olarak yükler.&lt;br /&gt;-u : Varolan servisi silmek amacıyla kullanılır.&lt;br /&gt;-n servis_ismi : Oluştturulacak Windows Servisinin ismi. Boşluk içeriyor ise tırnak içinde verilmelidir. Belirtmezseniz GlassfishAppServer olarak kabul edilir.&lt;br /&gt;-d yol : Glassfish sunucusunun kurulduğu klasörü belirtir. Yol içerisinde boşluklar varsa tırnak içerisinde belirtilmelidir. Belirtilmez ise içinde bulunulan klasör olduğu varsayılır.&lt;br /&gt;-m alan : Servis olarak kaydedilecek alan adı. Belirtilmez ise domain1 olduğu varsayılır.&lt;br /&gt;-a kullanici : Glassfish yönetici kullanıcısının adı. Varsayılan değer admin dir.&lt;br /&gt;-p pwd : Glassfish yönetici kullanıcı şifresi. Değiştirmedi iseniz adminadmin dir.&lt;br /&gt;&lt;br /&gt;Örnekler:&lt;br /&gt;java -jar glassfishsvc.jar -i&lt;br /&gt;java -jar glassfishsvc.jar -i -p adminadmin&lt;br /&gt;java -jar glassfishsvc.jar -i -n "Softera Portal" -d "C:\\Program Files\\Sun\\Glassfish" -m portal -a admin5 -p softera123&lt;br /&gt;java -jar glassfishsvc.jar -u&lt;br /&gt;java -jar glassfishsvc.jar -u -n "Softera Portal"&lt;br /&gt;&lt;br /&gt;Bunlarda jar dosyasının &lt;a href="http://wiki.glassfish.java.net/attach/FaqRunAsWindowsService/GlassfishSvc.jar"&gt;adresi&lt;/a&gt; ve &lt;a href="http://wiki.glassfish.java.net/attach/FaqRunAsWindowsService/GlassfishSvc.java"&gt;kaynak kodları.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Not : Suncudan logoff yaptığınızda servisin kapanmaması için domain.xml dosyası içerisine (glassfish/domains/domain_adı/config/domain.xml) dosyasında Sanal makina opsiyonlarının bulunduğu kesime (&lt;jvm-options&gt; JVM option&lt;/jvm-options&gt; şeklinde satırların bulunduğu yer) &lt;jvm-options&gt;-Xrs&lt;/jvm-options&gt; ifadesini yerleştiriniz. Bu ne yapar diyorsanız &lt;a href="http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/java.html#Xrs"&gt;buraya &lt;/a&gt;bakabilirsiniz.&lt;br /&gt;&lt;br /&gt;Soru ve yorumlarınız için benimle &lt;a href="http://78.186.14.61/web/guest/gunce"&gt;bu adresten&lt;/a&gt; bağlantıya geçebilirsiniz&lt;br /&gt;&lt;a href="http://www.softera.com.tr"&gt;&lt;br /&gt;http://www.softera.com.tr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-3134254125448187108?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/3134254125448187108/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=3134254125448187108' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3134254125448187108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3134254125448187108'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/08/uygulama-sunucularndaki-en-buyuk.html' title='GlassFish&apos;in Windows Servisi olarak kaydedilmesi'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-3492177300450446683</id><published>2009-07-30T20:08:00.009-02:00</published><updated>2009-08-03T07:46:44.444-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='project.net'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='projectdotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Project.Net : Geliştirme ortamının kurulması ve konuşlandırma</title><content type='html'>Bu günce de, Project.net uygulamasından ve geliştirme uygulamasından bahsedeceğim. Önclikle son derece faydalı bir eser. Ne işe yarıyor derseniz, neye yaramıyor ki?.. Kısaca proje yönetim aracı diyebiliriz. Ama sakın Microsoft Project ile karıştırmayın. Yakınından geçemez, kişisel fikrime göre.&lt;br /&gt;Project.net kullanımı ve işlevlerine ilişkin ilerde yeni günceler yazacağım. Şimdi kısaca geliştirme ortamının nasıl kurulduğunu tarifleyeyim. Yeri gelmişken tek beğenmediğim yanını söyleyeyim. Şu anda uygulama sunucusu olarak sadece Tomcat ve Weblogic'i desteklemekte. Veri tabanı olarak da sadece Oracle. İlerleyen zamanda GlassFish'e taşıma çabalarım olacak.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kaynak kodlarını  herhangi bir SVN isemcisi kullanarak indirebilirsiniz. Ben tümleşik olsun vs. diye Eclipse içerisinden yapacağım. Tabi öncelikle Subclipse eklentisinin Eclipse ortamına kurulmuş olması gerekiyor. Eğer kurulmamış ise &lt;a href="http://abdullaherol.blogspot.com/2009/07/gelistirme-ortam-jsr-286-1-kurulum.html"&gt;bu güncede&lt;/a&gt; kurulum anlatılmıştı. Oradan yararlanabilirsiniz.&lt;br /&gt;&lt;br /&gt;Öncelikle C: sürcüsüne Project.net isminde bir klasör açınız. Eclipse başlatıp workspace olarak bu klasörü seçiyoruz. Perspektif SNV Repositories de iken, sağ tıklayıp New Repository Location diyerek &lt;a href="http://community.project.net/svn/pnet-root/trunk"&gt;http://community.project.net/svn/pnet-root/trunk&lt;/a&gt; adresini giriyoruz. Trunk, kaynak kodların son halini göstermektedir. Dolayısıyla hatalı kodlar içerebilir. Daha istikrarlı ve kod anlamında sağlam sürümlerini de indirebilirsiniz.  Fakat, değişiklikleri periyodik takip etmek isterseniz bu sürümünü kullanmanızı tavsiye ederim.&lt;br /&gt;&lt;br /&gt;Şimdi yapmamız gereken kaynak kodları yerel diskimiz üzerine almak. Kök klasör üzerinde iken sağ tıklayıp checkout diyoruz. Eclipse ayarlarını olduğu gibi bırakınız. Ayrıca yeni bir proje açmayınız. Kaynak kodlar yerel diskimize indiktek sonra yapacağımız işlemleri aşağıda veriyorum.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Uygulama sunucusunun kurulumu&lt;/li&gt;&lt;li&gt;Build.properties dosyasının özelleştirilmesi.&lt;/li&gt;&lt;li&gt;Veritabanı bağlantısının yapılandırılması.&lt;/li&gt;&lt;li&gt;Konuşlandırma ve uygulamanın çalıştırılması.&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Uygulama sunucusunun kurulumu :&lt;/span&gt; Ben reklam olmasın diye, ticari olan Uygulama sunucusu yerine Tomcat kullanacağım. Dosyalar derli toplu olsunlar diye C: sürücündeki Project.net klasörünün içerisine Tomcat'i açıyoruz. Bu kadar :) Tabi, kurduğunuz sürüm önemli, sürüme göre build.xml dosyasında bir takım değişiklikler yapmamız gerekiyor. Ben Tomcat 5.5-27 sürümünü kullandım. Tabi Eclipse içerisinde Tomcat'i tabıtmamız gerekiyor. Bu bir zorunluluk olmamakla birlikte, geliştirme ortamınızdan start/stop/restart gibi işlemleri rahat yapabilmemizi sağlıyor. Ayrıca, derleme  aşamasında Java 1.6 da birtakım uyumsuzluk problemleri yaşadım. JDK 1.5 kullandığımda bu sorunlar oluşmadı. Bu yüzden 1.5 kullanmanızı tavsiye ederim. Tabi sizin kurulum yaptığınız sırada bu problem aşılmış olabilir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Build.properties dosyasının özelleştirilmesi: &lt;/span&gt;Efendim, bu da oldukça kolay. Zaten, kaynak kodlar indikten sonra, örnek bir dosya sizin için hazırlanmış durumda. &lt;span style="font-style: italic; font-weight: bold;"&gt;"core"&lt;/span&gt; klasörü içerisindeki &lt;span style="font-style: italic; font-weight: bold;"&gt;build.properties.example &lt;/span&gt;dosyasının bir kopyasını oluşturup&lt;span style="font-style: italic;"&gt; &lt;span style="font-weight: bold;"&gt;build.properties&lt;/span&gt; &lt;/span&gt;ismiyle kaydediyoruz. Dosyayı açıp içerisinde;&lt;br /&gt;&lt;blockquote&gt;catalina.home=C:/project.net/apache-tomcat-5.5.27&lt;br /&gt;src.dir=C:/project.net/projectTrunk/core&lt;br /&gt;&lt;/blockquote&gt;değişikliklerini yapıyoruz. Farklı konumlara kurulum yapmış iseniz, kendinize özgü uygun değerleri giriniz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Veritabanı bağlantısının yapılandırılması :&lt;/span&gt; Kendi makinamda Oracle'nin XE sürümünü kullanıyorum. Makina kaynaklarını yormaması ve lisans problemi olmaması nedeniyle size de bu sürümü tavsiye ederim. Ürün ortamında lisanslı bir sunucu sürümünü tavsiye ederim. XE'nin kurulumu oldukça basit. Sihirbazı tüm işi hallediyor. Tek problemi size sormadan klasik 1521 portuna değilde, 8080 portuna kuruluyor. Bu portta çalışan bir uygulama varsa, o zaman size sormayı akıl ediyor. Diğer türlü uygulama sunucularının alışılagelmiş portu olan 8080'e oturuyor. Ve kendisini bir daha kaldırmak mümkün olmuyor.  Eğer 8080 portuna kurduysanız, Tomcat portlarını değiştirmeyi unutmayınız. Bunu yapmanın bit yöntemi, Tomcat'in kurulduğu dizin içerisinde yer alan conf dizini içerisineki server.xml dosyasını açıp 8080 ifadesini örneğin 9090'a çekiniz.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fWOXecBPDrs/SnItnsmZkII/AAAAAAAAA4o/NW0Ff3XeB98/s1600-h/contex-xml.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 506px; height: 66px;" src="http://4.bp.blogspot.com/_fWOXecBPDrs/SnItnsmZkII/AAAAAAAAA4o/NW0Ff3XeB98/s320/contex-xml.jpg" alt="" id="BLOGGER_PHOTO_ID_5364400266162049154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Project.net bağlanabildiği Oracle veritabanına eriştikten sonra gerekli tablo ve  saklı yordamları otomatik oluşturur. Bu nedenle sadece bağlantı ve kullanıcı bilgilerini verek yeterli olacaktır. Ayrıca, bağlantı havuzu da kullanır. Bu amaçla, Tomcat kurulumu altındaki conf klasöründe yer alan context.xml dosyasını açıp içerisine aşağıdaki tanımlamaları yapınız:&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;context reloadable="true"&gt;&lt;context reloadable="true"&gt;&lt;watchedresource&gt;&lt;br /&gt;&lt;/watchedresource&gt;&lt;/context&gt;&lt;/context&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(51, 51, 255);font-size:78%;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Tabi, Oracle veritabanında ismi ve şifresi pnet_user olan bir kullanıcı oluşturmayı unutmuyoruz. Kullanıcının connect, ve resource hakları olmalıdır.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Konuşlandırma ve uygulamanın çalıştırılması: &lt;/span&gt;Build.xml dosyasını sürükleyip ant görünümüne bırakıyoruz. Build.xml dosyasında bir takım hatalar görebilirsiniz. Kullandığınız Tomcat sürümüne göre hata veren satırları silmemiz gerecektir. Bu problemleri de kullanılan Tomcat sürümüne göre düzelttikten  sonra, konuşlandırma yapabiliriz. Bu amaçla deploy target'ini kullanıyoruz. Bu aşamadan sonra Tomcat'i çalıştırıp http://localhost:9090/pnet adresini tarayıcımıza giriyoruz. Kullanıcı adı : appadmin Şifre: ******** :)&lt;br /&gt;&lt;br /&gt;Ve, evet. Project.Net sıcak sıcak kullanıma hazır. Afiyet olsun!&lt;br /&gt;&lt;br /&gt;.rıdısınya nınıda ıcınalluk erfiŞ :toN&lt;br /&gt;&lt;br /&gt;Soru ve yorumlarınız için benimle &lt;a href="http://78.186.14.61/web/guest/gunce"&gt;bu adresten&lt;/a&gt; bağlantıya geçebilirsiniz&lt;br /&gt;&lt;a href="http://www.softera.com.tr/"&gt;&lt;br /&gt;http://www.softera.com.tr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-3492177300450446683?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/3492177300450446683/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=3492177300450446683' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3492177300450446683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/3492177300450446683'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/projectnet-gelistirme-ortamnn-kurulmas.html' title='Project.Net : Geliştirme ortamının kurulması ve konuşlandırma'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fWOXecBPDrs/SnItnsmZkII/AAAAAAAAA4o/NW0Ff3XeB98/s72-c/contex-xml.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-2568162295435775197</id><published>2009-07-28T21:14:00.006-02:00</published><updated>2009-08-03T07:24:03.959-02:00</updated><title type='text'>Liferay Portal : Service Builder kullanarak Ext Ortamında Portlet geliştirme</title><content type='html'>Konumuz ServiceBuilder kullanarak  portlet geliştirmek. Bir önceki güncede, bismillah deyip JSR-286 portleri geliştirelim dedik ama, kurulumu anlatmak o kadar uzun sürdü ki, faklı bir başlıkta devam etmeyi uygun gördüm.&lt;br /&gt;&lt;br /&gt;Bu günce, bir önceki güncenin devamı niteliğinde. Dolayısıyla uygulamalı takip etmek isterseniz &lt;a href="http://abdullaherol.blogspot.com/2009/07/gelistirme-ortam-jsr-286-1-kurulum.html"&gt;önceki&lt;/a&gt; güncedeki adımları takip etmelisiniz.&lt;br /&gt;&lt;br /&gt;ServiceBuilder, genel manada, Liferay ortamına tümleşik bir geliştirme aracıdır. Bu aracı kullanarak Java Servisleri geliştirebilir, geliştirilen bu kodlara yerel ya da web servisleri aracılığıyla erişebilinir. ServiceBuilder, çok fazla kod yazmadan portlet geliştirmemizi ve Liferay Portal ile tümleştirmemizi sağlar. Bir XML  yönetim dosyası kullanarak aşağıdaki varlıkları otomatik üretebiliriz.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Java Beans&lt;/li&gt;&lt;li&gt;SQL scripts (Otomatik tablo oluşturma)&lt;/li&gt;&lt;li&gt;Hibernate Konfigurasyonu&lt;/li&gt;&lt;li&gt;Spring Konfigurasyonu&lt;/li&gt;&lt;li&gt;Web Servisleri&lt;/li&gt;&lt;li&gt;JSON JavaScript Arabirimleri.&lt;/li&gt;&lt;/ul&gt;Anlaşılacağı üzere, öncelikle  XML yönetim dosyasını oluşturuyoruz. Örneklemenin kolay olması amacıyla, Ext-ortamında bulunan örnek bir portlet üzerinde işlemleri gerçekleştireceğim.&lt;br /&gt;Ext-ortamında geliştirilen portletlerin yerleşim yapısı aşağıdaki gibidir :&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;ext-service/: &lt;/span&gt; Harici servisleri belirtir. Örneğin model ve veritabanı servisleri gibi. Bu servislere yerel makinadan ya da web servisleri üzerinden erişilebilir.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;ext-impl/:&lt;/span&gt; Ext-service 'deki ilgili servislerin gerçekleştirim sınıflarını belirtir.Portlet tanımları,  konfigurasyon dosyaları da burda yer alır. (portal-ext.properties ve system-ext.properties gibi)&lt;br /&gt;Spring nesneleri, model nesneleri, Hibernate yönetim dosyaları  META-INF/ klasörü içerisindendir. Örneğin ext-hbm.xml, ext-model-hints.xml, and ext-spring.xml. Portletin kullandığı kendine özgü lisan girdileri de, content klasöründe yer alan Language-ext.properties dosyasındadır.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;ext-web/docroot/html/:&lt;/span&gt; Portletin kullanıcı arayüzüne ilişkin bilgiler bu klasörde yeralır.&lt;br /&gt;there are three files for Reports in the portlet/ext/reports/ folder:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;ext-web/docroot/WEB-INF/:&lt;/span&gt; Portletin konuşlandırma dosyaları buradadır.&lt;br /&gt;&lt;span style="color: rgb(102, 51, 255);"&gt;liferay-display.xml&lt;/span&gt;—Portlet kategorisini belirler.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;liferay-portlet-ext.xml&lt;/span&gt;—Özelleşmiş portlet kaydı için kullanılır.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;portlet-ext.xml&lt;/span&gt;—Özelleşmiş portlet belirtimleri bu dosyada yeralır.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;remote-servlet-ext.xml&lt;/span&gt;—Özel servis sınıflarının belirtimi amaçlı kullanılır.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;server-config.wsdd&lt;/span&gt;—Web servislerini belirtmek amaçlı kullanılır.&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;struts-config.xm&lt;/span&gt;—Strus çatısına ilişkin yönetim dosyası&lt;br /&gt;&lt;span style="color: rgb(102, 102, 204);"&gt;tiles-defs.xml&lt;/span&gt;—Şablon sayfa yapılarının belirtim dosyası&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;ext-web/tmp/:&lt;/span&gt; Geliştirilen Portletin, konuşlandırma aşamasından önce geçici olarak tutulduğu klasördür. Bu klasör içerisinde yeralan tüm dosylar otomatik oluşturulacaktır. Burada hiç bir değişiklik yapmayınız. Yaparsanız da, bir sonraki üretimde silinirse üzülmeyiniz.&lt;br /&gt;&lt;br /&gt;Ext ortamında çok fazla kod geliştirmeniz gerekmez. ServiceBuilder kullanarak kodları otomatik oluşturabilirsiniz.&lt;br /&gt;&lt;br /&gt;Portal kaynak kodlarını yerel diskinize indirmiş iseniz, /ext/ext-impl/src com/ext/portlet/reports klasöründe service.xml dosyasını göreceksiniz.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Soru ve yorumlarınız için benimle &lt;a href="http://78.186.14.61/web/guest/gunce"&gt;bu adresten&lt;/a&gt; bağlantıya geçebilirsiniz&lt;br /&gt;&lt;a href="http://www.softera.com.tr/"&gt;&lt;br /&gt;http://www.softera.com.tr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-2568162295435775197?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/2568162295435775197/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=2568162295435775197' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2568162295435775197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2568162295435775197'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/liferay-portal-service-builder.html' title='Liferay Portal : Service Builder kullanarak Ext Ortamında Portlet geliştirme'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-4316799370675452417</id><published>2009-07-28T08:48:00.024-02:00</published><updated>2009-08-03T07:24:41.321-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='portal'/><category scheme='http://www.blogger.com/atom/ns#' term='ext-environment'/><category scheme='http://www.blogger.com/atom/ns#' term='tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='JSR-286'/><title type='text'>Liferay Portal : Geliştirme Ortamı Kurulumu (Ext Environment)</title><content type='html'>Liferay kullanarak azıcık &lt;span style="color: rgb(255, 153, 102);"&gt;JSR-286 &lt;/span&gt;portlet geliştirelim.  Şimdi efendim 168 den 286 geçerken neler oldu neler bitti yaz yaz bitecek gibi değil. Konusu gelince eskiden böyleydi şöyleydi diye yazarım. Şimdilik iyi şeyler oldu biliniz yeter. Hatta 168 hiç kullanmayın, tu kaka. Yeni başlıyosanız üst modelden başlayın derim.&lt;br /&gt;&lt;br /&gt;Liferay içinde ServiceBuilder diye bir nane var. Güzel, sevimli bişey. Java Servisleri geliştirmenizi sağlıyor. Ayrıca, bu servislere yerel olarak ve/veya web sersisleri ü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. Yazı biraz uzun olacak gibi görünüyor. Bi çay/kahve alıp, reset düğmenize basıp gelin. Hadi bekliyorum :).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;JDK :&lt;/span&gt;&lt;span style="color: rgb(255, 204, 51);"&gt; &lt;/span&gt;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...&lt;br /&gt;Değilse makinana 1.5 ya da 1.6 kur.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;ANT:&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;VeriTabanı :&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;drop database if exists lportal;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;create database lportal character set utf8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;grant all on lportal.* to 'lportal'@'localhost' identified by 'lportal' with grant option;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;grant all on lportal.* to 'lportal'@'localhost.localdomain' identified by 'lportal' with grant option;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Uygulama Sunucusu :&lt;/span&gt; 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!.&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;IDE -Tümleşik Geliştirme Ortamı :&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;Eclipse ile çalışmak için bir çalışma alanına ihtiyacımız var. Liferay-portal klasörü içerisine workspace diye bir klasör açıyoruz. Eclipse'i açıp bu klasörü çalışma alanı olarak seçiyoruz.&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 0, 153);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;-Subclipse :&lt;/span&gt; &lt;/span&gt;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-&gt;Software updates-&gt;Avaliable Software-&gt;Add Site yazdıktan sonra &lt;span style="font-style: italic;"&gt;http://subclipse.tigris.org/update-1.6x&lt;/span&gt; adresini giriyoruz. Daha yeni sürümü varsa onu da tercih edebilirsiniz. Install düğmesine tıkladıktan sonra eklenti kurulumunu beklememiz gerekiyor. Bende bir çay alayım bu arada.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt;-Sydeo :&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;/span&gt;Yükleme tamamlandıktan sonra, Eclipse yeniden başlayımmı derse, kırmayın onu. Window-&gt;Open Perspective-&gt;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-&gt;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. Ne kadar mı bekleyeceksiniz? İnsanlar satır satır yazmış bunu. Biraz beklemek zor gelmesin :), bağlantı hızınıza göre bu işlem bir saat kadar sürebilir.&lt;br /&gt;&lt;br /&gt;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. Fransızca mı?... Bu beni de aşıyor işte :).&lt;br /&gt;Kurulumdan sonra Tomcat başlatmak durdumak vb. işleri halletmek için araç çubuğuna ikonlar yerleşmiş olmalı.&lt;br /&gt;&lt;br /&gt;Ek olarak, Eclipse-Liferay eklentisini de &lt;a href="http://sourceforge.net/projects/lportal/files/Liferay%20IDE/0.3/liferay-ide-eclipse-0.3.jar/download"&gt;http://sourceforge.net/projects/lportal/files/Liferay%20IDE/0.3/liferay-ide-eclipse-0.3.jar/download&lt;/a&gt; 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;İndirme işlemi tamamlandıktan sonra Window-&gt;Open Perspective-&gt;J2EE seçiniz. Eğer Ant görünümü karşınıza gelmez ise, Window-&gt;Show View-&gt;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.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fWOXecBPDrs/Sm9Ti0bm7MI/AAAAAAAAA4Y/QDCwSiZT8zg/s1600-h/liferay-ant-view.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 295px; height: 320px;" src="http://3.bp.blogspot.com/_fWOXecBPDrs/Sm9Ti0bm7MI/AAAAAAAAA4Y/QDCwSiZT8zg/s320/liferay-ant-view.jpg" alt="" id="BLOGGER_PHOTO_ID_5363597538876648642" border="0" /&gt;&lt;/a&gt;Bu görüntüde sağ tarafta ant görevleri yeralmaktadır. Bu görevlerden örneğin &lt;span style="font-style: italic;"&gt;clean&lt;/span&gt;'ı seçerseniz&lt;span style="font-style: italic;"&gt;  /portal-impl, /portal-kernel, /portal-service&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Tomcat'in Ext geliştirme ortamı için güncellenmesi :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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 :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Eclipse ortamında yeni bir java projesi oluşturuyoruz. Yeni olşturduğumuz projenin ismi &lt;span style="font-weight: bold;"&gt;'Server'&lt;/span&gt; olsun. Tabi başka bir isimde verebilirsiniz.  &lt;/li&gt;&lt;li&gt;Server Projesi üzerine sağ tıklayım &lt;span style="font-weight: bold;"&gt;New|Folder&lt;/span&gt;'i seçiyoruz.&lt;/li&gt;&lt;li&gt;Klasör ismi olarak &lt;span style="font-weight: bold;"&gt;CATALINA_HOME&lt;/span&gt; giriyoruz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;&lt;advanced&gt;&lt;/advanced&gt;&lt;/span&gt; Düğmesine tıklıyoruz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Link to folder in the file sistem&lt;/span&gt;'i onayladıktan sonra &lt;span style="font-weight: bold;"&gt;browse&lt;/span&gt; seçeneği ile Tomcat'in kurulduğu dizini seçiyoruz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;conf/catalina.properties &lt;/span&gt;dosyasını açıyoruz.&lt;/li&gt;&lt;li&gt;common.loader satırını buluyoruz.&lt;/li&gt;&lt;li&gt;Bu satıra, &lt;span style="font-weight: bold;"&gt;${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/ext/*.jar&lt;/span&gt; ifadelerini ekleyip dosyayı kaydediyoruz.&lt;/li&gt;&lt;/ol&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Properties Dosyalarının Uyarlanması :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Öncelikle, Liferay Portale, Ext dosyalarını nereye oluşturacağını belirtmemiz gerekli. &lt;span style="font-weight: bold;"&gt;lp.ext.dir&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;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&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;lp.ext.dir=C:/Liferay-Portal/Workspace/portal/ext&lt;br /&gt;lp.eclipse.project.name=Ext&lt;br /&gt;&lt;/blockquote&gt;satırlarını ekledim.&lt;br /&gt;&lt;br /&gt;Benzer biçimde build.Abdullah.properties dosyasını açıp&lt;br /&gt;&lt;blockquote&gt;ant.build.javac.source=1.6&lt;br /&gt;ant.build.javac.target=1.6&lt;br /&gt;&lt;/blockquote&gt;satırlarını ekledim. Ben JDK -1.6 kullanıyorum. Siz kendi kullandığınız sürümü yazınız.&lt;br /&gt;&lt;br /&gt;Son olarak da, app.server.Abdullah.properties dosyasını açıp&lt;br /&gt;&lt;br /&gt;app.server.type=tomcat&lt;br /&gt;app.server.tomcat.version=6.0&lt;br /&gt;app.server.tomcat.dir=C:/Liferay-Portal/apache-tomcat-6.0.20&lt;br /&gt;&lt;br /&gt;satırlarını ekledim.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;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. &lt;/span&gt;&lt;br /&gt;Artık, Ext ortamını luşturabiliriz. Ant görünümüne geçiyoruz. (Window|Show View|Ant)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Start&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;build-ext&lt;/span&gt; hedeflerine sırasıyla çift tıklıyoruz.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fWOXecBPDrs/Sm9x3PWg24I/AAAAAAAAA4g/bKLPDkjfQS0/s1600-h/ext-env.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 387px; height: 284px;" src="http://2.bp.blogspot.com/_fWOXecBPDrs/Sm9x3PWg24I/AAAAAAAAA4g/bKLPDkjfQS0/s320/ext-env.jpg" alt="" id="BLOGGER_PHOTO_ID_5363630875049253762" border="0" /&gt;&lt;/a&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Artık, konuşlandırma zamanı geldi. Bunu yapmadan önce minik tefek işlerimiz var ;&lt;br /&gt;/ext/ext-impl/src klasörü içerisindeki portal-ext.properties dosyasını açıp içerisine&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;  &lt;/span&gt;&lt;span style="font-size:85%;"&gt;jdbc.default.driverClassName=com.mysql.jdbc.Driver&lt;br /&gt;jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&amp;amp;characterEncoding=UTF-8&amp;amp;useFastDateParsing=false&lt;br /&gt;jdbc.default.username=lportal&lt;br /&gt;jdbc.default.password=lportal&lt;br /&gt;&lt;br /&gt;jdbc.default.acquireIncrement=1&lt;br /&gt;jdbc.default.maxPoolSize=4&lt;br /&gt;jdbc.default.minPoolSize=2&lt;br /&gt;jdbc.default.numHelperThreads=4&lt;br /&gt;hibernate.show_sql=false&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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 &lt;span style="font-style: italic;"&gt;clean &lt;/span&gt;ve &lt;span style="font-style: italic;"&gt;deploy&lt;/span&gt; hedeflerini kullanınız.&lt;br /&gt;&lt;br /&gt;Şimdi Tomcat'i başlatıp, tarayıcınız üzerinden http://localhost:8080 yazarak portal'in tadına bakabiliriz.&lt;br /&gt;&lt;br /&gt;Afiyet olsun!&lt;br /&gt;&lt;br /&gt;Soru ve yorumlarınız için benimle &lt;a href="http://78.186.14.61/web/guest/gunce"&gt;bu adresten&lt;/a&gt; bağlantıya geçebilirsiniz&lt;br /&gt;&lt;a href="http://www.softera.com.tr/"&gt;&lt;br /&gt;http://www.softera.com.tr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-4316799370675452417?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/4316799370675452417/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=4316799370675452417' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/4316799370675452417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/4316799370675452417'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/gelistirme-ortam-jsr-286-1-kurulum.html' title='Liferay Portal : Geliştirme Ortamı Kurulumu (Ext Environment)'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fWOXecBPDrs/Sm9Ti0bm7MI/AAAAAAAAA4Y/QDCwSiZT8zg/s72-c/liferay-ant-view.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-5833603951627262234</id><published>2009-07-28T06:31:00.002-02:00</published><updated>2009-07-28T07:03:06.967-02:00</updated><title type='text'>Liferay Portalin Özelleştirilmesi</title><content type='html'>Liferay bize 3 farklı geliştirme ve genişletme yeteneği sunmaktadır.&lt;br /&gt;Bunlar;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Eklenti Geliştirme Ortamı (Plugins SDK Environment)&lt;/li&gt;&lt;li&gt;Genişletme Ortamı(Extension Environment)&lt;/li&gt;&lt;li&gt;Portal Kaynak Kodu (Portal Source Code)&lt;/li&gt;&lt;/ul&gt;Her bir yöntemin kendine göre avantaj ve dezavantajları mevcut.&lt;br /&gt;&lt;br /&gt;-Eklenti Geliştirme Ortamı : Liferay eklentileri, temalar, sayfa görünüm şablonları, kanca pluginleri ve gömülü web uygulamaları geliştirmek amacıyla kullanılır. Bu ortam geliştiricilere gerekli altyapıyı sağlar. Geliştirdiğiniz uygulamayı ant görevlerini kullanarak ilgili uygulama sunucusuna konuşlandırabilirsiniz. Bu yöntemde genellikle Portal API (Portal-Kernel ve Portal-Service) kullanılarak uygulamalar geliştirilir. Geliştirdiğiniz uygulama Struts, Spring, Tapestry, JSF, Wicket, ZK gibi çatıları kullanabilir. Bu aşamada MVC tasarım kalıbını kullanan bir çatı kullanmanızı tavsiye ederim. Ayrıca, Liferay web uygulamalarına entegrasyon amacıyla da bu ortamı kullanır. Orneğin jbpm-web bu şekilde geliştirilmiş ve iş akış aracıyla entegrasyonu sağlayan bir uygulamadır.&lt;br /&gt;&lt;br /&gt;- Genişletme Ortamı : Bu ortam, Liferay'in tamamiyle özelleştirilmesi amacıyla kullanılır. Farklı seviyelerde özelleştirmeler yapılabilir. Örneğin yönetim dosyaları ve özel jsp ve özel kaynak kod dosyaları gibi. Yönetim dosyalarından portal-ext properties dosyası portalin davranışlarını değiştirmek amacıyla kullanılırken, system-ext.ext properties dosyası java ortamının özelleştirilmesini sağlar. Özel java kodları da spring'in sağladığı dependency-incection mekanizması ile portal koduna enjekte edilir. (ext-spring.properties)&lt;br /&gt;&lt;br /&gt;-Portal Kaynak Kodu : Tahmin ettiğiniz üzere, portal kaynak kodlarını, doğrudan kaynak kod üzerinde değiştirebilirsiniz. Örneğin özel bir Liferay Portal platformu oluşturmak isteyecek kadar zamanınız ve sponsorunuz vardır. Ben çok denemenizi tavsiye etmem. Mesuliyet kabul edilmez. Portal 8.sürümünü yaparken siz 5. sürümde sürünebilirsiniz.&lt;br /&gt;&lt;br /&gt;Şimdilik kısa bir özet vermeye çalıştım. Sonraki güncelerimde, bu ortamların herbirini detaylı açıklamaya çalışacağım.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:30;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:arial;font-size:78%;"  &gt;&lt;span style=";font-size:30;color:black;"  &gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-5833603951627262234?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/5833603951627262234/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=5833603951627262234' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/5833603951627262234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/5833603951627262234'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/liferay-portalin-ozellestirilmesi.html' title='Liferay Portalin Özelleştirilmesi'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-5604795748075623680</id><published>2009-07-05T12:28:00.003-02:00</published><updated>2009-07-05T12:36:28.491-02:00</updated><title type='text'>Liferay Hibernate şeysi</title><content type='html'>Bu günlerde Liferay in haberi olmadan sayfa ekleme, portlet ekleme gibi işleri başka bir arayüzden nasıl yapabilirim diye uğraşıyorum. İki farklı liferay ve database kurarak ve database üzerindeki farkları alarak bir sonuç almaya çalıştım. Fakat pek içime sinmedi. Sonra bu alet hibernate kullanıyo nasıl olsa diyerek biraz konfigurasyon dosyalarını kurcaladım. Evet ordaydmış. Efendim sonuç itibari ile &lt;span style="color: rgb(255, 153, 102);"&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;hibernate.show_sql=true&lt;/span&gt; &lt;/span&gt;ifadesini portal-ext.properties dosyasına ekleyip tekrar deploy edince olay bitiyo. Ha bu arada ben kaynak kodlar üzerinde çalışıyorum. Ben o kadar uğraşamam daha kolay bir yöntem varmı derseniz tabiki var. Liferay'ı kurduğunuz sunucu üzerinde portal-impl.jar dosyasını açın. İçindeki false değerini true ya çevirin ve jarı bozmadan kapağını kapatın. Winrar kullanabilirsiniz bunun için ya da komut satırından jdk içinde bulunan jar komutunu kullanbilirsiniz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-5604795748075623680?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/5604795748075623680/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=5604795748075623680' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/5604795748075623680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/5604795748075623680'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/liferay-hibernate-seysi.html' title='Liferay Hibernate şeysi'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-6014984545371342060</id><published>2009-07-05T10:26:00.007-02:00</published><updated>2009-08-03T07:24:58.984-02:00</updated><title type='text'>Tomcat ? GlassFish</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fWOXecBPDrs/SlCc4i2x9PI/AAAAAAAAA4I/cHWgMvYXNuo/s1600-h/tomcatvsglassfish.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 320px;" src="http://2.bp.blogspot.com/_fWOXecBPDrs/SlCc4i2x9PI/AAAAAAAAA4I/cHWgMvYXNuo/s320/tomcatvsglassfish.jpg" alt="" id="BLOGGER_PHOTO_ID_5354952452186698994" border="0" /&gt;&lt;/a&gt;TomCat ile GlassFish'in   karşılaştırması. Meraklısına. Bu günlerde kedimle ilgilenmeyip bu balıkla çok uğraşıyorum. Aranızda benim gibi olanlar varsa, vicdan yapmasınlar. Tabloya baksınlar.&lt;br /&gt;&lt;br /&gt;Daha fazla bilgi almak, topluluğa katılmak vs. işleri için &lt;a href="https://glassfish.dev.java.net/public/devindex.html"&gt;https://glassfish.dev.java.net/public/devindex.html&lt;/a&gt; bağlantısını izleyin.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Soru ve yorumlarınız için benimle &lt;a href="http://78.186.14.61/web/guest/gunce"&gt;bu adresten&lt;/a&gt; bağlantıya geçebilirsiniz&lt;br /&gt;&lt;a href="http://www.softera.com.tr/"&gt;&lt;br /&gt;http://www.softera.com.tr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-6014984545371342060?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/6014984545371342060/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=6014984545371342060' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/6014984545371342060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/6014984545371342060'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/tomkedi-ile-glassbalgnn-bir.html' title='Tomcat ? GlassFish'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fWOXecBPDrs/SlCc4i2x9PI/AAAAAAAAA4I/cHWgMvYXNuo/s72-c/tomcatvsglassfish.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6116287514090186313.post-2273187839795031249</id><published>2009-07-04T09:07:00.008-02:00</published><updated>2009-07-04T10:03:05.209-02:00</updated><title type='text'>Siftah</title><content type='html'>Öncelikle, derun-i dilden ve can-ı gönülden selam eder, büyüklerin ellerinden, küçüklerin gözlerinden öperim.&lt;br /&gt;&lt;br /&gt;Aslında bu günceye yıllar önce kaydolmuştum. Fakat, yazmaya bir türlü fırsat bulamadım. Koca bir yalan haliyle bu, herkesin kendine söyleyip inanmadığı. Tabi fırsat öyle rasgele yerlerde "bekleyip" bulmanızı beklemez. Kazara bulanda zaten buldum demez, yarattım der :).&lt;br /&gt;&lt;br /&gt;Güncede ordan burdan konuların yanısıra Liferay Portal, GlassFish App. Server, Alfresco İçerik Yönetimi, Pentaho BI gibi araçlar hakkında bilgi vermeye ve aynı zamanda paylaşım ortamı oluşturmaya çalışacağım. Yanısıra, Java teknolojileri ile ilgili konulardan kulaktan dolma bilgileri paylaşıp çok bilen danışman rolümü pekiştirmeyi düşünmekteyim :) 2 yıldır kodlama işini zorunlu olrak bırakmak zorunda kaldım. Artık minik tefek portlerler yazmak harici, bir nanemiz yok. Orda burda nasıl yapıldığını anlatıyorum sadece.&lt;br /&gt;&lt;br /&gt;Neyse lafı uzatmayalım.&lt;br /&gt;&lt;br /&gt;Kendime;  Türk gibi başlayıp, Alman gibi bitirebilme dileklerimle.&lt;br /&gt;Şimdilik müsade çok çene yaptım. Bir sonraki günce için çalışmalıyım:) Fazla uzaklaşmış olamam, sonuçlarını gecikmeden yazarım.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6116287514090186313-2273187839795031249?l=abdullaherol.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://abdullaherol.blogspot.com/feeds/2273187839795031249/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6116287514090186313&amp;postID=2273187839795031249' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2273187839795031249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6116287514090186313/posts/default/2273187839795031249'/><link rel='alternate' type='text/html' href='http://abdullaherol.blogspot.com/2009/07/merhaba.html' title='Siftah'/><author><name>Abdullah EROL</name><uri>http://www.blogger.com/profile/16636835835710322695</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
