Если не Liferay то что? GateIn?
Не так давно я описал новые фичи, которые ждут пользователей и разработчиков в новой версии Liferay 7.0. У меня иногда спрашивают —, а почему Liferay? Для меня ответ прост — в том стеке технологий, в котором мы работаем (Jave EE плюс ориентация на Open Source) я просто не вижу альтернатив.
Да, мы давно занимаемся внедрением порталов на Liferay, но я не слепой фанатик и стараюсь иногда выныривать из своего мирка и смотреть вокруг. А вдруг? Вдруг альтернативы есть? Давайте сегодня рассмотрим одну из них — портал GateIn — совместное производство JBoss и eXo
Почему я решил начать с GateIn? JBoss (теперь RedHat) компания с давними традициями в мире Open Source и уважаемая в мире Java EE. У нее есть целый спектр различных продуктов — начиная конечно же c их знаменитого сервера (теперь называется WildFly) и заканчивая нишевыми решениями. Если и ожидать серьезного конкурента для Liferay — то в первую очередь с их стороны.
Собака должна есть свою еду?
Итак — предположим я вообще ничего не понимаю в порталах —, но босс (или клиент) дал мне задание найти решение. С чего я начну? Нет — я не буду сразу скачивать, ставить, запускать — я начну с внешнего обзора. Изучу сайт продукта, почитаю новости и анонсы, загляну на форумы — попробую понять, как продукт живет и развивается. Это покажется немного странным —, но первое на что я обращу внимание —, а использует ли сам производитель свой продукт?
C Liferay все чисто — сайт liferay.com честно крутиться на самом Liferay — ок, продукт настолько хорош, что его производитель доверил ему и свой сайт, и свои форумы и прочее.
А что с GateIn? Сайт gatein.jboss.org крутится на Магнолии (Magnolia CMS). Ну ладно, в конце концов реализация внешних сайтов — не совсем задача портала, мы можем это ему простить. А что насчет сообщества разработчиков — developer.jboss.org/en/gatein — упс — Jive. А почему не сам GateIn? Записываем GateIn первый минус — сам разработчик (JBoss) предпочел для себя другое решение — это уже о многом говорит.
Люди, ау?
А что вообще с сообществом? Выбирая Open Source продукт очень важно знать, что ты не останешься с ним один-на-один, а найдется 100500 других таких же бедолаг, вместе с которыми ты не будешь чувствовать себя таким одиноким.
Форумы на сайте developer.jboss.org произвели грусное впечатление — последнее сообщение в девелоперском форуме — 6 месяцев назад, в пользовательском — 3 месяца назад. Последний блог — полтора года назад. Последняя версия на странице Downloads — от 2013-ого года (если говорить о самом Jboss Portal) и 2014-ый год если говорить о GateIn. А продукт вообще жив?
А скачать?
На самом деле — если бы не мой академический интерес — на этом изучение продукта я бы и закончил. Но я упорный —, а потому я все-таки попробовал его скачать.
Но начнем с того, что не понятно —, а что качать? Есть GateIn, есть Jboss Portal. В чем разница? Что именно мне надо?
Если я правильно понял — GateIn — это такой community driven проект, а потом JBoss на его основе делает свой портал.
Потому я решил сразу начать JBoss Portal 6.1.0 build from GateIn 3.6 (релиз 2013-ого года) — ссылка потребовала от меня логина или регистрации… Нет, мне не жалко, но шансов, что я дойду до финала все меньше и меньше. После логина я попал в недры сайта www.jboss.org/products/portal/get-started где узнал, что оказывается есть JBoss Portal 6.2.0 — от 15-ого года. Странно что на сайте GateIn об этом ничего не сказали. Итак — я остановился на JBoss Portal 6.2.0
Сим-сим откройся
Скачал, распаковал, посмотрел. Внутри JBoss AS 7.5.0, стартанул штатно. После старта, согласно документации пошел на Management Console: http://localhost:9990/ —, но мне вежливо сказали что пользователей еще нет — и объяснили куда идти. Сходил, создал — и вот я внутри.
Тут все штатно для Jboss, но практически не интересно с точки зрения портала.
Сам портал доступен по адресу http://localhost:8080/portal (при первом запуске попросил сменить админский пароль — удобно).
Тонкости администрирования
Я не буду вдаваться в подробности управления контентом, навигации и прочие удобно/не удобно. Удобство — дело привычки — и тут я не могу судить объективно — все таки я привык к Liferay и Jboss мне по любому будет непривычен. Но рассмотрим ряд базовых функций (в моем понимании). Начнем с администрированияMultitenancy
В Liferay есть такое понятие как Portal Instance. Это по сути дела возможность в рамках одного физического приложения запустить несколько порталов (каждый на своем домене) — как результат — эти порталы имеют общий код (и по сути дела запущены в рамках одного процесса Java) —, но разные данные (пользователи, сайты и все прочее). В JBoss Portal я этого не нашел — теоретически это можно реализовать через домены самого Jboss AS —, но это несколько другое.Оргструктура
Возможность задать оргструктуру (причем с несколькими корнями — то есть завести не одну, а несколько организаций) есть. Пользователя можно назначить в несколько элементов оргструктуры с разными ролями (membership) — тут тоже все ок. И даже покопавшись, я нашел как для любого элемента орг-структуры создать свой сайт. Пусть и не удобно (стоп, я же обещал не говорить про это) —, но сделать можно.
Мультисайтовость
Есть возможность создать несколько сайтов (Space-ов) в рамках одного портала — они могут быть привязаны как к какому-то элементу орг-структуры — так возможно и быть сами по себеМодель безопасности
Ролевая, вернее на пару — группа (элемент орг-структуры) — membership (роль в элементе орг-структуры). Я нашел настройки прав доступа к странице и конкретному портлету на странице (показывать или нет).
В целом — хотя модель административных объектов у Liferay и JBoss Portal-а не совпадает — в целом основные вещи в плане администрирования в GateIn сделать можно. При этом, не говоря о удобстве-неудобстве —, а в целом о том, какое впечатление производит UI… я наблюдаю за развитием Liferay несколько лет — и вижу как последние годы идет «полировка» админки — реально прорабатывается Usability, реально люди стараются чтобы даже новый пользователь быстрее смог сориентироваться, найти нужные кнопки, сделать необходимые действия в меньшее количество кликов. Как итог — портал производит впечатление продукта.
Тут же меня не покидало ощущение «поделки» — особенно на фоне Liferay или админской консоли того же JBoss AS.
Наполнение
Ну хорошо, пользователей завели, по оргструктуре их распихали, сайты со страницами сделали, права раздали. А дальше? Чем мы будем наполнять страницы? И тут вылезает ключевая разница. Если в Liferay сразу ставится куча портлетов (виджетов) плюс еще большая куча доступна (например) через тот же Liferay Marketplace — то тут пустота. Пара виджетов типа «калькулятор», ооочень базовый виджет для размещения веб-контента, Iframe портлет — и все.
Быть или не быть
Как итог — единственный вариант в котором я вижу что можно использовать GateIn (или Jboss Portal — тут я так и не понял до конца как его правильней называть) — это ситуация, когда вам надо сделать полностью кастомный портал со своими портлетами, и по каким-то причинам вам очень близок стек продуктов JBoss. Ну и по сравнению с порталом Liferay — не придется вычищать кучу лишнего что дает Liferay пользователям по умолчанию — тут вы получите сразу некоторый минимум. Наверное все.
Можно ли сделать на нет более-менее вменяемый внешний сайт? Сомневаюсь. Можно ли поднять внутри-корпоративный портал — тоже вряд ли — нет базовых портлетов по организации совместной работы. Можно ли на нем поднять какую-то B2B платформу с набором своих, разработанных портлетов — да, такое сделать можно.
Но активность сообщества (вернее ее отсутствие) ставит крест на реальном применении данного продукта — как минимум я бы не рискнул делать проект по которому в форумах одно сообщение за полгода. А есть кто-то на хабре кто рисковал? Может я ошибаюсь и все не так плохо?