사용 오픈소스와 견주어도 손색이 없는 오픈소스 포털인 Liferay Portal을 정리한다.


CentOS에서 Liferay Portal 설치



빠른 설치 가이드


  • 다운로드 사이트에서 "Liferay Portal Standard Edition"에 있는 "Download" 이미지를 선택하여 설치 파일을 다운로드 한다.
    • 위 화면 하단에 있는 "Bundled with Tomcat 6.0"을 선택하여 "liferay-portal-tomcat-6.0-5.2.3.zip" 파일을 다운로드 하여도 동일 하다.
    • 다운로드한 파일에는 tomcat 6.0.5와 DBMS가 내장되어 있어 자체 구동이 가능하다. 700px|설치 프로그램 다운로드

  • 다운로드한 "liferay-portal-tomcat-6.0-5.2.3.zip" 파일의 압축을 풀어 d:/www/liferay/ 폴더 아래에 둔다.

  • d:/www/liferay/tomcat-6.0.18/bin/ 폴더에 있는 startup.bat 파일을 실행하여 Liferay Portal을 기동 한다.
    • Tomcat이 정상 기동이 안될 경우 다음을 확인 한다.
      set CATALINA_HOME=d:/www/liferay/tomcat-6.0.18   #--- CATALINA_HOME 환경 변수 설정을 확인 한다.
      set JAVA_OPTS=                                   #--- JAVA_OPTS 설정을 확인 한다.
    • 첫 실행시에 DB Table등 필요한 설정이 진행 된다.
    • 종료할 경우에는 shutdown.bat 파일을 실행 한다.

  • http://localhost:8080/으로 접속하면 Liferay Portal에 접속 할 수 있다.

설치 가이드


이미 Apache Tomcat과 MySQL 등이 설치되어 있다면, 이미 설치된 소프트웨어를 재활용 해보자.
빠른 설치 가이드에서 설치된 파일을 참조하여 설치를 한다.


설치전 사전 준비 사항

  • [Java SE Development Kit 6](JDK 6.0.md) 설치: Java 컴파일 및 실행 도구
  • [MySQL Community Server 5.0.51](MySQL 5.0.51.md) 설치
    • [MySql Tools for 5.0](MySql Tools for 5.0.md) 설치
    • phpMyAdmin 설치 (옵션 사항으로 필요시 설치)
  • [Apache HTTP Server 2.2.8](Apache HTTP Server 2.2.8.md) 설치
    Document Root를 d:/www 로 설정 한다.
  • [Apache Tomcat 6.0.16](Apache Tomcat 6.0.16.md) 설치
    • [Tomcat Connectors 1.1.26](Tomcat Connectors 1.1.26.md)
      주의 : '''Apache Tomcat이 설치된 디렉토리 명에 space가 포함되면 향후 deploy시 오류가 발생 한다.'''
      편의상 Tomcat ROOT를 d:/www 로 설정 한다.
      실 운영 환경에서는 Apache HTTP Server의 Document Root와는 다른 폴더를 사용해야 한다.

    • Apache Tomcat ROOT를 "d:/www"로 변경 한다.
      • ${TOMCAT_HOME}/conf/server.xml에서 다음과 같이 변경 한다.
      • d:/www/ROOT : Apache Tomcat의 ROOT 폴더 (예, http://localhost:8080/으로 접근시 d:/www/ROOT/와 연결됨)
      • d:/www/ : Apache Tomcat의 appBase (예, http://localhost:8080/aaa/로 접근시 d:/www/aaa/와 연결됨)
        #--- 아래 부분을
        
        #--- 아래와 같이 변경 한후 Tomcat을 재기동 한다.
        
        ''''''


  • Jikes 설치 : IBM의 Java 컴파일러
  • [Apache ANT 1.7](Apache ANT.md) 설치: Java 프로그램 Build 도구
    ANT_OPTS=-Xms256M -Xmx512M 환경 변수를 설정 한다.
  • Eclipse IDE for Java EE Developers 설치 : Java 통합 개발 도구



Liferay용 DB 설정

{{MySQL DB 설정|Liferay Portal|liferaydb|liferay}}


Liferay Portal 설치

  • 다운로드 사이트에서 "Liferay Portal Standard Edition"에 있는 "Download" 이미지를 선택하여 설치 파일을 다운로드 한다.

    • 위 화면 하단에 있는 "Bundled with Tomcat 6.0"을 선택하여 "liferay-portal-tomcat-6.0-5.2.3.zip" 파일을 다운로드 하여도 동일 하다.
  • 다운로드한 "liferay-portal-tomcat-6.0-5.2.3.zip" 파일의 압축을 풀어 d:/zztemp/liferay/ 폴더 아래에 둔다.



  • Liferay Portal의 Web Application을 복사 한다.

    d:/zztemp/liferay/tomcat-6.0.18/webapps/ROOT/ 폴더를 d:/www/ROOT/ 로 복사 한다.
    d:/zztemp/liferay/tomcat-6.0.18/webapps/tunnel-web/ 폴더를 d:/www/tunnel-web/ 로 복사 한다.


  • d:/www/ROOT/WEB-INF/classes/portal-ext.properties에 다음을 추가하여 Database를 설정 한다.

    #--- Database Pool을 사용할 경우
    ### jdbc.default.jndi.name=jdbc/LiferayPool
    
    #--- Database에 JDBC를 사용하여 직접 접속할 경우
    #--- liferaydb : Liferay Portal에서 사용할 Database 명
    #--- liferay : liferaydb를 사용하는 DB 사용자 아이디
    jdbc.default.driverClassName=com.mysql.jdbc.Driver
    jdbc.default.url=jdbc:mysql://localhost/'''liferaydb'''?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
    jdbc.default.username='''liferay'''
    jdbc.default.password=암호


  • Tomcat의 라이브러리, 환경 설정 등을 한다.

    d:/zztemp/liferay/tomcat-6.0.18/lib/ext/ 폴더를  ${TOMCAT_HOME}/lib/ext/로 복사 한다.
    d:/zztemp/liferay/tomcat-6.0.18/conf/jaas.config 파일을  ${TOMCAT_HOME}/conf/jaas.config로 복사 한다.
    d:/zztemp/liferay/tomcat-6.0.18/conf/Catalina/localhost/ROOT.xml 파일을  ${TOMCAT_HOME}/conf/Catalina/localhost/ROOT.xml로 복사 한다.

    - ${TOMCAT_HOME}/conf/catalina.properties 파일을 열어 다음과 같이 수정 한다.
    ``` #--- common.loader에 ${catalina.home}/lib/ext/*.jar를 추가함 common.loader=${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/lib/ext/*.jar ```
    - ${TOMCAT_HOME}/conf/tomcat-users.xml 파일을 열어 다음과 같이 수정 한다.
    ``` 로 변경 한다. ```

  • Linux 환경에서 관련 파일의 사용자 및 권한 변경

    chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/ROOT
    chown -R tomcat6:tomcat6 /var/lib/tomcat6/webapps/tunnel-web
    chown -R tomcat6:tomcat6 /var/lib/data
    chown -R tomcat6:tomcat6 /var/lib/deploy
    
    chown -R tomcat6:tomcat6 /var/lib/tomcat6/work/Catalina
    chown -R tomcat6:tomcat6 /var/log/tomcat6
    chown -R tomcat6:tomcat6 /var/cache/tomcat6


  • Tomcat 운영 환경을 설정 한다.

    • Linux 운영체제인 CentOS의 경우 /usr/bin/dtomcat5 파일을 적절하게 수정하면 된다.
      ``` #--- Apache Tomcat 6 Properties 화면을 띄운다. #--- Java 탭의 Java 옵션에 다음과 같이 설정 한다. #--- (${TOMCAT_HOME} 대신에 실제 폴더 path를 넣을 것)
    • Dcatalina.home=${TOMCAT_HOME}
    • Dcatalina.base=${TOMCAT_HOME}
    • Djava.io.tmpdir=${TOMCAT_HOME}/temp
    • Djava.security.auth.login.config=${TOMCAT_HOME}/conf/jaas.config
    • Djava.endorsed.dirs=${TOMCAT_HOME}/endorsed
    • Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    • Djava.util.logging.config.file=${TOMCAT_HOME}/conf/logging.properties
    • Xms128m
    • Xmx512m
    • XX:MaxPermSize=128m
    • Duser.timezone=GMT
    • Dfile.encoding=8859_1
    • Dfile.client.encoding=8859_1
    • Dclient.encoding.override=8859_1 ```
  • Tomcat을 실행하고 http://localhost:8080/에서 test@liferay.com / test 로 로그인 한다.

    • ${TOMCAT_HOME}/../data/jackrabbit/ 폴더가 자동으로 생성 된다.
    • ${TOMCAT_HOME}/../data/lucene/ 폴더가 자동으로 생성 된다.
    • ${TOMCAT_HOME}/../deploy/ 폴더가 자동으로 생성 된다.



EXT 개발 환경 구성


Liferay Portal의 EXT 환경은 Liferay Portal의 소스를 복제한 사용자 정의 환경으로 여기서 프로그램을 수정하여 Tomcat에 deploy할 수 있다.


EXT 제작 및 deploy를 위한 상수 선언

  • ${LIFERAY_SRC} : Liferay Portal의 소스 디렉토리 (예, d:/liferay/liferaySrc)
  • ${LIFERAY_EXT} : Liferay Portal의 사용자 정의를 위한 EXT 복사본 (예, d:/liferay/liferayExt)
  • ${LIFERAY_SDK} : Liferay Portal의 Portlet 등의 개발하기 위한 폴더 (예, d:/liferay/liferaySdk)
  • ${USERNAME} : Windows의 USERNAME에 설정된 환경 변수로 한글일 경우 오류가 발생함 (예, pnuskgh)
  • ${TOMCAT_HOME} : Tomcat이 설치된 폴더 (예, d:/www/liferay/tomcat-6.0.18)
    • 주의 : '''Windows 환경에서는 폴더명에 space가 포함되면 deploy시 오류가 발생 한다.'''



EXT 사전 준비 사항

  • [Java SE Development Kit 6](JDK 6.0.md) 설치: Java 컴파일 및 실행 도구
    JAVA_OPTS=-Xlint:deprecation -Xlint:unchecked 환경 변수를 설정 한다.
  • Jikes 설치 : IBM의 Java 컴파일러
  • [Apache ANT 1.7](Apache ANT.md) 설치: Java 프로그램 Build 도구
    ANT_OPTS=-Xms256M -Xmx512M 환경 변수를 설정 한다.
  • Eclipse IDE for Java EE Developers 설치 : Java 통합 개발 도구
  • [Liferay의 빠른 설치 가이드](Liferay.md#빠른 설치 가이드.md)에 따라 Liferay Portal 설치
    • 사용자 개발 환경인 EXT에서 수정한 소스를 여기로 deploy 한다.



EXT 제작

  • [http://sourceforge.net/project/showfiles.php?group_id=49260 다운로드 사이트]에서 liferay-portal-ext-5.2.3.zip 파일을 다운로드 한다.
    • liferay-portal-ext-5.2.3.zip 파일의 압축을 풀어 ${LIFERAY_SRC}에 복사 한다.

  • ${LIFERAY_SRC}/build.${USERNAME}.properties 파일을 생성 한다.
    • ${LIFERAY_SRC} 폴더에서 build.properties 파일을 복사하여 build.${USERNAME}.properties을 만든다.
    • build.${USERNAME}.properties 파일에서 다음과 같이 수정 한다.
      ant.build.javac.source=1.5
      ant.build.javac.target=1.5
      #--- Jikes 컴파일러로 컴파일하기를 원할 경우 javac.compiler=jikes를 사용 한다.
      javac.compiler=modern      #--- JDK 1.5/1.6 사용
      javac.debug=on
      javac.deprecation=off
      javac.fork=true
      javac.memoryMaximumSize=512m
      javac.nowarn=on

  • ${LIFERAY_SRC}/release.${USERNAME}.properties 파일을 생성 한다.
    • ${LIFERAY_SRC} 폴더에서 release.properties 파일을 복사하여 release.${USERNAME}.properties을 만든다.
    • release.${USERNAME}.properties 파일에서 다음과 같이 수정 한다.
      lp.ext.dir=${project.dir}/../liferayExt

  • Liferay Portal을 컴파일하고 사용자 정의를 위한 EXT 복사본을 만든다.
    • EXT 복사본은 위에서 지정한 lp.ext.dir 폴더에 생성 된다.
    • EXT 복사본은 실제 소스를 수정하기 위해서 사용되는 소스로 실제 수정은 여기서 하고 Tomcat 등에 deploy 한다.
    • EXT 복사본을 만들기 위해 ${LIFERAY_SRC} 폴더에서 다음 명령을 수행 한다.
      ant clean start build-ext
    • 위 명령 수행시 다음과 같은 오류가 발생할 경우, %JAVA_HOME%/jre/lib/ext/servlet-api.jar 파일을 삭제한 후 다시 수행 한다.
      #--- 아래는 에러 메시지 임
      public class LiferayServletContext implements ServletContext {
      [javac](javac.md) D:\www_product\projectLiferay\liferaySrc\portal-impl\src\
      com\liferay\portal\apache\bridges\struts\LiferayServletContext.java:45: 
      com.liferay.portal.apache.bridges.struts.LiferayServletContext 
      '''is not abstract and does not override abstract method''' getContextPath() in javax.servlet.ServletContext


  • Liferay Portal의 소스 수정은 원본 파일을 변경하지 않고 위에서 생성한 EXT 복사본에서 수정을 한다.



EXT deploy

  • ${LIFERAY_EXT}/app.server.${USERNAME}.properties 파일을 생성 한다.

    • ${LIFERAY_EXT} 폴더에서 app.server.properties 파일을 복사하여 app.server.${USERNAME}.properties을 만든다.
    • app.server.${USERNAME}.properties 파일에서 다음과 같이 수정 한다.
      app.server.type=tomcat
      app.server.parent.dir=d:/www/liferay               #--- 빠른 설치 가이드에 따라 설치된 liferay 폴더
      

    app.server.tomcat.version=6.0 app.server.tomcat.dir=${app.server.parent.dir}/tomcat-6.0.18 app.server.tomcat.portal.context=ROOT ```


  • Liferay Portal의 EXT 복사본을 컴파일하여 Tomcat에 deploy 한다.

    • EXT 복사본을 deploy하기 위해 ${LIFERAY_EXT} 폴더에서 다음 명령을 수행 한다.
      ant clean deploy

  • http://localhost:8080/test@liferay.com / test 로 로그인하여 사용 한다.




EXT용 Eclipse 환경

  • [Eclipse 설치 가이드](Eclipse.md#설치 가이드.md)를 참조하여 Eclipse Java EE IDE for Web Developers Version 3.5.0을 설치 한다.

  • Liferay Portal EXT 개발 환경을 Eclipse에 Project로 import 한다.
    • "File -> New -> Project ... -> Java -> Java Project"를 선택한 후 "Next" 버튼을 선택 한다.
    • 다음과 같이 설정한 후 "Finish" 버튼을 누른다.
      • Project Name : liferayExt
      • "Create project from existing source" 선택
      • Directory로 "d:/liferay/liferayExt"를 선택 한다.
        ![Liferay Portal EXT Import](img/Liferay eclipse 001.png)
    • Package Explorer에 다음과 같이 LiferayExt가 생성 된다. ![Liferay Portal EXT Import](img/Liferay eclipse 002.png)

  • Eclipse에서 Ant view를 표시하고 build.xml를 가져다 놓아 ant 작업 환경을 생성 한다. "Window -> Show View -> Other ... -> Ant -> Ant" 선택 후 "OK" 버튼을 선택 한다. ![700px|Liferay Portal EXT Import](img/Liferay eclipse 003.png)

  • Ant View에서 Liferay Portal EXT에서 수정한 사항을 deploy하기 위해서는 "deploy"를 더블 클릭 한다.
    ![Liferay Portal EXT deploy](img/Liferay eclipse 004.png)


Plugin 개발 환경 구성


  • [http://sourceforge.net/project/showfiles.php?group_id=49260 다운로드 사이트]에서 liferay-plugins-sdk-5.2.3.zip 파일을 다운로드 한다.

    • liferay-plugins-sdk-5.2.3.zip 파일의 압축을 풀어 ${LIFERAY_SDK}에 복사 한다.

  • ${LIFERAY_SDK}/build.${USERNAME}.properties 파일을 생성 한다.

    • ${LIFERAY_SDK} 폴더에서 build.properties 파일을 복사하여 build.${USERNAME}.properties을 만든다.
    • build.${USERNAME}.properties 파일에서 다음과 같이 수정 한다.
      #--- 여기서 "d:/www/liferay/tomcat-6.0.18"는 ${TOMCAT_HOME} 폴더를 가리킨다.
      app.server.dir=d:/www/liferay/tomcat-6.0.18
      app.server.lib.global.dir=${app.server.dir}/lib/ext
      

    app.server.portal.dir=d:/www/liferay/tomcat-6.0.18//webapps/ROOT app.server.classes.portal.dir=${app.server.portal.dir}/WEB-INF/classes app.server.lib.portal.dir=${app.server.portal.dir}/WEB-INF/lib ```



  • Portlet 생성 및 배포

    cd ${LIFERAY_SDK}/portlets
    ant -Dportlet.name=zztest -Dportlet.display.name="zztest" create
    #--- zztest 포틀릿이 ${LIFERAY_SDK}/portlets/zztest-portlet/ 폴더에 생성 된다.
    ant clean deploy
    #---${TOMCAT_HOME}/../deploy/zztest-portlet-5.2.3.1.war 파일이 생성 된다.


  • Liferay Portal을 다시 실행하여 로그인 하면 zztest-portlet-5.2.3.1.war 파일이 자동으로 deploy 된다.

    • ${TOMCAT_HOME}/webapps/zztest-portlet/로 deploy 된다.
    • Tomcat ROOT 폴더를 변경 하였을 경우 위 zztest-portlet 폴더를 변경한 Tomcat ROOT 폴더 아래로 복사 한다.



사용자 가이드



관련 오픈소스 명세

{| cellspacing="1" cellpadding="1" border="1" width="100%" |- |width="30%" bgcolor="cyan" align="center" valign="middle"|오픈소스 |width="20%" bgcolor="cyan" align="center" valign="middle"|라이선스 |width="50%" bgcolor="cyan" align="center" valign="middle"|상세 설명 |- |Hibernate |align="center"| |Database 접속 라이브러리 |- |Alfresco |align="center"| |ECM (Enterprise Content Management), CMS |- |jBPM |align="center"| |BPM (Business Process Management) |- |ServiceMix |align="center"| |ESB (Enterprise Service Bus) |- |Mule |align="center"| |ESB (Enterprise Service Bus) |- |Google Analytics |align="center"| |Monitoring |- |OpenSSO |align="center"| |SSO (Single-Sign-On) |- |Pentaho |align="center"| |BI (Business Intelegence) |}


관리자 가이드



Liferay Portal 주요 기능

  • 메일 : SMS Text Messenger
  • 블로그 : Blog, Asset Publisher, RSS, Twitter
  • 위키 : Wiki
  • 문서 관리 : Document Library
  • 일정 관리 : Calendar
  • 게시판 : Message Boards
  • 투표 : Pools
  • 이미지 관리 : Image Gallery
  • 기사 : Journal, News
  • 공지 : Announcements, Alerts


한글 설정

  • Deploy된 Liferay Portal에서 한글 파일 위치 (권장)
    /ROOT/WEB-INF/classes/content/Language_ko.properties.native
    /ROOT/WEB-INF/classes/content/Language_ko.properties

  • Deploy된 Liferay Portal에서 한글 파일 위치 (jar로 묶었을 경우)
    /ROOT/WEB-INF/lib/portal-impl.jar 파일에서 /content/Language_ko.properties.native 파일
    /ROOT/WEB-INF/lib/portal-impl.jar 파일에서 /content/Language_ko.properties 파일

  • Liferay Portal 소스 파일에서 한글 파일 위치
    /portal-impl/classes/content/Language_ko.properties.native
    /portal-impl/classes/content/Language_ko.properties
    /portal-impl/src/content/Language_ko.properties.native
    /portal-impl/src/content/Language_ko.properties
    /bin/content/Language_ko.properties.native
    /bin/content/Language_ko.properties

  • Liferay Portal에서 한글 언어 설정 방법
    • 상단 "My Account" 메뉴를 선택한 후 우측 "Display Settings" 메뉴를 선택 한다.
    • Language를 "한국어 (대한민국)"을 선택 한다.
    • Time Zone을 "(UTC +09:00) Korea Standard Time"을 선택 한다.
    • 우측 하단의 "Save" 버튼을 선택 한다.


개발자 가이드



Theme Plugins

  • 생성 명령
    cd ~/liferaySdk/themes/
    ./create.sh mytheme "My Theme"
    ant clean deploy

  • Theme 폴더
    build.xml
    docroot/
       WEB-INF/
           liferay-plugin-package.properties
       css/
       images/
       javascript/
       templates/
           '''portal_normail.vm''', '''portal_pop_up.vm'''
           dock.vm, init_custom.vm, navigation.vm, portlet.vm
       _diffs/
           css/
           images/
           javascript/
           templates/

  • Default Theme 폴더
    /usr/local/tomcat/webapps/ROOT/html/themes
    /usr/local/tomcat/webapps/ROOT/html/common/themes
    /usr/local/tomcat/webapps/ROOT/wap/themes
    /usr/local/tomcat/webapps/ROOT/wap/common/themes
    /usr/local/tomcat/webapps/ROOT/html/js/editor/tiny_mce/themes

  • 참조: Developing Templates and Themes using Liferay Portal


Layout Template Plugins

  • 생성 명령
    cd ~/liferaySdk/layouttpl/
    ./create.sh mylayout "my layout"
    ant clean deploy

  • 폴더 구조
    build.xml
    docroot/
       WEB-INF/
           liferay-layout-templates.xml
           liferay-plugin-package.xml
       mylayout.png
       '''mylayout.tpl'''
       '''mylayout.wap.tpl'''

  • Default Layout Template 폴더
    /usr/local/tomcat/webapps/ROOT/layouttpl
    /usr/local/tomcat/webapps/ROOT/html/portal/layout
    /usr/local/tomcat/webapps/ROOT/wap/portal/layout

  • 참조: Layout Template


Portlet Plugins

  • 생성 명령

    cd ~/liferaySdk/portlets/
    ./create.sh myportlet "My Portlet"
    ant clean deploy

  • 폴더 구조

    build.xml
    docroot/
       WEB-INF/
           liferay-display.xml
           liferay-plugin-package.properties
           liferay-portlet.xml
           portlet.xml
           src/com/sample/jsp/portlet/
               JSPPortlet.java
           tld/
               liferay-portlet-ext.tld
               liferay-portlet.tld
               liferay-security.tld
               liferay-theme.tld
               liferay-ui.tld
               liferay-util.tld
           web.xml
       css/
           test.css
       js/
           test.js
       icon.png
       view.jsp

  • Default Portlet 폴더

    /usr/local/tomcat/webapps/ROOT/html/portlet/
    /usr/local/tomcat/webapps/ROOT/html/taglib/portlet/

  • JSPPortlet

    • com.liferay.util.bridges.jsp.JSPPortlet <-- LiferayPortlet <-- GenericPortlet
      viewJSP = getInitParameter("view-jsp");
      editJSP = getInitParameter("edit-jsp");
      helpJSP = getInitParameter("help-jsp");
      

    aboutJSP = getInitParameter("about-jsp"); configJSP = getInitParameter("config-jsp"); editDefaultsJSP = getInitParameter("edit-defaults-jsp"); editGuestJSP = getInitParameter("edit-guest-jsp"); previewJSP = getInitParameter("preview-jsp"); printJSP = getInitParameter("print-jsp"); ```


  • Portlet에서 호출 순서

    /usr/local/tomcat/webapps/ROOT/html/common/init.jsp
    /usr/local/tomcat/webapps/ROOT/html/common/init-ext.jsp
    /usr/local/tomcat/webapps/ROOT/html/portlet/init.jsp
    /usr/local/tomcat/webapps/ROOT/html/portlet/init-ext.jsp
    /usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/init.jsp
    /usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/view.jsp
    
    /usr/local/tomcat/webapps/ROOT/html/portlet/css_init.jsp
    /usr/local/tomcat/webapps/ROOT/html/portlet/samplePortlet/css.jsp

  • Portlet내의 jsp 파일 종류

    init.jsp : 모든 화면에서 호출되는 공통 jsp
    
    '''view.jsp''' : 보기 화면, Java Portlet Specification 2.0
    '''edit.jsp''' : 편집 화면, Java Portlet Specification 2.0
    '''help.jsp''' : 도움말 화면, Java Portlet Specification 2.0
    
    configuration.jsp : 설정 화면
    search.jsp : 검색 화면
    ~_action.jsp : 명령 실행용 jsp
    error.jsp : 에러 화면
    css.jsp

  • 참고 문헌


Hook Plugins


Web Plugins


참고 문헌


참고 문헌


공유하기