Бета-версия Studio 14

Добрый день всем,
Мы только что опубликовали версию CUBA Studio 14.0.BETA1 .

Основные изменения в версии 14:

Поддержка генерации скриптов миграции БД для дополнительных хранилищ данных

Добавлена возможность отслеживать изменения схемы БД для дополнительных хранилищ данных (версия платформы 7.2.0 или выше). Чтобы включить генерацию скриптов миграции БД для хранилища - используйте новую группу переключателей в диалоге Data Store Properties.

Доступны следующие режимы управления схемой БД:

  1. Disabled - Studio не отслеживает изменения схемы для этого хранилища данных. Это режим по умолчанию, и это то, как работали предыдущие версии Studio.
  2. Update Only - Studio генерирует update скрипты миграции БД и предоставляет возможность обновлять схему БД, чтобы она соответствовала модели данных. Однако, Studio не создает возможностей для пересоздания базы данных с нуля. Этот режим нужно использовать в базах данных, которые не управляются полностью CUBA приложением, например базы данных, совместно использующиеся с другими приложениями.
  3. Create and Update - Studio генерирует полный набор init и update скриптов миграции БД и предоставляет возможность пересоздавать БД с нуля или обновлять её до соответствия модели данных. Используйте этот режим для базы данных, для которой планируется, что она будет полностью управляться CUBA приложением.

Визуальный дизайнер для ролей, определяемых в исходном коде

Добавлен визуальный дизайнер для ролей, определяемых в исходном коде (https://doc.cuba-platform.com/manual-7.2-ru/roles.html#roles_design_time, версия платформы 7.2.0 или выше, требуется подписка для Studio). Он позволяет удобным образом конструировать класс, определяющий роль, указывая в UI настройки роли, доступные экраны и пункты меню, CRUD-разрешения на сущности, доступные атрибуты и специфичные разрешения.

Роли, определяемые в исходном коде, теперь отображаются в дереве проекта CUBA в секции Security.
Чтобы создать новый класс роли, используйте контекстное меню → NewRole в секции Security.

Логгирование: отображение локальных лог-файлов, кастомизация конфигурации

Логи локального отладочного сервера Tomcat теперь отображаются в секции Logging дерева проекта CUBA.

Добавлена возможность кастомизировать файл настроек логгирования, используемый приложением (версия платформы 7.2.0 или выше). Чтобы создать собственный файл настроек logback.xml, используйте контекстное меню в секции LoggingGenerate Logback Configuration File.

Сгенерированный файл можно менять, как необходимо. Он будет использован локальным отладочным сервером Tomcat. Он также будет подставляться как файл настроек логгирования по умолчанию в диалогах WAR Settings и UberJAR Settings.

Улучшения интерфейса для интеграционных тестов

Интеграционные тесты Middleware и веб-слоя теперь отображаются в дереве проекта CUBA, сгруппированные за секцией Business LogicTests.

Добавлена возможность создавать новые классы интеграционных тестов. Чтобы создать новый класс теста, используйте в дереве проекта CUBA → секция Tests → контекстное меню → NewIntegration Test (Middleware) или Integration Test (Web) .
Выберите версию JUnit в диалоге создания теста. Используйте JUnit 4 для старых проектов, которые были созданы на предыдущих версиях платформы CUBA.

Кастомизированные шаблоны экранов

Добавлена возможность кастомизировать шаблоны экранов. Нажмите кнопку Copy template на первом шаге мастера Create CUBA Screen, чтобы создать свой шаблон экрана. Файлы шаблона будут скопированы в проект и станут доступными для модификации. Кастомизированные шаблоны экранов отображаются в дереве проекта CUBA, в секции Generic UIScreensCustom Templates.

Вы можете изменять файлы шаблонов контроллера и десприптора экрана, или даже добавить новые параметры в мастер, расширяя файл settings.xml. Кастомизированные шаблоны экранов выбираются в мастере создания экранов на вкладке Project Templates первого шага мастера NewScreen.

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

Мастер Create CUBA Screen был расширен, в него добавлены шаги для настройки представления (view) для браузера и редактора сущности. Теперь можно выбрать необходимые свойства прямо в мастере, без открытия модальных диалогов. Выбранные свойства также влияют на то, какие свойства будут отображаться в таблице браузера и в форме редактора.

Упрощено создание компонента Form в дизайнере экранов

В дизайнер экранов добавлен диалог-мастер создания Form. Он активируется, когда пользователь кладет новый компонент form в верстку экрана. В диалоге можно выбрать существующий или создать новый контейнер данных, и указать другие требуемые свойства формы.

Упрощено переключение главного меню в режим Single

Переключение главного меню из режима Composite в Single было упрощено. Дизайнер главного меню теперь предлагает разработчику скопировать пункты меню, унаследованные из платформы и аддонов, в конфигурацию проекта.

Улучшения действия “Add new attributes to existing screens”

Действие Add new attributes to existing screens (раньше доступное только как IntelliJ intention) было улучшено, и его теперь проще вызывать. Теперь оно доступно из исходного кода сущности как действие Add attributes to screens в верхней панели.

Улучшения производительности

Время работы операции Generate Database Scripts существенно оптимизировано (сокращено). То же самое проведено и с проверкой соотвествия схемы БД модели данных, которая выполняется перед запуском конфигурации CUBA Application.

Бета-тестирование

Сейчас мы находимся в процессе тестирования новой версии Studio.
Мы будем очень благодарны, если вы попробуете beta-версию в вашей среде разработки и на вашем проекте и дадите нам знать, если возникнут какие-нибудь проблемы.

Заметьте, что плагин Studio 14 совместим только с IntelliJ IDEA версии 2019.3 или новее.

Версия 14.0.BETA1 была опубликована в отдельном канале плагинов в репозитории JetBrains.
Чтобы установить beta-версию, вам нужно проделать следующие действия:

  • Открыть диалог IDEA Settings -> Plugins
  • Нажать иконку :gear: и выбрать Manage Plugin Repositories.
  • Нажать “+” чтобы добавить строку
  • Ввести следующий Repository URL:
    https://plugins.jetbrains.com/plugins/beta/list
  • Переключиться на вкладку Marketplace. Вы должны сразу увидеть, что плагин CUBA предлагается к обновлению на версию 14.0.BETA1.
  • Нажмите Update.

Если/когда вам потребуется вернуться назад на стабильную версию плагина, проделайте следующее:

  • Открыть диалог IDEA Settings -> Plugins
  • Выполните Uninstall для плагина CUBA
  • Нажать иконку :gear: выбрать Manage Plugin Repositories.
  • Удалите “beta” репозиторий из списка
  • Установите плагин CUBA снова, он скачается из стабильного канала обновлений

Мы ждем ваших отзывов!

4 симпатии

Сегодня больше половины дня попробовал погонять 14.0.BETA1 на одном из наших проектов (Platform 7.2.4).
IntelliJ version: IntelliJ IDEA 2019.3.5 (Community Edition)
Пока есть две замеченные проблемы (возможно, взаимосвязанные):

  1. Hot deploy не работает совсем и молча. Причем, даже на изменениях в контроллере экрана. Выполнение принудительного Deploy file to Tomcat эффекта тоже не дает - только перезапуск проекта.
    В idea.log ошибок нет. В настройках Hot deploy complited classes отключено.
  2. Периодически отваливается отладчик. Расставлены точки останова, срабатывают. Но в какой-то момент отладчик перестает ловить точки останова. Опять же, помогает рестарт проекта.
    Но тут пока не исключаю, что причина может быть в каких-то мельчайших изменениях в том же контроллере, которые не приводят к явному отвалу точек останова из-за неактуальности развернутого кода, но приводят к тому, что отладчик фактически не работает.

Спасибо за сообщение, проверим.
Проблема №2 - это скорее всего связано с некорректно работающим hot deploy.