Jmix Studio, не работает дизайнер BPM

Дизайнер в панели есть, создает новую пустую модель.
Но ни один элемент на холст вытащить не дает.
Еще из подозрительного - в “исходнике” модели определяется xmlns:jmix=“http://jmix.io/schema/bpm/bpmn

Video_2024-04-12_182610

В собранном решении дизайнер работает.
Если в проект подложить исходник модели процесса, созданный в приложении - дизайнер в Studio модель отображает.
Но на всех элементах модели BPMN Instector пустой.

В idea.log есть ругань следующего рода:

2024-04-12 18:17:13,715 [  18615]   FINE - #com.haulmont.jmixstudio.backend.pm.ProjectControl - Could not connect to localhost:8080: java.net.ConnectException: Connection refused: connect
2024-04-12 18:17:14,095 [  18995]   WARN - #com.haulmont.jmixstudio.bpm.editor.designer.BpmJcefDesigner - Error from js:
level: LOGSEVERITY_ERROR
message: unhandled error in event listener TypeError: Cannot read properties of undefined (reading 'eventDefinitions')
source: http://localhost:30201/bpm-modeler.bundled.js
line: 7572

Лог приложил.
idea.log (665.2 КБ)

В чем может быть проблема?

Jmix version: 1.5.5
Jmix Studio plugin version: 2.2.1-233
IntelliJ version: IntelliJ IDEA 2023.3.4 (Ultimate Edition)

Аналогично на

Jmix version: 1.5.5
Jmix Studio plugin version: 2.2.1-241
IntelliJ version: IntelliJ IDEA 2024.1 (Community Edition)

Добрый день!
Не могли бы вы также приложить xml-файлы проблемных процессов, выглядит так, что они содержат не поддерживаемые проперти. Что касается неймспейса jmix, то он вполне уместен, добавляется при использовании некоторых атрибутов, например Candidate users.
Также попробуйте очистить кеш встроенного браузера (File → Invalidate caches)
Screenshot_20240415_112303

Очистка кэша не помогла.

Такая картина даже на чистом тестовом проекте и только что созданной в дизайнере модели.

111.draft.zip (601 Байт)

Спасибо, проблему воспроизвёл. Именуйте процессы так, чтобы они не начинались с цифры. В моём случае это решило проблему. Такая форма не соответствует принятой дефиниции. Мы со своей стороны добавим соответствующую валидацию в диалог создания процесса. Спасибо, что указали на проблему.

Да, с тестовым переименование помогло.

Но в приложении, мигрированном с Cuba 7.2 есть несколько процессов в которых дизайнер Studio ведет себя аналогично.
Хотя в мигрированном приложении процессы работают, в том числе с ними корректно работает конструктор моделей из приложения.

Самую простую модель приложил.
approve_parallel_status_box.zip (2.2 КБ)

При редактировании xml Studio проблем не показывает кроме того же xmlns:jmix="http://jmix.io/schema/bpm/bpmn"

В этом файле у вас кириллица в имени процесса, а также отсутствует xsi:schemaLocation=“http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd” в definitions. Возможно, есть другие проблемы, я сообщу о них, если обнаружу. О неймспейсе jmix, как я уже сказал, не стоит беспокоиться. Процесс был создан в более ранней версии Jmix Studio или добавлен извне?

Screenshot_20240415_130610

Изначально был создан в приложении на Cuba 7.2 с аддоном BPM (Flowable) и экспортирован оттуда в xml.

После миграции приложения на Jmix процесс был импортирован в дизайнер в приложении. Импортировался молча.
Потом он был немного откорректирован в дизайнере приложения, проверен на работоспособность и снова экспортирован. А результат подсунут в Studio.

Получается, что после этого Sudio отказывается с ним работать.

И вдогонку еще вопрос…
А если дизайнер Studio не поддерживает ничего кроме латиницы для атрибута name, то как вообще предполагается отображать пользователю локализонанное имя процесса? А то еще важнее - имя тасок и прочих элементов процесса?

В доке про это ничего не нашел.
Если банально использовать в name некий ключ локализованного сообщения то открыв такую моlедь, созданную в Studio, в развернутом приложении - мы видим ключ лок. сообщения вместо понятного пользователю имени.

image

При этом в самом приложении дизайнер прекрасно работает с кириллицей в атрибуте name, но вот экспортировать эту модель и использовать в дизайнере Studio уже не получится.

Думаю, что валидация на кириллицу в имени здесь действительно не корректная, процесс с ней работает, стоит переработать проверку. Настоящая причина поломки этого процесса в отсутствии id у timerEventDefinition в boundaryEvent, с заданным значением моделер у меня заработал. Плюс добавлен schemaLocation, указанный выше. Боюсь, что миграция BPMN процессов с Cuba толком не поддерживается, поэтому структура некоторых компонентов может отличаться и ломать парсинг моделера в Studio. Подсветка возможных проблем и нестыковок в BPMN-процессе планируется.

Screenshot_20240415_162511

1 симпатия

Создал тикет по вопросу использования локализованных сообщений, рассмотрим.

1 симпатия

Благодарю!
Дизайнер Studio ожил после того как добавил xsi:schemaLocation=“http://www.omg.org/spec/BPMN/20100524/MODEL http://www.omg.org/spec/BPMN/2.0/20100501/BPMN20.xsd” и id у timerEventDefinition.