All Articles ↓
44 месяца назад
Что нового в платформе CUBA 6.1 и Studio 2.1

Мы рады сообщить о выпуске новых релизов платформы CUBA и CUBA Studio!

Самым главным обновлением на этот раз является изменение лицензионной политики: основная часть платформы теперь распространяется под open source лицензией Apache 2.0. Кроме этого, в платформе и Studio появились новые возможности, а также исправления и улучшения текущей функциональности. Ключевые изменения перечислены ниже.

Улучшения механизма контроля доступа

Мы серьезно поработали над улучшением механизма контроля доступа на уровне данных (row-level security). Теперь вы можете устанавливать ограничения на чтение/запись/удаление, а также проверять ограничения в памяти для атрибутов-коллекций. Редактор ограничений включает в себя визуальный инструмент для быстрого создания фрагментов кода на JPQL и Groovy для выбранных атрибутов сущности.

text

Поддержка MySQL

Платформа теперь “из коробки” поддерживает базу данных MySQL. Однако, если вам нужно создать ограничение уникальности для soft deleted сущности, вам придется выполнить некоторые дополнительные действия, описанные в документации. Это связано с тем, что MySQL не поддерживает частичные индексы.

Свойства приложения

Задание значений для свойств приложения всегда было неочевидной задачей, особенно для новичков. Куда вписывать значение, как изменить его в процессе работы приложения? Поэтому мы переместили как можно больше свойств приложения в базу данных и сделали специальный экран для управления ими: Администрирование > Свойства приложения.

Еще одно улучшение, касающееся механизма свойств приложения, заключается в том, что теперь вы можете задавать или переопределять их значения при помощи системных свойст Javа, то есть, используя аргументы в командной строке. Это может упростить настройку развертывания в облаке.

text

REST API

Универсальный REST API теперь - отдельный модуль. Он может использоваться как в модуле web, так и в модуле portal. Таким образом, больше нет необходимости создавать отдельный портальный модуль в проекте - просто установите флаг Project properties > Advanced > REST API in web module в Studio, и REST API будет работаь в вашем стандартном модуле с веб-интерфейсом. Если вы не используете Studio, посмотрите в документации, как сделать это вручную.

Фондовые графики

Мы интегировали в модуль Charts новый вид графиков - фондовые графики из новейшей версии библиотеки AmCharts.

text

CUBA Studio 2.1

Создание модели данных на основе существующей БД

Мы наконец-то реализовали долгожданную функциональность - поддержку миграции с устаревших БД. Studio теперь позволяет генерировать модель данных и стандартные экраны пользовательского интерфейса на основе данных из вашей текущей БД. Она также создает набор корректирующих скриптов, которые неоходимо применить к БД, чтобы сделать ее совместимой с сущностями платформы CUBA. Эта функциональность существенно ускоряет переход с устаревших систем: вы можете создать фундамент нового приложения за считанные минуты, запустить его на реальных данных и затем приступить к реализации новой бизнес-логики и экранов пользовательского интерфейса на базе CUBA.

text

Расширение платформы CUBA за счет собственных компонентов

Когда вы оцениваете новый UI-фреймворк, вероятно, один из первых вопросов, который возникает у вас в уме, это: “Что делать, если мне потребуется визуальный компонент, которого нет в стандартном списке?".

CUBA Studio теперь позволяет генерировать код, который требуется для интеграции сторонних компонентов, таких как аддоны Vaadin, библиотеки JavaScript или компоненты GWT. Конечно, вы можете интегрировать в платформу и собственноручно написанные компоненты на основе этих технологий. Более того, Studio может отображать ваши кастомные компоненты в библиотеке компонентов, что позволяет разработчику манипулировать ими в WYSIWYG-редакторе интерфейса, точно так же, как и стандартными компонентами. В документации есть подробный пример использования кастомных UI-компонентов в проектах приложений.

text

text

Развертывание в облаке в один клик

Studio теперь поддерживает быстрое развертывание в облаке Jelastic. Вам нужно просто создать аккаунт у одного из хостинг-провайдеров Jelastic, а потом настроить развертывание вашего приложения на странице Cloud deployment settings в Studio. После этого, в меню появится пункт Run > Deploy to cloud, который позволяет вам собрать WAR-файл и развернуть его в выбранной среде.

text

Разработка CUBA-приложений на Groovy

В Studio добавлена поддержка Groovy. Если вы установите флаг Groovy support на вкладке Project properties > Advanced, Studio добавит в файл build.gradle вашего проекта плагин Groovy и будет генерировать исходные файлы Groovy вместо исходников Java при автоматическом создании контроллеров экранов и заготовок сервисов.

Полный список изменений Studio 2.1 доступен здесь.

Полный список изменений CUBA Platform 6.1 доступен здесь.

Константин Кривопустов