Feedback on the new Studio

I tried the new version today and my experience so far is positive.

I started using the stand alone application on my linux system and directly opened an existing Studio 6.10 application. Even that I am used to work with IntelliJ, I had to search a little to find the editor for the entities…

I also tried the addon which worked, too.

My findings are the following:

a) When using the AddOn inside IntelliJ Ultimate, I got an error:

“Unsupported Modules Detected: Compilation is not supported for following modules: CUBA. Unfortunately you can’t have non-Gradle Java modules and Android-Gradle modules in one project.”

Just as an explanation: In my git repository of my project, I have multiple directories for different applications, e.g. “CUBA” for the CUBA Platform based server part, “Android-App” for an Android Application and so on … the stand alone application didn’t give such an error and because I was opening the CUBA folder, everything outside that folder should not be considered by the project.
But this seems to be no real issue: Everything seems to work fine.

b) Switching between Text and Designer is quite nice, but it is not done in a consistent way. Example:

  • Entitys can be shown as text, designer and ddl preview.
  • Views are just shown as text / structure but what I would call the designer is opened through the context menu of the element with “Edit View”

c) “Missing Files” - Currently I have to switch the view of the Project between the “CUBA” view and the “Project” view because not all files seems to be visible inside the CUBA view.

  • An “Abc Service” has multiple files - AbcService Interface and AbcServiceBean implementation. I can only see the AbcServiceBean implementation in that view. I think the other file should be available directly, too
  • Additional Files - I added some additional code to the project. That does not really belong to CUBA, so it is ok, that these files are not shown inside the CUBA view. But maybe it is nice to have these additional files somewhere inside the CUBA view, too.

And I am a little confused regarding the new subscription model. The AddOns will be free, so it is mainly for the studio feature / addon to edit entities/views/screens? I am looking forward to hear more details / comparisons about this in the future.

And you mentioned:
“As we consider the new Studio not mature enough, we now offer an extended trial period - it will last till 2019-06-01.”
Is the new Studio 7 ready for production use or do you recommend to wait before using it in production?

Thank you for all your great work!

Kind regards,

Konrad

1 Like

Hi Konrad,

Thank you for the feedback. I have moved it to the separate topic for more convenient discussion.

b) Switching between Text and Designer is quite nice, but it is not done in a consistent way. Example: Entitys can be shown as text, designer and ddl preview. Views are just shown as text / structure but what I would call the designer is opened through the context menu of the element with “Edit View”

This is because what you see in the Text is a file containing multiple views. When we implement the view designer in the fast IntelliJ UI, we’ll probably show the currently selected view on the right side of the Structure window, without the need to click Edit. Thanks for the hint, I’ve added the idea to the issue.

c) “Missing Files” - Currently I have to switch the view of the Project between the “CUBA” view and the “Project” view because not all files seems to be visible inside the CUBA view.

This is a very valid point. We are still thinking of how to organize the project tree in this regard. Your ideas are welcome.

And I am a little confused regarding the new subscription model. The AddOns will be free, so it is mainly for the studio feature / addon to edit entities/views/screens?

Well, the access to add-ons was always a free addition to the Studio subscription. I believe it is stated on the website:
image

Since framework version 7 the add-ons become open-source so only Studio itself requires subscription. The commercial features of the Studio now include graphical designers, but we are going to add more useful features for paid customers in the future.

Is the new Studio 7 ready for production use or do you recommend to wait before using it in production?

Of course you can use it for all your projects. We’ve decided to offer the extended trial period because we expect frequent and important changes in the Studio in the nearest future, and we want to invite more people to review the commercial features and give us feedback. New feature releases will be built approximately once a month.

Regards,
Konstantin

Hi,

thank you for your effort / your explanations.

Regarding the missing files, I have to confess that I do not have a good idea either. I think that it might be easierst to just show them separated with modules and the package structure.
But if you add something like that, then you might consider showing all files.
=> But how important is this? The developer can quickly switch the view to see all files.
(I also see the complexity with adding new files. So at least I think that switching the view is not a problem right now.)

When using the new studio, i found two items that seems to be missing from the current version (stuff that can be done manually without any problem but it is inside studio 6 so I want to mention it):

a) Dependencies. In CUBA Studio 6, I was able to add extensions to the modules. So in the end, I had additional entries inside the build.gradle file for each module.
At least with studio 7 I was unable to find this possibility. I added it by accident where you can add additional 3rd party addons which resulted with a wrong entry. (And the added entry wasn’t shown after closing the properties and opening them again)
=> Would be nice to have, but of course: it is quite normal to update the build.gradle file manually to add dependencies.

b) Adding Entity Listeners. In CUBA Studio 6, I was able to use the GUI to add a new entiry listener where a class was created that implemented AfterInsertEntityListener or interfaces like that and also added the @Listeners annotation to the entity implementation

With kind regards,

Konrad

Hi Konrad,

About adding dependencies: we’ll probably just give more recommendations in docs on how to work with dependencies in build.gradle. A special UI now seems like an overkill.

Regarding entity listeners. We are not going to add a UI for them because on one hand, a listener is just a bean with a bunch of well-documented interfaces and an annotation on the entity. On the other hand, we wouldn’t like to encourage developers to create entity listeners by providing a special UI for it. We’ve just documented a new way to react on entity changes: EntityChangedEvent. We believe it is simpler and better suited for most situations.

Regards,
Konstantin

Hi Konstantin,

you are of course correct. I feel a little silly that I simply got the new version and expected everything the same without checking all new features and changes first.

After reading more, I am now in the process of upgrading to the new version.

Thank you very much for your time and response.

With kind regards,

Konrad