четверг, 26 июля 2012 г.

Liferay. Please enter a valid XML URL.

После инсталляции Liferay (в моем случае 6.1.10EE) при попытке добавить новую страницу (Site Pages -> Add Page) вылезает сообщение "Please enter a valid XML URL."

В моем случае лечится так: заходим в Control Panel -> Porta -> Portal Settings -> Display Settings, проверям, что язык по умолчанию "English (United Kingdom)" и жмем Save. Пробуем добавить страницу еще раз.

вторник, 24 июля 2012 г.

mvn versions:display-dependency-updates

Познакомился с Versions Maven Plugin.
Вот такой оутпут имеем по команде display-dependency-updates:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Liferay Apps 1.9-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- versions-maven-plugin:1.3.1:display-dependency-updates (default-cli) @ liferay-apps ---
[INFO] The following dependencies in Dependencies are using the newest version:
[INFO]   cglib:cglib-nodep .............................................. 2.2.2
[INFO]   com.liferay.portal:portal-impl ................................. 6.1.0
[INFO]   com.liferay.portal:portal-service .............................. 6.1.0
[INFO]   com.liferay.portal:util-taglib ................................. 6.1.0
[INFO]   com.microsoft:reporting-api .................................... 1.0-0
[INFO]   commons-dbcp:commons-dbcp ........................................ 1.4
[INFO]   commons-digester:commons-digester ................................ 2.1
[INFO]   commons-httpclient:commons-httpclient ............................ 3.1
[INFO]   commons-lang:commons-lang ........................................ 2.6
[INFO]   javax.portlet:portlet-api ........................................ 2.0
[INFO]   javax.servlet:jstl ............................................... 1.2
[INFO]   net.sf.dozer:dozer ............................................. 5.3.2
[INFO]   org.apache.velocity:velocity-tools ............................... 2.0
[INFO]   oro:oro ........................................................ 2.0.8
[INFO]   struts:struts .................................................. 1.2.9
[INFO] 
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   com.codeborne:selenide .................................... 1.2 -> 1.4
[INFO]   com.google.code.gson:gson ............................... 2.1 -> 2.2.2
[INFO]   com.tallink.torpedo:torpedo-rmi-client ................... 2.7 -> 2.11
[INFO]   commons-collections:commons-collections ................. 3.2.1 -> 3.3
[INFO]   commons-io:commons-io ................................... 2.0.1 -> 2.4
[INFO]   commons-validator:commons-validator ................... 1.3.1 -> 1.4.0
[INFO]   javax.servlet:servlet-api ......................... 2.5 -> 3.0-alpha-1
[INFO]   javax.servlet.jsp:jsp-api ............................... 2.1 -> 2.2.1
[INFO]   javax.validation:validation-api ............. 1.0.0.GA -> 1.1.0.Alpha1
[INFO]   junit:junit ............................................ 4.8.2 -> 4.10
[INFO]   log4j:log4j ..................................... 1.2.16 -> 1.3alpha-8
[INFO]   mysql:mysql-connector-java .......................... 5.1.18 -> 5.1.21
[INFO]   org.apache.httpcomponents:httpclient .................. 4.1.2 -> 4.2.1
[INFO]   org.hibernate:hibernate-validator ........ 4.2.0.Final -> 5.0.0.Alpha1
[INFO]   org.mockito:mockito-all ........................... 1.9.0 -> 1.9.5-rc1
[INFO]   org.mortbay.jetty:jetty ......................... 6.1.25 -> 7.0.0.pre5
[INFO]   org.mortbay.jetty:jetty-management .................. 6.1.25 -> 6.1.26
[INFO]   org.mortbay.jetty:jetty-util ............... 6.1.25 -> 7.1.6.v20100715
[INFO]   org.seleniumhq.selenium:selenium-java ............... 2.18.0 -> 2.25.0
[INFO]   org.slf4j:jcl-over-slf4j .............................. 1.6.1 -> 1.6.6
[INFO]   org.slf4j:slf4j-api ................................... 1.6.1 -> 1.6.6
[INFO]   org.slf4j:slf4j-log4j12 ............................... 1.6.1 -> 1.6.6
[INFO]   org.springframework:spring-context ......... 3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework:spring-jdbc ............ 3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework:spring-oxm ............. 3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework:spring-test ............ 3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework:spring-web ............. 3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework:spring-webmvc-portlet ...
[INFO]                                                3.1.1.RELEASE -> 3.2.0.M1
[INFO]   org.springframework.ws:spring-ws-support ...
[INFO]                                           2.0.5.RELEASE -> 2.1.0.RELEASE
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.474s
[INFO] Finished at: Tue Jul 24 14:49:32 EEST 2012
[INFO] Final Memory: 11M/152M
[INFO] ------------------------------------------------------------------------

А вообще на домашней страничке много чего еще интересного. Но пока только эту команду попрактиковал.

понедельник, 23 июля 2012 г.

Концфигурация rebel.xml для Liferay Theme.

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.zeroturnaround.com"
 xsi:schemaLocation="http://www.zeroturnaround.com http://www.zeroturnaround.com/alderaan/rebel-2_0.xsd">

 <classpath>
  <dir name="D:/workspace-cms/liferay-theme/target/classes"></dir>
 </classpath>

 <web>
  <link target="/">
   <dir name="D:/workspace-cms/liferay-theme/src/main/webapp">
   </dir>
  </link>
 </web>

</application>

среда, 18 июля 2012 г.

Инициализация новых объектов в Velocity. Liferay.

В Liferay (6.1.1) возникла проблема с отображением подменю в навигации, если страница является скрытой (hidden). Дело в том, что эта страница не попадает в массив элементов $nav_items, доступный в шаблоне (velocity, в данном случае).

Некоторое время траха поисков привели к такому варианту:

#set($layoutLocalService = $serviceLocator.findService("com.liferay.portal.service.LayoutLocalService"))

#set($longClass = $portal.getClass().forName("java.lang.Long"))
#set($longClassPrimitive = $longClass.getDeclaredField("TYPE").get(null))
#set($httpServletRequestClass = $portal.getClass().forName("javax.servlet.http.HttpServletRequest"))
#set($themeDisplayClass = $portal.getClass().forName("com.liferay.portal.theme.ThemeDisplay"))
#set($requestVarsClass = $portal.getClass().forName("com.liferay.portal.theme.RequestVars"))
#set($navItemClass = $portal.getClass().forName("com.liferay.portal.theme.NavItem"))
#set($layoutClass = $portal.getClass().forName("com.liferay.portal.model.Layout"))

#set($requestVars = $requestVarsClass.getConstructor($httpServletRequestClass, $themeDisplayClass, $longClassPrimitive, $longClassPrimitive).newInstance($request, $themeDisplay, $layout.getAncestorPlid(), $layout.getAncestorLayoutId()))

#set($ancessorLayout = $layoutLocalService.getLayout($layout.getAncestorPlid()))
#set($currentNavItem = $navItemClass.getConstructor($requestVarsClass, $layoutClass).newInstance($requestVars, $ancessorLayout ))


работает на ура.

воскресенье, 15 июля 2012 г.