четверг, 10 июня 2010 г.

Настройка development environment для Liferay

  В Liferay используется две схемы расширения функциональности портала - это extension environment (для адаптирования встроенных портлетов) и Plugins SDK (для создания независимых от liferay портлетов).
  Используется eclipse c плагином subclipe, apache-tomcat 6.x, postgresql-8.4.x и liferay-5.2.x. Предполагается, что томкат находится в папке Liferay-portal, для удобства используем environment variable $LIFERAY_PORTAL.
  1. Открываем окно в eclipse SVN Repositories, добавляем svn://svn.liferay.com/repos/public. Логин guest, пароль пустой.
  2. Делаем checkout исходных кодов портала в отдельный проект portal из svn://svn.liferay.com/repos/public/branches/5.2.x.
  3. Добавляем в файл $TOMCAT_DIR/conf/catalina.properties через запятую ${catalina.home}/lib/ext/*.jar в common.loader для того, чтобы томкат при старте подгрузил библиотеки, нужные liferay.
  4. Выставляем опции для JVM при запуске томката в файле $TOMCAT_DIR/bin/setenv.sh (setenv.bat):
    JAVA_OPTS="$JAVA_OPTS -Xms128m -Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF8 -Duser.timezone=GMT"
    
  5. Создаем файл app.server.${username}.properties в корне проекта портала для переопределения некоторых настроек сервера и вносим туда следующую строчку:
    app.server.tomcat.dir=$TOMCAT_DIR
    
  6. Компилируем портал и модифицируем томкат для запуска liferay:
    ant clean 
    ant start
    
  7. Генерируем extension environment(для кастомизации портала):
    ant build-ext
    
  8. Импортируем проект ext в эклипc.
  9. Копируем в корень проекта ext файл app.server.${username}.properties.
  10. Редактируем файл ext/ext-impl/src/portal-ext.properties - здесь переопределяем настройки портала:
    jdbc.default.jndi.name=jdbc/LiferayPool
    login.create.account.allow.custom.password=true #
    schema.run.enabled=true # Опции для генерации
    schema.run.minimal=true # схемы базы данных
    
  11. Регистрируем подключение к базе данных в томкате, создаем файл $TOMCAT_DIR/conf/Catalina/localhost/ROOT.xml (используем data base connection pool):
    <Context path="" crossContext="true">
           <Resource
                     name="jdbc/LiferayPool"
                     auth="Container"
                     type="javax.sql.DataSource"
                     driverClassName="org.postgresql.Driver"
                     url="jdbc:postgresql:lportal"
                     username="liferay"
                     password="password"
                     maxActive="100"
                     maxIdle="30"
                     maxWait="10000"
              />
    </Context>
    
  12. Деплоим портал из проекта ext:
    ant deploy
    
  13. Запускаем томкат.