<?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-2630561754027538011</id><updated>2011-11-27T16:34:37.997-08:00</updated><category term='tutorial_subversion_TortoiseSVN'/><category term='page structure in liferay'/><category term='announcement notification'/><category term='mysql password'/><category term='portlet-in-portlet in Liferay 5.2.3'/><category term='nautilus SVN'/><category term='customise language in liferay'/><category term='language properties file locale.'/><category term='css sprite in liferay'/><category term='liferay 5.2.3'/><category term='last_update_portlet'/><category term='mysqldump'/><category term='subversion for Ubuntu'/><category term='liferay document upload limit'/><category term='accordion in liferay'/><category term='Ubuntu'/><category term='Liferay'/><category term='Liferay 5.2.3 in windows'/><category term='edit css in liferay'/><category term='break page in liferay content'/><category term='change company_name value in liferay 5.2'/><category term='css for liferay'/><title type='text'>Notes</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hanafiisa.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-6401219384604901955</id><published>2011-03-07T02:18:00.000-08:00</published><updated>2011-03-10T01:40:07.099-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysqldump'/><title type='text'>How to dump database perfectly?</title><content type='html'>Sometimes you're requested to repair some portal function. To do that, maybe you need to test is at localhost.&lt;br /&gt;Then you're provided database. This database must be dumped into database in localhost.&lt;br /&gt;&lt;br /&gt;The common things that happened are database cannot be dumped perfectly. Maybe you found error on generate Foreign Key, or table name not existed etc.&lt;br /&gt;&lt;br /&gt;I will explain base on these criteria.&lt;br /&gt;A. Application Server: XAMPP&lt;br /&gt;B. OS: Windows (XP or 7)&lt;br /&gt;C. My DB Name: myportal&lt;br /&gt;&lt;br /&gt;I installed application server in the shortest path; i.e C:\xampp&lt;br /&gt;&lt;br /&gt;1. Open my.ini file in C:\xampp\mysql\bin&lt;br /&gt;2. Then under [mysqldump] add this line&lt;br /&gt;lower_case_table_names=1&lt;br /&gt;3. Change max_allowed_packet to greater value&lt;br /&gt;max_allowed_packet = 80M&lt;br /&gt;Note: Make sure both values for max_allowed_packet under [mysqldump] and [mysqld] are same.&lt;br /&gt;4. Restart mysql service in xampp Control Panel. [Click 'Stop' and then 'Start']&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-W6xgB8m5iWc/TXSxnt-574I/AAAAAAAAA3o/_Pz7FeStA8U/s1600/xampp_CP.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 340px;" src="http://2.bp.blogspot.com/-W6xgB8m5iWc/TXSxnt-574I/AAAAAAAAA3o/_Pz7FeStA8U/s400/xampp_CP.png" alt="" id="BLOGGER_PHOTO_ID_5581281134135340930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;center&gt;[&lt;span style="font-weight: bold;"&gt;Figure1: xampp Control Panel&lt;/span&gt;]&lt;/center&gt;&lt;br /&gt;5. Open cmd windows. Point to bin.&lt;br /&gt;cd \xampp\mysql\bin&lt;br /&gt;6. Type command line to dump database&lt;br /&gt;mysql -u root myportal &lt; "C:\project\myportal\myportalbackup03072011.sql"&lt;br /&gt;7. Press Enter&lt;br /&gt;8. Restart tomcat server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-6401219384604901955?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6401219384604901955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6401219384604901955'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2011/03/how-to-dump-database-perfectly.html' title='How to dump database perfectly?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-W6xgB8m5iWc/TXSxnt-574I/AAAAAAAAA3o/_Pz7FeStA8U/s72-c/xampp_CP.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-2045076045994420076</id><published>2011-02-17T21:16:00.001-08:00</published><updated>2011-04-07T10:06:49.724-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portlet-in-portlet in Liferay 5.2.3'/><title type='text'>How to embed portlet in portlet</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-_-s2-ceOyEA/TV3_fja3YKI/AAAAAAAAA2g/1H164hqCKus/s1600/portlet-in-portlet%2523.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 190px;" src="http://1.bp.blogspot.com/-_-s2-ceOyEA/TV3_fja3YKI/AAAAAAAAA2g/1H164hqCKus/s400/portlet-in-portlet%2523.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5574892831303491746" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;&lt;br /&gt;I want to create a page with tab panel. There are three tab headers. &lt;br /&gt;Under each tab header, I want content manager update content but he not deal with my tab panel script. &lt;br /&gt;&lt;br /&gt;He only update content in each portlet which is configured. &lt;br /&gt;So I embed journal content portlet in a journal content. &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align:right;"&gt;&lt;i&gt;&lt;br /&gt;&amp;lt;div id=&amp;quot;tabs-perolehan&amp;quot; class=&amp;quot;ui-tabs-nav&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;ul class=&amp;quot;ui-tabs-nav ui-widget-header ui-corner-all&amp;quot;&amp;gt; &lt;br /&gt;         &amp;lt;li class=&amp;quot;ui-corner-top ui-state-default ui-tabs-selected&amp;quot;  id=&amp;quot;tab-title-1&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#tab-panel-1&amp;quot;&amp;gt;&amp;lt;span&amp;gt;TENDER&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li class=&amp;quot;ui-corner-top ui-state-default&amp;quot; id=&amp;quot;tab-title-2&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#tab-panel-2&amp;quot;&amp;gt;&amp;lt;span&amp;gt;SEBUT HARGA&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;  &amp;lt;li class=&amp;quot;ui-corner-top ui-state-default&amp;quot; id=&amp;quot;tab-title-3&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;#tab-panel-3&amp;quot;&amp;gt;&amp;lt;span&amp;gt;E-BIDDING&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt; &amp;lt;/ul&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;tab-panel-1&amp;quot; class=&amp;quot;ui-tabs-panel&amp;quot; style=&amp;quot;display: block;&amp;quot;&amp;gt; &lt;br /&gt;  &amp;lt;div id=&amp;quot;embedded-tender&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;runtime-portlet name=&amp;quot;56&amp;quot; instance=&amp;quot;4411&amp;quot; queryString=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;tab-panel-2&amp;quot; class=&amp;quot;ui-tabs-panel ui-tabs-hide&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;embedded-sebutharga&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;runtime-portlet name=&amp;quot;56&amp;quot; instance=&amp;quot;4422&amp;quot; queryString=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id=&amp;quot;tab-panel-3&amp;quot; class=&amp;quot;ui-tabs-panel ui-tabs-hide&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;embedded-ebidding&amp;quot;&amp;gt;&lt;br /&gt;    &amp;lt;runtime-portlet name=&amp;quot;56&amp;quot; instance=&amp;quot;4433&amp;quot; queryString=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt; &lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Details:&lt;/span&gt;&lt;br /&gt;name="56"; this name belongs to journal content as stated in /WEB-INF/liferay-portlet.xml&lt;br /&gt;instance="xxxx"; We can use any 4 digit number to instance. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-2045076045994420076?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2045076045994420076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2045076045994420076'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2011/02/how-to-embed-portlet-in-portlet.html' title='How to embed portlet in portlet'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_-s2-ceOyEA/TV3_fja3YKI/AAAAAAAAA2g/1H164hqCKus/s72-c/portlet-in-portlet%2523.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-5443565422362211076</id><published>2011-01-20T20:40:00.000-08:00</published><updated>2011-08-11T01:17:42.103-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay document upload limit'/><title type='text'>How to solve error: WARN: [PortletRequestProcessor:507]</title><content type='html'>Liferay version: 5.2.3&lt;br /&gt;-----------------------------&lt;br /&gt;When you try uploading certain file in Document Library, maybe you will find this warning&lt;br /&gt;&lt;br /&gt;WARN: [PortletRequestProcessor:507]&lt;br /&gt;&lt;br /&gt;Then the file cannot be uploaded. &lt;br /&gt;&lt;br /&gt;Why? The size exceed the limit. &lt;br /&gt;&lt;br /&gt;Solution;&lt;br /&gt;1. adjust the size limit size in the Server Administration. &lt;br /&gt;&lt;br /&gt;Go to &lt;span style="font-weight:bold;"&gt;Control Panel&lt;/span&gt; &gt;&lt;span style="font-weight:bold;"&gt; Server Administration&lt;/span&gt; &gt; &lt;span style="font-weight:bold;"&gt;File Uploads &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/TTkOpxdzPeI/AAAAAAAAA0A/26f-seotX78/s1600/file_size.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/TTkOpxdzPeI/AAAAAAAAA0A/26f-seotX78/s400/file_size.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5564494925408714210" /&gt;&lt;/a&gt;&lt;br /&gt;Then adjust the size. In my case, I increased the size to 12 MB.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-5443565422362211076?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5443565422362211076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5443565422362211076'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2011/01/how-to-solve-error-warn.html' title='How to solve error: WARN: [PortletRequestProcessor:507]'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p45O30CuA0A/TTkOpxdzPeI/AAAAAAAAA0A/26f-seotX78/s72-c/file_size.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1593940416183783120</id><published>2010-10-19T00:19:00.001-07:00</published><updated>2011-08-11T01:17:10.426-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='liferay 5.2.3'/><title type='text'>How to set user authenticate in liferay?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/TL1GmRQYNnI/AAAAAAAAAss/P2gjsVCUWNc/s1600/users_authenticate_in_liferay.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 207px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/TL1GmRQYNnI/AAAAAAAAAss/P2gjsVCUWNc/s400/users_authenticate_in_liferay.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5529653540761908850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are three types of user authentication in Liferay.&lt;br /&gt;By Email&lt;br /&gt;By Screen Name&lt;br /&gt;By User ID&lt;br /&gt;&lt;br /&gt;By default, user authentication setting is 'By Email Address'. &lt;br /&gt;&lt;br /&gt;To change this setting, login as portal Admin. &lt;br /&gt;Click &lt;span style="font-weight:bold;"&gt;Control Panel&lt;/span&gt;. And choose &lt;span style="font-weight:bold;"&gt;Setting&lt;/span&gt; &gt;&gt; &lt;span style="font-weight:bold;"&gt;Authentication&lt;/span&gt; &gt;&gt; &lt;span style="font-weight:bold;"&gt;General&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Then choose the answer either 'By Screen Name' or 'By User ID'. &lt;br /&gt;&lt;br /&gt;Next, click 'Save'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1593940416183783120?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1593940416183783120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1593940416183783120'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/10/how-to-set-user-authenticate-in-liferay.html' title='How to set user authenticate in liferay?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/TL1GmRQYNnI/AAAAAAAAAss/P2gjsVCUWNc/s72-c/users_authenticate_in_liferay.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-788121851505690180</id><published>2010-09-06T23:47:00.000-07:00</published><updated>2010-09-06T23:51:58.211-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='break page in liferay content'/><title type='text'>My content too long, how to break page?</title><content type='html'>My content is too long. Then I need to break them into more than a page. &lt;br /&gt;&lt;br /&gt;So just add @page_break@ to do it. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/TIXgnlVsYII/AAAAAAAAArY/V8ZCa8a9O_M/s1600/page_break_in_liferay_content_0.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/TIXgnlVsYII/AAAAAAAAArY/V8ZCa8a9O_M/s400/page_break_in_liferay_content_0.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514060289427660930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The result shown below. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/TIXgn7clQ9I/AAAAAAAAArg/_VpEWb5Umr8/s1600/page_break_in_liferay_content.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 344px; height: 293px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/TIXgn7clQ9I/AAAAAAAAArg/_VpEWb5Umr8/s400/page_break_in_liferay_content.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5514060295362134994" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-788121851505690180?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/788121851505690180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/788121851505690180'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/09/my-content-too-long-how-to-break-page.html' title='My content too long, how to break page?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p45O30CuA0A/TIXgnlVsYII/AAAAAAAAArY/V8ZCa8a9O_M/s72-c/page_break_in_liferay_content_0.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-5908964978299189954</id><published>2010-08-11T00:06:00.000-07:00</published><updated>2010-08-11T00:17:31.085-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><category scheme='http://www.blogger.com/atom/ns#' term='customise language in liferay'/><title type='text'>Set dwilanguage for portlet title</title><content type='html'>In this example, I use Bahasa (Malay language) and English. &lt;br /&gt;&lt;br /&gt;To set value for each language, we can customize the value in&lt;b&gt; Look and Feel&lt;/b&gt; part. &lt;br /&gt;Step 1: Click icon Look and Feel in the portlet header. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/TGJMQA1DgmI/AAAAAAAAApA/Y9Mj3s4KoHc/s1600/portlettitle.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 382px; height: 400px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/TGJMQA1DgmI/AAAAAAAAApA/Y9Mj3s4KoHc/s400/portlettitle.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5504045532584313442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 2: Click tab &lt;b&gt;Portlet Configuration&lt;/b&gt;, check box &lt;b&gt;Use Cutom Title&lt;/b&gt;. Then define portlet title to appropriate language. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/TGJMQa6Q4GI/AAAAAAAAApI/luH1Aw_2TXU/s1600/portlettitle01.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 243px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/TGJMQa6Q4GI/AAAAAAAAApI/luH1Aw_2TXU/s400/portlettitle01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5504045539585482850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 3: Save. &lt;br /&gt;&lt;br /&gt;Then results shown below. &lt;br /&gt;a) Bahasa (Malay language)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/TGJMQz2bBqI/AAAAAAAAApY/acVYNubiKNk/s1600/portlettitle03.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 383px; height: 327px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/TGJMQz2bBqI/AAAAAAAAApY/acVYNubiKNk/s400/portlettitle03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5504045546280257186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;b) English. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/TGJMQtFLSaI/AAAAAAAAApQ/dxWNRCtWwas/s1600/portlettitle02.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 383px; height: 327px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/TGJMQtFLSaI/AAAAAAAAApQ/dxWNRCtWwas/s400/portlettitle02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5504045544463092130" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-5908964978299189954?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5908964978299189954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5908964978299189954'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/08/set-dwilanguage-for-portlet-title.html' title='Set dwilanguage for portlet title'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p45O30CuA0A/TGJMQA1DgmI/AAAAAAAAApA/Y9Mj3s4KoHc/s72-c/portlettitle.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-317850854684632943</id><published>2010-06-10T02:13:00.000-07:00</published><updated>2011-08-11T01:13:32.718-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='last_update_portlet'/><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><title type='text'>How to embed portlet in theme? Part 1</title><content type='html'>Liferay version: 5.2.3&lt;br /&gt;&lt;br /&gt;Embedding portlet in theme means we want to put coding in velocity files. For example, I need to embed last update portlet in a velocity file named as footer.vm. &lt;br /&gt;&lt;br /&gt;There are three steps.&lt;br /&gt;1.Install portlet using Plugin Installer. Go to Control Panel &gt; Plugin Installer &gt; Install more portlet &gt; Upload file. The .WAR file for last update can be downloaded &lt;a href="http://docs.google.com/leaf?id=0B1XKlMz7J3yxNGU5OTAzMjUtZWEwMi00OTMyLThhNzgtN2M0MmFlMTU0MWI5&amp;hl=en"&gt;here&lt;/a&gt;. &lt;br /&gt;2.Set the instanceable properties to false. Path: ~/server/tomcat-6.0.18/webapps/last_update-portlet/WEB-INF/liferay-portlet.xml&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/TBCumNYYqbI/AAAAAAAAAlw/beVkGEnyluw/s1600/instanceable.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 88px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/TBCumNYYqbI/AAAAAAAAAlw/beVkGEnyluw/s400/instanceable.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481072717960096178" /&gt;&lt;/a&gt;&lt;br /&gt;3.Get the portlet ID. Then put this code, $theme.runtime(“portlet_ID”)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/TBCtk-K8gKI/AAAAAAAAAlo/0Ilj_PVN_Hc/s1600/embed_portlet_1_name.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/TBCtk-K8gKI/AAAAAAAAAlo/0Ilj_PVN_Hc/s400/embed_portlet_1_name.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481071597185695906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;For this example, $theme.runtime("lastupdate_WAR_last_updateportlet") &lt;br /&gt;Result:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/TBCtkX5rq7I/AAAAAAAAAlg/CjFDkXLHlrA/s1600/embed_portlet.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/TBCtkX5rq7I/AAAAAAAAAlg/CjFDkXLHlrA/s400/embed_portlet.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5481071586912742322" /&gt;&lt;/a&gt;&lt;br&gt;&lt;br /&gt;Click image to enlarge. The last update status appear in the last line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-317850854684632943?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/317850854684632943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/317850854684632943'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/06/how-to-embed-portlet-in-theme.html' title='How to embed portlet in theme? Part 1'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_p45O30CuA0A/TBCumNYYqbI/AAAAAAAAAlw/beVkGEnyluw/s72-c/instanceable.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1407061332254650084</id><published>2010-05-24T00:05:00.000-07:00</published><updated>2010-05-24T00:06:50.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>UBUNTU: ./catalina.sh: 357: not found</title><content type='html'>Problem. &lt;br /&gt;&lt;br /&gt;error: ./catalina.sh: 357: not found&lt;br /&gt;Solution: Set the path for JAVA_HOME and JRE_HOME. &lt;br /&gt;&lt;br /&gt;First, check java version. Command line: java -version&lt;br /&gt;You will get this: java version "1.6.0_20"&lt;br /&gt;In case java version not equal to the value as in this example, please replace &lt;br /&gt;that according to your java version. &lt;br /&gt;&lt;br /&gt;sudo vi catalina.sh &lt;br /&gt;&lt;br /&gt;Press key Insert&lt;br /&gt;Just add these two lines. &lt;br /&gt;&lt;br /&gt;JAVA_HOME="/usr/lib/jvm/java-sun-6-0.20/bin"&lt;br /&gt;JRE_HOME="/usr/lib/jvm/java-sun-6-0.20/jre"&lt;br /&gt;&lt;br /&gt;Then press key Esc&lt;br /&gt;:wq! &lt;br /&gt;&lt;br /&gt;&lt;small&gt;Note: :wq! is to quit and save. &lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1407061332254650084?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1407061332254650084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1407061332254650084'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/05/ubuntu-catalinash-357-not-found.html' title='UBUNTU: ./catalina.sh: 357: not found'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-7968877320062756458</id><published>2010-05-21T02:32:00.001-07:00</published><updated>2011-02-11T05:39:54.904-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='language properties file locale.'/><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><title type='text'>Liferay: How to switch language</title><content type='html'>To localize the language, we configured in portal-ext.properties.&lt;br /&gt;The properties for language is set as shown below.&lt;br /&gt;&lt;br /&gt;#limit the language selection.&lt;br /&gt;locales=en_US,ms_MY&lt;br /&gt;&lt;br /&gt;I need to create a bilanguage portal. For instance at least a user can choose either to read English or Bahasa or France. &lt;br /&gt;The only file that control language properties is language.properties. For additional terms, we can use Language-ext_en_US.properties and Language-ext_ms_MY.properties. &lt;span style="color:red;"&gt;&lt;b&gt;In liferay Community Edition, we can put these files (Language-ext_en_US.properties and Language-ext_ms_MY.properties) in ~/tomcat-6.0.18/webapps/ROOT/WEB-INF/classes/content.&lt;/b&gt;&lt;/span&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-Uv3da2dXvJY/TVU8Frvp35I/AAAAAAAAA1w/D7S-hCXXjQs/s1600/language_properties.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 252px;" src="http://3.bp.blogspot.com/-Uv3da2dXvJY/TVU8Frvp35I/AAAAAAAAA1w/D7S-hCXXjQs/s400/language_properties.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5572426182280470418" /&gt;&lt;/a&gt;&lt;br&gt;The extend properties depends on languages to be used in portal. &lt;br /&gt;&lt;br /&gt;Every places in portal need to be switched will functions as the follows. &lt;br /&gt;1. Journal content will be written using FCK Editor. &lt;br /&gt;2. Theme (template &amp; layout), portlet can be configured in Language-ext_xx_YY.properties files. In my example, xx_YY are en_US and ms_MY. &lt;br /&gt;&lt;br /&gt;For the second part above, language's switch identifier generally in this form; #language("any_term_to_change"). Let say we need to apply this to banner. So we write #language("portal.banner"). Then we translate banner term in Language-ext_xx_YY files.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S_ZTQWEm9eI/AAAAAAAAAkY/Zv4JCRWT9bE/s1600/switch_language_liferay.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 93px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S_ZTQWEm9eI/AAAAAAAAAkY/Zv4JCRWT9bE/s400/switch_language_liferay.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5473653937383339490" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-7968877320062756458?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/7968877320062756458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/7968877320062756458'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/05/liferay-how-to-switch-language.html' title='Liferay: How to switch language'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Uv3da2dXvJY/TVU8Frvp35I/AAAAAAAAA1w/D7S-hCXXjQs/s72-c/language_properties.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-5437112345625893024</id><published>2010-05-20T20:14:00.000-07:00</published><updated>2010-05-20T20:19:04.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><title type='text'>Liferay: How to add more than one layout?</title><content type='html'>I created template layout using plugIns SDK. Then ant inserted myportal-layouttpl with first layout with 1-3-1 (three rows with three columns for the second row). I renamed this template layout as 'mainpage'. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S_X7IVHQqrI/AAAAAAAAAkA/Hm9uVe3OblI/s1600/1_3_1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 346px; height: 360px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S_X7IVHQqrI/AAAAAAAAAkA/Hm9uVe3OblI/s400/1_3_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5473557042663828146" /&gt;&lt;/a&gt;&lt;br /&gt;But for certain page, I need another layout style, let say 1-2 (two rows where the second row has two columns). The second template named as 'subpages'. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S_X7IxNqp7I/AAAAAAAAAkI/OUjx20kzJf4/s1600/1_2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 346px; height: 360px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S_X7IxNqp7I/AAAAAAAAAkI/OUjx20kzJf4/s400/1_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5473557050206889906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This layout TEMPLATE not included bottom part since footer part already included in portal_normal.vm. &lt;br /&gt;&lt;br /&gt;The colored parts in the figure technically written in 1-3-1.tpl (main_page) and 1-2.tpl (subpages). The second layout template can be added like this;&lt;br /&gt;Open liferay-layout-template.xml : Path ~/plugins/layouttpl/myportal-layouttpl/docroot/WEB-INF&lt;br /&gt;Add this before custom tag. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S_X7JPkWdII/AAAAAAAAAkQ/qZQP0XSio_U/s1600/liferay-layout-templates.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 154px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S_X7JPkWdII/AAAAAAAAAkQ/qZQP0XSio_U/s400/liferay-layout-templates.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5473557058355098754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then do not forget to do ant deploy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-5437112345625893024?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5437112345625893024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5437112345625893024'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/05/liferay-how-to-add-more-than-one-layout.html' title='Liferay: How to add more than one layout?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/S_X7IVHQqrI/AAAAAAAAAkA/Hm9uVe3OblI/s72-c/1_3_1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-3942335912254786985</id><published>2010-05-20T06:32:00.000-07:00</published><updated>2011-08-11T01:16:48.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><title type='text'>Liferay: Understanding the theme (Part 2)</title><content type='html'>4. portlet.vm&lt;br /&gt;This velocity file tell us how a standard portlet would be included in portal. It is inserted through $theme.wrapPortlet("portlet.vm", $content_include)&lt;br /&gt;in portal_normal.vm&lt;br /&gt;&lt;br /&gt;To decorate theme, we can customise css. Maybe &lt;a href="http://hanafiisa.blogspot.com/2010/03/understanding-css-in-liferay.html"&gt;note on css&lt;/a&gt; in previous entry can help for further information. &lt;br /&gt;&lt;br /&gt;Now we understand yet template. Inside template, there is layout template. By default, bundle Liferay comes out with classic template. &lt;br /&gt;This layout template can be referred in /tomcat-6.0.18/webapss/ROOT/layouttpl/custom&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-3942335912254786985?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3942335912254786985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3942335912254786985'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/05/liferay-understanding-theme-part-2.html' title='Liferay: Understanding the theme (Part 2)'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-5977586728278329438</id><published>2010-05-19T04:09:00.000-07:00</published><updated>2011-08-11T01:16:32.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='change company_name value in liferay 5.2'/><category scheme='http://www.blogger.com/atom/ns#' term='Liferay 5.2.3 in windows'/><category scheme='http://www.blogger.com/atom/ns#' term='page structure in liferay'/><title type='text'>Liferay: Understanding the theme (Part 1).</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-Iyd2YBy9JZM/TVNt0iXi6NI/AAAAAAAAA1A/7P9bZlVBppc/s1600/page_structure.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 290px;" src="http://2.bp.blogspot.com/-Iyd2YBy9JZM/TVNt0iXi6NI/AAAAAAAAA1A/7P9bZlVBppc/s400/page_structure.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5571917913333622994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Liferay 5.2.3&lt;br /&gt;--------------------------&lt;br /&gt;There are a group of velocity files for template named as portal_normal.vm (core file), navigation.vm, dock.vm, init_custom.vm. &lt;br /&gt;1. init_cutom.vm&lt;br /&gt;In this file, we can declare all variables in portal_normal.vm &lt;br /&gt;Example:&lt;br /&gt;#set ($theme_name = "myportal-theme") &lt;br /&gt;#set ($the_title = "Official Web") &lt;br /&gt;#set ($company_name = "MySolution.Net")&lt;br /&gt;#set ($company_url = "http://www.mysolution.net") &lt;br /&gt;&lt;br /&gt;2. portal_normal.vm&lt;br /&gt;This is the core / main frame for template. It can accept other velocity files with this form : #parse ("$full_templates_path/any_velocity_file.vm")&lt;br /&gt;Let say we need to include accessibility part which contains functions to personalisation (change color, font size). &lt;br /&gt;So we can write script for it and name the file as accessibilty.vm &lt;br /&gt;To include the file in portal_normal.vm we just add a line likes #parse ("$full_templates_path/accessibility.vm")&lt;br /&gt;&lt;br /&gt;3. navigation.vm &lt;br /&gt;The default setting only allow developer develop single page. That means no children page will be passed even if there were children pages added. This is an example script &lt;a href="http://docs.google.com/leaf?id=0B1XKlMz7J3yxODczYzE2OGYtYmMzMS00OWUxLTgyYWUtYTFlYjlkNDEzZDM3&amp;hl=en"&gt;navigation.vm&lt;/a&gt; for three layers (main page have three children pages).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-5977586728278329438?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5977586728278329438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5977586728278329438'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/05/liferay-understanding-theme-part-1.html' title='Liferay: Understanding the theme (Part 1).'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Iyd2YBy9JZM/TVNt0iXi6NI/AAAAAAAAA1A/7P9bZlVBppc/s72-c/page_structure.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-6080542731571169379</id><published>2010-04-20T20:50:00.000-07:00</published><updated>2010-05-09T19:08:58.675-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='customise language in liferay'/><title type='text'>Customise language in Liferay Portal.</title><content type='html'>This documentation done based on Liferay 5.2.3, tomcat-6.0.18.  &lt;br /&gt;&lt;br /&gt;In our portal, we need to use two languages. Malay as Primary and English secondary language.&lt;br /&gt;To localise the language, we configured in &lt;span style="font-weight:bold;"&gt;portal-ext.properties&lt;/span&gt;. &lt;br /&gt;The properties for language is set as shown below.&lt;br /&gt;&lt;br /&gt;#limit the language selection. &lt;br /&gt;locales=en_US,ms_MY&lt;br /&gt;&lt;br /&gt;Since Malaysia flag icon not available, we need to add the 16 x 11 icon image in &lt;br /&gt;&lt;span style="font-style:italic;"&gt;~/tomcat-6.0.18/webapps/portal-theme/images/language&lt;/span&gt;&lt;br /&gt;manually. &lt;br /&gt;&lt;br /&gt;It means that when we use language portlet, only two flags will appear in the porlet. We also can put the flag icon in portal theme.&lt;br /&gt;Just use $theme.language() to be wrote in our template [&lt;span style="font-weight:bold;"&gt;by writing it in portal_normal.vm&lt;/span&gt;]. &lt;br /&gt;&lt;br /&gt;Output: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S852nkzOpuI/AAAAAAAAAf0/Kvr6v3TPPmE/s1600/language_in_liferay.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 93px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S852nkzOpuI/AAAAAAAAAf0/Kvr6v3TPPmE/s400/language_in_liferay.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5462433820312512226" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-6080542731571169379?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6080542731571169379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6080542731571169379'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/04/customise-language-in-liferay-portal.html' title='Customise language in Liferay Portal.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/S852nkzOpuI/AAAAAAAAAf0/Kvr6v3TPPmE/s72-c/language_in_liferay.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-2939891385745200056</id><published>2010-04-12T20:25:00.000-07:00</published><updated>2010-04-17T17:35:04.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='announcement notification'/><title type='text'>﻿Email Notification for Announcements portlet.</title><content type='html'>Configure users setting.&lt;br /&gt;Go to Control Panel &gt; Users&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S8PmgJ3C2OI/AAAAAAAAAfE/n7Fd6GJeszs/s1600/announcements_1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S8PmgJ3C2OI/AAAAAAAAAfE/n7Fd6GJeszs/s400/announcements_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459460613380167906" /&gt;&lt;/a&gt;&lt;br /&gt;Edit users with assigning them Guest community, and Announcement. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S8PmhTVvz_I/AAAAAAAAAfM/xXU8iak8JIo/s1600/announcements_2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 232px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S8PmhTVvz_I/AAAAAAAAAfM/xXU8iak8JIo/s400/announcements_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459460633104732146" /&gt;&lt;/a&gt;&lt;br /&gt;Configure Server Administration (Control Panel &gt; Server Administration)&lt;br /&gt;&lt;br /&gt;For outgoing port, use port 2525&lt;br /&gt;&lt;br /&gt;Then add this properties in portal-ext.properties&lt;br /&gt;announcements.email.from.address=webmaster@mysolution.net&lt;br /&gt;announcements.email.from.name=Webmaster&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Problem statement and Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The current email_body.tmpl is very simple.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S8Pme0hjlmI/AAAAAAAAAe0/JdKXtayirNE/s1600/announcements_0A.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 136px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S8Pme0hjlmI/AAAAAAAAAe0/JdKXtayirNE/s400/announcements_0A.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459460590473025122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sometimes, we need to modify it so that the message becomes formal (Official).&lt;br /&gt;Example,&lt;br /&gt; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/S8PmfU-USgI/AAAAAAAAAe8/3mtwKRFftIY/s1600/announcements_0B.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/S8PmfU-USgI/AAAAAAAAAe8/3mtwKRFftIY/s400/announcements_0B.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459460599183591938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How to modify email_body.tmpl in Announcements portlet?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In liferay Enterprise Edition (Liferay EE), email_body.tmpl located in folder dependencies.&lt;br /&gt;Path: ~/html/portlet/announcements/WEB-INF/classes/com/liferay/portlet/announcements/dependencies&lt;br /&gt;&lt;br /&gt;For those who use liferay Community Edition (Liferay CE), this file can be found in liferay-portal-src-5.2.3&lt;br /&gt;Path: liferay-portal-src-5.2.3/portal-impl/src/com/liferay/portlet/announcements/dependencies&lt;br /&gt;&lt;br /&gt;Then we need to do ant deploy in ext-impl. Copy email_body.tmpl and paste in ~/ext/ext-impl/src/com/liferay/portlet/announcements/dependencies&lt;br /&gt;Notes that we need to create folders announcements and dependencies if they not existed. &lt;br /&gt;&lt;br /&gt;Go to ~/ext/ext-impl&lt;br /&gt;Then run command: ant deploy&lt;br /&gt;&lt;br /&gt;Testing an announcement.&lt;br /&gt;&lt;br /&gt;1. Add annoucement portlet in admin page (or any page). &lt;br /&gt;2. Write your announcement. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S8Pmke3h6qI/AAAAAAAAAfU/Gm8WbJu4fjw/s1600/announcements_3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 267px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S8Pmke3h6qI/AAAAAAAAAfU/Gm8WbJu4fjw/s400/announcements_3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459460687738825378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;Output&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S8Py0BimhqI/AAAAAAAAAfs/JLnWNBYMFco/s1600/announcements_4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S8Py0BimhqI/AAAAAAAAAfs/JLnWNBYMFco/s400/announcements_4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5459474148883859106" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-2939891385745200056?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2939891385745200056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2939891385745200056'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/04/email-notification-for-announcements.html' title='﻿Email Notification for Announcements portlet.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p45O30CuA0A/S8PmgJ3C2OI/AAAAAAAAAfE/n7Fd6GJeszs/s72-c/announcements_1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-3998523587616973425</id><published>2010-03-08T17:58:00.000-08:00</published><updated>2010-03-21T23:19:14.043-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css sprite in liferay'/><title type='text'>CSS sprite example: Two rows images.</title><content type='html'>The iconic button given is; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/S5Wrry8M7XI/AAAAAAAAAbo/7nXNEuplE0I/s1600-h/offset.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 84px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/S5Wrry8M7XI/AAAAAAAAAbo/7nXNEuplE0I/s400/offset.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446448093271485810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Grid view for image above. &lt;br&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S5WrstcnhqI/AAAAAAAAAbw/goGbJQX7SvQ/s1600-h/offset-1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S5WrstcnhqI/AAAAAAAAAbw/goGbJQX7SvQ/s400/offset-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446448108976703138" /&gt;&lt;/a&gt;&lt;br&gt;Result: &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S5WrswCPAfI/AAAAAAAAAb4/1cSKJYNg0wc/s1600-h/offset-2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 94px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S5WrswCPAfI/AAAAAAAAAb4/1cSKJYNg0wc/s400/offset-2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446448109671350770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;HTML code;&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S5WtqsLGhtI/AAAAAAAAAcA/4_5zB3upUGk/s1600-h/offset-3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 98px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S5WtqsLGhtI/AAAAAAAAAcA/4_5zB3upUGk/s400/offset-3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446450273298319058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;CSS style in custom.css&lt;br&gt;&lt;br /&gt;/*~~~~~~~~~~~~~~~~~~~~~~~CSS_sprite~~~~~start~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/&lt;br /&gt;ul#sprite_footer{&lt;br /&gt;margin:0 -29px;&lt;br /&gt;width:928px;&lt;br /&gt;height:196px;&lt;br /&gt;}&lt;br /&gt;ul#sf_row_1 li a{&lt;br /&gt;height:110px;&lt;br /&gt;}&lt;br /&gt;ul#sf_row_2 li a{&lt;br /&gt;height:86px;&lt;br /&gt;}&lt;br /&gt;ul#sf_row_1 li a,ul#sf_row_2 li a{&lt;br /&gt;background:url(../images/button_image.png) no-repeat;&lt;br /&gt;display:block;&lt;br /&gt;border:none;&lt;br /&gt;padding:0;&lt;br /&gt;text-indent:-9999px;&lt;br /&gt;}&lt;br /&gt;#sf_row_1 li, #sf_row_2 li{&lt;br /&gt;float:left;&lt;br /&gt;display:inline;&lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a,#sf_row_2 li a{&lt;br /&gt;margin-right:-40px;&lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a#button_1_1{  &lt;br /&gt;background-position:0px 0px;&lt;br /&gt;width:218px;  &lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a#button_1_2{  &lt;br /&gt;background-position:-218px 0px;&lt;br /&gt;width:167px;   &lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a#button_1_3{  &lt;br /&gt;background-position:-385px 0px;&lt;br /&gt;width:165px;  &lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a#button_1_4{  &lt;br /&gt;background-position:-551px 0px;&lt;br /&gt;width:166px;   &lt;br /&gt;}&lt;br /&gt;#sf_row_1 li a#button_1_5{  &lt;br /&gt;background-position:-718px 0px;&lt;br /&gt;width:212px;   &lt;br /&gt;} &lt;br /&gt;#sf_row_2 li a#button_2_1&lt;br /&gt;{  &lt;br /&gt;background-position:0px -110px; &lt;br /&gt;width:206px;  &lt;br /&gt;}&lt;br /&gt;#sf_row_2 li a#button_2_2&lt;br /&gt;{  &lt;br /&gt;background-position:-206px -110px;&lt;br /&gt;width:144px;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;#sf_row_2 li a#button_2_3{  &lt;br /&gt;background-position:-350px -110px;&lt;br /&gt;width:130px;   &lt;br /&gt;}&lt;br /&gt;#sf_row_2 li a#button_2_4{  &lt;br /&gt;background-position:-480px -110px;&lt;br /&gt;width:150px;   &lt;br /&gt;}&lt;br /&gt;#sf_row_2 li a#button_2_5{  &lt;br /&gt;background-position:-630px -110px;&lt;br /&gt;width:110px; }  &lt;br /&gt;#sf_row_2 li a#button_2_6{  &lt;br /&gt;background-position:-740px -110px;  &lt;br /&gt;width:188px; &lt;br /&gt;} &lt;br /&gt;/*~~~~~~~~~~~~~~~~~~~~~~~CSS_sprite~~~~~finish~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-3998523587616973425?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3998523587616973425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3998523587616973425'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/03/css-sprite-example-to-rows-images.html' title='CSS sprite example: Two rows images.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_p45O30CuA0A/S5Wrry8M7XI/AAAAAAAAAbo/7nXNEuplE0I/s72-c/offset.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1707261570799069502</id><published>2010-03-07T22:39:00.000-08:00</published><updated>2011-01-27T14:01:31.106-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css for liferay'/><category scheme='http://www.blogger.com/atom/ns#' term='edit css in liferay'/><title type='text'>Understanding CSS in liferay.</title><content type='html'>&lt;div align="justify"&gt;&lt;p&gt;&lt;br /&gt;By default, CSS styles in liferay can be found in folder /css. Bundle liferay with Classic theme means that css folder path: ~/tomcat-6.0.18/webapps/ROOT/html/themes/classic.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;There are few css styles file. Main css (main.css) located all styling files from the lowest to highest (in term of priority) from top to bottom.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S5SdJTlpGuI/AAAAAAAAAbQ/rDwyYWwMNK0/s1600-h/css_1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 212px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S5SdJTlpGuI/AAAAAAAAAbQ/rDwyYWwMNK0/s400/css_1.png" alt="" id="BLOGGER_PHOTO_ID_5446150632600312546" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Let say, I want to add a new css file (e.g mystyle.css). I must import this file in main.css – add this new line @import url(mystyle.css); - the styles in this new file will overwrite all styles in other files above it. For a standard practice, custom.css has the highest priority.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S5SdKD-mmhI/AAAAAAAAAbY/dgmDQQh-I7M/s1600-h/css_2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S5SdKD-mmhI/AAAAAAAAAbY/dgmDQQh-I7M/s400/css_2.png" alt="" id="BLOGGER_PHOTO_ID_5446150645589907986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Sometimes, new developer understood this thing but when doing some customization in custom.css nothing changes. Why? It is because the server not refers to that changes. When developer inspected the element using firebugs, the css style reference maybe main.css or base.css only. How to overcome this problem? &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;For development purpose only, developer must add new properties in portal-ext.properties (/webapps/ROOT/WEB-INF/classes). The properties are shows as the following.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div align="left"&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;## FOR DEVELOPMENT PURPOSE, NEED TO REMOVE &lt;br /&gt;##AT PRODUCTIONS ##&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;## Set this property to true to load the theme's merged CSS files &lt;br /&gt;##for faster loading for production.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this property to false for easier debugging for development.&lt;br /&gt;##You can also disable fast loading by setting the&lt;br /&gt;## URL parameter "css_fast_load" to "0".&lt;br /&gt;&lt;br /&gt;theme.css.fast.load=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this to flase to disable the display of CSS logging.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;theme.images.fast.load=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this property to true to load the packed version of&lt;br /&gt;##files listed in the properties "javascript.barebone.files" or&lt;br /&gt;&lt;br /&gt;## "javascript.everything.files".&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this property to false for easier debugging for development. &lt;br /&gt;##You can also disable fast loading by setting the&lt;br /&gt;## URL parameter "js_fast_load" to  "0".&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;javascript.fast.load=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this to true to enable the display of JavaScript logging.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;javascript.log.enabled=true&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Setting it to false is useful during development if you need &lt;br /&gt;##to make a lot of changes.&lt;br /&gt;&lt;br /&gt;layout.template.cache.enabled=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Disable Liferay from opening a new browser window &lt;br /&gt;##everytime start the server&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;browser.launcher.url=&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Last Modified&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set this to true to check last modified date on server side CSS and&lt;br /&gt;&lt;br /&gt;## JavaScript. On Development purpose just set it false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;last.modified.check=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Enabling OpenOffice integration allows the &lt;br /&gt;##Document Library portlet and the Wiki &lt;br /&gt;##portlet to provide conversion functionality. This is tested with&lt;br /&gt;## OpenOffice 2.3.x and 2.4. To start OpenOffice as a service, &lt;br /&gt;##run the command:&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;"&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;openoffice.cache.enabled=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## Set the Velocity resource managers. We extend the &lt;br /&gt;##Velocity's default resource managers for better scalability.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;velocity.engine.resource.manager.cache.enabled=false&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## The cache filter will cache content. See ehcache.xml to modify the cache&lt;br /&gt;&lt;br /&gt;## expiration time to live.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;com.liferay.portal.servlet.filters.cache.CacheFilter=false&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;## The theme preview filter generates a preview of the currently applied&lt;br /&gt;&lt;br /&gt;## theme that can be used by the Dreamweaver Theming plugin. &lt;br /&gt;##This is disabled by default. &lt;br /&gt;##Set the "themePreview" parameter to "1" in the URL to access&lt;br /&gt;&lt;br /&gt;## the theme preview for any page. For example, a URL can be&lt;br /&gt;&lt;br /&gt;## http://localhost:8080/web/guest?themePreview=1.&lt;br /&gt;&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;com.liferay.portal.servlet.filters.theme.ThemePreviewFilter=true&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1707261570799069502?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1707261570799069502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1707261570799069502'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/03/understanding-css-in-liferay.html' title='Understanding CSS in liferay.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/S5SdJTlpGuI/AAAAAAAAAbQ/rDwyYWwMNK0/s72-c/css_1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-5469868116757667541</id><published>2010-03-04T18:30:00.000-08:00</published><updated>2010-03-05T06:58:30.401-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='css sprite in liferay'/><title type='text'>CSS sprite in liferay</title><content type='html'>I have six images, arranged in a row. I call these images one by one in theme. But it will increase the HTTPRequest value. &lt;br /&gt;&lt;br /&gt;CSS Sprite technique is a way to reduce HTTPrequest by combining images and then adjust the position value for each image. It can be in horizontal (X-axis) or vertical (Y-axis). &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Before &lt;/span&gt;using CSS sprite, the coding[2] for that images may be look like this; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt-AvPETI/AAAAAAAAAbI/1KQET9uDT5E/s1600-h/css_sprite_example_2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 212px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt-AvPETI/AAAAAAAAAbI/1KQET9uDT5E/s400/css_sprite_example_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444972861608366386" /&gt;&lt;/a&gt;&lt;br /&gt;And the CSS style looks like this; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S5Bt9aLt7aI/AAAAAAAAAbA/izg7xB8GMpw/s1600-h/css_sprite_example_3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 339px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S5Bt9aLt7aI/AAAAAAAAAbA/izg7xB8GMpw/s400/css_sprite_example_3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444972851258846626" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;After &lt;/span&gt;applying CSS sprite....&lt;br /&gt;In this tutorial, I combined six images and named it as button.png. &lt;br /&gt;I restructured my codes as shown below. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt8w6kTrI/AAAAAAAAAa4/p1VQ-OG4aGU/s1600-h/css_sprite_example_4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 226px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt8w6kTrI/AAAAAAAAAa4/p1VQ-OG4aGU/s400/css_sprite_example_4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444972840181059250" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And the CSS style looks like this; &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt8BQf2BI/AAAAAAAAAaw/BApXOD9KJNA/s1600-h/css_sprite_example_5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 400px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt8BQf2BI/AAAAAAAAAaw/BApXOD9KJNA/s400/css_sprite_example_5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444972827388139538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The output: &lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S5Bt7inUWhI/AAAAAAAAAao/_aQWw8kvafE/s1600-h/css_sprite_example.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 195px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S5Bt7inUWhI/AAAAAAAAAao/_aQWw8kvafE/s400/css_sprite_example.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5444972819162356242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;If your button image in vertical, just adjust the Y-axis in background-position (e.g background-position:0px, -70px). &lt;br /&gt;&lt;br /&gt;&lt;br&gt;Note: Click on image to enlarge.&lt;br&gt;&lt;br /&gt;1. CSS style is written in custom.css&lt;br /&gt;2. Coding in this entry located in portal_normal.vm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-5469868116757667541?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5469868116757667541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/5469868116757667541'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/03/css-sprite-in-liferay.html' title='CSS sprite in liferay'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p45O30CuA0A/S5Bt-AvPETI/AAAAAAAAAbI/1KQET9uDT5E/s72-c/css_sprite_example_2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-6396062403622355225</id><published>2010-01-28T01:47:00.000-08:00</published><updated>2010-02-21T05:59:30.427-08:00</updated><title type='text'>MySQL: How to fix ERROR 1153 (08S01)</title><content type='html'>How to fix ERROR 1153 (08S01): Got a packet bigger than 'max_allowed_packet' bytes&lt;br /&gt;&lt;br /&gt;Mysql Server Version: MySQL-server-community-5.1.41&lt;br /&gt;OS: Open Suse 11.0 (server)&lt;br /&gt;&lt;br /&gt;I tried to dump my database to mysql and got the error as stated in entry's title above. &lt;br /&gt;The default value for max_allowed_packet is 1048576 (1M). The available range for it is between 1024 to 1 073 741 824. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Firstly, I think can edit the value by using command line when I signed in to mysql. &lt;br /&gt;myserver:/etc/init.d # mysql -u root -p&lt;br /&gt;&lt;br /&gt; mysql&gt; SET @max_allowed_packet = '16M';  &lt;br /&gt;(Let say I want to increase the value to 16M). &lt;br /&gt;&lt;br /&gt;But I got nothing, 0 row affected. &lt;br /&gt;Ok, just exit from mysql. &lt;br /&gt;&lt;br /&gt;Then open file mysql under directory /etc/init.d &lt;br /&gt;vim /etc/init.d/mysql&lt;br /&gt;I just pasted the excerpt from mysql file. &lt;br /&gt;# If you want to affect other MySQL variables, you should make your changes&lt;br /&gt;&lt;br /&gt;# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.&lt;br /&gt;&lt;br /&gt;Then just create a file and name it as my.cnf inside /etc.&lt;br /&gt;To make my life easy, I just copied[1] mysql file and then renamed[2] it as my.cnf&lt;br /&gt;Then edit[3] my.cnf file. &lt;br /&gt;&lt;br /&gt;[1]myserver:/etc/init.d # cp mysql /etc&lt;br /&gt;[2] myserver:/etc/init.d # mv mysql my.cnf&lt;br /&gt;[3] myserver:/etc/init.d #gedit my.cnf&lt;br /&gt;&lt;br /&gt;Just add these two lines: &lt;br /&gt;[mysqld]&lt;br /&gt;max_allowed_packet = 16M&lt;br /&gt;&lt;br /&gt;Then save it. &lt;br /&gt;Then restart[4] msql service&lt;br /&gt;[4] myserver:/etc/init.d #   ./mysql restart&lt;br /&gt;&lt;br /&gt;Again, sign in to mysql, and type command&lt;br /&gt;mysql&gt; show global variables like 'm%';   (Refer to Figure 1)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/S2FdgUnOS5I/AAAAAAAAAYA/uaUpS07jPX0/s1600-h/mysqld1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 275px; height: 400px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/S2FdgUnOS5I/AAAAAAAAAYA/uaUpS07jPX0/s400/mysqld1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5431725435455949714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 1: Show global variable in mysqld. &lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The new value will appear in the first row. Other way to check it is by typing this command&lt;br /&gt; myserver:/etc/init.d #   mysql service status (Refer to Figure 2)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S2FdooVriwI/AAAAAAAAAYI/xDHm4qSvxrA/s1600-h/mysqld2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 269px; height: 400px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S2FdooVriwI/AAAAAAAAAYI/xDHm4qSvxrA/s400/mysqld2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5431725578190031618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 2: An alternative method to look at variables set in mysqld.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-6396062403622355225?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6396062403622355225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/6396062403622355225'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/01/mysql-how-to-fix-error-1153-08s01.html' title='MySQL: How to fix ERROR 1153 (08S01)'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_p45O30CuA0A/S2FdgUnOS5I/AAAAAAAAAYA/uaUpS07jPX0/s72-c/mysqld1.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-8381781243736479921</id><published>2010-01-11T17:18:00.000-08:00</published><updated>2010-02-03T19:26:25.446-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Liferay'/><title type='text'>Linux: Cannot find ./catalina.sh</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Subject:&lt;/span&gt; Liferay Development Troubleshooting 1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Problem:&lt;/span&gt; Cannot find ./catalina.sh&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OS:&lt;/span&gt; Ubuntu 9.04 &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Descritption&lt;/span&gt;&lt;br /&gt;Cannot start tomcat sever with error 'Cannot find ./catalina.sh'. Refer to Figure 1 below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/S0vQXuXr1vI/AAAAAAAAAWM/BhOsQmPB5Ss/s1600-h/catalina_sh.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 68px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/S0vQXuXr1vI/AAAAAAAAAWM/BhOsQmPB5Ss/s400/catalina_sh.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425659282100836082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Figure 1: Cannot start tomcat server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Make sure file permission to all files in bin (../tomcat-6.0.18/bin) directory can be executed. &lt;br /&gt;Default mod: -rw-r--r--; means that the file can be read only. &lt;br /&gt;&lt;br /&gt;Back to &lt;span style="font-weight:bold;"&gt;server&lt;/span&gt; directory, command line: &lt;i&gt;cd ../../&lt;/i&gt;&lt;br /&gt;Then change the file mode command line: &lt;i&gt;sudo chmod 755 -R tomcat-6.0.18/*&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-8381781243736479921?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8381781243736479921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8381781243736479921'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/01/linux-cannot-find-catalinash.html' title='Linux: Cannot find ./catalina.sh'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_p45O30CuA0A/S0vQXuXr1vI/AAAAAAAAAWM/BhOsQmPB5Ss/s72-c/catalina_sh.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1171080563432673280</id><published>2010-01-10T23:23:00.000-08:00</published><updated>2011-04-11T17:28:36.778-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='accordion in liferay'/><title type='text'>Applying Accordion Function in Liferay.</title><content type='html'>Liferay Version: 5.2.3 &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S0rSGgorzkI/AAAAAAAAAVs/nC2F86DPTw4/s1600-h/accordion.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 400px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S0rSGgorzkI/AAAAAAAAAVs/nC2F86DPTw4/s400/accordion.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425379710402809410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This example refers to the accordion &lt;a href="http://jqueryui.com/demos/accordion/#option-collapsible" target="_blank"&gt;in this page&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The normal javascript looks like &lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S0rSMZcf2EI/AAAAAAAAAV0/Mp8P0RsDMnU/s1600-h/accordion_0.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 350px; height: 120px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S0rSMZcf2EI/AAAAAAAAAV0/Mp8P0RsDMnU/s400/accordion_0.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425379811551860802" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To make it works in liferay environment, just adjust some codings for javascript. &lt;br /&gt;The new coding is shown as below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/S0rSQlmz43I/AAAAAAAAAV8/XsdwsLKVJng/s1600-h/accordion_1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 162px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/S0rSQlmz43I/AAAAAAAAAV8/XsdwsLKVJng/s400/accordion_1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425379883535819634" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Result: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/S0rTuu2u7pI/AAAAAAAAAWE/Oq7XioRHzEc/s1600-h/accordion_2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 329px; height: 400px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/S0rTuu2u7pI/AAAAAAAAAWE/Oq7XioRHzEc/s400/accordion_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5425381500926226066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To make it prettier, just edit the CSS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mbi.gov.my/web/guest/home"&gt;Live demo&lt;/a&gt; for accordion in Liferay. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mbi.gov.my/web/guest/home"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 305px; height: 322px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/TMoqOajv76I/AAAAAAAAAuM/6U7lesQ4NHw/s400/accordion_live_demo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533281519313874850" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1171080563432673280?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1171080563432673280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1171080563432673280'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2010/01/applying-accordion-function-in-liferay.html' title='Applying Accordion Function in Liferay.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p45O30CuA0A/S0rSGgorzkI/AAAAAAAAAVs/nC2F86DPTw4/s72-c/accordion.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-2875106959513778727</id><published>2009-10-20T18:51:00.000-07:00</published><updated>2009-10-20T18:53:12.081-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql password'/><title type='text'>Ubuntu: How to reset MySQL password?</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Problem:&lt;/span&gt; Forgot the password to login mysql. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Solution:&lt;/span&gt; Need to reset password.&lt;br /&gt;First, just take few minute checking the default password in file debian.cnf&lt;br /&gt;&lt;br /&gt;Command line: sudo gedit /etc/mysql/debian.cnf&lt;br /&gt;&lt;br /&gt;Then type this command; &lt;br /&gt;mysql -u debian-sys-maint -p&lt;br /&gt;Enter password: &lt;br /&gt;*Please enter the password stated in the debian.cnf&lt;br /&gt;&lt;br /&gt;Then when you logged-in, &lt;br /&gt;mysql &gt; &lt;br /&gt;&lt;br /&gt;Type the command to set new password. &lt;br /&gt;&lt;br /&gt;Mysql &gt; SET PASSWORD for 'root'@'localhost'= 'my_new_password'; &lt;br /&gt;&lt;br /&gt;exit. &lt;br /&gt;&lt;br /&gt;Then test the new password. &lt;br /&gt;mysql -u root -p&lt;br /&gt;Enter password: my_new_password&lt;br /&gt;&lt;br /&gt;---------------------------------------------------&lt;br /&gt;&lt;br /&gt;Have a nice day!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-2875106959513778727?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2875106959513778727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/2875106959513778727'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/10/ubuntu-how-to-reset-mysql-password.html' title='Ubuntu: How to reset MySQL password?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1486527442726518506</id><published>2009-10-14T20:06:00.000-07:00</published><updated>2009-10-14T20:08:42.696-07:00</updated><title type='text'>UBUNTU 9.04: How to fix error - SSH connection refused?</title><content type='html'>&lt;div align="justify"&gt;&lt;p&gt;OpenSSH is a freely available version of the Secure Shell (SSH) protocol family of tools for remotely controlling a computer or transferring files between computers.&lt;br /&gt;If the openssh-server not installed yet, you will get error : openssh connection refused. &lt;br /&gt;It is not about firewall disable. &lt;br /&gt;&lt;br /&gt;When you cannot remote to the other PC or server in the network, just install OpenSSH-server. Use the command line below&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;sudo apt-get install openssh-server &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--------&lt;br /&gt;Good luck! Have a nice day.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1486527442726518506?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1486527442726518506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1486527442726518506'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/10/ubuntu-904-how-to-fix-error-ssh.html' title='UBUNTU 9.04: How to fix error - SSH connection refused?'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-8174644411804678707</id><published>2009-10-08T20:20:00.000-07:00</published><updated>2009-10-08T20:23:39.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nautilus SVN'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion for Ubuntu'/><title type='text'>How to install nautilus SVN in Ubuntu 9.04</title><content type='html'>&lt;p&gt;&lt;span style="font-size: medium;"&gt;Client side for SVN&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;1. The video below is the tutorial for nautilusSVN.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;1.1 Refer to this tutorial: &lt;/span&gt;&lt;a href="http://www.youtube.com/watch?v=AbyMJaObEmk&amp;amp;feature=related" target="_blank"&gt;&lt;span style="font-size: larger;"&gt;Youtube Tutorial&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;&lt;u&gt;&lt;b&gt;How to install? Step by step. &lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;2. According to a &lt;/span&gt;&lt;span style="font-size: larger;"&gt;&lt;a href="http://code.google.com/p/nautilussvn/" target="_blank"&gt;&lt;b&gt;report&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: larger;"&gt;, nautilusSVN already renamed as RabbitCVS. &lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;Step 1: Go to www.rabbitcvs.org. ## install rabbitvcs&lt;br /&gt;&lt;br /&gt;http://rabbitvcs.org/ and download the installer package: &lt;b&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;rabbitvcs_0.12-1~hardy_all.deb&lt;/span&gt;&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://wiki.rabbitvcs.org/wiki/download" target="_blank"&gt;&lt;span style="font-size: larger;"&gt;http://wiki.rabbitvcs.org/wiki/download&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: larger;"&gt;&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;Step 2: Unpack the package. &lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 128);"&gt;sudo dpkg -i rabbitvcs_0.12-1~hardy_all.deb &lt;/span&gt;&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;Step 3: There is some missing package (ipython) that not installed. Then install ipython package. &lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 128);"&gt;sudo apt-get install ipython meld&lt;/span&gt;&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;Step 4: Solve this error :: E: Unmet dependencies.&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: rgb(0, 0, 128);"&gt;sudo apt-get -f install&lt;/span&gt;&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size: larger;"&gt;-------------&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Note: Thanks to my friend, Wahid. -:)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-8174644411804678707?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8174644411804678707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8174644411804678707'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/10/how-to-install-nautilus-svn-in-ubuntu.html' title='How to install nautilus SVN in Ubuntu 9.04'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-4549244552488587965</id><published>2009-09-10T21:21:00.000-07:00</published><updated>2009-09-10T21:28:21.680-07:00</updated><title type='text'>How to solve Error 2006 - mySQL server has gone away.</title><content type='html'>When I need to populate data into mysql database, I got this error; Error 2006 - mySQL server has gone away.&lt;br /&gt;&lt;br /&gt;How to solve it?&lt;br /&gt;&lt;br /&gt;....\xampp\mysql\bin&lt;br /&gt;open my.cnf &gt; drag the icon into Notepad&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/SqnQ49Lm8_I/AAAAAAAAAPI/EL1INBIQGIk/s1600-h/setup1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 208px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/SqnQ49Lm8_I/AAAAAAAAAPI/EL1INBIQGIk/s400/setup1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5380060906785272818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then just change the value of &lt;span style="font-weight:bold;"&gt;max_allowed_packet&lt;/span&gt;. In my case, I set 600M.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SqnRHCrsgVI/AAAAAAAAAPQ/LiHpsXmuL14/s1600-h/setup2.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 206px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SqnRHCrsgVI/AAAAAAAAAPQ/LiHpsXmuL14/s400/setup2.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5380061148780200274" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Save. And restart mysql server. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/SqnRk0lsr2I/AAAAAAAAAPY/D4aBbhIPNNQ/s1600-h/setup3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 321px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/SqnRk0lsr2I/AAAAAAAAAPY/D4aBbhIPNNQ/s400/setup3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5380061660393025378" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-4549244552488587965?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/4549244552488587965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/4549244552488587965'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/09/how-to-solve-error-2006-mysql-server.html' title='How to solve Error 2006 - mySQL server has gone away.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/SqnQ49Lm8_I/AAAAAAAAAPI/EL1INBIQGIk/s72-c/setup1.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-8820853100481332289</id><published>2009-08-18T21:55:00.000-07:00</published><updated>2009-08-18T22:18:18.674-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial_subversion_TortoiseSVN'/><title type='text'>TortoiseSVN in PC</title><content type='html'>Objective&lt;br /&gt;-to guide installation.&lt;br /&gt;-to review how to commit a repository into working copy.&lt;br /&gt;&lt;br /&gt;1. Download the installer from &lt;a href="http://tortoisesvn.net/downloads" target="_blank"&gt;this site.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.When installed, the new features in TortoiseSVN will appear when you pressed right-click on the Desktop. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/SouGe31lu6I/AAAAAAAAALA/pTZNdWgWRaM/s1600-h/tsvn0.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 255px; height: 286px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/SouGe31lu6I/AAAAAAAAALA/pTZNdWgWRaM/s400/tsvn0.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371534845512367010" /&gt;&lt;/a&gt;&lt;br /&gt;3.Open the TortoiseSVN ---&gt; Setting and activate the Use “_svn” instead of “.svn” directories checkbox. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SouGqC8yP5I/AAAAAAAAALI/tQW4KFXNjAk/s1600-h/tsvn1.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SouGqC8yP5I/AAAAAAAAALI/tQW4KFXNjAk/s400/tsvn1.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371535037473898386" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4.Choose the TortoiseMerge for Diff Viewer instead of External. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p45O30CuA0A/SouHzH0J0DI/AAAAAAAAALY/yBlh2AyeFF0/s1600-h/tsvn1.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/SouHzH0J0DI/AAAAAAAAALY/yBlh2AyeFF0/s400/tsvn1.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371536292910321714" /&gt;&lt;/a&gt;&lt;br /&gt;5. To link the TortoiseSVN to server, right-click → TortoiseSVN → Repo-browser. Key-in the&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/SouICX4zbkI/AAAAAAAAALg/NmXYCdsJMpg/s1600-h/tsvn2.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 313px; height: 400px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/SouICX4zbkI/AAAAAAAAALg/NmXYCdsJMpg/s400/tsvn2.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371536554922831426" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;6.The repository browser will appear. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SouIXhXoIzI/AAAAAAAAALo/iaxvzcjOWdo/s1600-h/tsvn3.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 310px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SouIXhXoIzI/AAAAAAAAALo/iaxvzcjOWdo/s400/tsvn3.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371536918245286706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That means if you want to browse this repository using browser, you also can but need to be authorised first. This is because the svn authorization (permission) setting has been configured. &lt;br /&gt;7. Firstly, the repository contain nothing, thus the svn manager must add new folder or files in the repository. &lt;br /&gt;8. After that, these documents can be checked-out to the working copy in the PC. Just right-click the right column's repository windows. → Checkout. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/SouI5Ien6oI/AAAAAAAAALw/KoQmOowJntw/s1600-h/tsvn4.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 309px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/SouI5Ien6oI/AAAAAAAAALw/KoQmOowJntw/s400/tsvn4.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371537495679298178" /&gt;&lt;/a&gt;&lt;br /&gt;9.Let say, my working copy is inside the project3 folder in Desktop. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/SouJTOb0aHI/AAAAAAAAAL4/ql_MFRcH0cI/s1600-h/tsvn5.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 338px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/SouJTOb0aHI/AAAAAAAAAL4/ql_MFRcH0cI/s400/tsvn5.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371537943954745458" /&gt;&lt;/a&gt;&lt;br /&gt;10. The working folder will have right mark; means that all documents are revised.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SouJft5Mg2I/AAAAAAAAAMA/Fb9IyTr9Ixk/s1600-h/tsvn6.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 210px; height: 167px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SouJft5Mg2I/AAAAAAAAAMA/Fb9IyTr9Ixk/s400/tsvn6.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371538158557889378" /&gt;&lt;/a&gt;&lt;br /&gt;11.Otherwise, the red mark will appear. It means somebody already modified the file but not checkout yet. So we can know specifically which file being modified inside the working copy folder.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SouJxrCMPXI/AAAAAAAAAMI/Te-jBeENMQI/s1600-h/tsvn7.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 210px; height: 167px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SouJxrCMPXI/AAAAAAAAAMI/Te-jBeENMQI/s400/tsvn7.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371538467027959154" /&gt;&lt;/a&gt;&lt;br /&gt; 12.The incident in (11) above can be solved by committing the working copy. → Checkout → write the revision message. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p45O30CuA0A/SouJ9ZTn2OI/AAAAAAAAAMQ/kBwWzcDsBDA/s1600-h/tsvn8.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 398px;" src="http://2.bp.blogspot.com/_p45O30CuA0A/SouJ9ZTn2OI/AAAAAAAAAMQ/kBwWzcDsBDA/s400/tsvn8.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371538668427663586" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;13.And finally you will receive the complete message if the revision success. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_p45O30CuA0A/SouKcQr-NrI/AAAAAAAAAMY/ads07rLOMjM/s1600-h/tsvn9.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 183px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/SouKcQr-NrI/AAAAAAAAAMY/ads07rLOMjM/s400/tsvn9.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371539198689818290" /&gt;&lt;/a&gt;&lt;br /&gt;14.The revision number also changes when you check via browser. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/SouKkby1ZTI/AAAAAAAAAMg/rIMw0jBYxdg/s1600-h/tsvn10.jpeg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 229px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SouKkby1ZTI/AAAAAAAAAMg/rIMw0jBYxdg/s400/tsvn10.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371539339110343986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;Notes: The IP Address in this documentation cannot be accessed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-8820853100481332289?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8820853100481332289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/8820853100481332289'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/08/tortoisesvn-in-pc.html' title='TortoiseSVN in PC'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p45O30CuA0A/SouGe31lu6I/AAAAAAAAALA/pTZNdWgWRaM/s72-c/tsvn0.jpeg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-1302823822822242673</id><published>2009-04-16T01:16:00.000-07:00</published><updated>2009-04-16T01:29:33.837-07:00</updated><title type='text'>Clone virtual server.</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;Physical OS: Suse Linux Ent. 11.0 (SLES). &lt;br /&gt;Virtual machine OS: OpenSUSE 11.0&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;This documentation is base on OpenSUSE 11.1 &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When you setup physical server, your system (in this case : xen), will built Domain-0. Inside Domain-0 you can insert virtual server as many as you wish. For the first virtual server, you must install by using CD or by getting it form any source. &lt;br /&gt; The system, let say you want to develop (create) ten virtual server in your physical server, it is not economic (in term of time saving), if you use manual ways. Setting up virtual server (xen for Open SUSE 11.0) on SLES 11.0 is about ten to fifteen minutes. This is my experience doing this technical works. &lt;br /&gt; So, if you can clone the system, you just copy the template of virtual server and then just adjust  the IP address and its name. For xen, this template is located in the /etc/xen/images/&lt;vm_name&gt;/disk0.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;For example; &lt;/strong&gt;&lt;br /&gt;I already created a virtual server named as MYSVR01_01, and I want to create ten vm's named as MYSVR01_02,  MYSVR01_03,.........., MYSVR01_10,  MYSVR01_11.  &lt;br /&gt;&lt;br /&gt;First, to make sure you can fully duplicate the template, you must shutdown the virtual server. If you copy the template while the server is running, you should get the full copy, but at the stage to create virtual machine, you can get an error message: Kernel not found! &lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_p45O30CuA0A/SebqzFG8-LI/AAAAAAAAADo/YOc9SxqbyPE/s1600-h/vm-mngr.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 299px;" src="http://1.bp.blogspot.com/_p45O30CuA0A/SebqzFG8-LI/AAAAAAAAADo/YOc9SxqbyPE/s400/vm-mngr.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325201772677757106" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ok, to duplicate this you must login as root into your system (physical system, in this example, my physical system named as MYSVR01). Then insert this command; &lt;br /&gt;&lt;br /&gt;&lt;em&gt;cd  /etc/xen/images&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;If you check the current template, it will tell you that MYSVR01_01 already there. And inside MYSVR01_01 there is disk0. The disk0 keep all data needed to built new vm. &lt;br /&gt;&lt;br /&gt;Then you can copy disk0 to your vm lists from 02 to 11, by using this command&lt;br /&gt;&lt;br /&gt;&lt;em&gt;list='MYSVR01_02 MYSVR01_03 MYSVR01_04 MYSVR01_05 MYSVR01_06 MYSVR01_07 MYSVR01_08 MYSVR01_09 MYSVR01_010 MYSVR01_11'&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Then do this command&lt;br /&gt;&lt;em&gt;for i in $list; do cp -r MYSVR01_01 $i done &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Then you must wait a moment until disk0 is duplicated in each vm folder. &lt;br /&gt;&lt;br /&gt;When the work done, turn to root, by typing &lt;br /&gt;&lt;br /&gt;&lt;em&gt;cd  /etc &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;then &lt;br /&gt;&lt;br /&gt;&lt;em&gt;cd .. &lt;/em&gt;&lt;br /&gt;&lt;br /&gt; Insert command &lt;br /&gt;&lt;br /&gt;&lt;em&gt;yast2 &amp; &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;And select, Create Virtual machine. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p45O30CuA0A/Sebq_RKqdSI/AAAAAAAAADw/Nz4ffZwv0Gg/s1600-h/create-vm0.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 334px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/Sebq_RKqdSI/AAAAAAAAADw/Nz4ffZwv0Gg/s400/create-vm0.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325201982072976674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then select 'I have a disk or disk image from an installed operating system'&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_p45O30CuA0A/SebrkGhmoUI/AAAAAAAAAD4/7jkXyy5jq5U/s1600-h/vm-step-2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 334px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/SebrkGhmoUI/AAAAAAAAAD4/7jkXyy5jq5U/s400/vm-step-2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325202614871564610" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then click forward, select the OS type. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_p45O30CuA0A/Sebryso0lnI/AAAAAAAAAEA/6fmKx9dZjKI/s1600-h/vm-step-3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 359px; height: 400px;" src="http://3.bp.blogspot.com/_p45O30CuA0A/Sebryso0lnI/AAAAAAAAAEA/6fmKx9dZjKI/s400/vm-step-3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325202865620555378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click forward, then write your setup for new virtual machine, such as name, memory, and Disk. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p45O30CuA0A/Sebr8nUxbqI/AAAAAAAAAEI/0yR9gzfmktE/s1600-h/vm-step-4.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 360px; height: 400px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/Sebr8nUxbqI/AAAAAAAAAEI/0yR9gzfmktE/s400/vm-step-4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325203035992977058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Important! &lt;/strong&gt;&lt;br /&gt;For Disk, please select hardisk, and find the template disk named as disk0 in the directory  MYSVR01_02.&lt;br /&gt;&lt;br /&gt;Then click OK. &lt;br /&gt;&lt;br /&gt;Virtual machine console will be automatically run, and until you reach the login part for that virtual machine. &lt;br /&gt;&lt;br /&gt;After signing in, just type command yast. And the blue windows will appear. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p45O30CuA0A/SebsLVS2uuI/AAAAAAAAAEQ/BLmY_WdZ5Kk/s1600-h/vm-step-5.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 330px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SebsLVS2uuI/AAAAAAAAAEQ/BLmY_WdZ5Kk/s400/vm-step-5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5325203288851135202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Select Network Device and then Network Setting. &lt;br /&gt;Just rename the hostname, IP Address, and other necessary data in this windows. &lt;br /&gt;&lt;br /&gt;When you replaced all needed part, you can check the configuration by using this command:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;ifconfig&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;At this stage, the command prompt still remain as the old name, but when you exit (command: &lt;em&gt;exit&lt;/em&gt;), the prompt name will be changed to the new name. &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-1302823822822242673?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1302823822822242673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/1302823822822242673'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/04/clone-virtual-server.html' title='Clone virtual server.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_p45O30CuA0A/SebqzFG8-LI/AAAAAAAAADo/YOc9SxqbyPE/s72-c/vm-mngr.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-3011725291762772374</id><published>2009-04-06T20:19:00.000-07:00</published><updated>2010-02-28T18:21:11.938-08:00</updated><title type='text'>Liferay 5.2.2 : How to setup username and password with 'test'.</title><content type='html'>&lt;div align="justify"&gt;Why did you failed to sign in as usual (test@liferay.com)?&lt;br /&gt;In Liferay 5.1.2 you can login as test@liferray.com and the default password also 'test'.&lt;br /&gt;&lt;br /&gt;For the newest version that is Liferay 5.2.2, the current username is bruno@7cogs.com and password is 'bruno'. However, we can still manipulate this data to login as test@liferay.com and its password as 'test'. How? &lt;br /&gt;&lt;br /&gt;First, we must edit file portal-ext.properties (C:\liferay\tomcat\webapps\ROOT\WEB-INF\classes). If the file not exist, just create it by using write editor (example: notepad), and save it as ' portal-ext.properties'. Inside this file, you must put these values. &lt;br /&gt;&lt;div style="background:grey; font-color:white;"&gt;&lt;br /&gt;default.landing.page.path=/web/guest/home&lt;br /&gt;&lt;br /&gt;locales=en_US, ms_MY&lt;br /&gt;# the term of language can be set as your own. &lt;br /&gt;&lt;br /&gt;locale.default.request=true&lt;br /&gt;theme.css.fast.load=false&lt;br /&gt;javascript.fast.load=false&lt;br /&gt;layout.template.cache.enabled=false&lt;br /&gt;velocity.engine.resource.manager.cache.enabled=false&lt;br /&gt;theme.shortcut.icon=infra.png&lt;br /&gt;company.default.web.id=skali.net&lt;br /&gt;#this id also can be renamed or just keep it as liferay.com. In my case, I will use the domain name as skali.net, but the username and passwoord remain as 'test'.&lt;br /&gt;&lt;br /&gt;#after /localhost, you can use any database name. And all data will be populated in your database. &lt;br /&gt;jdbc.default.driverClassName=com.mysql.jdbc.Driver&lt;br /&gt;jdbc.default.url=jdbc:mysql://localhost/liferay?useUnicode=true&amp;characterEncoding=UTF-8&amp;useFastDateParsing=false&lt;br /&gt;&lt;br /&gt;#this is the username and pasword to access your mysql database.&lt;br /&gt;jdbc.default.username=root&lt;br /&gt;jdbc.default.password=root&lt;br /&gt;&lt;br /&gt;schema.run.enabled=true&lt;br /&gt;schema.run.minimal=true&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;How to customise your page?&lt;/strong&gt; That means we dislike to see previous works from 7cogs. &lt;br /&gt;Ok, just remove folder sevencogs-hook in the webapss. (C:\liferay\tomcat\webapps). &lt;br /&gt;Restart your liferay server. (statrup.bat / startup.sh – depend on your system platform.)&lt;br /&gt;&lt;br /&gt;Then your page will be like this. See figure below. &lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_p45O30CuA0A/SdrG7cmyh2I/AAAAAAAAADI/Q0yz846m2Q0/s1600-h/lr5.2.2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 117px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/SdrG7cmyh2I/AAAAAAAAADI/Q0yz846m2Q0/s400/lr5.2.2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5321784634285131618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br&gt;Still have problem with Sevencog Theme?&lt;br&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p45O30CuA0A/S4skQBV6UEI/AAAAAAAAAaQ/Dise9QL1NIk/s1600-h/install_liferay.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 369px;" src="http://4.bp.blogspot.com/_p45O30CuA0A/S4skQBV6UEI/AAAAAAAAAaQ/Dise9QL1NIk/s400/install_liferay.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443484432264220738" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-3011725291762772374?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3011725291762772374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/3011725291762772374'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/04/liferay-522-how-to-setup-username-and.html' title='Liferay 5.2.2 : How to setup username and password with &apos;test&apos;.'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_p45O30CuA0A/SdrG7cmyh2I/AAAAAAAAADI/Q0yz846m2Q0/s72-c/lr5.2.2.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-9079259979267592604</id><published>2009-03-09T19:24:00.000-07:00</published><updated>2009-03-18T20:26:36.131-07:00</updated><title type='text'>Open Source Review</title><content type='html'>&lt;div align="justify"&gt;&lt;br /&gt;&lt;p&gt;Nowadays people in IT or ICT companies like to talk about &lt;a href="http://www.webopedia.com/DidYouKnow/Computer_Science/2005/open_source.asp" target="_blank"&gt;Open Source&lt;/a&gt;. It is a good practice to use open source software as an alternative to reduce budget. In Malaysia, the phrase of 'Open Source' turned to a popular term when MSC or next to be MSC company impelement it to their operation. There're many reports that support its usage. Open Source Master Plan by MAMPU is the influenced and authenticate party to support this matter. Somehow, there is a 'war' between open source and free software. You can &lt;a href="http://www.gnu.org/philosophy/free-software-for-freedom.html" target="_blank"&gt;refer this article to understand the scenario&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;#-#--#-#-#--#-#-#--#-#-#--#-#-#--#-#-#--#-#-#--#-#-#--#-#-#--#&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Most popular open source links are listed below&lt;br&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.apphit.com/" target="_blank"&gt;Open Source and Free Software&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.opensourcemac.org/" target="_blank"&gt;Open Source Mac &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.opensourcewindows.org/" target="_blank"&gt;Open Source Windows &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.osalt.com/" target="_blank"&gt;Open Source for Commercial &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.bugzilla.org/about/" target="_blank"&gt;Open Source Buck Tracking System &lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.opensource.org/docs/definition.php" target="_blank"&gt;Open Source Definition&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mampu.gov.my/perkhidmatan/opensource" target="_blank"&gt;Malaysia's Open Source&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.iosn.net/" target="_blank"&gt;International Open Source Network&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-9079259979267592604?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/9079259979267592604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/9079259979267592604'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/03/open-source-review.html' title='Open Source Review'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-2630561754027538011.post-4225555022211247106</id><published>2009-02-25T17:15:00.000-08:00</published><updated>2009-02-25T17:17:53.832-08:00</updated><title type='text'>Liferay portlet using Eclipse</title><content type='html'>&lt;div align="justify"&gt;&lt;p&gt;How to create liferay portlet using IDE Eclipse? Here the sample and source code. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;You can download &lt;a href="http://downloads.sourceforge.net/lportal/sample-struts-liferay-portlet-5.2.0.1.war?use_mirror=internap" target="_blank"&gt;struts war here&lt;/a&gt;  and &lt;br /&gt;You can get the current &lt;a href="http://svn.liferay.com/repos/public/plugins/trunk/portlets/sample-struts-liferay-portlet/" target="_blank"&gt;sourcecode for all plugins&lt;/a&gt; in SVN, at  using any svn client.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;Source: &lt;a href="http://issues.liferay.com" target="_blank"&gt;Issues Liferay &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2630561754027538011-4225555022211247106?l=hanafiisa.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/4225555022211247106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2630561754027538011/posts/default/4225555022211247106'/><link rel='alternate' type='text/html' href='http://hanafiisa.blogspot.com/2009/02/liferay-portlet-using-eclipse.html' title='Liferay portlet using Eclipse'/><author><name>Naim</name><uri>http://www.blogger.com/profile/00783776422645436517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://pd.xanga.com/d2/6e/d26e42b3e2ef58348b5cfa139111daf413955565.jpg'/></author></entry></feed>
