Jmix 1.5 release candidate

Hi everyone,

We are happy to announce that the release candidate of Jmix v.1.5 is published in nexus.jmix.io repository! Studio v.1.5 is available through the nightly channel.

Please see what’s new for upgrade instructions and the list of new features.

We will greatly appreciate if you test your project with the release candidate and let us know about any issues!

When upgarding your project using Studio, first change the repository to nexus.jmix.io, click OK and wait for the project to re-import. Then open Project Properties again, click Change link next to the version field, select Show unstable versions and choose the latest release candidate (currently 1.5.0-RC3).

The final release 1.5 is scheduled for the next week.

10 Likes

Thank you Konstantin for this good news! I was waiting for this :slight_smile:

I have been developing a composite FlowUI application in version 1.4 that I just migrated to this 1.5RC3 version and sharing the outcome of the migration as below.

  1. While migrating, I found the following dependencies as not recognized, so I commented out.

// kit 'io.jmix.flowui:jmix-flowui-kit'

  1. UiMinimalRole file was automatically created which is nice but it was created in almost all the models that lac different resources and I guess it is only necessary in the add-on where I have user and security packages. So, I have deleted the “UiMinimalRole” files from all other add-ons and just kept the one in the security-related add-on only. I hope it’s acceptable.

  2. The screen preview of my composite project wasn’t working in v1.4, now it is working well, thanks.

  3. When I tried to run the application from IntelliJ, It is failed to run. As I see you didn’t recommend use of OpenJdk, I have installed a fresh instance of Java 17 (Eclipse Temurin) instead of openJdk11 and set this Java to the project. The problem is still there and it looks like related to security. Please see below the log when I tried to run it. Thanks for helping out.
    Jmix15RC3.txt (27.1 KB)

The system is trying to create “main_UserRepository” which indicates it is trying to create in the main add-on where the project Id is “main” but the security package is in a different add-on with project Id “mdg”. Therefore, shouldn’t it be then “mdg_UserRepository”?

Another issue. When I created a new composite project, I got the followinge exception.

com.intellij.diagnostic.PluginException: Cannot invoke "com.haulmont.jmixstudio.flowui.model.menu.FlowPsiMenuItem.traverse(com.intellij.util.Processor)" because the return value of "com.haulmont.jmixstudio.flowui.model.menu.config.FlowMenuConfig.getRoot()" is null [Plugin: io.jmix.studio]
	at com.intellij.ui.EditorNotificationsImpl$updateEditors$job$1.invokeSuspend(EditorNotificationsImpl.kt:228)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Caused by: java.lang.NullPointerException: Cannot invoke "com.haulmont.jmixstudio.flowui.model.menu.FlowPsiMenuItem.traverse(com.intellij.util.Processor)" because the return value of "com.haulmont.jmixstudio.flowui.model.menu.config.FlowMenuConfig.getRoot()" is null
	at com.haulmont.jmixstudio.flowui.util.FlowMenuUtil.findViewMenuItems(FlowMenuUtil.kt:43)
	at com.haulmont.jmixstudio.flowui.util.FlowMenuUtil.findViewMenuItems(FlowMenuUtil.kt:30)
	at com.haulmont.jmixstudio.flowui.sd.FlowViewControllerNotificationProvider$FlowViewItemsActionInfo.<init>(FlowViewControllerNotificationProvider.kt:131)
	at com.haulmont.jmixstudio.flowui.sd.FlowViewControllerNotificationProvider.createNotificationPanel(FlowViewControllerNotificationProvider.kt:91)
	at com.haulmont.jmixstudio.flowui.sd.FlowViewControllerNotificationProvider.createNotificationPanel(FlowViewControllerNotificationProvider.kt:54)
	at com.intellij.ui.EditorNotifications$Provider.lambda$collectNotificationData$0(EditorNotifications.java:60)
	at com.intellij.ui.EditorNotificationsImpl$updateEditors$job$1$1.invokeSuspend(EditorNotificationsImpl.kt:220)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:194)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:74)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:114)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:36)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:909)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:756)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Hi Mortoza,
Thank you for trying out the release candidate!

The cause of your application startup error is this:

Caused by: java.lang.IllegalStateException: Duplicate key flowui-minimal

Looks like there are still multiple instances of UiMinimalRole in your project. Please check it and also execute clean gradle task in all subprojects or just remove all the build folders.

We will try to improve the migration procedure in composite projects based on your feedback.

1 Like

Thank you Konstantin, it’s now working after removing the additional copy of UiMinimalRole.

I am trying the new components released in v1.5RC3 and have the following feedback:

  1. I tried to create a data component from the designer, after entering all the selections, when I click OK button, nothing happens and the collection properties editor remains open.
    image

  2. You may consider creating Business Logic group in Jmix project node (exactly how it was in CUBA studio, below) which will be convenient as currently, we have to switch to project file explorer mode to work on Spring beans or event listeners.
    image

Hi Mortoza,
Thank you for testing the release candidate and Flow UI!
On the first point: could you share your version of the Jmix Studio?
On the latest version of the Jmix Studio i can’t reproduce this problem, but the same problem has been fixed: https://youtrack.jmix.io/issue/JST-3663/Cannot-get-module-for-tag-data#focus=Comments-83-7704011.0-0

P.S.: I also created a ticket for a migration issue in composite projects: https://youtrack.jmix.io/issue/JST-3693/Improve-migration-to-15-for-composite-projects

Hi, I’m using version 1.5 RC3,

Hi Mortoza, I fixed NPE, thanks for providing the stack trace.

1 Like

Thank you @t.musin . After updating to the new version, I’m stuck, the following screen is trying to start the FlowUI server forever. Restarted, and again the same!! I have been waiting for 20 minutes now to finish but don’t know if this is going to finish anytime soon! Any solutions?
image

Another thing: I can’t plan my software release without reports!!! When is the plan to release the reports add-on for FlowUI?

Reports add-on is planned for the June release Jmix Roadmap · GitHub

Hi,
About the long loading time for Flow UI Server artifacts:
Can you cancel the download or is it impossible?
Workaround for this problem is publishing 2 special jmix artifacts to your maven local repository and add mavenLocal() repository in your build.gradle file.

Flow UI Server required artifacts:

  1. jmix/jmix-flowui/flowui-kit at master · jmix-framework/jmix · GitHub
  2. jmix/jmix-flowui/flowui-devserver at master · jmix-framework/jmix · GitHub

Do you have similar problems with loading project templates?

Hi Mikhail
Thanks for the guidance. I left my computer on overnight and found the same one this morning.

I can load the CUBA project in the same IDE but when I try to load the FlowUI project, the indexing progress keeps on and after some time the computer becomes frozen.
image

Let me try as suggested but I am not sure of the steps. Do you want me to download files from those two links and mark the use of the local repository? I don’t see the option to download it!

Note that, I could quickly manage to update the plugin before the IDE starts indexing and loading flowUI but the problem is still there.

I have uninstalled the latest nightly version of the plugin and then installed manually the previous version to overcome the problem.

3 posts were split to a new topic: Tomcat deployment problem

Hi,
Could you attach please all the idea logs and thread dumps (just archive the logs folder)?

Note:
You can find this stuff if you click in your IntelliJ IDEA “Help → Show logs in finder (explorer)”
Also see: Directories used by the IDE | IntelliJ IDEA Documentation

Hi Mikhail
Please find attached the IDEA log file as requested.
idea 3.log.zip (911.8 KB)

1 Like

Thank you so much, your logs were very helpful to solve the problem. The possible location that caused the problem has been fixed.

Hi, Mortoza

Could you please check latest NIGHTLY build to be sure the problem has gone?
It is not available in jmix_nighlty repository yet, so please download and install it manually
https://plugins.jetbrains.com/files/14340/302030/jmix-studio.zip

Thank you