NOW AVAILABLE: Public Pre-Release of Servoy 4.0

We are pleased to announce the public Pre-Release of Servoy 4.0!

This new version of Servoy is based on Eclipse - and has been enhanced in many ways. You can download the software through the download page on the Servoy website in the Developer section (http://www.servoy.com/developer).

After you’ve installed the software - you will see a Welcome screen that has links to some Pre-Release flash tutorials and other PDF resources. You can also access this information at any time from within Servoy Developer by choosing “Welcome” from the “Help” menu.

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

Make a backup of your ENTIRE current Servoy installation (directory and database) before installing.

If you find a bug or have a feature request, please file a case in our support system: http://crm.servoy.com/servoy-webclient/ … oy_support

You can also discuss this Pre-Release version on the forum in the “New Releases” section.

Changes in Client
[new] form onUnLoad event, see unload event on a form
[new] case 119296: application.setStatusText(…) is now also working in web client
[new] case 127512: range check in find / search to detect bogus ranges
[new] case 122988: added global method converter plugin
[new] function getDataProviderID added for labels and buttons
[new] two new security methods: setSecuritySettings(…) and getElementUUIDs(…)

[enh] case 39682: convert foundset to dataset, databaseManager.convertToDataSet(…) now support the specification of column names
[enh] print preview initial zoom can be specified as an argument
[enh] labelfor labels to become headers in tableview to apply styles
[enh] Servoy sequence range extended to long (64-bits)
[enh] UUID column support (as 16 bytes binary, 36 char string of native db type) and UUID sequence generator in case of primary key
[enh] initialsort property in relations
[enh] case 127292: HTTP put and cookie support on the HTTP plugin

[fix] case 130932: labelfor labels and their referenced field should have the same visibility when configured via security
[fix] case 124895: transparency setting for title borders is honored

Changes in Developer
[new] case 51232: new solution types; solutions can now be flagged as web client-only, smart client-only or for both
[new] form inheritance, see below
[new] form variables, see below

[enh] also contains all improvements from 3.5.5 and those that will be in 3.5.6

[chg] in the solution explorer view, CTRL + double click will try to execute the default open action, double click will expand or collapse the tree
[chg] separate property categories for properties
[chg] combined server and table in one editor dialog

API changes
[new] case 49029: added add/removeColumn methods to JSDataSet

New Repository Version
We needed to make some changes to the repository database. This means that 4.0 repositories can no longer be read by previous versions of Servoy.

Form Variables
Form instance variables are a new feature in Servoy 4.0. These variables are visible to all the form functions, but not to global functions or functions from other forms.

Form Inheritance
With Servoy 4.0, forms can inherit layout, variables and functions from other forms. Sub-forms receive part definitions from their super form and can add parts to the end of the list of form parts. For instance, if form B inherits from form A and form A has a leading grand total, form B cannot add a title, but it can add a body.

Overloaded super form methods can be called using “_super”. This will prevent possible future clashes with “super”, which is expected to become a reserved word in the JavaScript 2.0 specification.

Transparency Setting for Title Borders
The transparency setting for title borders is honored. By default, transparency has always been on. This means you should check your solutions for title borders that unintentionally have become transparent.

Error handling changes
In Servoy 4.0, the error handling of record deletion was slightly changed:
In Servoy 3.5, when deletion of records fails because of servoy-application-checks, an error message is logged, the delete is rejected and scripting methods return value false.
In Servoy 4.0, when deletion of records fails because of servoy-application-checks, a ServoyException is thrown. When an on-error method is defined, the exception will be passed to the method.

New Exception error codes
As a consequence of the error handling change described above, two new ServoyException error codes have been defined:

error 331: NO_PARENT_DELETE_WITH_RELATED_RECORDS :
i18nmessage: servoy.foundset.error.noParentDeleteWithRelatedrecords

error 332: DELETE_NOT_GRANTED :
i18nmessage: servoy.foundset.error.deleteNotGranted

Rhino Update
The Javascript engine we use, Rhino, has been updated from version 1.5R3 to 1.6R7. This fixes a number of issues:

  1. .toFixed() now works as expected (http://forum.servoy.com/viewtopic.php?t … ht=tofixed)
  2. method.apply() now works as expected (http://forum.servoy.com/viewtopic.php?p=51648)
  3. many regex issues have been fixed

It also adds some very interesting features:

  1. XML support (http://www.w3schools.com/e4x/e4x_howto.asp, http://www.w3schools.com/e4x/e4x_example.asp )
  2. Getter and Setter support on Objects (http://developer.mozilla.org/en/docs/Co … nd_Setters )

Known issues

  • alignment toolbar missing
  • break on entry is not selectable yet
  • runtime builder plugin not yet functional
  • port settings from service preference panel are not applied
  • bean editor does not yet fully support custom property editors
  • installer will install database pre-filled with sample solutions and their data, even if sample solutions are not selected
  • installer overestimates the amount of space that is needed

Ha ha! So exciting - great job Engineering team!

Excellent news, Servoy! Thanks for making this beta available. Can you look into the crystal ball and give us some best-case and worst-case estimates of when you expect 4 to progress out of beta?

As always, you guys have out-done yourselves! Fantatstic job! :D

Keep’em coming,

Ben

Tony - the best case is tomorrow. The worst case is never.

ha ha!

Seriously, I will ask and see if we can let you know a more exacting answer.

I will say that we usually release within a couple of months after this stage.

For now, follow the restrictions (make a back up of your app - do not use in real production, etc.)

We appreciate people testing, poking, prodding and letting us know where the “kinks” are so we can make the best possible release.

Thanks again!

I have messed with this all day and give up.

I have some buttons that call this method. All it does is get the elementname of what button that was pressed and checks it via a switch statement.

This has worked fine in all previous versions but not in 4.0.

If I hard code the variable it works fine
i.e. button_pressed = ‘BPbutton1’;

I tried adding “'” + button_pressed + “'” and changing a few other things but it never works.

Thanks

var button_pressed = application.getMethodTriggerElementName();
var button_pressed_form_name = application.getMethodTriggerFormName();
var buttonid = ‘’;

switch( button_pressed )
{
case ‘BPbutton1’:
buttonid = globals.BPbutton1;
break;
case ‘BPbutton2’:
buttonid = globals.BPbutton2;
break;
case ‘BPbutton3’:
buttonid = globals.BPbutton3;
break;
case ‘BPbutton4’:
buttonid = globals.BPbutton4;
break;
}

I have messed with this all day and give up.

That is ok obviously but we are talking beta software here!
I think everybody will be grateful when you make an entry for it in the support system.

monetteboy, i think i already fixed that what you encountered just yesterday. Will quickly look into your usecase if that was the case.

monetteboy, i tested your case and yes it is fixed.

We just created Servoy 4.0 forum, to prevent Servoy 4.0 related comments/suggestion/problems to scatter all over the forum, so please use:
Servoy 4.0 Pre-Release forum

Thanks.

jcompagner,

Thanks so much!

Jan,
Good deal on adding the forum for us to talk about 4.0.

OK,

so i am a slow starter, but can someone tell me how i get to see the for designer view in eclipse. I can see everything else, except the actual form!!!

Sorry, i cant wait until the London roadshow in July and i now i am being thick!

David

Hi David,

Right-click on the form in the object tree and select ‘Open in form designer’.

Hi David

From memory so might not be perfect -:slight_smile:

In Eclipse - right-click is a key feature! Select your form from the list under Active Solution and right click to open a pane to edit in designer view. To view the Form you just click Smart and/or Web Client icons

HTH

Also - DO check out the tutorials here: http://www.servoy.com/generic.jsp?mt=396&taxonomy_id=790

They are a great place to start. You can also get to the same place by choosing Help → Welcome in the 4.0 version.

I am having difficulties downloading Servoy version 4.0. Followoing the instructions on the download page (I am running Windows Vista):

a) Manual download

Servoy 4.0 (beta) installer (Windows Vista exe)
Servoy 3.5 (final) installer (Windows Vista exe)
Servoy 3.1 (final) installer
Servoy 2.2.x installer

b) Manual install
Windows/Macintosh: Doubleclick the downloaded file servoy_installer.jar and follow the instructions.
Linux/Unix: Start the installer by typing the following command in the directory you downloaded: java -jar servoy_installer.jar

If I click on the ‘(Windows Vista exe)’ option, it downloads approximately 120 MB out of 159 MB whereafter I get a message stating that the connection to the server was lost. I’ve tried this 4-5 times with the same result…is this me, or the Servoy server?

If I click on the ‘Servoy 4.0 (beta) installer’, it downloads a 159 MB zip file which, when extracted, does not contain any *.jar files.

I’m a little confused at this point, because I have downloaded previous versions with no trouble. What am I doing wrong?

Thanks in advance.

Kim

The site was temporarily down this morning (in US) due to a DNS snaffu… can you resume the download?

Thanks, Bob…that did the trick! Also, download time was much improved (about twice as fast), most likely due to the DNS fix as well.

Kim