Page 1 of 1

Servoy 3.5 beta 2

PostPosted: Tue Apr 17, 2007 8:58 pm
by svroemisse
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

PostPosted: Tue Apr 17, 2007 9:39 pm
by ROCLASI
[new] db treeview bean can be used with web client


AWSOME! Thank you guys!

Feature Request for 3.5

PostPosted: Thu Apr 19, 2007 5:23 pm
by rafig
I'm sure this has been asked for before, but maybe it can be added easily to 3.5 :D
When duplicating a form, could Servoy offer an option to also duplicate all form methods, as if we have lots of buttons/methods attached to a form, it would make life a lot easier when working in the new duplicate form as all button methods, event methods etc. will already be there?

Thanks,
Rafi
[I'm just going thru about a dozen forms that I've just duplicated and now have to duplicate all the methods as well in 3.1.4!
Also, thinking about it, I was duplicating the forms for use on another table, so maybe asking what the tableName is as well? ] :)

PostPosted: Mon Apr 23, 2007 5:17 pm
by jcompagner
The question is why do you want to duplicate such a form including all the methods? Because that i what i call major code duplication.

I guess you need it because you have some common navigation?
We already have a better solution in mind for servoy 4.0 where you really can share forms

PostPosted: Mon Apr 23, 2007 6:04 pm
by swingman
Hi,

I see your point, that in the hands of an inexperienced developer this could lead to code duplication and bad coding style...

however, when you find yourself having to duplicate a complicated form with numerous elements which have scripts attached, it is pain to have to rewrite and rewire all the methods local to the form. (links to Global methods are retained, but making everything global is not exacly good style either!)

In my case the methods are typically 1-2 lines, the only exist to pass multiple parameters to metods defined elsewhere. Often I want to move or re-use some logic from one table to another, so each method will need to be adjust manually.

When duplicating a form, you should ask if the developer wants to duplicate the methods, then I assume you will have to

1. save empty versions of each script, so the scripts exist.
2. attach them to the UI-elements in the form.
3. copy code for each method from the old form so they are ready for the developer to make manual adjustments.

This will still be a lot quicker than to navigate down a tree of 200+ forms to the correct form to duplicate scrips manually.

I have another development product here were I can easily duplicate stuff... The lack of this functionality is a weakness of Servoy. You need to improve this.