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.
Thank you Konstantin for this good news! I was waiting for this
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.
While migrating, I found the following dependencies as not recognized, so I commented out.
// kit 'io.jmix.flowui:jmix-flowui-kit'
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.
The screen preview of my composite project wasn’t working in v1.4, now it is working well, thanks.
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)
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.
I am trying the new components released in v1.5RC3 and have the following feedback:
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.
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.
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?
Another thing: I can’t plan my software release without reports!!! When is the plan to release the reports add-on for FlowUI?
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.
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.
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.