Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мнение о Liferay portal and Liferay social office, Liferay portal and Liferay social office 
:(
    Опции темы
Vasay
Дата 27.5.2009, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



ИМХО полезная статейка http://www.ibm.com/developerworks/ru/libra...-pt1/index.html
про то как писать портлеты с помощью Spring Portlet MVC Framework

Правда она заточена под IBM WebSphere Portal и IBM Rational Application Developer for WebSphere Software.

Однако, я без проблем все запустил в связке NETBeans + Portal Pack 3.0 Plugins на WebSynergy

Добавил только пару XML файлов 

liferay-display.xml 
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.1.0//EN" "http://www.liferay.com/dtd/liferay-display_5_1_0.dtd">
<display>
  <category name="User_Portlets">
    <portlet id="HelloSpringPortletMVC">HelloSpringPortletMVC</portlet>
  </category>
</display>


liferay-portlet.xml 
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 5.1.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_5_1_0.dtd">
<liferay-portlet-app>
  <portlet>
    <portlet-name>HelloSpringPortletMVC</portlet-name>
    <instanceable>true</instanceable>
  </portlet>
  <role-mapper>
    <role-name>administrator</role-name>
    <role-link>Administrator</role-link>
  </role-mapper>
  <role-mapper>
    <role-name>guest</role-name>
    <role-link>Guest</role-link>
  </role-mapper>
  <role-mapper>
    <role-name>power-user</role-name>
    <role-link>Power User</role-link>
  </role-mapper>
  <role-mapper>
    <role-name>user</role-name>
    <role-link>User</role-link>
  </role-mapper>
</liferay-portlet-app>



Так же без проблем заменил View на Velocity.

Это сообщение отредактировал(а) Vasay - 27.5.2009, 01:56


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vasay
Дата 5.6.2009, 03:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Вожусь я с LifeRay (и WebSynergy) и прихожу к выводу - идея хорошая, реализация хромает.

Такие мелкие но очень неприятные касяки вылезают.

Например, где-то в четвертой ветке они потеряли возможность показывать в портлете "форум" nick Name, показывается только полное имя. 

уже версия 5.2.3 - а баг все на месте.  http://issues.liferay.com/browse/LPS-2874?...istory-tabpanel


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vasay
Дата 5.6.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Цитата(Vasay @  5.6.2009,  03:41 Найти цитируемый пост)

Например, где-то в четвертой ветке они потеряли возможность показывать в портлете "форум" nick Name, показывается только полное имя. 



Вообщем, этот баг обошел...
Код форума у ребят написан через одно место. Ну как можно выводить имя пользователя тремя разными способами в одном портлете???  smile  smile  smile 

Что я сделал (  liferay-portal-5.2.3 ) :
1. За отображение форума отвечают jsp находящиеся по адресу: liferay-home/html/portlet/message_boards/

Во всех jsp заменил:
user.getFullName() на  user.getScreenName() (Это было логично)

Затем:
PortalUtil.getUserName(***, ***) на PortalUtil.getUserName(***, ***, "");

Что необходима такая замена, я понял порывшись в исходниках LifeRay и увидев там такое:
Код

    public String getUserName(long userId, String defaultUserName) {

        return getUserName(

            userId, defaultUserName, UserAttributes.USER_NAME_FULL);

    }



    public String getUserName(

        long userId, String defaultUserName, String userAttribute) {



        return getUserName(userId, defaultUserName, userAttribute, null);

    }



    public String getUserName(

        long userId, String defaultUserName, HttpServletRequest request) {



        return getUserName(

            userId, defaultUserName, UserAttributes.USER_NAME_FULL, request);

    }



    public String getUserName(

        long userId, String defaultUserName, String userAttribute,

        HttpServletRequest request) {



        String userName = defaultUserName;



        try {

            User user = UserLocalServiceUtil.getUserById(userId);



            if (userAttribute.equals(UserAttributes.USER_NAME_FULL)) {

                userName = user.getFullName();

            }

            else {

                userName = user.getScreenName();

            }



            if (request != null) {

                Layout layout = (Layout)request.getAttribute(WebKeys.LAYOUT);



                PortletURL portletURL = new PortletURLImpl(

                    request, PortletKeys.DIRECTORY, layout.getPlid(),

                    PortletRequest.RENDER_PHASE);



                portletURL.setWindowState(WindowState.MAXIMIZED);

                portletURL.setPortletMode(PortletMode.VIEW);



                portletURL.setParameter(

                    "struts_action", "/directory/view_user");

                portletURL.setParameter(

                    "p_u_i_d", String.valueOf(user.getUserId()));



                userName =

                    "<a href=\"" + portletURL.toString() + "\">" + userName +

                        "</a>";

            }

        }

        catch (Exception e) {

        }



        return userName;

    }





Однако этого оказалось недостаточно, так как для отображения информации, о пользователе, сделавшем пост (инфа слева от самого поста - аватар, имя, сколько постов, когда зарегистрировался...) использовался таг 

Код

<liferay-ui:user-display userId="<%= message.getUserId() %>" userName="<%= message.getUserName() %>"  displayStyle="<%= 2 %>" >


И тут самый спорный момент (я не знаю, где еще кроме форума вылезут эти изменения) - я изменил jsp находящиеся
liferay-home/html/taglib/ui/user_display

Соответственно там я поменял userDisplay.getFullName() на  userDisplay.getScreenName() 


Это сообщение отредактировал(а) Vasay - 5.6.2009, 20:09


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Vasay
Дата 10.7.2009, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



На сайте LifeRay открыли русскоязычный форум: http://www.liferay.com/web/guest/community...ategory/3428484


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
AJetman
Дата 7.7.2010, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Vasay, в другой теме о выборе CMS очень заинтересовали Liferayем, хотя до этого много слышал о нем, но не удосуживался посмотреть. Если не против, добавлю в эту тему свое мнение.

Что из положительного:
1. Большой выбор мест с возможностью распределения прав: профиль пользователя, портал пользователя, портал группы, портал сообщества, портал организации. Хотя в Jetspeed 2 понятие Space все это охватывает, все же разделение по именам тоже полезно.
2. Большое количество встроенных портлетов. Даже чересчур большое.
3. Встроенная  и довольно функциональная CMS.
4. В LR6 появилась поддержка Maven(!)
И самое главное:
5. В конце 2009 и начале 2010 наконец стали появляться толковые книги, посвященные портлетам, порталам и Liferay. Это:
- Packtpub Liferay Portal 6 Enterprise Intranets (May 2010). Рассказывается об общей настройке портала, его модулях. Полезно при начальном знакомстве или если не понятен какой-то термин, используемый авторами Liferay. Можно найти в Интернет.
- Manning Portlets in Action (MEAP). Рассказывается о разработке портлетов на примере Liferay 5.2.3 и Liferay 6. Книга еще не завершена, но уже можно купить и получить доступ к 80% глав. Цена $30, если кто-то будет брать, то советую сначала поискать код скидки на tjoos.com, сэкономите $10.
- Manning Liferay in Action (MEAP). В принципе похожа на книгу Packtpub, цена $35, будет выпущена в начале 2011.

С помощью этих книг знакомство с порталом значительно упрощается.

Что из отрицательного:
1. Большинство встроенных портлетов не нужны. Взять хотя бы фейсбук-чат или WSRP. Их бы как-нибудь убрать и Liferay значительно полегчает. 
2. Мало документации, устаревшие статьи в Wiki.
3. Тот же Social Office при детальном рассмотрении и попытке использования(внедрения) оказывается более чем пустышкой, взять хотя бы практически нулевой по функциональности E-Mail клиент.

Но в целом впечатления положительные, в первую очередь, что хочется сделать: облегчить Liferay от лишних компонентов и попробовать на нем собрать небольшой корпоративный сайт или сообщество.

Это сообщение отредактировал(а) AJetman - 7.7.2010, 10:34
PM   Вверх
AJetman
Дата 7.7.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Кстати, нет ли желания составить список opensource или коммерческих портлетов и приложений с возможностью интеграции в виде портлета? Начну:

KonaKart - Open Source Enterprise eCommerce Application. Есть демо интеграции с JetSpeed, заявлена поддержка и Liferay.
JBoss Forums Portlet. Поддерживает конечно же только JBoss Portal, но по исходникам видно, что легко портируется на Liferay. В последней версии исходники не выложили, не понятно почему, поэтому исходный код есть только для более старых версий. Эти форумы отличаются в худшую сторону по внешнему виду и возможностям от форумов, используемых в JBoss Community сайте.
PortalTeam Portlet. Кто-то решил выложить свои наработки, но остановился только на Web Forms Portlet (как сказано на сайте авторов).
Todo Portlet. Для Liferay 5.2.3, а думаю и 6-й версии. Представляет собой список todo, завершенный проект.

Это сообщение отредактировал(а) AJetman - 7.7.2010, 12:51
PM   Вверх
Vasay
Дата 7.7.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Хотелось бы заметить, что наши муниципалитеты стали использовать LifeRay: http://pgu.pnz.ru/web/guest/main

Но, к сожалению, не все - в СПБ используют дорогую и совершенно непригодную для создания веб сайтов ibm websphere : http://oo.spb.ru/wps/portal/  (вообще, я слышал, что в последних версиях проблема с неоднозначностью URL в websphere  решена, но на данном сайте все плохо).

Добавлено через 5 минут и 24 секунды
Цитата

от форумов, используемых в JBoss Community сайте.


Уже достаточно давно jBoss не использует свой портал для своего сайта - сайт у них на Magnolia CMS


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
AJetman
Дата 7.7.2010, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 16.8.2009

Репутация: 2
Всего: 2



Цитата(Vasay @  7.7.2010,  11:38 Найти цитируемый пост)
Но, к сожалению, не все - в СПБ используют дорогую и совершенно непригодную для создания веб сайтов ibm websphere : http://oo.spb.ru/wps/portal/  (вообще, я слышал, что в последних версиях проблема с неоднозначностью URL в websphere  решена, но на данном сайте все плохо).
 Да, с ссылками у них действительно все очень и очень плохо.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0701 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.