Обзор Liferay 7.0 m2

Компания Liferay планирует в выпуску следующую версию своего продукта Liferay Portal только во второй половине 2015-ого года, однако уже сейчас можно познакомиться с первыми milestone версиями. 
Недавно вышла версия 7.0.0-m2 и мы можем уже получить некоторое представление что нас ждет через год.
 

Почему 7.0?

Судя по большому списку изменений, которые касаются поддержки OSGI у меня складывается впечатление что OSGI станет основой архитектуры портала Liferay. Это достаточно большое изменение, хотя и не видимое «невооруженным глазом» конечного пользователя, но очень важное для разработчиков и в плане развития продукта, и оно несомненно достойно того, чтобы новая версия получила «мажорную» прибавку.
Уже сейчас можно увидеть первые шаги в этом направлении — например часть портлетов вынесена из «ядра» портала (веб-приложение ROOT) и не в tomcat/webapp — как раньше — а в контейнер OSGI. Если все портлеты будут оформлены в виде OSGI модулей — это будет самое существенное архитектурное изменение в Liferay со времен миграции с EJB 2 на Spring.
 
 
Другие «архитектурные» изменения включают в себя:
  • Использование ElasticSearch вместо Lucene в качестве поискового движка «по умолчанию»
  • Bootstrap 3 
  • планируется так же переход на AlloyUI 3.0  - теперь на базе jQuery (да-да-да, Liferay пришлось отказаться от YUI, на который с такой помпой перешли в версии 6.0 так как компания Yahoo отказалась от дальнейшего развития этого Framework-а)
  • Из видимых изменений — поддержка SPA (Single Page Application) — теперь работать с портлетом можно без перегрузки всей страницы (вах, как давно мы этого ждали!).
 
Функциональные изменения не такие существенные, тут развитие скорее «эволюционное» чем «революционное», но насколько ожидаемы были некоторые из них!
  • Словари категорий можно «назначать» не только на типы объектов к которым они применяются (web-content, документы, вики) — но и на их «подтипы» (на структуры сетевого контента либо типы документов). При создании большого информационного портала с активным использованием это очень важно — так как иначе меню назначения категорий «разбухало» до огромных размеров и становилось неудобным для использования.
  • Подсайты теперь «наследуют» словари и категории от родительского сайта. Опять-таки, не надо «засорять» Global
  • Теперь на папки с сетевыми статьями можно назначать индивидульные процессы (как и с папками документов) — еще одно долгожданное улучшение которое раньше можно было частично решить при помощи специальных дополнений.
  • Новый WYSIWYG с новым диалогом выбора файлов (например для вставки изображений)
  • Можно «ссылаться» на любого пользователя (в форумах, вики, веб-контенте и т. д.) при помощи конструкций типа @mention
  • Можно привязывать веб-контент и документы к гео-позиции (а для Публикатора теперь есть готовый шаблон «из коробки» который показывает их на карте.
 
После запуска портала особых изменений по сравнению с 6.2 не видно. Внешне все осталось как и в 6.2
 
 
Их начинаешь замечать при работе. Размещаем на странице публикатор, кликаем по любому объекту — контент портлета обновлятся без перегрузки страницы! (SPA в действии). Аналогично при работе с форумами, документами и другими портлетами!
 
Новый WYSIWYG редактор пока включен только для блогов. По началу удивляет отсутствие панели с кнопками — но стоит выбрать какой-то текст — сразу появляется всплывающее меню. По началу необычно — но потом привыкаешь — в итоге работаешь только с текстом — ничего лишнего или отвлекающего.
 
При работе с веб-контентом теперь можно сравнить версии — бывает удобно что бы понять — что же в итоге изменилось.
 
Кстати — Basic Web Content — это теперь такая же структура как и создаваемые пользователем. И для нее можно задать шаблон. Это удобно — у нас были ситуации, когда требовалось применить шаблон к обычному веб-контенту. В 6.2 это сделать нельзя — приходилось заводить структуру которая просто повторяла обычный веб-контент. Теперь можно обойтись без этого.
 
В целом — новая версия понравилась. Работать на ней рано, так как я думаю ядро системы будет еще серьезно переделано на предмет более полной миграции на OSGI, но уже сейчас можно изучать, что бы понимать чем нам «грозит»Liferay 7.0 когдаон в итоге выйдет в следующем году.