Pull to refresh

Что нас ждет в Liferay 7.0

Reading time 4 min
Views 27K
Компания Liferay объявила о выходе последней milestone версии Liferay 7.0 m7. Это означает что дальше пойдут уже альфы и беты, в которых будет идти исправление ошибок — функциональных же изменений уже особо не ожидается. И хотя до релиза еще примерно полгода, уже сейчас можно посмотреть что же нового нас ждет в новой версии Liferayimage

Что такое Liferay?


Сначала небольшое вступление для тех, кто не знает что такое Liferay. Если в двух словах — это SharePoint, но на Java и Open-Source.
Если очень упрощенно — то это самое точное определение. Хотя все конечно не так просто и так прямолинейно.
Если чуть подробней — это веб-портал, разрабатываемый на технологиях Java Enterprise Edition (о технологиях чуть ниже) по схеме Open Source. При этом есть компания, которая занимается целеноправленным развитием данного продукта и оказывает Enterprise- поддержку (уже за деньги). Liferay можно применять
  • и классически — как внутрикорпоративный портал (организация совместной работы сотрудников) или корпоративную соцсеть,
  • и для создания внешних сайтов (один из примеров — недавно упоминавшийся на хабре сайт мобильного оператора Yota),
  • а можно использовать его как платформу для разработки своих приложений (очень хорошо на нем получаются различные B2B и B2C решения).


Подробней можно почитать на самом сайте Liferay или у нас (уже на русском).

Изменения в архитектуре


Основным новшеством, из-за которого новая версия будет 7.0 а не (например) 6.3 это переход на OSGI. Это огромное изменение в плане внутренней архитектуры (да и всей экосистемы вокруг Liferay, так как это влечет за собой и изменения в разработке плагинов). Когда-то давно-давно, Liferay базировался на EJB. EJB тогда были вторые, они были большие и тяжелые, и требовали больших и тяжелых серверов для запуска (минимум JBoss) — что не всегда было оправданно. Потом Liferay перевели на легкий Spring Framework — и этого задела ему хватило лет на 7 (могу ошибаться в какой точно версии произошел этот переход — но достаточно давно). И вот теперь OSGI. Что это дает пользователям (хотя скорее программистам, реализующим решения на базе Liferay — конечным пользователям все равно на каких технологиях сделано):
  • Ядро портала теперь модульное. Можно легко отключить лишнее. Один из минусов Liferay называли, что в его ядре много «лишнего». Ставя Liferay пользователи получали не только Portlet Container и админку с необходимым базовым функционалом — но и кучу модулей, причем необходимость некоторых из них вызывала большие сомнения. Теперь можно будет сформировать свой набор модулей, которые мы хотим что бы вошли в ядро
  • Все плагины (дополнения к порталу) разрабатываются теперь как OSGI модули. Раньше каждый плагин был отдельным web-приложением (с точки зрения Application Server-а) которое общалось с порталом через хитрый механизм под названием BeanLocator (который был по сути дела хаком). Теперь все честно, все строго в рамках базовых технологий
  • Проще вносить изменения в само ядро портала. Просто замените модуль реализующий требуемую функциональность на свой. Все, надеюсь больше не потребуется никаких ext-плагинов (кто занимался глубокой кастомизацией Liferay, тот поймет)

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

Чего к сожалению не ожидается:
  • Сервером по умолчанию по прежнему остается Tomcat 7. На самом деле очень хотелось бы увидеть Tomcat 8 и использование WebSockets в портале
  • Реализация веб-сервисов по прежнему на первом Axis. Тут без слов. Видимо придется ждать 8-ой версии.

Изменения в UI


Большие изменения ожидаются в пользовательском интерфейсе:
  • Новая тема. Обещают более «легкую», mobile-friendly и все такое. Так же и более кастомизируемую. Пока сложно оценить что за этим стоит, но если сделают надпись «Powered by Liferay» отключаемой или конфигурируемой — это будет большим шагом вперед :)
  • Новое управление. Всем. Нет теперь отдельной Control Panel-и. Есть Product Menu (вылезает слева). Управление страницей из боковых кнопок перекочевало в подвал страницы. Ну и многое другое. Тут я чувствую придется долго привыкать

image
  • Загрузка страниц Ajax-ом: многие портлеты теперь могут загружать свой контент без перезагрузки страницы (например переход из списка блогов к конкретной записи). Важно — что такая поддержка на уровне базового framework-а, так что ее можно использовать везде.


Audience Targeting


На самом деле плагин Audience Targeting доступен уже и в 6.2, но в 7-ке он должен раскрыться во всей красе. Что это такое? Это сегментирование пользователей портала (по различным критериям) и отображение различного контента для различных сегментов. Плюс поддержка компаний. Базовый функционал для любой уважающей себя CMS наконец-то стал доступен и в Liferay (а как нам его не хватало!)
Понятно, что (например) геолокацию и сегментирование по регионам России придется дописывать — но это (смотрим выше на OSGI) можно будет уже сделать просто отдельным плагином.

Новый редактор


Liferay продолжает смелый эксперимент по внедрению своего нового, инновационного редактора. Нет больше никаких тулбаров и кнопочек. Только контекстное редактирование
image
Тоже такое решение — на любителя. У меня например есть клиенты, которые просят выкинуть из Liferay 6.2 CKEditor 4 и ввернуть старый FCKEditor 3, ибо он «больше похож на старый ворд которым все привыкли пользоваться». Вот и как им объяснять про инновационное контекстное редактирование?
Благо что можно легко настраивать какой именно редактор используется

Геопривязка контента


Можно теперь привязать любой контент к географической точке и строить (например) интерактивные карты
image

Шаблоны для Staging-а


В Liferay есть такая штука как Staging — это когда вы на отдельном (тестовом) сайте подготавливаете все необходимые изменения (новые страницы, новый контент) и потом по нажатию кнопки (или по расписанию) после прохождения необходимого согласования публикуете на рабочем сервере. Штука полезная, так как (например) позволяет не «ломать» нагруженный продуктовый кластер а спокойно делать свои изменения на тестовом сервере и потом публиковать их ночью на прод. Правда в жизни вылезает куча нюансов — и кто работал в Liferay со staging-ом по достоинству оценит возможность запоминать конфигурацию для stage в виде шаблонов для повторного использования.

На самом деле это лишь небольшой список основных изменений. В ходе работы над новой версией ребята из Liferay уже выполнили огромную работу (только в рамках Liferay 7.0 m7 закрыто порядка 170-ти User Story) и очень хочется надеяться что они доведут работу до конца (с хорошим качеством) и через полгода мы увидим новую версию.
Tags:
Hubs:
+10
Comments 11
Comments Comments 11

Articles