Cor Win

19 0

О чем думаете?

 -Музыка

 -ТоррНАДО - торрент-трекер для блогов

 -Подписка по e-mail

 
Получать сообщения дневника на почту.

 -Поиск по дневнику

люди, музыка, видео, фото
Поиск сообщений в Cor_Win

 -Интересы

 -Сообщества

Участник сообществ (Всего в списке: 5) Ukraine_land Україна Остров_Крым Моя_Украина Kharkov
Читатель сообществ (Всего в списке: 1) Kharkov

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Дата регистрации: 08.07.2004
Записей в дневнике: 427
Комментариев в дневнике: 975
Написано сообщений: 2941
Популярные отчеты:
кто смотрел дневник по каким фразам приходят

Liferay 4.2.2 themes handling bug

Среда, 11 Июля 2007 г. 15:34 (ссылка) + в цитатник или сообщество +поставить ссылку

для версии 4.2.2 Liferay Portal зафиксирована не корректная работа с идентификаторами портальных тем, развернутых как внешние WAR-приложения с помощью механизма автоматического развертывания компонентов портала (тем, шаблонов расположения и портлетов).

проблема
ошибка заключается в возникновении java.lang.NullPointerException (далее NPE) при обращении к настройкам вида и поведения созданного комьюнити/группы/пользователя при установке темы, развернутой как внешнее WAR-приложение (далее Тема), в качестве темы используемой по умолчанию.
после исследования проблемы, определено, что источником ошибки является не корректная работа с идентификатором темы.
причины возникновения
для всех компонентов, развернутых с использованием механизма авто-развертывания, Liferay Portal генерирует сложные идентификаторы по шаблону <theme-id>_WAR_<web.xml_display_name>. к примеру если тема имеет theme-id=foo, определенный в liferay-look-and-feel.xml, и display-name=bar, определенный в web.xml, то конечный идентификатор Темы в Liferay Portal будет foo_WAR_bar.
стандартная документация, в частности статья, описывает изменение параметров, установленных по-умолчанию, с использованием идентификатора темы в том виде, в котором он определен в liferay-look-and-feel.xml (для примера приведенного выше -- foo). однако, API портала не обрабатывает идентификатор для Тем и использует его значение из portal(-ext).properties без изменений. таким образом, происходит попытка обращения к несуществующей Теме и возникает NPE.

решение
для решения данной проблемы необходимо определять идентификатор темы в portal(-ext).properties с учетом его автоматической модификации внутри портала. иными словами, значение параметра default.theme.id должно быть не theme_id, а <theme_id_WAR_<web.xml_display_name>. дла описанного выше примера соотвественно -- не default.theme.id=foo, а default.theme.id=foo_WAR_bar.
для использования произвольной Темы, в качестве темы по-умолчанию, будет полезна следующая инструкция:
1. развернуть Тему следуя стандартному процессу.
2. авторизоваться в Liferay Portal как пользователь с правами администратора и установить Тему в качестве темы любого доступного компьюнити.
3. открыть базу данных портала в любом SQL-клиенте.
4. выполнить select themeId from layoutset where groupId = (select groupId from group_ where name = ) >, где community_name - имя комьюнити, где использована Тема.
5. использовать выбранный идентификатор, как значение параметра default.theme.id

область распространения
проблема выявлена для версии портала 4.2.2 и не тестировалась на других версиях. не исключено исправление ошибки в старших и отсутствие в младших версиях.
для предустановленных тем портала стандартный механизм работает корректно.

ссылки
мой комментарий на форуме Liferay Portal(англ.)
Рубрики: Рабочее
Теги:  
Обратиться Комментировать Подписаться Отписаться [+ в друзья]
К дневнику Комментарии: [Новые]
 
К дневнику Комментарии:  [Новые]

Добавить комментарий:
Текст комментария: показать смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
Подписаться на комментарии
Подписать картинку

Copyright © 2002-2010 liveinternet.ru: показано количество просмотров и посетителей за 24 часа LiveInternet
Найти дневники