We are pleased to announce the immediate availability of Servoy 6.0 final release.
First of all, we want to say thanks to all the beta/release-candidate testers, for all the testing they did!
This version is available through the download option on the Servoy website and auto-update (for beta/release-candidate versions).
Always make a backup of your current Servoy installation (directory and database) before installing/upgrading.
To update a Servoy eclipse open Check for updates via help menu.
For all the highlights read the wiki.
Client Changes
[fix] 400937 font not respected in new rowcolor CSS WebClient & SmartClient
[fix] 402149 formObj.navigator == SM_DEFAULTS.DEFAULT always returns false
WebClient Changes
[fix] 402369 row coloring cached or something in WebClient
[fix] 402262 Checkbox fields are rendered incorrectly in WebClient
[fix] 401053 CSS Styling is not applied to Calendar fields in the WebClient
Developer Changes
[fix] 401362 Incomplete sample on controller.setDesignMode
[fix] 401317 NullPointerExc when triggering code from the WebClient while the Profiler is running
[fix] 402086 Incorrect warning when using array of custom objects
[fix] 362968 Overwritten methods generate a warning ‘Function <function_name> hides variable’
[fix] 403075 Paste into the Interactive Console doesn’t works
Hi Servoy,
Congratulations for the final release of Servoy 6! This version is definitely a big step forward from the prior 5.2 and our developers are really appreciating all the efforts which you have put to make this happen.
Now to the grunt stuff…
We are experiencing and issue which happens only when the application is running from a real Servoy Application Server and the Smart Client is used. The error which is thrown is:
Jul 28, 2011 4:52:14 PM com.servoy.j2db.util.Debug error
SEVERE: Throwable
com.servoy.j2db.persistence.RepositoryException: cannot clone/copy without change handler
at com.servoy.j2db.persistence.AbstractBase.cloneObj(AbstractBase.java:667)
at com.servoy.j2db.scripting.solutionmodel.JSBase.checkModification(JSBase.java:94)
at com.servoy.j2db.scripting.solutionmodel.JSBase.getBaseComponent(JSBase.java:53)
at com.servoy.j2db.scripting.solutionmodel.JSPart.js_setHeight(JSPart.java:296)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:179)
at org.mozilla.javascript.JavaMembers.put(JavaMembers.java:178)
at org.mozilla.javascript.NativeJavaObject.put(NativeJavaObject.java:141)
at org.mozilla.javascript.ScriptableObject.putProperty(ScriptableObject.java:1768)
at org.mozilla.javascript.ScriptRuntime.setObjectProp(ScriptRuntime.java:1531)
at org.mozilla.javascript.ScriptRuntime.setObjectProp(ScriptRuntime.java:1519)
at org.mozilla.javascript.gen.c531._c0(Unknown Source)
at org.mozilla.javascript.gen.c531.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:91)
at org.mozilla.javascript.gen.c353._c0(Unknown Source)
at org.mozilla.javascript.gen.c353.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:73)
at org.mozilla.javascript.gen.c335._c0(Unknown Source)
at org.mozilla.javascript.gen.c335.call(Unknown Source)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:65)
at org.mozilla.javascript.gen.c287._c0(app_shell_GetFormInstanceNameToUse:826)
at org.mozilla.javascript.gen.c287.call(app_shell_GetFormInstanceNameToUse)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:73)
at org.mozilla.javascript.gen.c570._c0(viewFinanceCharge:97)
at org.mozilla.javascript.gen.c570.call(viewFinanceCharge)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:387)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3134)
at org.mozilla.javascript.gen.c570.call(viewFinanceCharge)
at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:518)
at com.servoy.j2db.FormController.executeFunction(FormController.java:4051)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3930)
at com.servoy.j2db.FormController.executeFunction(FormController.java:3852)
at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:3707)
at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:271)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:217)
at com.servoy.j2db.ui.BaseEventExecutor.fireActionCommand(BaseEventExecutor.java:212)
at com.servoy.j2db.smart.dataui.AbstractScriptButton$2.actionPerformed(AbstractScriptButton.java:660)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
If we use the Web Client, everything works fine. If we try the same from the Servoy Developer, both the Smart and the Web client work fine. The method where the exception is being caught uses the SolutionModel to dynamically change the form UI. Because the code runs without any errors when we try to debug the issue, we are not sure what exactly causes the Smart Client running from the test Application Server to fail.
The issue is not introduced in 6.0 Final release - testing with RC5 and RC4 produces the same results.
Any help on resolving this issue will be greatly appreciated.
rossen: you don’t have any error in front of that?
edit: to know a bit more about the setup, are you there touching a part (set height) on a part that comes from a super form? So you try to set the height of an inherited part?
rossen: i could reproduce it if you have 2 forms extending each other and both in different modules/solutions. And the part is not overridden in the subform (in the designer) so you really start overriding it through solution model.
I fixed this for 6.0.1
I think a quick fix for you would be to touch (change some property) the super form through the solution model, so that it is also in “edit” mode.
I am testing the html field and on this release and I am getting “error loading solution” inside the html field, and the previous rc version seems to work
Do we need to set something else to enable html editing?
it works fine when testing on my desktop but when I put it on a server and trying to see it just show the attached error inside the field
issue_with_html_field.servoy (3.98 KB)
About the issue I am having with the html fields.
I did a fresh Servoy server install and it seems to be working fine now ![Smile :)]()
- The issue happens on this case when I update the server from the previous rc version to the final
I have found an strange behavior using smart-client and not in web-client
I have a solution with some modules. One of those modules have some other modules.
The last module chain has a relation that I used to access to from the 2nd chain module without problems, in fact the developer doesn´t show any warning or info using that relation, much more if I try to create the same relation in the 2nd chain module I get an error because that relation already exists. That´s good is the way it should work, but when executing the solution from the smart-client I get an error because the relation does not exist.
Any clue??
Thanks.
so it works for you in the developer ? and also in the debug client that you start from the developer?
But it doesn’t work from a real smart client connected to a server where you uploaded the complete solution including modules to?
Hi Johan. I would not say it better !! ![Laughing :lol:]()
Works in Developer and with WebClient. The problem is in SmartClient on a server
is the data that you talked to the same (server or developer)
What kind of relation is it? is it a Fk->PK relation? (so for example order_lines to orders)
Because if that is the case then it is possible that the relation is not there yes. and you just need to test it.
if you do a quick test through the solution model:
solutionModel.getRelation(“yourrelationname”)
do you get a relation back then in the smart client?
If that is the case then it is really there.
Hi Johan,
jcompagner:
is the data that you talked to the same (server or developer)
I do not know what you mean with “the same” but I have in the server a copy of the database I have in developer.
jcompagner:
What kind of relation is it? is it a Fk->PK relation? (so for example order_lines to orders)
Because if that is the case then it is possible that the relation is not there yes. and you just need to test it.
No, it is not FK->PK, it is PK->FK. It´s a form where I create the tenants. Before saving it I create a default user so he can login, I create it with “Security” and in my users table, like:
inquilinos_to_usuarios.newRecord()
Inqulinos is the tenants table and usuarios the users one.
jcompagner:
if you do a quick test through the solution model:
solutionModel.getRelation(“yourrelationname”)
do you get a relation back then in the smart client?
If that is the case then it is really there.
I will try this and let you know.
jcompagner:
if you do a quick test through the solution model:
solutionModel.getRelation(“yourrelationname”)
do you get a relation back then in the smart client?
If that is the case then it is really there.
Joan, good afternoon.
Doing that from Developer works fine, I can get the UUID of the relation, but from server getRelation() returns null.
From server with webclient also works fine !!
can you try to delete your client cache then
Because if it works on the webclient (on the server) then it should work just fine in the smartclient because those 2 should use exactly the same solution…
on windows 7:
c:\users[username].servoy
just delete that dir
jcompagner:
can you try to delete your client cache then
Because if it works on the webclient (on the server) then it should work just fine in the smartclient because those 2 should use exactly the same solution…
on windows 7:
c:\users[username].servoy
just delete that dir
Hi Johan that did not the trick. I also deleted the application from the Java Control Panel and reinstalled, but nothing changes.
then i don’t know it anymore
If you really have a clean servoy install (deleting the application doesn’t do much in this area, its really the user dir .servoy file that could hold some cached data)
and on the same server on a webclient the solution works but in the smart client suddenly that relation is gone then i am out of idea’s. That should just work fine, they should have exact the same solution.
OK Johan, what I have done is create a second relation for that module and different name.
and that one you do see in the smart client?
So it is only really 1 relation that can’t be looked up only in a real smartclient?
Yes it´s really strange. This one is, of course, visible because it belongs to that module so there should not be any problem. But the really strange thing is that I have some other similar relations that are visible.
Juan,
What is the solution type of the module that has the relation?
If the relation is defined in an authenticator solution which is also used as a module, then this module cannot be used in the smart client.
Auhenticator solutions are filtered out in smart client/appserver setup for security reasons.
Rob
@Rob
Solution type is Autenticator