Page 1 of 2

Servoy 6.1 rc 3

PostPosted: Thu Jun 07, 2012 4:48 pm
by Jan Blok
We are pleased to announce the immediate availability of Servoy 6.1 release candidate 3.

This version is available through the download option on the Servoy website and auto-update.
Always make a backup of your current Servoy installation (directory and database) before installing/upgrading.
To update a Servoy eclipse open Check for updates via help menu.

For Servoy 6.1 feature highlight see wiki

The issue's fixed only in 6.1 or not yet released in other version are:

Client Changes
[chg] SVY-1811 On NO Record selection event
[fix] SVY-2058 RuntimeDataField scripting object does not expose the editable property at runtime

Developer Changes
[fix] SVY-1711 Have an option to run at least unit test for a specific form instead of the whole solution.
[fix] SVY-1658 Add Rhino 1.7R3's JSON implementation to Servoy eclipse
[fix] SVY-2355 Some deprecated items are not documented with their replacement
[fix] SVY-2347 Form Editor doesn't take background-color from assigned styleClass if the form is extending another form
[fix] SVY-2332 Servoy "losing" the correct variable type which is either explicitly typed or the array is explicitly typed.
[fix] SVY-2254 JSButton.onAction is null when entity-method is attached.
[fix] SVY-2080 NPE when calling IQueryBuilderFactory.createSelect()

Re: Servoy 6.1 rc 3

PostPosted: Fri Jun 08, 2012 2:56 pm
by rossent
There is a serious issue in RC3 - when using primary keys of type UUID we can no longer load related data. Instead, the following error is thrown:

Code: Select all
Error loading primary key data, Query must start with 'SELECT'
> java.lang.IllegalArgumentException: Query must start with 'SELECT'


We need this one fixed ASAP because all our PKs are of type UUID and basically everything is down currently.

Unfortunately, this is not the first time when PKs of type UUID are breaking Servoy. How hard is it to have a few test tables with such PKs and run some unit tests to make sure that regression bugs have not been introduced?

Re: Servoy 6.1 rc 3

PostPosted: Fri Jun 08, 2012 3:06 pm
by rgansevles
Rossen,

Can you show a code snippet?

Rob

Re: Servoy 6.1 rc 3

PostPosted: Fri Jun 08, 2012 3:11 pm
by rossent
rgansevles wrote:Rossen,

Can you show a code snippet?

Rob



Hi Rob - take a look at this case: https://support.servoy.com/browse/SVY-2400

Very simple to reproduce but if necessary I can provide a sample solution as well.

Re: Servoy 6.1 rc 3

PostPosted: Fri Jun 08, 2012 4:33 pm
by Harjo
Rossen, are you already in production with RC's?
And if so, are you updating without testing?

Re: Servoy 6.1 rc 3

PostPosted: Fri Jun 08, 2012 5:15 pm
by rossent
Harjo wrote:Rossen, are you already in production with RC's?
And if so, are you updating without testing?


Of course not! However we do need some of the new functionality in 6.1 and were planning to upgrade our development environment to the RC3 this weekend... will have to wait now

Re: Servoy 6.1 rc 3

PostPosted: Mon Jun 11, 2012 7:07 pm
by rossent
rossent wrote:
rgansevles wrote:Rossen,

Can you show a code snippet?

Rob



Hi Rob - take a look at this case: https://support.servoy.com/browse/SVY-2400


CORRECTION: The issue as described above is invalid and can be closed. The root cause of the problem turned out to be some change in the way the controller.loadRecords() method calls are handled in 6.1RC3. Here are the details:

Because the Servoy forms currently do not expose an event callback for the case when their foundset is changed after a call to controller.loadRecords(relation_or_foundset), we have a "wrapper" method in our base form which internally calls controller.loadRecords() but also performs some other UI updates and notifications. Our "wrapper" method is like this:

Code: Select all
/**
* This is a wrapper around the controller.loadRecords method (check its documentation for params info).
* It should be used instead of calling the form's controller directly to make sure that the form
* updates correctly the data context of any other forms hosted on it.
*
* @param {JSFoundset|JSDataSet|Number|UUID|String} [data]
* @param {Array} [queryArgumentsArray] - optional, should be used only when the specified data is a query string
* @return {Boolean}
* @properties={typeid:24,uuid:"95D933E7-A20E-484C-A6B3-65D0244EAEE8"}
*/
function controllerLoadRecords(data, queryArgumentsArray)
{
    var res = controller.loadRecords(data, queryArgumentsArray);
   
    //invoke the notification to allow any extending forms to update their state using the new data context
    dataContextChanged();
    //now refresh the UI
    updateUserInterface();
    return res;
}


This code works correctly without failing in 6.0.6
However in 6.1b3, the line:

Code: Select all
var res = controller.loadRecords(data, queryArgumentsArray);


throws the described exception even when the "wrapper" is called passing only the first argument like this:

Code: Select all
forms.someForm.controllerLoadRecords(some_self_relation)



After changing the code of our "wrapper" method to:

Code: Select all
function controllerLoadRecords(data, queryArgumentsArray)
{
    var res = false;
   
    if(queryArgumentsArray == undefined)
    {
        if(data == undefined)
        {
            res = controller.loadRecords();
        }
        else
        {
            res = controller.loadRecords(data);
        }
    }
    else
    {
        res = controller.loadRecords(data, queryArgumentsArray);
    }
   
    //invoke the notification to allow any extending forms to update their state using the new data context
    dataContextChanged();
    //now refresh the UI
    updateUserInterface();
    return res;
}


the issue is resolved.

In other words, there is a change in behavior between 6.0.6 and 6.1b3 which results in Servoy choosing a different overload for the method controller.loadRecords() even though we still were passing the same arguments. Not sure if this is a desired behavior or some side effect which merits a separate case.

Re: Servoy 6.1 rc 3

PostPosted: Tue Jun 12, 2012 8:29 am
by rgansevles
Rossen,

In 6.1 we have replaced a number of varargs methods with multiple methods with typed arguments.
controller.loadRecords() is one of those.

With most calls this method has 1 argument (like UUID or foundset), but with a select it has 2 (sql and parameters).
When the method was called with 2 arguments, but the first was not a string, the second was ignored.

After this change, a call with 2 arguments always matched to loadRecords(String, Object[]) because this is the only one with 2 args.
The first arg was interpreted as select.

I have now corrected that for next build, loadRecords(UUID, xxx) will be interpreted as loadRecords(UUID).

Rob

Re: Servoy 6.1 rc 3

PostPosted: Tue Jun 12, 2012 2:27 pm
by briese-it
I have an application server (6.0.6) running for testing. Is it possible to make an update to 6.1 RC3? I have tried "java -jar servoy_updater.jar -beta" but the result is "No update found, if you want beta versions start option: -beta".

Re: Servoy 6.1 rc 3

PostPosted: Tue Jun 12, 2012 4:27 pm
by logicimpresa
briese-it wrote:I have an application server (6.0.6) running for testing. Is it possible to make an update to 6.1 RC3? I have tried "java -jar servoy_updater.jar -beta" but the result is "No update found, if you want beta versions start option: -beta".


See this post: viewtopic.php?f=1&t=18249&start=15#_thread

Re: Servoy 6.1 rc 3

PostPosted: Tue Jun 12, 2012 4:55 pm
by briese-it
I know that posting you wrote but that's not helpful or where can I configure update-sites on an application-server? Please note that Iam talking about the ApplicationServer and not the Developer.

Re: Servoy 6.1 rc 3

PostPosted: Tue Jun 12, 2012 6:13 pm
by logicimpresa
briese-it wrote:I know that posting you wrote but that's not helpful or where can I configure update-sites on an application-server? Please note that Iam talking about the ApplicationServer and not the Developer.


I think is not possible…

Re: Servoy 6.1 rc 3

PostPosted: Thu Jun 14, 2012 11:26 am
by briese-it
Now I am testing on a 6.1RC3 Developer and a new installed test-application server and everything is really slow. Clicking on menu items (using the new Framework) and loading data of foundsets (postgres and foxpro dbf). This happens on both, dev and appl.server. Has anybody else the same problems?

Re: Servoy 6.1 rc 3

PostPosted: Thu Jun 14, 2012 1:30 pm
by jasantana
Good afternoon from Paradise !!

I want to take advantage from the new feature of creating media folders and I have setup a few of them to keep them ordered. Is there anyway to move the media to the new folders? If so, does it automatically changes where they are referenced?

Thanks in advance.

Re: Servoy 6.1 rc 3

PostPosted: Thu Jun 14, 2012 2:48 pm
by Gabi Boros
you can't move them inside the solution explorer, but you can on the file system,
and then refresh the project so they are loaded; reference update may work only for dnd inside
the solution explorer - you may create a case for supporting this;

jasantana wrote:Good afternoon from Paradise !!

I want to take advantage from the new feature of creating media folders and I have setup a few of them to keep them ordered. Is there anyway to move the media to the new folders? If so, does it automatically changes where they are referenced?

Thanks in advance.