Servoy 3.5 beta 3

Release notes for Servoy betas

Servoy 3.5 beta 3

Postby svroemisse » Thu Apr 26, 2007 5:24 pm

We announce the immediate availability of Servoy 3.5 Beta 3

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

Because of our move to Tomcat 6, you will need to do a full install for this beta. We plan to have the auto updater working again for future releases.


Changes
[new] suggestions for global method assignments to form events
[new] column (i18n) title and description
[new] table events for hooking methods to insert, delete and update actions
[new] location parameter in addTab to insert a tab at a specified location
[new] validators on column data providers (can be defined on columns)
[new] "or" notation possible in find fields, example: >10||<0
[new] converters to automatically convert field data
[new] possiblity to show non-modal form dialogs
[new] skip the solution onload method in servoy developer by holding shift in select solution dialog while clicking solution to load
[new] databaseManager.getViewNames()

[enh] in new records, the first field gets focus
[enh] AJAX can be switched on and off via the admin page for web clients
[enh] preventing duplicate pk's in related search or sort (on non-pk columns)
[enh] popup menu plugin working in web client

[chg] Java requirements, see below
[chg] increased memory limit for windows service
[chg] using native database function to limit sql results

[fix] data truncation problem with large sums on number columns
[fix] duplicating find records with date ranges does not work
[fix] when importing a solution using a table that used to exist, sequence on the table might get lost
[fix] prevent auto creation of servoy sequences for existing tables
[fix] databaseManager.getTableNames() did return views as well
[fix] fix for record delete in combination with database-defined cascade delete
[fix] DBTreeView data loading fix for incorrect data

Java requirement changes
Due to the move to Tomcat 6, Servoy now requires Java 1.5 for both Servoy Developer and Servoy Server. Servoy smart client will still work with Java 1.4.

Known issues
- Serialize converter problem with multidimensional arrays
- The security.canInsert / canUpdate / canDelete functions sometimes return incorrect results
- DBTreeView bean does not work in runtime builder clients
- Popup menu plugin checkbox/ radio menu item not (yet) working in web client

Previous release:
http://forum.servoy.com/viewtopic.php?t=8169
Sandor Vroemisse
Servoy
User avatar
svroemisse
 
Posts: 171
Joined: Tue Dec 12, 2006 12:37 pm
Location: Amersfoort, NL

Postby ROCLASI » Thu Apr 26, 2007 5:34 pm

[new] "or" notation possible in find fields, example: >10||<0

Very nice!
Robert Ivens
SAN Developer / Servoy Valued Professional / Servoy Certified Developer

ROCLASI Software Solutions / JBS Group, Partner
Mastodon: @roclasi
--
ServoyForge - Building Open Source Software.
PostgreSQL - The world's most advanced open source database.
User avatar
ROCLASI
Servoy Expert
 
Posts: 5438
Joined: Thu Oct 02, 2003 9:49 am
Location: Netherlands/Belgium

Postby patrick » Thu Apr 26, 2007 5:58 pm

[enh] popup menu plugin working in web client


Sounds also very impressive!
Patrick Ruhsert
Servoy DACH
patrick
 
Posts: 3703
Joined: Wed Jun 11, 2003 10:33 am
Location: Munich, Germany

Postby patrick » Thu Apr 26, 2007 6:51 pm

I am very interested in this method:

Code: Select all
databaseManager.getFoundSet(server, table)


Is this supposed to return a foundset for whatever server/table? If yes, it doesn't seem to work. It always returns something that looks like an empty String.
Patrick Ruhsert
Servoy DACH
patrick
 
Posts: 3703
Joined: Wed Jun 11, 2003 10:33 am
Location: Munich, Germany

Postby dpearce » Thu Apr 26, 2007 7:39 pm

Great job, a lot more working.

one thing though, i now have a lovely webclient modal dialog box.

how do i close it from a script??

the application.closeFormDialog() doesnt work.

am i missing something (as usual)
dpearce
 
Posts: 469
Joined: Sun Dec 03, 2006 11:53 am

Postby bcusick » Thu Apr 26, 2007 9:33 pm

Specify the name (string) of the dialog that you gave it when you opened it - the "dialogName" property below:

Code: Select all
application.showFormInDialog( form,  [x],  [y],  [width],  [height],  [dialog_title],  [resizable],  [showTextToolbar],  [dialogName],  [modal])
Bob Cusick
bcusick
 
Posts: 1255
Joined: Wed Apr 23, 2003 11:27 pm
Location: Thousand Oaks, CA USA

Postby dpearce » Thu Apr 26, 2007 11:10 pm

Sorry Bob,

its not happening for me.

Script that calls the window

Code: Select all

globals.result='';
application.showFormInDialog(forms.delete_dialog,100,100,400,180,"Delete",false,false,"mydialog",true);

if (globals.result=='ok')
{
controller.deleteRecord()
}



Script that tries to close it:

Code: Select all
globals.result='ok'
application.output(globals.result);
application.closeFormDialog("mydialog");


It definitely runs because it return the output OK into my debugger as webclient: ok

It works fine in the java client just not in webclient.

David
dpearce
 
Posts: 469
Joined: Sun Dec 03, 2006 11:53 am

Postby dpearce » Thu Apr 26, 2007 11:38 pm

Another problem is that the printer doesn't seem to work on OS X anymore even in developer?

Doesnt seem to find a printer unlike 3.1.4.

Sorry.

David
dpearce
 
Posts: 469
Joined: Sun Dec 03, 2006 11:53 am

Postby patrick » Fri Apr 27, 2007 9:00 am

Coming back to my question :) regarding

Code: Select all
databaseManager.getFoundSet(server, table)


If it does what it sounds like, it'd be really nice if it could be enhanced by

Code: Select all
databaseManager.getFoundSet(server, table, [query], [args])


That would really allow us to create foundset of whatever sort "in the dark"...
Patrick Ruhsert
Servoy DACH
patrick
 
Posts: 3703
Joined: Wed Jun 11, 2003 10:33 am
Location: Munich, Germany

Postby jcompagner » Fri Apr 27, 2007 2:58 pm

dpearce wrote:Sorry Bob,


Code: Select all

globals.result='';
application.showFormInDialog(forms.delete_dialog,100,100,400,180,"Delete",false,false,"mydialog",true);

if (globals.result=='ok')
{
controller.deleteRecord()
}




David


this will not work in the web client.
You do have "modal" dialogs in the browser. But they are not modal in scripting, with that i mean that the scripts stops at the call: application.showFormXXXXX
that will not happen in servoy 3.5 maybe we can fix that kind of stuff in 4.0
So if you want to wait for the outcome then you have to do that in the onhide or in the button click thats on the form in dialog.
In other words the application.showFormInDialog should be the last thing you do in a script.

It could be that the close form in dialog doesn't work correctly at this time. But it should work fine ofcourse if you place a button in a modal dialog and when you press that button the closeFormInDialog is called the dialog must be closed. If this isn't the case please make a case for this.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8829
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Postby dpearce » Fri Apr 27, 2007 6:22 pm

gotcha

i think i understand. the script that shows the dialog will finish. i will need to pick up my database record to delete and then hard code that into my OK button.

Thanks again johan
dpearce
 
Posts: 469
Joined: Sun Dec 03, 2006 11:53 am

Postby IT2Be » Sat Apr 28, 2007 10:36 pm

When I create an event I noticed I can do so with no server expanded/selected but I can also create it per table. Both are stored.

Is this correct or will that first event be ignored (in other words is this a bug)?
Marcel J.G. Trapman (IT2BE)
SAN partner - Freelance Java and Servoy
Servoy Components - IT2BE Plug-ins and Beans for Servoy
ServoyForge - Open Source Components for Servoy
User avatar
IT2Be
Servoy Expert
 
Posts: 4766
Joined: Tue Oct 14, 2003 7:09 pm
Location: Germany

Table events

Postby agiletortoise » Mon Apr 30, 2007 2:44 pm

Ok, finally got to play with table events this morning. This is a feature I've eagerly anticipated. :-)

They seem to function like I would expect. You get the record as an argument, and can return false to prevent the event from happening. You can manipulate values of the record (although I seem to be getting some sql errors in certain circumstances -- i'll let you know if I can reproduce).

So, these are "before" events. It would also be very cool if we could get "after" events. There's a lot of cases where I want something to occur in the data model only if the event has successfully occurred. For example, creating certain default relation records "after" insert.

Also, I get the row as an argument. How do I go about testing what table that row is from? Is there a method for that? If I want to make some of my global event methods generic, I'd like to know what table I'm getting a row from.

I know this is probably a much more complex thing to ask for, but somewhere down the road it would be really cool if we could actually define callable methods _on_ the dataprovider tables.

At any rate, very cool new stuff in 3.5. I'm about to start a new solution and I'm excited about take advantage of it all!

Thanks, greg.
User avatar
agiletortoise
 
Posts: 278
Joined: Wed Oct 12, 2005 3:26 pm
Location: Texas, USA

Postby IT2Be » Mon Apr 30, 2007 9:23 pm

Validators and Converters are set on a 'per column' basis.
However, this does not only set the values for the solution you set them in but it is done 'repository wide'.

Is this how you meant this to be. I think I can agree but this makes the setting of a global method as a validator a little bit 'dangerous'.

The same applies to setting a global variable as a lookup value.

Can you please explain this a little more...
Marcel J.G. Trapman (IT2BE)
SAN partner - Freelance Java and Servoy
Servoy Components - IT2BE Plug-ins and Beans for Servoy
ServoyForge - Open Source Components for Servoy
User avatar
IT2Be
Servoy Expert
 
Posts: 4766
Joined: Tue Oct 14, 2003 7:09 pm
Location: Germany

Postby LOGIsoft » Mon Apr 30, 2007 10:58 pm

I also notice that, in the CRM demo for instance, I can't get a printpreview when clicking on the printer icon - I get a 'java.lang.NullPointerException' error.

Aside from that, good work boys and girls! :)

Ben
Benoit R. Savignac, president
LOGIsoft Consulting inc.
--------------------------------------------------------
Servoy Alliance Network Partner
User avatar
LOGIsoft
 
Posts: 260
Joined: Wed May 24, 2006 3:06 pm
Location: St-Basile-le-Grand (Montreal), Qc, Canada

Next

Return to Latest Releases

Who is online

Users browsing this forum: No registered users and 13 guests