Hi,
I have discovered some unexpected behaviour in OrbeonFormsPortlet in noscript mode, while developing an xforms switch/case construction. The behaviour is that when a field in a case is left empty and one toggles to another case, all form values disappear altogether and the initial case is shown, i.e. the portlet seems to be reinitialized. No warnings or errors appear in orbeon.log. I've narrowed it down to a simple test case with three stages having each one input. If values are filled in, all goes well, but if "Next" or "Previous" is hit at any stage without having entered text, the initial portlet view is shown. When directly accessing the app (http://localhost:8080/orbeon/portlet-test/) all goes well. This is my setup: - Deployed the latest nightly build war in Jetspeed portal as portlet application - Changed configuration: set oxf.xforms.noscript to true set oxf.epilogue.theme and oxf.epilogue.theme.portlet to oxf:/config/theme-plain.xsl - Copied portlet-test to resources/apps - Added standard OrbeonFormsPortlet to my portal page - Made a link to /portlet-test/ in resources/apps/portlet-welcome/view.xhtml to navigate from the initial welcome portlet to the test portlet. Please have a look at this? Thanks, Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws portlet-test.zip (1K) Download Attachment |
Hi again,
I tested my portet-test application with the same setup on Liferay-5.2.2 / Tomcat 6 combo and that also didn't work out: even when a value _was_ entered a toggle to the next stage failed, without any logging. Jeroen Jeroen Hoffman wrote: > Hi, > > I have discovered some unexpected behaviour in OrbeonFormsPortlet in > noscript mode, while developing an xforms switch/case construction. > The behaviour is that when a field in a case is left empty and one > toggles to another case, all form values disappear altogether and the > initial case is shown, i.e. the portlet seems to be reinitialized. > > No warnings or errors appear in orbeon.log. > > I've narrowed it down to a simple test case with three stages having > each one input. If values are filled in, all goes well, but if "Next" > or "Previous" is hit at any stage without having entered text, the > initial portlet view is shown. > > When directly accessing the app > (http://localhost:8080/orbeon/portlet-test/) all goes well. > > This is my setup: > - Deployed the latest nightly build war in Jetspeed portal as portlet > application > - Changed configuration: > set oxf.xforms.noscript to true > set oxf.epilogue.theme and oxf.epilogue.theme.portlet to > oxf:/config/theme-plain.xsl > - Copied portlet-test to resources/apps > - Added standard OrbeonFormsPortlet to my portal page > - Made a link to /portlet-test/ in > resources/apps/portlet-welcome/view.xhtml > to navigate from the initial welcome portlet to the test portlet. > > Please have a look at this? > > Thanks, > Jeroen > > -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Jeroen,
On Mar 27, 2009, at 2:37 AM, Jeroen Hoffman wrote: > I tested my portet-test application with the same setup on > Liferay-5.2.2 / Tomcat 6 combo and that also didn't work out: even > when a value _was_ entered a toggle to the next stage failed, > without any logging. Is this happening as well if the XForms is deployed outside of the portal server? I.e. on a straight Tomcat, say in the XForms sandbox? Alex -- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise Orbeon's Blog: http://www.orbeon.com/blog/ Personal Blog: http://avernet.blogspot.com/ Twitter - http://twitter.com/avernet -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Alessandro Vernet wrote:
>> I tested my portet-test application with the same setup on >> Liferay-5.2.2 / Tomcat 6 combo and that also didn't work out: even >> when a value _was_ entered a toggle to the next stage failed, without >> any logging. > Is this happening as well if the XForms is deployed outside of the > portal server? I.e. on a straight Tomcat, say in the XForms sandbox? Well, running with oxf.xforms.noscript to true makes the sandbox unusable as the button "Run XForms" won't enable. However, when testing directly at http://localhost:8080/orbeon/portlet-test/ this is not happening, so it must be a portlet issue. Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Jeroen,
On Apr 3, 2009, at 12:38 AM, Jeroen Hoffman wrote: > Well, running with oxf.xforms.noscript to true makes the sandbox > unusable as the button "Run XForms" won't enable. Good point. This is now fixed. For reference, the bug is: http://forge.ow2.org/tracker/index.php?func=detail&aid=313578&group_id=168&atid=350207 > However, when testing directly at http://localhost:8080/orbeon/portlet-test/ > this is not happening, so it must be a portlet issue. Thank you for checking this. I am sorry, but we won't be able to help you much with this on the list, but please let us know if you find a solution to this one. Alex -- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise Orbeon's Blog: http://www.orbeon.com/blog/ Personal Blog: http://avernet.blogspot.com/ Twitter - http://twitter.com/avernet -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Alessandro Vernet wrote: > >> However, when testing directly at >> http://localhost:8080/orbeon/portlet-test/ this is not happening, so >> it must be a portlet issue. > > Thank you for checking this. I am sorry, but we won't be able to help > you much with this on the list, but please let us know if you find a > solution to this one. It appears in our code (not the test-app) we have a workaround which is saving the instance in xml-db just before toggling. We actually don't know why that works.. maybe you have a clue? However, as this workaround may raise a performance-issue, I really would like to get it working without it. Could you give me some pointers on where to start here? And, would you say this is a confirmed bug now? Thanks Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
On Apr 13, 2009, at 12:51 PM, Jeroen Hoffman wrote:
> It appears in our code (not the test-app) we have a workaround > which is saving the instance in xml-db just before toggling. We > actually don't know why that works.. maybe you have a clue? > > However, as this workaround may raise a performance-issue, I really > would like to get it working without it. Could you give me some > pointers on where to start here? I will bring Erik's attention to this thread; he should be able to give you some pointer of where to look in the Java code. > And, would you say this is a confirmed bug now? The behavior you describe certainly sounds like a bug. Alex -- Orbeon Forms - Web 2.0 Forms, open-source, for the Enterprise Orbeon's Blog: http://www.orbeon.com/blog/ Personal Blog: http://avernet.blogspot.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
In reply to this post by Jeroen Hoffman
> Alessandro Vernet wrote:
>>> However, when testing directly at http://localhost:8080/orbeon/portlet-test/ >>> this is not happening, so it must be a portlet issue. >> Thank you for checking this. I am sorry, but we won't be able to >> help you much with this on the list, but please let us know if you >> find a solution to this one. > > It appears in our code (not the test-app) we have a workaround which > is saving the instance in xml-db just before toggling. We actually > don't know why that works.. maybe you have a clue? Without debugging the code, it is beyond me why the issue occurs in the first place, or why your workaround would work either! You can try a few (unpleasant) things: * Enable XForms logging and check what's happening * Use a Java debugger and check if XFormsToggleAction.java is reached what happens after that > However, as this workaround may raise a performance-issue, I really > would like to get it working without it. Could you give me some > pointers on where to start here? > And, would you say this is a confirmed bug now? We haven't had any time to reproduce it but if things are as you describe them, it is most certainly a bug! -Erik -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
> You can try a few (unpleasant) things:
> > * Enable XForms logging and check what's happening > * Use a Java debugger and check if XFormsToggleAction.java is reached what > happens after that So I finally got the chance to debug. I got as far as the point where an XFormsSelectEvent is dispatched in method XFormsSwitchControl.setSelectedCase(), called from XFormsCaseControl.toggle(), called from XFormsToggleAction.execute(). This flow is the same for both the case where input is entered and all goes well, and the case where input is not entered and all instance data disappears. I don't know where to look next. Could you have a look at this please? Or raise an issue? Thanks Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
Jeroen,
> So I finally got the chance to debug. > > I got as far as the point where an XFormsSelectEvent is dispatched > in method > XFormsSwitchControl.setSelectedCase(), called from > XFormsCaseControl.toggle(), called from > XFormsToggleAction.execute(). > > This flow is the same for both the case where input is entered and all > goes well, and the case where input is not entered and all instance > data disappears. > > I don't know where to look next. > > Could you have a look at this please? Or raise an issue? So I assume the action returns just fine? Is this occurring in response to an Ajax request, or to a portlet submission? You should be able to tell with Firebug. If Ajax, what does the Ajax response look like? -Erik -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Erik Bruchez wrote: > Jeroen, > >> So I finally got the chance to debug. >> >> I got as far as the point where an XFormsSelectEvent is dispatched in >> method >> XFormsSwitchControl.setSelectedCase(), called from >> XFormsCaseControl.toggle(), called from >> XFormsToggleAction.execute(). >> >> This flow is the same for both the case where input is entered and all >> goes well, and the case where input is not entered and all instance >> data disappears. >> >> I don't know where to look next. >> >> Could you have a look at this please? Or raise an issue? > > > So I assume the action returns just fine? > > Is this occurring in response to an Ajax request, or to a portlet > submission? You should be able to tell with Firebug. If Ajax, what does > the Ajax response look like? > the first post of this thread. As I interpret things, the action itself seems to return fine but the view makes the portlet return to initial state. This happens only when a field is left empty and a toggle is used towards a next or previous case. Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
>> So I assume the action returns just fine?
The next step would be to look at XFormsServer.java. In there, around
>> Is this occurring in response to an Ajax request, or to a portlet >> submission? You should be able to tell with Firebug. If Ajax, what >> does the Ajax response look like? > > We're in noscript mode so there's no Ajax involved. I described the > set up in the first post of this thread. > > As I interpret things, the action itself seems to return fine but > the view makes the portlet return to initial state. This happens > only when a field is left empty and a toggle is used towards a next > or previous case. line 418 ("if (contentHandler != null)"), a decision is made as to what the response should look like. I am not sure I am helping much because this is obviously a bit tricky to debug. -Erik -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
On Fri, May 15, 2009 at 5:38 AM, Erik Bruchez <[hidden email]> wrote:
>>> So I assume the action returns just fine? >>> Is this occurring in response to an Ajax request, or to a portlet >>> submission? You should be able to tell with Firebug. If Ajax, what does the >>> Ajax response look like? >> >> We're in noscript mode so there's no Ajax involved. I described the set up >> in the first post of this thread. >> >> As I interpret things, the action itself seems to return fine but the view >> makes the portlet return to initial state. This happens only when a field is >> left empty and a toggle is used towards a next or previous case. > > The next step would be to look at XFormsServer.java. In there, around line > 418 ("if (contentHandler != null)"), a decision is made as to what the > response should look like. > > I am not sure I am helping much because this is obviously a bit tricky to > debug. outputNoscriptResponse is called always which can be expected. However, I lack the knowledge to determine where it goes wrong.. is the data behind the rendering already wrong or is the rendering itself wrong? I won't be able to work much in this subject, could you create an issue for this? Thanks Jeroen -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Administrator
|
> Well, I debugged there and on that level it seems fine IFAICS, the
> outputNoscriptResponse is called always which can be expected. > However, I lack the knowledge to determine where it goes wrong.. is > the data behind the rendering already wrong or is the rendering itself > wrong? It's hard to tell without investigating. Thanks for looking that far into it! > I won't be able to work much in this subject, could you create an > issue for this? Just did: http://forge.ow2.org/tracker/index.php?func=detail&aid=313796&group_id=168&atid=350207 -Erik -- Orbeon Forms - Web Forms for the Enterprise Done the Right Way http://www.orbeon.com/ -- You receive this message as a subscriber of the [hidden email] mailing list. To unsubscribe: mailto:[hidden email] For general help: mailto:[hidden email]?subject=help OW2 mailing lists service home page: http://www.ow2.org/wws |
Free forum by Nabble | Edit this page |