Liferay Port 80

Default port Liferay Portal adalah 8080, untuk mengganti Port Liferay Portal dari port 8080 ke port 80 ternyata cukup mudah (setelah pencarian kesana-kemari), berikut ini caranya :

  1. Masuk ke direktori conf yang ada di direktori dimana kalian install Liferay. Untuk studi kasus saya ada di /opt/liferay-portal-6.2-ce-ga6/tomcat-7.0.62/conf.
  2. Di dalam folder tersebut ada file server.xml, buka dan edit file tersebut.
  3. Setelah itu rubah port connector 8080 menjadi 80, lihat perubahan kode dibawah ini :
    <Connector port="8080" protocol ...
    rubah menjadi
    <Connector port="80" protocol ...

    BEFORE

    AFTER

  4. Simpan file tersebut, kemudian restart server Liferay menggunakan file shutdown.sh untuk mematikan Server Liferay, dan startup.sh untuk menghidupkan Server Liferay. Kedua file tersebut ada di folder bin/ yang ada di dalam folder Tomcat.
  5. Selesai.

Semoga bermanfaat :mrgreen:

Menampilkan Gambar di Theme dan Custom Portlet Liferay

Bagi yang sudah terbiasa membangun website PHP, Java atau sekedar HTML postingan ini pasti terasa sepele dan kurang berbobot, namun pendapat itu akan berbalik 180o ketika yang membaca ini sedang riset dan belajar lebih banyak tentang Liferay Portal.

Membangun sebuah website menggunakan Liferay menurut saya termasuk cukup sulit, memahami konsep dari semua bagiannya dan menyusun bagian-bagian tersebut sehingga dapat terbentuk sebuah website yang sesuai keinginan, ada namanya Portlet, Hook, Service Builder, Theme / Template dan sebagainya. Lebih membuat kesulitan lagi referensi yang tersedia belum begitu banyak. Continue reading

Java – Get Current URL in Liferay

Di Liferay ada beberapa macam URL yang bisa dimanfaatkan untuk keperluan membuat Custom Portlet atau modifikasi lainnya. Berikut adalah contoh source code untuk mengambil / mendapatkan beberapa jenis URL di Liferay :

[code language=”java”]
HttpServletRequest servletRequest = PortalUtil.getHttpServletRequest(request);
String currentCompleteUrl = PortalUtil.getCurrentCompleteURL(servletRequest);

try {
String renderCurrentURL = PortalUtil.getCurrentURL(request);
String servletRequestCurrentURL = PortalUtil.getCurrentURL(servletRequest);
String canonicalURL = PortalUtil.getCanonicalURL(currentCompleteUrl, themeDisplay, themeDisplay.getLayout());
String homeURL = PortalUtil.getHomeURL(servletRequest);
String currentPageURL = PortalUtil.getPortalURL(themeDisplay)+themeDisplay.getLayout().getFriendlyURL();
String portalUrl = PortalUtil.getPortalURL(request);
String servletRequestPortalUrl = PortalUtil.getPortalURL(servletRequest);
String themedisplayPortalUrl = PortalUtil.getPortalURL(themeDisplay);
String themedisplaylayoutPortalUrl = PortalUtil.getPortalURL(themeDisplay.getLayout(), themeDisplay);
String portalWebDir = PortalUtil.getPortalWebDir();
String portalLibDir = PortalUtil.getPortalLibDir();

System.out.println("currentCompleteUrl: "+currentCompleteUrl);
System.out.println("renderCurrentURL: "+renderCurrentURL);
System.out.println("servletRequestCurrentURL: "+servletRequestCurrentURL);
System.out.println("canonicalURL: "+canonicalURL);
System.out.println("homeURL: "+homeURL);
System.out.println("currentPageURL: "+currentPageURL);
System.out.println("portalUrl: "+portalUrl);
System.out.println("servletRequestPortalUrl: "+servletRequestPortalUrl);
System.out.println("themedisplayPortalUrl: "+themedisplayPortalUrl);
System.out.println("themedisplaylayoutPortalUrl: "+themedisplaylayoutPortalUrl);
System.out.println("portalWebDir: "+portalWebDir);
System.out.println("portalLibDir: "+portalLibDir);
} catch (Exception e) {
e.printStackTrace();
}
[/code]

Source code java tersebut diatas silahkan dimasukkan ke dalam Package di environment development Liferay kalian. Dan jangan lupa mengganti atau menghapus System.out.println(); jika ingin deploy ke Liferay Portal kalian. Script tersebut hanya digunakan jika kalian perlu menampilkan langsung di console sebelum deploy ke server.
Berikut contoh hasil dari source diatas :

[code language=”java”]
/**
currentCompleteUrl: http://localhost:8080/organization?selectedCard=Organization&cardViewState=Listview
renderCurrentURL: /organization?selectedCard=Organization&cardViewState=Listview
servletRequestCurrentURL: /organization?selectedCard=Organization&cardViewState=Listview
canonicalURL: http://localhost:8080/organization?selectedCard=Organization&cardViewState=Listview
homeURL: http://localhost:8080/web/guest
currentPageURL: http://localhost:8080/organization
portalUrl: http://localhost:8080
servletRequestPortalUrl: http://localhost:8080
themedisplayPortalUrl: http://localhost:8080
themedisplaylayoutPortalUrl: http://localhost:8080
portalWebDir: /opt/liferay/tomcat-7.0.42/webapps/ROOT/
portalLibDir: /opt/liferay/tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/
**/
[/code]

Semoga bermanfaat 🙂

Check If User Already Login in Liferay

Ada beberapa metode / cara untuk mengecek apakah user dalam posisi login (signed in) atau belum di Liferay Portal. Bisa melalui JSP, VM File (Template / Theme), Java, Web Content Template dan Javascript, berikut detail dari masing-masing metode diatas untuk melakukan pengecekan apakah user Liferay Portal sudah login atau belum.

VM File (Template / Theme Code)
[code language=”html”]
#if (!$is_signed_in)
SUDAH LOGIN
#else
BELUM LOGIN
#end[/code]

JSP File (Portlet)
[code language=”html”]
<!– Import Object From Theme –>
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects />

<!– Sample –>
<%
String kgScreenName = "";
if (themeDisplay.isSignedIn()) {
kgScreenName = UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)).getScreenName();
}
%>

<div><%=kgScreenName%></div>
[/code]

Java
[code language=”java”]
ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
boolean signedIn = themeDisplay.isSignedIn();
[/code]
kemudian kalian bisa manfaatkan variabel signedIn diatas untuk keperluan file jsp di portlet yang kalian punya dengan cara berikut :
[code language=”html”]
<% String signedIn = (String) request.getAttribute("signedIn"); %>
[/code]

Web Content Template
[code language=”html”]
#set ($isSignedIn = $request.get("remote-user"))
#if ($isSignedIn!=”)
#else
#end
[/code]

Javascript
[code language=”javascript”]
$(document).ready(function(){
if((Liferay.ThemeDisplay.isSignedIn())){
alert(‘Sudah Login’);
}
});
[/code]

Semoga bermanfaat 🙂