Page 1 of 1

Migration from Servoy 7 to Titanium

PostPosted: Wed Jun 08, 2022 1:35 pm
by marco.rossi
Good morning,
I have a client who'd like to migrate from servoy 7 to Titanium.

He's actually using the smartclient so my question is not "how to automatically migrate a solution from smart client to ng client (v2)" but:
"how can I have a servoy 7 smartclient solution running in a servoy Titanium smartclient solution"?

I tried to install the Titanium, import the solution and to run it as smartclient but I'm not able to get it properly working. In particular, the forms are not properly rendered especially when they cointain a form as tableview.

At the developer startup I already start with errors regarding java 2d so it might cause the rendering problem..?
error stack.txt
(120.97 KiB) Downloaded 312 times


I tried to install the last available jdk and changed the -vm argument into the servoy ini to make servoy point on it but it didn't solve.
I tried also to add these lines both into servoy.ini and into seroy-admin-page (under smartclient vm args section) but it doesn't resolve:
--add-modules=ALL-SYSTEM
--add-exports=java.desktop/com.sun.java.swing.plaf.windows=ALL-UNNAMED
--add-exports=java.desktop/sun.java2d=ALL-UNNAMED

thanks

Re: Migration from Servoy 7 to Titanium

PostPosted: Fri Jun 10, 2022 5:17 pm
by swingman
Hi Marco,

I don't think this is possible.

1. The SmartClient relies on deprecated technology (Java webstart) and should be phased out.
2. NG-Client is the replacement for Smart-Client and Webclient. AnguarJS is also end of life, so
3. NG2-Client (Titanium) is the replacement NG-client

You typically only need to change 5-10% of your code to convert. Much of the code base can stay the same.

Depending on how you have build the system there will be some more or less work to convert, first to NG-client and then to NG2.
Going from SmartClient to NG is a revolution, in my case the systems ran faster, the users stopped complaining and became happier. I should have moved earlier.

NG to NG2 coversion removes the last legacy of the smart client with modern components, the old list and table views need to be replaced...

Hope this helps,

Re: Migration from Servoy 7 to Titanium

PostPosted: Fri Jun 10, 2022 5:58 pm
by jcompagner
how do you "install Titanium" what do you mean with this?

do you mean just the latest (2022.3.1) developer?

and then you just run your smart client solution in that? (that has still nothing todo with the Titanium NGClient)

but this error about sun.java2d needs that export yes so something like that should work but maybe you can also add:

--add-opens java.desktop/sun.java2d=ALL-UNNAMED


https://stackoverflow.com/questions/440 ... -in-java-9

Re: Migration from Servoy 7 to Titanium

PostPosted: Mon Jun 13, 2022 7:44 pm
by marco.rossi
Thank you all for the replies.

I installed the 2022.3.0.3742 which I called Servoy Titanium because it is how it's called everywhere on the Servoy Website. I'm sorry if this created confusion.

The customer has a Servoy 7 Smart Client solution and we'd get it properly running on 2022.3.0.3742 version and then progressively migrate the
Old forms in Titanium NGClient. I'm aware about the difference between a smart client solution and a NGClient/Titanium solution which uses Angular.

My problem was sun.java2d error so thanks for the hint because by adding this line, now it works.
--add-opens=java.desktop/sun.java2d=ALL-UNNAMED


Best
Marco