Servoy 5.1.4

Servoy announcements

Re: Servoy 5.1.4

Postby gerardo.gomez » Fri Jun 04, 2010 12:07 am

jcompagner wrote:if you just add a label through the solution model then you can just use recreateUI
Dont do history remove, dont do revert just add the label.

If you first have to revert (you want to start clean) can't you use removeLabel (or field) to first remove all the labels/shortcuts
and then add them back in?

That should work fine


Hi!

We was refactoring our code and now, our situation is like that:

    Combining removeLabel & recreateUI we can delete our shortcuts (labels) from our 'desktop' (a normal form in our solution) - WC & SC
    Combining DnD & newLabel & recreateUI we can create our shortcuts (labels) in our 'desktop' (a normal form in our solution) - SC
    Combining DnD & removeLabel & newLabel & recreateUI we can relocate our shortcuts (labels) in our 'desktop' (a normal form in our solution) - SC

But in web client, combination of onDrop event and recreateUI is crashing ("Internal error" in browser)!!! You can see the error log in image...

internal_error_log.PNG
You do not have the required permissions to view the files attached to this post.
Best regards/Un saludo,

Gerardo Gómez
--
Servoy 5.1.4 build 964
Win7 - Java 1.6.0_20
Ubuntu 10.04 - Java 1.6.0_20
gerardo.gomez
 
Posts: 79
Joined: Thu Aug 20, 2009 1:15 am

Re: Servoy 5.1.4

Postby jcompagner » Fri Jun 04, 2010 10:40 am

jbader wrote:This build appears to introduce a new issue whereby calling forms.formname.controller.show() from within a form in dialog, in webclient only "shows" the form programmatically and not on screen. Meaning the onShow events fire, but the browser never "shows" the form. In order to actually see the form, I need to hit the refresh button. Any ideas?

I tested both in a webkit browser and in FF and got the same result.


I just tested this i have 3 forms, in the main i have this:

forms.dialog1.controller.show("dialog",true);

then in dialog1 i have a button that does this:

forms.dialog2.controller.show();

and then there i have a button that closes it all:

application.closeFormDialog("dialog");

and that works fine for me in Win7 with FF, IE and Chrome..

Do you something else?
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby jcompagner » Fri Jun 04, 2010 10:44 am

gerardo.gomez wrote:
But in web client, combination of onDrop event and recreateUI is crashing ("Internal error" in browser)!!! You can see the error log in image...




this is exactly why we dont allow complete destroy of a form, (this also couldnt have worked in 5.1.3 in the web!)
but we did thought that recreateUI would be possible but in the webclient we need to look at it a bit more because there we must make sure the component that the action did execute and that is recreated
handles this nicely, can you create a case for this so that we can look at it? This is a tricky issue (and thats why we dont want to allow this stuff as much as possible)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby jbader » Fri Jun 04, 2010 1:13 pm

I just tested this i have 3 forms, in the main i have this:

forms.dialog1.controller.show("dialog",true);

then in dialog1 i have a button that does this:

forms.dialog2.controller.show();

and then there i have a button that closes it all:

application.closeFormDialog("dialog");

and that works fine for me in Win7 with FF, IE and Chrome..

Do you something else?


Yes...little different.

First thing to keep in mind is that I am not trying to show the second form in the dialog.

I do this:

application.showFormInDialog(myForm1);

Then on that form I have a button that runs an inherited method (from a "controller_parent" that has some default functionality on it, and that is abstract and has no base form) that does something similar to:

forms.myForm2.foundset.loadRecords([pk])

forms.myForm2.controller.show()

This *used* to work and would close the FID, then show myForm 2 in the main window.
jbader
 
Posts: 520
Joined: Sun Sep 18, 2005 4:24 am
Location: Miami, FL

Re: Servoy 5.1.4

Postby gerardo.gomez » Fri Jun 04, 2010 1:50 pm

jcompagner wrote:this also couldnt have worked in 5.1.3 in the web!

Yes, it doesn't...
jcompagner wrote:can you create a case for this so that we can look at it?

Case created: 296636

Thanks in advance!
Best regards/Un saludo,

Gerardo Gómez
--
Servoy 5.1.4 build 964
Win7 - Java 1.6.0_20
Ubuntu 10.04 - Java 1.6.0_20
gerardo.gomez
 
Posts: 79
Joined: Thu Aug 20, 2009 1:15 am

Re: Servoy 5.1.4

Postby jcompagner » Mon Jun 07, 2010 10:38 am

jbader wrote:Yes...little different.

First thing to keep in mind is that I am not trying to show the second form in the dialog.

I do this:

application.showFormInDialog(myForm1);

Then on that form I have a button that runs an inherited method (from a "controller_parent" that has some default functionality on it, and that is abstract and has no base form) that does something similar to:

forms.myForm2.foundset.loadRecords([pk])

forms.myForm2.controller.show()

This *used* to work and would close the FID, then show myForm 2 in the main window.


nope if it did work that way, then that would be a bug.

It should work like i described above. If you are in a modal window (or none modal window) and there you do conroller.show() on a form then that form is shown in the current window..
Thats how it works for a long time.

i changed my line of code to show the initial dialog to application.showFormInDialog(forms.dialog1);

and the behavior is still the same an correct.

(the smart client works exactly the same)
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby jbader » Mon Jun 07, 2010 3:03 pm

It should work like i described above. If you are in a modal window (or none modal window) and there you do conroller.show() on a form then that form is shown in the current window..


Right now what is happening (in 5.1.4) is that when controller.show is called from the form that is in a dilaog, the FID goes away (w/o me ever calling close) and the main window becomes stale. If I hit refresh in the browser then the form that I showed using controller.show magically appears in the main window.

The code that is calling controller.show does not exist on the form that is shown in the dialog though, that code is inherited from another form that is now being shown in a dialog. So are we sure there was a bug fix here or are we looking at a regression b/c this code has worked untouched for quite some time (5.1.x - 5.1.4).
jbader
 
Posts: 520
Joined: Sun Sep 18, 2005 4:24 am
Location: Miami, FL

Re: Servoy 5.1.4

Postby Lenore » Mon Jun 07, 2010 3:32 pm

We are experiencing the same type of problem with the FID in the webclient. We have a login screen that prompts the user for user name and password. After the credentials are validated, the FID closes and the underlying splash screen remains open, rather than opening the main application form. We are using application.showForm() to open the main application form. We have not changed any of this code, so I know it is a reasult of this release. This was working in the 5.1.3 version and was broken in 5.1.4.
Lenore Marlow
TMA Systems, LLC
www.tmasystems.com
Lenore
 
Posts: 27
Joined: Fri May 11, 2007 3:18 pm
Location: Tulsa, OK

Re: Servoy 5.1.4

Postby jcompagner » Mon Jun 07, 2010 4:25 pm

please create a case with what you are exactly doing.
If i rebuild what you describe here it just works for me.
So i guess i dont do exactly what you do in scripting.

Where a method that you all come from (inheritance doesnt matter at all, its the same form) doesnt matter
Its only where the code is executed on. Is it executed in the context of Window X then it will do its stuff in window X
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby jbader » Mon Jun 07, 2010 5:56 pm

Johan,

I can build a sample solution I suppose, but if I can't duplicate the problem, I'm not sure what that means for this issue (which is real). Something is different. I just loaded the exact same code into both a 5.1.2 install and a 5.1.3 install and it works. When I use 5.1.4, it does not. Were there changes to the controller or to form showing etc. in 5.1.4? I don't see anything in the release notes. Is there a more complete list of changes somewhere?

Thanks a lot.
jbader
 
Posts: 520
Joined: Sun Sep 18, 2005 4:24 am
Location: Miami, FL

Re: Servoy 5.1.4

Postby jcompagner » Mon Jun 07, 2010 10:43 pm

no there is no change in the controller show.
But there could be some specific related to the modal dialog in the web.

For example you can always test what the smart client does with that same solution.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby jbader » Tue Jun 08, 2010 3:54 pm

For example you can always test what the smart client does with that same solution.


I tested the same solution in 5.1.4 in smart client and everything works exactly as it always did. Meaning the issue is webclient specific and fid specific. This is a new issue in 5.1.4, and I don't think that 5.1.4 fixed a bug, I think 5.1.4 introduced a regression.
jbader
 
Posts: 520
Joined: Sun Sep 18, 2005 4:24 am
Location: Miami, FL

Re: Servoy 5.1.4

Postby jcompagner » Tue Jun 08, 2010 4:02 pm

jbader wrote:
I tested the same solution in 5.1.4 in smart client and everything works exactly as it always did. Meaning the issue is webclient specific and fid specific. This is a new issue in 5.1.4, and I don't think that 5.1.4 fixed a bug, I think 5.1.4 introduced a regression.



thats a weird conclusion, yes it could be that some other bug appeared in the FID for the web, but how did you come to the conclusion that there wasnt a bug fixed?

But still i cant reproduce it with the information i get from this thread, so please make a sample case that shows the current behavior.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 7977
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Servoy 5.1.4

Postby ronm » Fri Oct 01, 2010 3:31 am

Johan,

This is definitely a regression. The same exact code has worked since Servoy version 3.18.
I recently switched from Servoy 4.1.5 to Servoy 5.1.4 and now I am getting an "Internal error -return to home page" message.
In my solution, I have two forms, mainForm and mainHidden. The solution's firstForm is mainForm.
Simply executing the statement below is enoough to trigger the error.

Code: Select all
forms['mainHidden'].controller.show();


This code has worked for Smart Clients and Web Clients alike since Servoy 3.1.8 until I switched from Servoy 4.1.5 to Servoy 5.1.4.
It continues to work for the Smart Client in Servoy 5.1.4. It does not work when using the Web client in Servoy 5.1.4.
I turned on logging for the server and get the following. Note the error - postback messages occur as soon as the login form is displayed.
The solution's "Must authenticate" checkbox is checked.

Code: Select all
org.apache.wicket.WicketRuntimeException: Error attaching this container for rendering: [MarkupContainer [Component id = dialog]]
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Page.onBeforeRender(Page.java:1521)
     at com.servoy.j2db.server.headlessclient.MainPage.onBeforeRender(MainPage.java:168)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.Component.prepareForRender(Component.java:2225)
     at org.apache.wicket.Component.prepareForRender(Component.java:2262)
     at org.apache.wicket.Page.renderPage(Page.java:893)
     at org.apache.wicket.request.target.component.PageRequestTarget.respond(PageRequestTarget.java:63)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
     at com.servoy.j2db.server.servlets.Zk.doGet(Zk.java:4)
     at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
     at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
     at com.servoy.j2db.server.headlessclient.dataui.Zte.<init>(Zte.java:21)
     at com.servoy.j2db.server.headlessclient.Zvc.<init>(Zvc.java:2)
     at com.servoy.j2db.server.headlessclient.Zld.populateItem(Zld.java:14)
     at org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:576)
     at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:131)
     at com.servoy.j2db.server.headlessclient.Zld.onBeforeRender(Zld.java:12)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     ... 44 more 
2010-09-30 17:52 http-8080-2 ERROR org.apache.wicket.RequestCycle Error attaching this container for rendering: [MarkupContainer [Component id = dialog]]
org.apache.wicket.WicketRuntimeException: Error attaching this container for rendering: [MarkupContainer [Component id = dialog]]
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1739)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     at org.apache.wicket.Component.onBeforeRender(Component.java:3855)
     at org.apache.wicket.Page.onBeforeRender(Page.java:1521)
     at com.servoy.j2db.server.headlessclient.MainPage.onBeforeRender(MainPage.java:168)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.Component.prepareForRender(Component.java:2225)
     at org.apache.wicket.Component.prepareForRender(Component.java:2262)
     at org.apache.wicket.Page.renderPage(Page.java:893)
     at org.apache.wicket.request.target.component.PageRequestTarget.respond(PageRequestTarget.java:63)
     at org.apache.wicket.request.AbstractRequestCycleProcessor.respond(AbstractRequestCycleProcessor.java:105)
     at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1258)
     at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
     at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
     at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
     at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:479)
     at com.servoy.j2db.server.servlets.Zk.doGet(Zk.java:4)
     at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:138)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
     at java.lang.Thread.run(Unknown Source)
    Caused by: java.lang.NullPointerException
     at com.servoy.j2db.server.headlessclient.dataui.Zte.<init>(Zte.java:21)
     at com.servoy.j2db.server.headlessclient.Zvc.<init>(Zvc.java:2)
     at com.servoy.j2db.server.headlessclient.Zld.populateItem(Zld.java:14)
     at org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:576)
     at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:131)
     at com.servoy.j2db.server.headlessclient.Zld.onBeforeRender(Zld.java:12)
     at org.apache.wicket.Component.internalBeforeRender(Component.java:1061)
     at org.apache.wicket.Component.beforeRender(Component.java:1095)
     at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1727)
     ... 44 more 
2010-09-30 17:50 http-8080-4 INFO com.ej JAVA version is 1.6.0_21
2010-09-30 17:50 http-8080-4 INFO com.servoy.j2db.util.Debug Log plugin initialized
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:browserHeight
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:browserWidth
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:utcDSTOffset
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:utcOffset
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:screenColorDepth
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:screenHeight
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:screenWidth
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorUserAgent
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorPlatform
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorLanguage
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorJavaEnabled
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorCookieEnabled
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorAppCodeName
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorAppVersion
2010-09-30 17:50 http-8080-2 ERROR org.apache.wicket.markup.html.form.Form 1: postback:navigatorAppName


To ensure that the error is not caused by a tab overlapping the form, an improperly formated data field, etc., the mainHidden form is blank.
I am on a Windows XP SP2 system with JAVA 1.6.0_21-b07 and I have tested with IE7 and FF 3.5.9.
I am going to test in 5.2.1 but 5.2.1 is not an option as we are so close to the production release of our major software.
This issue came up while we we testing the Web Client using a path that does not come up that frequently.

Help! I need a solution that does not involve a major software rewrite or involve a major schedule delay because we are forced to use 5.2.1.
Thank you in advance for you kind assistance.
Last edited by ronm on Fri Oct 01, 2010 5:47 am, edited 1 time in total.
ronm
 
Posts: 10
Joined: Mon Feb 08, 2010 11:28 pm

Re: Servoy 5.1.4

Postby ronm » Fri Oct 01, 2010 3:36 am

I forgot to mention that this "Internal error - return to home page" error occurs when running the 5.1.4 Web Client while in the developer or when using the server only as in a production environment.

The error occurs whether using:
Code: Select all
forms['mainHidden'].controller.show()'

or
Code: Select all
application.showForm('mainHidden');

Again thank you in advance for your kind assistance.
ronm
 
Posts: 10
Joined: Mon Feb 08, 2010 11:28 pm

PreviousNext

Return to Announcements

Who is online

Users browsing this forum: No registered users and 2 guests