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