# NOW AVAILABLE: Public Pre-Release of Servoy 4.0

**URL:** <https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085>\
**Category:** Classic Servoy\
**Created:** [May 13, 2008, 6:15pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085 "2008-05-13T18:15:15Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![svroemisse](https://avatars.discourse-cdn.com/v4/letter/s/da6949/32.png) [@svroemisse](https://forum.servoy.com/u/svroemisse)\
**Post date:** [May 13, 2008, 6:15pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/1 "2008-05-13T18:15:15Z")

</div>

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](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](http://crm.servoy.com/servoy-webclient/solutions/solution/servoy_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](http://forum.servoy.com/viewtopic.php?t=3464&highlight=tofixed))
2. method.apply() now works as expected ([http://forum.servoy.com/viewtopic.php?p=51648](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_howto.asp), [http://www.w3schools.com/e4x/e4x\_example.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](http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:Creating_New_Objects:Defining_Getters_and_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

---

<div class="post-metadata">

**Author:** ![BDuncan](https://avatars.discourse-cdn.com/v4/letter/b/50afbb/32.png) [@BDuncan](https://forum.servoy.com/u/BDuncan)\
**Post date:** [May 13, 2008, 6:54pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/2 "2008-05-13T18:54:46Z")

</div>

Ha ha! So exciting - great job Engineering team!

---

<div class="post-metadata">

**Author:** ![antonio](https://avatars.discourse-cdn.com/v4/letter/a/6de8d8/32.png) [@antonio](https://forum.servoy.com/u/antonio)\
**Post date:** [May 13, 2008, 10:45pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/3 "2008-05-13T22:45:57Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![LOGIsoft](https://avatars.discourse-cdn.com/v4/letter/l/e36b37/32.png) [@LOGIsoft](https://forum.servoy.com/u/LOGIsoft)\
**Post date:** [May 14, 2008, 9:58am UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/4 "2008-05-14T09:58:41Z")

</div>

As always, you guys have out-done yourselves! Fantatstic job! ![:D]( "Very Happy")

Keep’em coming,

Ben

---

<div class="post-metadata">

**Author:** ![BDuncan](https://avatars.discourse-cdn.com/v4/letter/b/50afbb/32.png) [@BDuncan](https://forum.servoy.com/u/BDuncan)\
**Post date:** [May 14, 2008, 9:25pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/5 "2008-05-14T21:25:33Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![monetteboy](https://avatars.discourse-cdn.com/v4/letter/m/c57346/32.png) [@monetteboy](https://forum.servoy.com/u/monetteboy)\
**Post date:** [May 14, 2008, 10:49pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/6 "2008-05-14T22:49:56Z")

</div>

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;  
}

---

<div class="post-metadata">

**Author:** ![IT2Be](https://avatars.discourse-cdn.com/v4/letter/i/dc4da7/32.png) [@IT2Be](https://forum.servoy.com/u/IT2Be)\
**Post date:** [May 14, 2008, 11:18pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/7 "2008-05-14T23:18:16Z")

</div>

> 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.

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [May 15, 2008, 8:36am UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/8 "2008-05-15T08:36:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jcompagner](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/jcompagner/32/4889_2.png) [@jcompagner](https://forum.servoy.com/u/jcompagner)\
**Post date:** [May 15, 2008, 9:20am UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/9 "2008-05-15T09:20:00Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Jan\_Blok](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@Jan\_Blok](https://forum.servoy.com/u/Jan_Blok)\
**Post date:** [May 15, 2008, 12:47pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/10 "2008-05-15T12:47:14Z")

</div>

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](http://forum.servoy.com/viewforum.php?f=36) forum

Thanks.

---

<div class="post-metadata">

**Author:** ![monetteboy](https://avatars.discourse-cdn.com/v4/letter/m/c57346/32.png) [@monetteboy](https://forum.servoy.com/u/monetteboy)\
**Post date:** [May 15, 2008, 2:38pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/11 "2008-05-15T14:38:04Z")

</div>

jcompagner,

Thanks so much!

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

---

<div class="post-metadata">

**Author:** ![dpearce](https://avatars.discourse-cdn.com/v4/letter/d/e95f7d/32.png) [@dpearce](https://forum.servoy.com/u/dpearce)\
**Post date:** [May 17, 2008, 1:32pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/12 "2008-05-17T13:32:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![ROCLASI](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.servoy.com/roclasi/32/4371_2.png) [@ROCLASI](https://forum.servoy.com/u/ROCLASI)\
**Post date:** [May 17, 2008, 1:46pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/13 "2008-05-17T13:46:37Z")

</div>

Hi David,

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

---

<div class="post-metadata">

**Author:** ![grahamg](https://avatars.discourse-cdn.com/v4/letter/g/a4c791/32.png) [@grahamg](https://forum.servoy.com/u/grahamg)\
**Post date:** [May 17, 2008, 1:50pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/14 "2008-05-17T13:50:02Z")

</div>

Hi David

From memory so might not be perfect -🙂

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

---

<div class="post-metadata">

**Author:** ![bcusick](https://avatars.discourse-cdn.com/v4/letter/b/ed8c4c/32.png) [@bcusick](https://forum.servoy.com/u/bcusick)\
**Post date:** [May 21, 2008, 6:59pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/15 "2008-05-21T18:59:03Z")

</div>

Also - DO check out the tutorials here: [http://www.servoy.com/generic.jsp?mt=396&taxonomy\_id=790](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.

---

<div class="post-metadata">

**Author:** ![kwpsd](https://avatars.discourse-cdn.com/v4/letter/k/bb73d2/32.png) [@kwpsd](https://forum.servoy.com/u/kwpsd)\
**Post date:** [May 21, 2008, 9:25pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/16 "2008-05-21T21:25:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![bcusick](https://avatars.discourse-cdn.com/v4/letter/b/ed8c4c/32.png) [@bcusick](https://forum.servoy.com/u/bcusick)\
**Post date:** [May 21, 2008, 10:34pm UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/17 "2008-05-21T22:34:15Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![kwpsd](https://avatars.discourse-cdn.com/v4/letter/k/bb73d2/32.png) [@kwpsd](https://forum.servoy.com/u/kwpsd)\
**Post date:** [May 22, 2008, 1:35am UTC](https://forum.servoy.com/t/now-available-public-pre-release-of-servoy-4-0/9085/18 "2008-05-22T01:35:39Z")

</div>

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
