Servoy 6.0 beta 1

Release notes for Servoy betas

Re: Servoy 6.0 beta 1

Postby Thomas Parry » Tue Apr 12, 2011 5:00 pm

@Rob
I shall look forward to testing it in 6. but I would hope that this could be back ported to 5.2.x since I had issues with getting a byte array back from the authenticator (json serialisation).
Tom Parry
Prospect IT
Java/C++/Servoy/Jasper Reports/Simulation/Service Applications
http://www.prospect-saas.biz
Thomas Parry
 
Posts: 498
Joined: Thu Jan 10, 2008 8:48 pm
Location: Ottawa, Canada

Re: Servoy 6.0 beta 1

Postby rgansevles » Mon Apr 18, 2011 12:11 pm

Tom,

We will not port this back to miminize porting risks, Servoy 6 is expected to be final in July.

Rob
Rob Gansevles
Servoy
User avatar
rgansevles
 
Posts: 1927
Joined: Wed Nov 15, 2006 6:17 pm
Location: Amersfoort, NL

Re: Servoy 6.0 beta 1

Postby rossent » Mon Apr 18, 2011 1:30 pm

Hi Servoy,

What is the correct way to document in Servoy the properties of custom JavaScript "types" using JSDoc?

For example, in a form named "customTypes" we have something similar to:

Code: Select all
/**
* Custom type for form parameters
*
* @constructor
* @param {String} _name
* @param {Object} [_value]
*/
function FormParam(_name, _value)
{
    /** @type {String} */
    this.name = _name;
    /** @type {Object} */
    this.value = _value;
}

/**
* Custom complex type which uses another custom type as a property
*
* @constructor
* @param {String} _formName
*/
function ComplexType(_formName)
{
    /** @type {String} */
    this.formName = _formName;
    /** @type {forms.customTypes.FormParam} */
    this.formParam = new forms.customTypes.FormParam('SPECIAL_PARAM_NAME');
}


Now when we use the custom ComplexType, the code completion works correctly but only for its own properties. If we try to access some of the properties of its formParam property, we get a warning that the property is not defined:

Code: Select all
function doSomething()
{
    //create a custom type - note that adding the @type tag to explicitly specify the custom type does not help in resolving the described issue
    /** @type {forms.customTypes.ComplexType} */
    var _complexType = new forms.customTypes.ComplexType('someFormName');
    //here the "value" property of the formParam is "unknown" - the warning which we get is: "The property value is undefined in _complextType.formParam"
    _complextType.formParam.value = {foo: 123};
}


Is the above usage supported by Servoy? Are we missing something in the properties documentation for the custom types? When we inspect the "formParam" property of the _complexType variable in the example above, the tooltip in Servoy is something like:

----------------------------------------------
formParam
Type
{forms.customTypes.FormParam} *
----------------------------------------------

Note the trailing * at the end of the tooltip text - is this an indication of incorrect parsing of the @type JSDoc tag when the custom property is defined or are we using it incorrectly?

Any help on this is greatly appreciated!
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0 beta 1

Postby jcompagner » Mon Apr 18, 2011 3:00 pm

does

var _complexType = new forms.customTypes.ComplexType('someFormName');
_complexType.formName.AStringFunction()

work?

But i need to look into this, we don't have full support for those types that are "packaged" (forms.xxx.Yyyy)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0 beta 1

Postby jcompagner » Mon Apr 18, 2011 6:05 pm

rossen:

do: this.formParam = new FormParam('SPECIAL_PARAM_NAME'); (instead of the package before it)

in your script.

Currently it is not supported that if you are in a js file A and you reference something in B that everything in B also get resolved (so things from a js file C)
This is currently not possible because that would make everything very slow (because constantly everything needs to be resolved not to mention recursion B reference C and C references B)

So try to keep everything local.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0 beta 1

Postby rossent » Tue Apr 19, 2011 9:52 am

jcompagner wrote:So try to keep everything local.


Johan,

Unfortunately, trying to keep everything local is not practical/possible in big projects. We need the ability to separate the code in logical modules to make it reusable and maintainable.

On the "very slow" part - it is very slow currently - the memory leak issue has been resolved but now the background "building workspace..." process which is triggered on every Save operation slows down the IDE and the code editor in particular. I am sure that for small solutions it may not be noticeable, but for big ones it is a constant pain. Even simple operations like selecting code fragments with the keyboard are ridiculously slow while the background build is going. In addition, working with the code editor while the background build is in progress causes some weird issues like code which the developer types in are overwritten/changed by the IDE. This happens even after increasing the IDE memory to 1GB. Currently, working with the code editor (which our developers are doing most of the time) is approximately 2x slower even after considering the assistance provided by the enhanced code completion which is a big help. Just timing how much it takes to complete several routine tasks (like making several code changes in 2-3 files and writing a new method) reveals that the productivity loss is a bit over 50% for us when it comes to writing the JavaScript code. I can only imagine that if nothing else changes in the Servoy IDE, as our project grows over time this productivity hit will even increase.

I understand that the product is still in beta phase and hopefully performance and optimization are the focus for the future builds. We will gladly provide any assistance to help with this process.
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0 beta 1

Postby jcompagner » Tue Apr 19, 2011 12:22 pm

and what you describe about the performance is exactly the stuff that we can't do anything more currently for resolving objects
that will make it a factor X slower.

so i don't think it will be possible in 6 that you have this:

file1.js

function MyObject() {
this.x = "a string"
}

file2.js:

function AnotherObject() {
this.y = new forms.file1.MyObject();
}

and then in file3.js:

function test() {
var x = new forms.file2.AnotherObject();
x.y. << code completion here
}

i am afraid that this will not be happening in 6, that would completely kill the performance and use a lot of memory because everything must resolve to everything. (and it could also be circular when file1 also references something out of file2)

I will try to get more performance out of it before the final of 6. But i do need a large workspace that i guess should have a lot of dependencies between files. (and that is not easy to get)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0 beta 1

Postby lwjwillemsen » Tue Apr 19, 2011 1:28 pm

Hi Johan,

I am noticing a degradation in the building speed of Servoy 5.2.x now our solution is growing and growing...

What can I do to stop it from becoming unworkable ?

Regards,
Lambert Willemsen
Vision Development BV
lwjwillemsen
 
Posts: 680
Joined: Sat Mar 14, 2009 5:39 pm
Location: The Netherlands

Re: Servoy 6.0 beta 1

Postby jcompagner » Tue Apr 19, 2011 1:53 pm

5.2 won't change anymore in this area, the only thing you can do is work on smaller parts so only have a module and some other active and not the complete solution.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0 beta 1

Postby rossent » Wed Apr 20, 2011 1:13 pm

Hi Servoy,

When I try to use the code completion for certain forms, I am getting the message "Computation of proposals is too log. Please try again" (shows in red at the bottom of the IDE) and the code completion basically does not work. Trying gain does not seem to help. Why am I getting this message, what does it mean and how can it be resolved?
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0 beta 1

Postby jcompagner » Wed Apr 20, 2011 1:43 pm

that should only happen when the code completion does cost more the 5 seconds to complete.
Which is quite long and shouldn't happen. Do you have any errors in the eclipse log? (so the one in the workspace/.metadata)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 6.0 beta 1

Postby rossent » Wed Apr 20, 2011 2:16 pm

jcompagner wrote:that should only happen when the code completion does cost more the 5 seconds to complete.
Which is quite long and shouldn't happen. Do you have any errors in the eclipse log? (so the one in the workspace/.metadata)



No errors in the log file. The only abnormal thing there is related to the cheatsheets:

Code: Select all
!ENTRY org.eclipse.ui.workbench 2 0 2011-04-20 05:00:02.658
!MESSAGE A handler conflict occurred.  This may disable some commands.
!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2011-04-20 05:00:02.658
!MESSAGE Conflict for 'AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction':
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
   handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
   expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@196b753),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@196b753)),sourcePriority=16640)
HandlerActivation(commandId=AUTOGEN:::org.eclipse.ui.cheatsheets.actionSet/org.eclipse.ui.cheatsheets.actions.CheatSheetHelpMenuAction,
   handler=ActionDelegateHandlerProxy(null,org.eclipse.ui.cheatsheets.CheatSheetExtensionFactory:helpMenuAction),
   expression=AndExpression(ActionSetExpression(org.eclipse.ui.cheatsheets.actionSet,org.eclipse.ui.internal.WorkbenchWindow@196b753),WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@196b753)),sourcePriority=16640)
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0 beta 1

Postby patrick » Wed Apr 20, 2011 3:43 pm

@Rob and dataset serialization

in Servoy 5.2.7i1 I have the same issue. The authenticator will no longer return a dataset. I hope this is fixed in 5.2.8? Currently I cannot debug 5.2.7i1, because I cannot log in :-(.

--> case closed; my installation was messed up; works in 5.2.7i1
Patrick Ruhsert
Servoy DACH
patrick
 
Posts: 3703
Joined: Wed Jun 11, 2003 10:33 am
Location: Munich, Germany

Servoy 6.0 beta 1 severe code editor performance issues

Postby rossent » Thu Apr 21, 2011 2:16 pm

Hi Servoy,

We are hitting some serious performance issues in the code editor. We have some .js files which contain about 200 methods and a few thousand lines of code (a big part of that however are the JSDoc comments) Working with those files in the script editor is close to impossible in the beta 1. Each save operation takes 20+ seconds, selecting code using the keyboard (Shift or Ctr+Shift and the arrow keys) take 2-3 seconds for each key stroke, selecting a method in the Outline pane takes 10+ seconds to refresh the script editor and display the selected method, the code completion takes 5+ seconds for each invocation, etc. Many times the whole IDE "freezes" for 5-7 seconds due to some background operations taking too long to complete - you can imagine what this does to a developer who is trying to work with a deadline. Unfortunately, some of these big files are for "base" forms which are used heavily by extending them, and the similar issues apply when working with the sub-forms. In other words, trying to work only with a specific module being activated and setting all JavaScript warnings to "Ignore" does not help. The issues are present on all developer machines with the max Servoy IDE memory configured to 1GB+

As far as we are concerned, these severe performance issues are completely unacceptable and hope to see them resolved soon.

Is there a way to completely disable the code-analysis and any additional background operations so our developers can continue to work albeit with reduced IDE code assistance until the performance issues are resolved?
Rossen Totev
Argos Software
rossent
 
Posts: 288
Joined: Wed Dec 31, 2008 2:03 pm

Re: Servoy 6.0 beta 1

Postby jcompagner » Thu Apr 21, 2011 2:24 pm

what happens if you just turn of Build automatically?
(project menu)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8828
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

PreviousNext

Return to Latest Releases

Who is online

Users browsing this forum: No registered users and 12 guests