We announce the immediate availability of Servoy 3.5 Beta 2
NOTE: this is PRE-RELEASE SOFTWARE, use with caution and make BACKUPS before you start.
This version is available through the download page on the Servoy website (developer section).
Changes
[new] db treeview bean can be used with web client
[enh] in find mode, when you create a new record, the first field is focused
[enh] application server better handles heavy loads
[enh] record sort or select via 1-to-n relation no longer returns duplicate keys
[chg] showFormInDialog() will create inline dialog in web client
[chg] when solutions are imported, existing styles with different uuid are deleted (when overwrite styles flag was set)
[chg] with unsaved records, print preview no longer is possible
[fix] problems when pressing ctrl-N multiple times in find mode
Servoy 3.5 Beta 1 release notes (SAN-only release)
[new] web client is entirely AJAX-driven
[new] JSFoundSet node under Database Manager
[new] security.canDelete(serverName, tableName) - tells whether or not the user is allowed to delete records from the specified table
[new] security.canUpdate(serverName, tableName) - tells whether or not the user is allowed to update records from the specified table
[new] security.canInsert(serverName, tableName) - tells whether or not the user is allowed to insert into the specified table
[new] security.canRead(serverName, tableName) - tells whether or not the user is allowed to read the specified table
[new] application.removeAllClientInfo() removes all client-added additional client info about any client
[new] added join type to relation dialog
[enh] more constraints on relations
[enh] search multiple relations deep
[enh] removed limit of 1000 records for controller.loadRecords(pkDataSet)
[enh] application.setStatusText(text, [tip]): added optional 2nd argument to display a 'tool'tip
[enh] dataSet.getAsHTML() got a 5th optional parameter: boolean addColumnNames which is true by default
[enh] when placing field labels in Developer, the field names are prettified for the label
[chg] executeStoredProcedure() moved from Database Manager to rawSQL plugin. The Database Manager function is now deprecated.
[fix] type-ahead fails after 2-3 characters
[fix] self join problems
[fix] udp plugin reporting the wrong amount of bytes written
[fix] many valuelists fixes: empty values are handled better, underlying types such as integer(1) and long(1) are better compared
Enhancements for auto-generated SQL
The sql generation has largely been rebuilt. Servoy now supports relations using inner joins, left outer joins, right outer joins and full joins. This can be set from the relation dialog. Thus far, Servoy relations have all implicitly been inner joins so when migrating your solutions, current relations will all become inner joins.
Servoy now uses temp tables for queries on tables with composite primary keys. With databases that do not have temp table support, tables will be created named temp_<number>. These will be removed by Servoy after use. Be aware though, that in case of a crash some might remain.
Custom SQL
With the new sql generation engine, just about any legal sql can be used for custom queries. Your sql will still have to produce primary keys for the forms' table. When your sql uses the ORDER BY keyword, the old sql generator method is still used. This means that all the old restrictions apply. It also means that your old solutions' queries should cause no trouble with Servoy 3.5 .
Known issues
Serialize converter issue: serialization of multidimensional arrays doesn't work.
AJAX support is still somewhat unpolished, giving small layout problems in web client.
The security.canInsert / canUpdate / canDelete functions sometimes return incorrect results