Servoy 2.2 rc1

We announce the immediate availability of Servoy 2.2rc1

NOTE: this is PRE-RELEASE SOFTWARE, use with caution and make BACKUPS before you start.

This version is available through auto update (if you have beta update notify enabled, meaning having the line ‘wantsBetaCodeNotifies=true’ in your servoy.properties file)

Previous beta build info

Enhances:
[enh]-calculation engine optimize, so calcs are less called.
[enh]-elements.tabpanel.addTabPanel(…) and removeTabAt(…) for relationless tabpanels
[enh]-better support for bit/boolean/inet types on postgress database
[enh]-allow modules in modules
[enh]-labels will draw a dotted black border if it gets focus (if it doesn’t have a border)
[enh]-JavaScript method/styles printing
[enh]-option in check for new version dialog to receive beta notifies

Fixes:
[fix]-script method validate bug http://forum.servoy.com/viewtopic.php?p=17813#17813
[fix]-calendar field edits in table view not noted/stored in db
[fix]-disappearing formpanels when you open lots of forms inside one main panel
[fix]-workarround for oracles driver bug - dates usage (so the time portion is not lost) http://forum.servoy.com/viewtopic.php?t=3729
[fix]-with Java 1.5 the enter key didn’t trigger an action in a textfield when no change http://forum.servoy.com/viewtopic.php?t=3797
[fix]-reference errors when displaying a tabpanel without a relation because records aren’t loaded yet http://forum.servoy.com/viewtopic.php?t=3725
[fix]-export csv, new lines where not trimmed and values are now escaped.

For plugin developers:
[enh]-jsdataset passed to a plugin method become IDataSet instances
[enh]-IServerAccess.flushAllClientsCache(…) for use in server plugins
[fix]-unload not called on server plugins http://forum.servoy.com/viewtopic.php?p=17815#17815

Will the RC be available in the Developer section as a beta release?
I have currently no web connection, so auto update is no option for me.

yes, it is available as full download

[enh]-calculation engine optimize, so calcs are less called.

I just updated to this version and it seemed to take FOREVER to open my solution, so I had to end the task nd then tried to turn off some plug-ins to try and let me get to see my data.
On another try it would seem like it is trying to update (kind of as was discussed elsewhere) ALL calculations in the back end data!!
In some ways I’m very happy with this, but if it is the case, I have MASSES of data and calcs. and it should give a warning or ask you if you want that to happen (I have just spent ages using the back end tool to update my data, I don’t need it all to happen again).

Am I correct, is it trying to update all calcs that might not have fired?
If so, you really do need to warn people as the solution doesn’t open up as quickly as before (in fact I have no idea yet how long it will take to open mine, I might have to leave it overnight…)

If so, can this be a toggle or something, or at least have some kind of progress indicator (e.g. Updating calc ‘line_inc_vat’…) etc. so we know what is happening.

Please advise,
Thanks,

Rafi.

if it is really saving youre calculation again then it is changed!!
So the calculation is out of synch with what’s stored in the database!!

And it only calculates the records that you get from the database. It doesn’t do this by itself..

So when a record is loaded. It checks for the calculations of that record IF a calculation value that is returned is different that the value that did came from the database it will store this yes.

If youre solution really takes very long to open that this means 2 things. One many calculations are out of synch with the database. And you load lots of records with the first form (of course this could be possible, i would avoid this if i was you because this gives a lag in user experience)

Some extra notes about the calculation changes:

All stored calculations are calculated when the record is loaded from database. So that the calculated values of the record are in synch with the database as soon fast/early as possible

2 things needs to taken into account when returning a value of a stored calculation so that servoy doesn’t see it constantly as a change.

1> If you return a string then please take care that the value that is returned can fit in the column. So if you specify a column of length 10 and the string you return is of length 11 then that value will be constantly updated to the database. (we are planning to generate a warning for this)

2> some database (like sybase) return a NULL for a empty string. So if you return an empty string (“”) in a calculation then servoy will see this as a change because the database did return a NULL. So just to be safe for these kind of things do return a NULL instead of a “” when returning an empty string from a calculation.

I’ve just upgraded to RC1 and I’ve noticed the degrease in performance as well.

Both in starting up a solution as well as inside the solution…

The solution is very small (+/- 20 forms), the underlying tables have only up to 5000 records and the use of calculations is limited.

Starting up takes minutes, whereas this used to take only up to half a minute.

On my main form, I have two tabpanels with related data. Selecting a record in the first tabpanel results in displaying different related records on the other tabpanel. This used to happen instantly, now there is a short delay of between 1 and 2 seconds.

Paul

some stuff I forgot to say:

While the solution is starting, the CPU of my machine is at 100% and basically, servoy blocks the entire machine… If I move the cursor with my mouse, the cursor jump to a new position every second or so…

Servoy Developer
Version R2 2.2rc1-build 319
Java version 1.4.2_06-b03 (Windows XP)
Windows XP SP2

Paul

We did some changes in calc. engine, which will be optimized in Servoy 2.2 rc2

We did some changes in calc. engine, which will be optimized in Servoy 2.2 rc2

Great.
BTW, at what point is the data for the stored calcs. actually saved to the back-end?
I viewed some forms and saw the calcs. showing correctly, closed solution, used back-end tool, but the fields weren’t updated (maybe one or two).

Thanks.

BTW: I noticed that the very slow start of the solution only happened after starting Servoy for the first time after the upgrade to RC1

Paul

I always have slow startups with RC1.

We have 2 online test servers, so you can compare:

RC1:
http://217.71.124.73:8080/startup.htm

takes 30 seconds

R2 2.1.2:
http://217.71.124.71:8080/startup.htm

takes 12 seconds

But I’m sure the Servoyans are working on it!

Stef

This is already solved!

Thanks to the hard-working Servoy Guys!

BTW: very cool stuff that we can now add/remove tabpanels. Will it in the (near) future be possible also to add/remove related tabpanels?

Or else: Just hide related tabpanels?

Paul

pbakker:
BTW: very cool stuff that we can now add/remove tabpanels. Will it in the (near) future be possible also to add/remove related tabpanels?

Or else: Just hide related tabpanels?

Paul

hiding related tabpanels is allready possible!
it’s just adding related tabpanels that does not work.

:shock: You’re kidding! since when? Must have missed it…

Paul

pbakker:
:shock: You’re kidding! since when? Must have missed it…

Paul

Just try it!

Well, offcourse I did! :D

I can see I can remove a related tabpanel, but I cannot see how I can hide one (and thus unhide it as well)

These are, to me, two different things: Hiding and removing.

Paul

ah sorry!

remove is possible, hide is also possible, unhide is not possible! :lol: