I'm experiencing a problem using the xforms:select1 and xforms:select in
recent builds (I am using 3.0.beta4.200512061539). If the instance data which provides the list of items for the control changes, the control shows $xforms-template-label$ instead of the values. This did not happen using a 3.0 beta 2 release. An example view (xhtml) is shown below - if the <xforms:setvalue> statement is commented out, the problem no longer occurs. Note that this bug also appears if a submission is used to update the instance data (this is where we first spotted the bug) instead of using an xforms:setvalue. It only seems to happen if the appearance="full" attribute value is used. If "compact" or "minimal" are used instead, there's no problem. Steve <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xhtml="http://www.w3.org/1999/xhtml"> <xhtml:head> <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"> <xforms:instance id="instance"> <instance> <selectedItems> <selectedItem></selectedItem> </selectedItems> <itemList> <item id="ONE" displayName="First"/> <item id="TWO" displayName="Second"/> <item id="THREE" displayName="Third"/> </itemList> </instance> </xforms:instance> </xforms:model> </xhtml:head> <xhtml:body> <xforms:switch> <xforms:case id="first"> <xforms:trigger> <xforms:label>Next ></xforms:label> <xforms:action ev:event="DOMActivate"> <!-- the line below causes the problem, comment it out and everything works fine --> <xforms:setvalue ref="/instance/itemList/item[@id='ONE']/@displayName">Was First</xforms:setvalue> <xforms:toggle case="second"/> </xforms:action> </xforms:trigger> </xforms:case> <xforms:case id="second"> <xhtml:p> <xforms:select1 ref="instance('instance')/selectedItems/selectedItem" appearance="full"> <xforms:label class="fixed-width">Choose something:</xforms:label> <xforms:itemset nodeset="instance('instance')/itemList/item"> <xforms:label ref="@displayName"/> <xforms:value ref="@id"/> </xforms:itemset> </xforms:select1> </xhtml:p> </xforms:case> </xforms:switch> </xhtml:body> </xhtml:html> -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Yes thanks, we are aware of this regression. That's the last thing we
need to fix for beta 4! -Erik Stephen Bayliss wrote: > I'm experiencing a problem using the xforms:select1 and xforms:select in > recent builds (I am using 3.0.beta4.200512061539). > > If the instance data which provides the list of items for the control > changes, the control shows $xforms-template-label$ instead of the > values. > > This did not happen using a 3.0 beta 2 release. > > An example view (xhtml) is shown below - if the <xforms:setvalue> > statement is commented out, the problem no longer occurs. Note that > this bug also appears if a submission is used to update the instance > data (this is where we first spotted the bug) instead of using an > xforms:setvalue. > > It only seems to happen if the appearance="full" attribute value is > used. If "compact" or "minimal" are used instead, there's no problem. > > Steve > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > > <xhtml:head> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"> > <xforms:instance id="instance"> > <instance> > <selectedItems> > <selectedItem></selectedItem> > </selectedItems> > <itemList> > <item id="ONE" displayName="First"/> > <item id="TWO" displayName="Second"/> > <item id="THREE" displayName="Third"/> > </itemList> > </instance> > </xforms:instance> > </xforms:model> > </xhtml:head> > <xhtml:body> > <xforms:switch> > <xforms:case id="first"> > <xforms:trigger> > <xforms:label>Next ></xforms:label> > <xforms:action ev:event="DOMActivate"> > <!-- the line below causes the problem, comment > it out and everything works fine --> > <xforms:setvalue > ref="/instance/itemList/item[@id='ONE']/@displayName">Was > First</xforms:setvalue> > <xforms:toggle case="second"/> > </xforms:action> > </xforms:trigger> > </xforms:case> > > <xforms:case id="second"> > <xhtml:p> > <xforms:select1 > ref="instance('instance')/selectedItems/selectedItem" appearance="full"> > <xforms:label class="fixed-width">Choose > something:</xforms:label> > <xforms:itemset > nodeset="instance('instance')/itemList/item"> > <xforms:label ref="@displayName"/> > <xforms:value ref="@id"/> > </xforms:itemset> > </xforms:select1> > </xhtml:p> > </xforms:case> > </xforms:switch> > </xhtml:body> > </xhtml:html> > > > > > > > ------------------------------------------------------------------------ > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Stephen Bayliss
I'm getting something similar with a repeating set of <xforms:select
appearance="full"> bound to nodes in an instance document. If the instance document remains static, it correctly reflects the state of the checkboxes (ie when I submit it shows correctly which checkboxes were checked). However if the instance document is changed, then it doesn't pick up all the checkboxes that were checked correctly. Do you need an example of this, or is this part of the same issue? -----Original Message----- From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez Sent: 07 December 2005 12:50 To: [hidden email] Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Yes thanks, we are aware of this regression. That's the last thing we need to fix for beta 4! -Erik Stephen Bayliss wrote: > I'm experiencing a problem using the xforms:select1 and xforms:select in > recent builds (I am using 3.0.beta4.200512061539). > > If the instance data which provides the list of items for the control > changes, the control shows $xforms-template-label$ instead of the > values. > > This did not happen using a 3.0 beta 2 release. > > An example view (xhtml) is shown below - if the <xforms:setvalue> > statement is commented out, the problem no longer occurs. Note that > this bug also appears if a submission is used to update the instance > data (this is where we first spotted the bug) instead of using an > xforms:setvalue. > > It only seems to happen if the appearance="full" attribute value is > used. If "compact" or "minimal" are used instead, there's no problem. > > Steve > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > > <xhtml:head> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"> > <xforms:instance id="instance"> > <instance> > <selectedItems> > <selectedItem></selectedItem> > </selectedItems> > <itemList> > <item id="ONE" displayName="First"/> > <item id="TWO" displayName="Second"/> > <item id="THREE" displayName="Third"/> > </itemList> > </instance> > </xforms:instance> > </xforms:model> > </xhtml:head> > <xhtml:body> > <xforms:switch> > <xforms:case id="first"> > <xforms:trigger> > <xforms:label>Next ></xforms:label> > <xforms:action ev:event="DOMActivate"> > <!-- the line below causes the problem, > it out and everything works fine --> > <xforms:setvalue > ref="/instance/itemList/item[@id='ONE']/@displayName">Was > First</xforms:setvalue> > <xforms:toggle case="second"/> > </xforms:action> > </xforms:trigger> > </xforms:case> > > <xforms:case id="second"> > <xhtml:p> > <xforms:select1 > ref="instance('instance')/selectedItems/selectedItem" > <xforms:label class="fixed-width">Choose > something:</xforms:label> > <xforms:itemset > nodeset="instance('instance')/itemList/item"> > <xforms:label ref="@displayName"/> > <xforms:value ref="@id"/> > </xforms:itemset> > </xforms:select1> > </xhtml:p> > </xforms:case> > </xforms:switch> > </xhtml:body> > </xhtml:html> > > > > > > > > > > -- > You receive this message as a subscriber of the > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
Stephen Bayliss wrote:
> I'm getting something similar with a repeating set of <xforms:select > appearance="full"> bound to nodes in an instance document. > > If the instance document remains static, it correctly reflects the state > of the checkboxes (ie when I submit it shows correctly which checkboxes > were checked). > > However if the instance document is changed, then it doesn't pick up all > the checkboxes that were checked correctly. > > Do you need an example of this, or is this part of the same issue? xforms:select1 and xforms:select) are tested by the "XForms Controls" example, and they just behave the same. Hopefully this will be fixed by tomorrow. -Erik -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Administrator
|
In reply to this post by Stephen Bayliss
Hi Stephen,
The latest unstable build includes a fix for this. Let us know if you still have this problem. Alex On 12/7/05, Stephen Bayliss <[hidden email]> wrote: > I'm experiencing a problem using the xforms:select1 and xforms:select in > recent builds (I am using 3.0.beta4.200512061539). > > If the instance data which provides the list of items for the control > changes, the control shows $xforms-template-label$ instead of the > values. > > This did not happen using a 3.0 beta 2 release. > > An example view (xhtml) is shown below - if the <xforms:setvalue> > statement is commented out, the problem no longer occurs. Note that > this bug also appears if a submission is used to update the instance > data (this is where we first spotted the bug) instead of using an > xforms:setvalue. > > It only seems to happen if the appearance="full" attribute value is > used. If "compact" or "minimal" are used instead, there's no problem. > > Steve > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > > <xhtml:head> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"> > <xforms:instance id="instance"> > <instance> > <selectedItems> > <selectedItem></selectedItem> > </selectedItems> > <itemList> > <item id="ONE" displayName="First"/> > <item id="TWO" displayName="Second"/> > <item id="THREE" displayName="Third"/> > </itemList> > </instance> > </xforms:instance> > </xforms:model> > </xhtml:head> > <xhtml:body> > <xforms:switch> > <xforms:case id="first"> > <xforms:trigger> > <xforms:label>Next ></xforms:label> > <xforms:action ev:event="DOMActivate"> > <!-- the line below causes the problem, comment > it out and everything works fine --> > <xforms:setvalue > ref="/instance/itemList/item[@id='ONE']/@displayName">Was > First</xforms:setvalue> > <xforms:toggle case="second"/> > </xforms:action> > </xforms:trigger> > </xforms:case> > > <xforms:case id="second"> > <xhtml:p> > <xforms:select1 > ref="instance('instance')/selectedItems/selectedItem" appearance="full"> > <xforms:label class="fixed-width">Choose > something:</xforms:label> > <xforms:itemset > nodeset="instance('instance')/itemList/item"> > <xforms:label ref="@displayName"/> > <xforms:value ref="@id"/> > </xforms:itemset> > </xforms:select1> > </xhtml:p> > </xforms:case> > </xforms:switch> > </xhtml:body> > </xhtml:html> > > > > > > > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
In reply to this post by Stephen Bayliss
Hi Alex
Yes, the original problem is fixed by last night's build. Thanks! The secondary issue is not fixed, I'll put together some example files and post them later today. Steve -----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: 07 December 2005 20:19 To: [hidden email] Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Hi Stephen, The latest unstable build includes a fix for this. Let us know if you still have this problem. Alex On 12/7/05, Stephen Bayliss <[hidden email]> wrote: > I'm experiencing a problem using the xforms:select1 and xforms:select in > recent builds (I am using 3.0.beta4.200512061539). > > If the instance data which provides the list of items for the control > changes, the control shows $xforms-template-label$ instead of the > values. > > This did not happen using a 3.0 beta 2 release. > > An example view (xhtml) is shown below - if the <xforms:setvalue> > statement is commented out, the problem no longer occurs. Note that > this bug also appears if a submission is used to update the instance > data (this is where we first spotted the bug) instead of using an > xforms:setvalue. > > It only seems to happen if the appearance="full" attribute value is > used. If "compact" or "minimal" are used instead, there's no problem. > > Steve > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:xhtml="http://www.w3.org/1999/xhtml"> > > <xhtml:head> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms"> > <xforms:instance id="instance"> > <instance> > <selectedItems> > <selectedItem></selectedItem> > </selectedItems> > <itemList> > <item id="ONE" displayName="First"/> > <item id="TWO" displayName="Second"/> > <item id="THREE" displayName="Third"/> > </itemList> > </instance> > </xforms:instance> > </xforms:model> > </xhtml:head> > <xhtml:body> > <xforms:switch> > <xforms:case id="first"> > <xforms:trigger> > <xforms:label>Next ></xforms:label> > <xforms:action ev:event="DOMActivate"> > <!-- the line below causes the problem, > it out and everything works fine --> > <xforms:setvalue > ref="/instance/itemList/item[@id='ONE']/@displayName">Was > First</xforms:setvalue> > <xforms:toggle case="second"/> > </xforms:action> > </xforms:trigger> > </xforms:case> > > <xforms:case id="second"> > <xhtml:p> > <xforms:select1 > ref="instance('instance')/selectedItems/selectedItem" > <xforms:label class="fixed-width">Choose > something:</xforms:label> > <xforms:itemset > nodeset="instance('instance')/itemList/item"> > <xforms:label ref="@displayName"/> > <xforms:value ref="@id"/> > </xforms:itemset> > </xforms:select1> > </xhtml:p> > </xforms:case> > </xforms:switch> > </xhtml:body> > </xhtml:html> > > > > > > > > > -- > You receive this message as a subscriber of the > To unsubscribe: mailto:[hidden email] > For general help: mailto:[hidden email]?subject=help > ObjectWeb mailing lists service home page: > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Stephen Bayliss
Attached are files for a test-case for this apparent bug, excluding the
page-flow.xml which is pasted below along with the rest of the files. I'm currently on last night's build: OPS-3.0.beta4.200512072017 In summary: ----------- - I have a repeating <xforms:select appearance="full"> bound to nodes in an instance document - When all the checkboxes are checked, and the instance is submitted, the instance doc correctly reflects that all checkboxes are selected - If the instance document is updated (ie some nodes added, some nodes deleted), then again all checkboxes are checked, and the instance is submitted, the submitted instance does not correctly reflect which checkboxes are checked. To see the bug in the attached example (monitor in OPS studio to see the submitted doc) 1) check all the checkboxes 2) click on the "dummy" button. This just submits to a pipeline that does nothing, but with a debug attribute on the input. You can see that all the <selected> nodes have the value "true" -- this is correct behaviour. 3) click on the "new instance" button -- this replaces the instance with one that has one of the original records deleted, and a couple of new records added 4) again, check all the checkboxes, and click on the "dummy" button. You should now see that the last record does not have the <selected> node set to true. This is the bug. This is also the case if you start at step 3. Interestingly, when the instance is updated, the last record's checkbox becomes checked, which is incorrect, and maybe related. In the real application from which this is taken, the "new instance" button effectively corresponds to running a database query. Steve ------------------------------------------------------------------------ -- page-flow.xml (fragment) ============================ <page id="query-search-test" path-info="/query-search-test" view="/select-bug/query1.xhtml"> <action when="/instance/action='get-new-instance'" action="/select-bug/get-new-instance.xpl"> <result page="query-search-test"/> </action> <action when="/instance/action='dummy'" action="/select-bug/dummy.xpl"> <result page="query-search-test"/> </action> </page> ------------------------------------------------------------------------ -- dummy.xpl ============================ <!-- dummy.xpl --> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors" > <p:param type="input" name="instance" debug="dummy:instance"/> <!-- don't do anything, just submit the input instance back --> <!-- Generate response --> <p:processor name="oxf:xml-serializer"> <p:input name="data" href="#instance" /> <p:input name="config"> <config> <content-type>application/xml</content-type> </config> </p:input> </p:processor> </p:config> ------------------------------------------------------------------------ -- get-new-instance.xpl ============================ <!-- get-new-instance.xpl --> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors" > <p:param type="input" name="instance" /> <!-- sink the input instance --> <p:processor name="oxf:null-serializer"> <p:input name="data" href="#instance"/> </p:processor> <!-- generate a new instance doc --> <p:processor name="oxf:identity"> <p:input name="data"> <instance> <queryResults> <rels> <rel id="Title" displayName="Title"/> </rels> <doids> <doid ref="1" pid="1"> <selected/> <rel id="Title"> <value>Title of 1</value> </rel> </doid> <doid ref="3" pid="3"> <selected/> <rel id="Title"> <value>Title of 3</value> <value>Another title for 3</value> </rel> </doid> <doid ref="4" pid="4"> <selected/> <rel id="Title"> <value>Title of 4</value> </rel> </doid> <doid ref="5" pid="5"> <selected/> <rel id="Title"> <value>Title of 5</value> </rel> </doid> <doid ref="6" pid="6"> <selected/> <rel id="Title"> <value>Title of 6</value> </rel> </doid> </doids> </queryResults> <action>here</action> </instance> </p:input> <p:output name="data" id="output-instance" debug="get-new-instance:output-instance"/> </p:processor> <!-- Generate response --> <p:processor name="oxf:xml-serializer"> <p:input name="data" href="#output-instance" /> <p:input name="config"> <config> <content-type>application/xml</content-type> </config> </p:input> </p:processor> </p:config> ------------------------------------------------------------------------ -- query1.xhtl ============================ <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xi="http://www.w3.org/2003/XInclude"> <xhtml:head> <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xforms:instance id="instance"> <instance> <queryResults> <rels> <rel id="Title" displayName="Title"/> </rels> <doids> <doid ref="1" pid="1"> <selected/> <rel id="Title"> <value>Title of 1</value> </rel> </doid> <doid ref="2" pid="2"> <selected/> <rel id="Title"> <value>Title of 2</value> </rel> </doid> <doid ref="3" pid="3"> <selected/> <rel id="Title"> <value>Title of 3</value> <value>Another title for 3</value> </rel> </doid> <doid ref="4" pid="4"> <selected/> <rel id="Title"> <value>Title of 4</value> </rel> </doid> </doids> </queryResults> <action>here</action> </instance> </xforms:instance> <!-- submissions --> <!-- update instance --> <xforms:submission ref="instance('instance')" id="get-new-instance-submission" method="post" action="/query-search-test" replace="instance"/> <!-- don't do anything (just for debugging the submission) --> <xforms:submission ref="instance('instance')" id="dummy-submission" method="post" action="/query-search-test" replace="instance"/> </xforms:model> </xhtml:head> <xhtml:body> <xforms:group ref="instance('instance')"> <xhtml:h1>Query results</xhtml:h1> <xhtml:table width="100%"> <!-- column heading row --> <xhtml:tr> <!-- column for pid --> <xhtml:td bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> <!-- loop through all columns to produce col heads --> <xforms:repeat nodeset="queryResults/rels/rel" id="columns"> <xhtml:td bgcolor="#cceecc"><xhtml:span><xforms:output ref="@displayName"/></xhtml:span></xhtml:td> </xforms:repeat> <xhtml:td bgcolor="#cceecc"><xhtml:span/></xhtml:td> </xhtml:tr> <!-- loop through all doids --> <xforms:repeat nodeset="queryResults/doids/doid" id="rows"> <xhtml:tr> <!-- pid column --> <xhtml:td bgcolor="#eeeeee" valign="top"><xhtml:span><xforms:output ref="@pid"/></xhtml:span></xhtml:td> <!-- loop thru columns --> <xforms:repeat nodeset="rel" id="rowsrelsbody"> <xhtml:td valign="top" bgcolor="#eeeeee"> <!-- loop thru values --> <xhtml:span> <xforms:repeat nodeset="value" id="rowrelsbodyvals"> <xforms:output ref="."/><xhtml:br/> </xforms:repeat> </xhtml:span> </xhtml:td> </xforms:repeat> <!-- add checkbox for selection --> <xhtml:td bgcolor="#eeeeee"> <xhtml:span> <xforms:select ref="selected" appearance="full"> <xforms:choices> <xforms:item> <xforms:label></xforms:label> <xforms:value>true</xforms:value> </xforms:item> </xforms:choices> </xforms:select> </xhtml:span> </xhtml:td> </xhtml:tr> </xforms:repeat> </xhtml:table> <xhtml:table width="25%" cellpadding="-1" cellspacing="-1"> <xhtml:tr> <xhtml:td width="100%" align="center" valign="center"> <xhtml:fieldset> <xhtml:table width="100%" cellpadding="-1" cellspacing="-1" align="center" valign="center"> <xhtml:tr> <xhtml:td width="33%" align="center" valign="center"> <xforms:trigger> <xforms:label>new instance</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/instance/action">get-new-instance</xforms:setvalue> <xforms:send submission="dummy-submission"/> </xforms:action> </xforms:trigger> </xhtml:td> <xhtml:td width="33%" align="center" valign="center"> </xhtml:td> <xhtml:td width="34%" align="center" valign="center"> <xforms:trigger> <xforms:label>dummy</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/instance/action">dummy</xforms:setvalue> <xforms:send submission="dummy-submission"/> </xforms:action> </xforms:trigger> </xhtml:td> </xhtml:tr> </xhtml:table> </xhtml:fieldset> </xhtml:td> </xhtml:tr> </xhtml:table> </xforms:group> </xhtml:body> </xhtml:html> ------------------------------------------------------------------------ -- ------------------------------------------------------------------------ -- -----Original Message----- From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez Sent: 07 December 2005 14:23 To: [hidden email] Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Stephen Bayliss wrote: > I'm getting something similar with a repeating set of <xforms:select > appearance="full"> bound to nodes in an instance document. > > If the instance document remains static, it correctly reflects the state > of the checkboxes (ie when I submit it shows correctly which checkboxes > were checked). > > However if the instance document is changed, then it doesn't pick up all > the checkboxes that were checked correctly. > > Do you need an example of this, or is this part of the same issue? I think it's part of the same issue, because both cases (dynamic xforms:select1 and xforms:select) are tested by the "XForms Controls" example, and they just behave the same. Hopefully this will be fixed by tomorrow. -Erik -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
In reply to this post by Stephen Bayliss
This time the files really are attached!
-----Original Message----- From: Stephen Bayliss Sent: 08 December 2005 10:39 To: [hidden email] Subject: RE: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Attached are files for a test-case for this apparent bug, excluding the page-flow.xml which is pasted below along with the rest of the files. I'm currently on last night's build: OPS-3.0.beta4.200512072017 In summary: ----------- - I have a repeating <xforms:select appearance="full"> bound to nodes in an instance document - When all the checkboxes are checked, and the instance is submitted, the instance doc correctly reflects that all checkboxes are selected - If the instance document is updated (ie some nodes added, some nodes deleted), then again all checkboxes are checked, and the instance is submitted, the submitted instance does not correctly reflect which checkboxes are checked. To see the bug in the attached example (monitor in OPS studio to see the submitted doc) 1) check all the checkboxes 2) click on the "dummy" button. This just submits to a pipeline that does nothing, but with a debug attribute on the input. You can see that all the <selected> nodes have the value "true" -- this is correct behaviour. 3) click on the "new instance" button -- this replaces the instance with one that has one of the original records deleted, and a couple of new records added 4) again, check all the checkboxes, and click on the "dummy" button. You should now see that the last record does not have the <selected> node set to true. This is the bug. This is also the case if you start at step 3. Interestingly, when the instance is updated, the last record's checkbox becomes checked, which is incorrect, and maybe related. In the real application from which this is taken, the "new instance" button effectively corresponds to running a database query. Steve ------------------------------------------------------------------------ -- page-flow.xml (fragment) ============================ <page id="query-search-test" path-info="/query-search-test" view="/select-bug/query1.xhtml"> <action when="/instance/action='get-new-instance'" action="/select-bug/get-new-instance.xpl"> <result page="query-search-test"/> </action> <action when="/instance/action='dummy'" action="/select-bug/dummy.xpl"> <result page="query-search-test"/> </action> </page> ------------------------------------------------------------------------ -- dummy.xpl ============================ <!-- dummy.xpl --> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors" > <p:param type="input" name="instance" debug="dummy:instance"/> <!-- don't do anything, just submit the input instance back --> <!-- Generate response --> <p:processor name="oxf:xml-serializer"> <p:input name="data" href="#instance" /> <p:input name="config"> <config> <content-type>application/xml</content-type> </config> </p:input> </p:processor> </p:config> ------------------------------------------------------------------------ -- get-new-instance.xpl ============================ <!-- get-new-instance.xpl --> <p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors" > <p:param type="input" name="instance" /> <!-- sink the input instance --> <p:processor name="oxf:null-serializer"> <p:input name="data" href="#instance"/> </p:processor> <!-- generate a new instance doc --> <p:processor name="oxf:identity"> <p:input name="data"> <instance> <queryResults> <rels> <rel id="Title" displayName="Title"/> </rels> <doids> <doid ref="1" pid="1"> <selected/> <rel id="Title"> <value>Title of 1</value> </rel> </doid> <doid ref="3" pid="3"> <selected/> <rel id="Title"> <value>Title of 3</value> <value>Another title for 3</value> </rel> </doid> <doid ref="4" pid="4"> <selected/> <rel id="Title"> <value>Title of 4</value> </rel> </doid> <doid ref="5" pid="5"> <selected/> <rel id="Title"> <value>Title of 5</value> </rel> </doid> <doid ref="6" pid="6"> <selected/> <rel id="Title"> <value>Title of 6</value> </rel> </doid> </doids> </queryResults> <action>here</action> </instance> </p:input> <p:output name="data" id="output-instance" debug="get-new-instance:output-instance"/> </p:processor> <!-- Generate response --> <p:processor name="oxf:xml-serializer"> <p:input name="data" href="#output-instance" /> <p:input name="config"> <config> <content-type>application/xml</content-type> </config> </p:input> </p:processor> </p:config> ------------------------------------------------------------------------ -- query1.xhtl ============================ <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:f="http://orbeon.org/oxf/xml/formatting" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xi="http://www.w3.org/2003/XInclude"> <xhtml:head> <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xforms:instance id="instance"> <instance> <queryResults> <rels> <rel id="Title" displayName="Title"/> </rels> <doids> <doid ref="1" pid="1"> <selected/> <rel id="Title"> <value>Title of 1</value> </rel> </doid> <doid ref="2" pid="2"> <selected/> <rel id="Title"> <value>Title of 2</value> </rel> </doid> <doid ref="3" pid="3"> <selected/> <rel id="Title"> <value>Title of 3</value> <value>Another title for 3</value> </rel> </doid> <doid ref="4" pid="4"> <selected/> <rel id="Title"> <value>Title of 4</value> </rel> </doid> </doids> </queryResults> <action>here</action> </instance> </xforms:instance> <!-- submissions --> <!-- update instance --> <xforms:submission ref="instance('instance')" id="get-new-instance-submission" method="post" action="/query-search-test" replace="instance"/> <!-- don't do anything (just for debugging the submission) --> <xforms:submission ref="instance('instance')" id="dummy-submission" method="post" action="/query-search-test" replace="instance"/> </xforms:model> </xhtml:head> <xhtml:body> <xforms:group ref="instance('instance')"> <xhtml:h1>Query results</xhtml:h1> <xhtml:table width="100%"> <!-- column heading row --> <xhtml:tr> <!-- column for pid --> <xhtml:td bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> <!-- loop through all columns to produce col heads --> <xforms:repeat nodeset="queryResults/rels/rel" id="columns"> <xhtml:td bgcolor="#cceecc"><xhtml:span><xforms:output ref="@displayName"/></xhtml:span></xhtml:td> </xforms:repeat> <xhtml:td bgcolor="#cceecc"><xhtml:span/></xhtml:td> </xhtml:tr> <!-- loop through all doids --> <xforms:repeat nodeset="queryResults/doids/doid" id="rows"> <xhtml:tr> <!-- pid column --> <xhtml:td bgcolor="#eeeeee" valign="top"><xhtml:span><xforms:output ref="@pid"/></xhtml:span></xhtml:td> <!-- loop thru columns --> <xforms:repeat nodeset="rel" id="rowsrelsbody"> <xhtml:td valign="top" bgcolor="#eeeeee"> <!-- loop thru values --> <xhtml:span> <xforms:repeat nodeset="value" id="rowrelsbodyvals"> <xforms:output ref="."/><xhtml:br/> </xforms:repeat> </xhtml:span> </xhtml:td> </xforms:repeat> <!-- add checkbox for selection --> <xhtml:td bgcolor="#eeeeee"> <xhtml:span> <xforms:select ref="selected" appearance="full"> <xforms:choices> <xforms:item> <xforms:label></xforms:label> <xforms:value>true</xforms:value> </xforms:item> </xforms:choices> </xforms:select> </xhtml:span> </xhtml:td> </xhtml:tr> </xforms:repeat> </xhtml:table> <xhtml:table width="25%" cellpadding="-1" cellspacing="-1"> <xhtml:tr> <xhtml:td width="100%" align="center" valign="center"> <xhtml:fieldset> <xhtml:table width="100%" cellpadding="-1" cellspacing="-1" align="center" valign="center"> <xhtml:tr> <xhtml:td width="33%" align="center" valign="center"> <xforms:trigger> <xforms:label>new instance</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/instance/action">get-new-instance</xforms:setvalue> <xforms:send submission="dummy-submission"/> </xforms:action> </xforms:trigger> </xhtml:td> <xhtml:td width="33%" align="center" valign="center"> </xhtml:td> <xhtml:td width="34%" align="center" valign="center"> <xforms:trigger> <xforms:label>dummy</xforms:label> <xforms:action ev:event="DOMActivate"> <xforms:setvalue ref="/instance/action">dummy</xforms:setvalue> <xforms:send submission="dummy-submission"/> </xforms:action> </xforms:trigger> </xhtml:td> </xhtml:tr> </xhtml:table> </xhtml:fieldset> </xhtml:td> </xhtml:tr> </xhtml:table> </xforms:group> </xhtml:body> </xhtml:html> ------------------------------------------------------------------------ -- ------------------------------------------------------------------------ -- -----Original Message----- From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez Sent: 07 December 2005 14:23 To: [hidden email] Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Stephen Bayliss wrote: > I'm getting something similar with a repeating set of <xforms:select > appearance="full"> bound to nodes in an instance document. > > If the instance document remains static, it correctly reflects the state > of the checkboxes (ie when I submit it shows correctly which checkboxes > were checked). > > However if the instance document is changed, then it doesn't pick up all > the checkboxes that were checked correctly. > > Do you need an example of this, or is this part of the same issue? I think it's part of the same issue, because both cases (dynamic xforms:select1 and xforms:select) are tested by the "XForms Controls" example, and they just behave the same. Hopefully this will be fixed by tomorrow. -Erik -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws select-bug.zip (3K) Download Attachment |
Administrator
|
Hi Stephen,
Thank you for the test case. I am able to reproduce the problem and will be looking into it. Alex On 12/8/05, Stephen Bayliss <[hidden email]> wrote: > This time the files really are attached! > > -----Original Message----- > From: Stephen Bayliss > Sent: 08 December 2005 10:39 > To: [hidden email] > Subject: RE: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > beta 4 nightly) > > Attached are files for a test-case for this apparent bug, excluding the > page-flow.xml which is pasted below along with the rest of the files. > > I'm currently on last night's build: OPS-3.0.beta4.200512072017 > > In summary: > ----------- > - I have a repeating <xforms:select appearance="full"> bound to nodes in > an instance document > - When all the checkboxes are checked, and the instance is submitted, > the instance doc correctly reflects that all checkboxes are selected > - If the instance document is updated (ie some nodes added, some nodes > deleted), then again all checkboxes are checked, and the instance is > submitted, the submitted instance does not correctly reflect which > checkboxes are checked. > > To see the bug in the attached example (monitor in OPS studio to see the > submitted doc) > 1) check all the checkboxes > 2) click on the "dummy" button. This just submits to a pipeline that > does nothing, but with a debug attribute on the input. You can see that > all the <selected> nodes have the value "true" -- this is correct > behaviour. > 3) click on the "new instance" button -- this replaces the instance with > one that has one of the original records deleted, and a couple of new > records added > 4) again, check all the checkboxes, and click on the "dummy" button. > You should now see that the last record does not have the <selected> > node set to true. This is the bug. > > This is also the case if you start at step 3. Interestingly, when the > instance is updated, the last record's checkbox becomes checked, which > is incorrect, and maybe related. > > In the real application from which this is taken, the "new instance" > button effectively corresponds to running a database query. > > Steve > > ------------------------------------------------------------------------ > -- > page-flow.xml (fragment) > ============================ > <page id="query-search-test" path-info="/query-search-test" > view="/select-bug/query1.xhtml"> > <action when="/instance/action='get-new-instance'" > action="/select-bug/get-new-instance.xpl"> > <result page="query-search-test"/> > </action> > <action when="/instance/action='dummy'" > action="/select-bug/dummy.xpl"> > <result page="query-search-test"/> > </action> > </page> > ------------------------------------------------------------------------ > -- > dummy.xpl > ============================ > <!-- dummy.xpl > --> > > <p:config > xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > <p:param type="input" name="instance" debug="dummy:instance"/> > > <!-- don't do anything, just submit the input instance back --> > > <!-- Generate response --> > <p:processor name="oxf:xml-serializer"> > <p:input name="data" href="#instance" /> > <p:input name="config"> > <config> > <content-type>application/xml</content-type> > </config> > </p:input> > </p:processor> > > > </p:config> > ------------------------------------------------------------------------ > -- > get-new-instance.xpl > ============================ > <!-- get-new-instance.xpl > --> > > <p:config > xmlns:p="http://www.orbeon.com/oxf/pipeline" > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > <p:param type="input" name="instance" /> > > <!-- sink the input instance --> > <p:processor name="oxf:null-serializer"> > <p:input name="data" href="#instance"/> > </p:processor> > > <!-- generate a new instance doc --> > <p:processor name="oxf:identity"> > <p:input name="data"> > <instance> > <queryResults> > <rels> > <rel id="Title" displayName="Title"/> > </rels> > <doids> > <doid ref="1" pid="1"> > <selected/> > <rel id="Title"> > <value>Title of 1</value> > </rel> > </doid> > <doid ref="3" pid="3"> > <selected/> > <rel id="Title"> > <value>Title of 3</value> > <value>Another title for 3</value> > </rel> > </doid> > <doid ref="4" pid="4"> > <selected/> > <rel id="Title"> > <value>Title of 4</value> > </rel> > </doid> > <doid ref="5" pid="5"> > <selected/> > <rel id="Title"> > <value>Title of 5</value> > </rel> > </doid> > <doid ref="6" pid="6"> > <selected/> > <rel id="Title"> > <value>Title of 6</value> > </rel> > </doid> > </doids> > </queryResults> > <action>here</action> > </instance> > </p:input> > <p:output name="data" id="output-instance" > debug="get-new-instance:output-instance"/> > </p:processor> > > > <!-- Generate response --> > <p:processor name="oxf:xml-serializer"> > <p:input name="data" href="#output-instance" /> > <p:input name="config"> > <config> > <content-type>application/xml</content-type> > </config> > </p:input> > </p:processor> > > > </p:config> > ------------------------------------------------------------------------ > -- > query1.xhtl > ============================ > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:f="http://orbeon.org/oxf/xml/formatting" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > xmlns:ev="http://www.w3.org/2001/xml-events" > xmlns:xi="http://www.w3.org/2003/XInclude"> > > > <xhtml:head> > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > <xforms:instance id="instance"> > <instance> > <queryResults> > <rels> > <rel id="Title" displayName="Title"/> > </rels> > <doids> > <doid ref="1" pid="1"> > <selected/> > <rel id="Title"> > <value>Title of 1</value> > </rel> > </doid> > <doid ref="2" pid="2"> > <selected/> > <rel id="Title"> > <value>Title of 2</value> > </rel> > </doid> > <doid ref="3" pid="3"> > <selected/> > <rel id="Title"> > <value>Title of 3</value> > <value>Another title for 3</value> > </rel> > </doid> > <doid ref="4" pid="4"> > <selected/> > <rel id="Title"> > <value>Title of 4</value> > </rel> > </doid> > </doids> > </queryResults> > <action>here</action> > </instance> > </xforms:instance> > > <!-- submissions --> > <!-- update instance --> > <xforms:submission ref="instance('instance')" > id="get-new-instance-submission" > method="post" action="/query-search-test" > replace="instance"/> > <!-- don't do anything (just for debugging the submission) > --> > <xforms:submission ref="instance('instance')" > id="dummy-submission" > method="post" action="/query-search-test" > replace="instance"/> > </xforms:model> > </xhtml:head> > <xhtml:body> > <xforms:group ref="instance('instance')"> > <xhtml:h1>Query results</xhtml:h1> > <xhtml:table width="100%"> > <!-- column heading row --> > <xhtml:tr> > <!-- column for pid --> > <xhtml:td > bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> > <!-- loop through all columns to produce col heads > --> > <xforms:repeat nodeset="queryResults/rels/rel" > id="columns"> > <xhtml:td > bgcolor="#cceecc"><xhtml:span><xforms:output > ref="@displayName"/></xhtml:span></xhtml:td> > </xforms:repeat> > <xhtml:td bgcolor="#cceecc"><xhtml:span/></xhtml:td> > </xhtml:tr> > <!-- loop through all doids --> > <xforms:repeat nodeset="queryResults/doids/doid" > id="rows"> > <xhtml:tr> > <!-- pid column --> > <xhtml:td bgcolor="#eeeeee" > valign="top"><xhtml:span><xforms:output > ref="@pid"/></xhtml:span></xhtml:td> > <!-- loop thru columns --> > <xforms:repeat nodeset="rel" id="rowsrelsbody"> > <xhtml:td valign="top" bgcolor="#eeeeee"> > <!-- loop thru values --> > <xhtml:span> > <xforms:repeat nodeset="value" > id="rowrelsbodyvals"> > <xforms:output ref="."/><xhtml:br/> > </xforms:repeat> > </xhtml:span> > </xhtml:td> > </xforms:repeat> > <!-- add checkbox for selection --> > <xhtml:td bgcolor="#eeeeee"> > <xhtml:span> > <xforms:select ref="selected" > appearance="full"> > <xforms:choices> > <xforms:item> > <xforms:label></xforms:label> > <xforms:value>true</xforms:value> > </xforms:item> > </xforms:choices> > </xforms:select> > </xhtml:span> > </xhtml:td> > </xhtml:tr> > </xforms:repeat> > </xhtml:table> > > <xhtml:table width="25%" cellpadding="-1" cellspacing="-1"> > <xhtml:tr> > <xhtml:td width="100%" align="center" > valign="center"> > <xhtml:fieldset> > <xhtml:table width="100%" cellpadding="-1" > cellspacing="-1" align="center" valign="center"> > <xhtml:tr> > <xhtml:td width="33%" align="center" > valign="center"> > <xforms:trigger> > <xforms:label>new > instance</xforms:label> > <xforms:action > ev:event="DOMActivate"> > <xforms:setvalue > ref="/instance/action">get-new-instance</xforms:setvalue> > <xforms:send > submission="dummy-submission"/> > </xforms:action> > </xforms:trigger> > </xhtml:td> > <xhtml:td width="33%" align="center" > valign="center"> > </xhtml:td> > <xhtml:td width="34%" align="center" > valign="center"> > <xforms:trigger> > > <xforms:label>dummy</xforms:label> > <xforms:action > ev:event="DOMActivate"> > <xforms:setvalue > ref="/instance/action">dummy</xforms:setvalue> > <xforms:send > submission="dummy-submission"/> > </xforms:action> > </xforms:trigger> > </xhtml:td> > </xhtml:tr> > </xhtml:table> > </xhtml:fieldset> > </xhtml:td> > </xhtml:tr> > </xhtml:table> > > </xforms:group> > </xhtml:body> > </xhtml:html> > > ------------------------------------------------------------------------ > -- > ------------------------------------------------------------------------ > -- > > > > > -----Original Message----- > From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez > Sent: 07 December 2005 14:23 > To: [hidden email] > Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > beta 4 nightly) > > Stephen Bayliss wrote: > > I'm getting something similar with a repeating set of <xforms:select > > appearance="full"> bound to nodes in an instance document. > > > > If the instance document remains static, it correctly reflects the > state > > of the checkboxes (ie when I submit it shows correctly which > checkboxes > > were checked). > > > > However if the instance document is changed, then it doesn't pick up > all > > the checkboxes that were checked correctly. > > > > Do you need an example of this, or is this part of the same issue? > > I think it's part of the same issue, because both cases (dynamic > xforms:select1 and xforms:select) are tested by the "XForms Controls" > example, and they just behave the same. Hopefully this will be fixed by > tomorrow. > > -Erik > > > > > > > > -- > 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 > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Administrator
|
Stephen,
I created an entry for this in our bug base. You can track it at the URL below. We will post another reply in this list when this is fixed. http://forge.objectweb.org/tracker/index.php?func=detail&aid=304364&group_id=168&atid=350207 Alex On 12/9/05, Alessandro Vernet <[hidden email]> wrote: > Hi Stephen, > > Thank you for the test case. I am able to reproduce the problem and > will be looking into it. > > Alex > > On 12/8/05, Stephen Bayliss <[hidden email]> wrote: > > This time the files really are attached! > > > > -----Original Message----- > > From: Stephen Bayliss > > Sent: 08 December 2005 10:39 > > To: [hidden email] > > Subject: RE: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > > beta 4 nightly) > > > > Attached are files for a test-case for this apparent bug, excluding the > > page-flow.xml which is pasted below along with the rest of the files. > > > > I'm currently on last night's build: OPS-3.0.beta4.200512072017 > > > > In summary: > > ----------- > > - I have a repeating <xforms:select appearance="full"> bound to nodes in > > an instance document > > - When all the checkboxes are checked, and the instance is submitted, > > the instance doc correctly reflects that all checkboxes are selected > > - If the instance document is updated (ie some nodes added, some nodes > > deleted), then again all checkboxes are checked, and the instance is > > submitted, the submitted instance does not correctly reflect which > > checkboxes are checked. > > > > To see the bug in the attached example (monitor in OPS studio to see the > > submitted doc) > > 1) check all the checkboxes > > 2) click on the "dummy" button. This just submits to a pipeline that > > does nothing, but with a debug attribute on the input. You can see that > > all the <selected> nodes have the value "true" -- this is correct > > behaviour. > > 3) click on the "new instance" button -- this replaces the instance with > > one that has one of the original records deleted, and a couple of new > > records added > > 4) again, check all the checkboxes, and click on the "dummy" button. > > You should now see that the last record does not have the <selected> > > node set to true. This is the bug. > > > > This is also the case if you start at step 3. Interestingly, when the > > instance is updated, the last record's checkbox becomes checked, which > > is incorrect, and maybe related. > > > > In the real application from which this is taken, the "new instance" > > button effectively corresponds to running a database query. > > > > Steve > > > > ------------------------------------------------------------------------ > > -- > > page-flow.xml (fragment) > > ============================ > > <page id="query-search-test" path-info="/query-search-test" > > view="/select-bug/query1.xhtml"> > > <action when="/instance/action='get-new-instance'" > > action="/select-bug/get-new-instance.xpl"> > > <result page="query-search-test"/> > > </action> > > <action when="/instance/action='dummy'" > > action="/select-bug/dummy.xpl"> > > <result page="query-search-test"/> > > </action> > > </page> > > ------------------------------------------------------------------------ > > -- > > dummy.xpl > > ============================ > > <!-- dummy.xpl > > --> > > > > <p:config > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > <p:param type="input" name="instance" debug="dummy:instance"/> > > > > <!-- don't do anything, just submit the input instance back --> > > > > <!-- Generate response --> > > <p:processor name="oxf:xml-serializer"> > > <p:input name="data" href="#instance" /> > > <p:input name="config"> > > <config> > > <content-type>application/xml</content-type> > > </config> > > </p:input> > > </p:processor> > > > > > > </p:config> > > ------------------------------------------------------------------------ > > -- > > get-new-instance.xpl > > ============================ > > <!-- get-new-instance.xpl > > --> > > > > <p:config > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > <p:param type="input" name="instance" /> > > > > <!-- sink the input instance --> > > <p:processor name="oxf:null-serializer"> > > <p:input name="data" href="#instance"/> > > </p:processor> > > > > <!-- generate a new instance doc --> > > <p:processor name="oxf:identity"> > > <p:input name="data"> > > <instance> > > <queryResults> > > <rels> > > <rel id="Title" displayName="Title"/> > > </rels> > > <doids> > > <doid ref="1" pid="1"> > > <selected/> > > <rel id="Title"> > > <value>Title of 1</value> > > </rel> > > </doid> > > <doid ref="3" pid="3"> > > <selected/> > > <rel id="Title"> > > <value>Title of 3</value> > > <value>Another title for 3</value> > > </rel> > > </doid> > > <doid ref="4" pid="4"> > > <selected/> > > <rel id="Title"> > > <value>Title of 4</value> > > </rel> > > </doid> > > <doid ref="5" pid="5"> > > <selected/> > > <rel id="Title"> > > <value>Title of 5</value> > > </rel> > > </doid> > > <doid ref="6" pid="6"> > > <selected/> > > <rel id="Title"> > > <value>Title of 6</value> > > </rel> > > </doid> > > </doids> > > </queryResults> > > <action>here</action> > > </instance> > > </p:input> > > <p:output name="data" id="output-instance" > > debug="get-new-instance:output-instance"/> > > </p:processor> > > > > > > <!-- Generate response --> > > <p:processor name="oxf:xml-serializer"> > > <p:input name="data" href="#output-instance" /> > > <p:input name="config"> > > <config> > > <content-type>application/xml</content-type> > > </config> > > </p:input> > > </p:processor> > > > > > > </p:config> > > ------------------------------------------------------------------------ > > -- > > query1.xhtl > > ============================ > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > > xmlns:f="http://orbeon.org/oxf/xml/formatting" > > xmlns:xhtml="http://www.w3.org/1999/xhtml" > > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > > xmlns:ev="http://www.w3.org/2001/xml-events" > > xmlns:xi="http://www.w3.org/2003/XInclude"> > > > > > > <xhtml:head> > > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" > > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > > > <xforms:instance id="instance"> > > <instance> > > <queryResults> > > <rels> > > <rel id="Title" displayName="Title"/> > > </rels> > > <doids> > > <doid ref="1" pid="1"> > > <selected/> > > <rel id="Title"> > > <value>Title of 1</value> > > </rel> > > </doid> > > <doid ref="2" pid="2"> > > <selected/> > > <rel id="Title"> > > <value>Title of 2</value> > > </rel> > > </doid> > > <doid ref="3" pid="3"> > > <selected/> > > <rel id="Title"> > > <value>Title of 3</value> > > <value>Another title for 3</value> > > </rel> > > </doid> > > <doid ref="4" pid="4"> > > <selected/> > > <rel id="Title"> > > <value>Title of 4</value> > > </rel> > > </doid> > > </doids> > > </queryResults> > > <action>here</action> > > </instance> > > </xforms:instance> > > > > <!-- submissions --> > > <!-- update instance --> > > <xforms:submission ref="instance('instance')" > > id="get-new-instance-submission" > > method="post" action="/query-search-test" > > replace="instance"/> > > <!-- don't do anything (just for debugging the submission) > > --> > > <xforms:submission ref="instance('instance')" > > id="dummy-submission" > > method="post" action="/query-search-test" > > replace="instance"/> > > </xforms:model> > > </xhtml:head> > > <xhtml:body> > > <xforms:group ref="instance('instance')"> > > <xhtml:h1>Query results</xhtml:h1> > > <xhtml:table width="100%"> > > <!-- column heading row --> > > <xhtml:tr> > > <!-- column for pid --> > > <xhtml:td > > bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> > > <!-- loop through all columns to produce col heads > > --> > > <xforms:repeat nodeset="queryResults/rels/rel" > > id="columns"> > > <xhtml:td > > bgcolor="#cceecc"><xhtml:span><xforms:output > > ref="@displayName"/></xhtml:span></xhtml:td> > > </xforms:repeat> > > <xhtml:td bgcolor="#cceecc"><xhtml:span/></xhtml:td> > > </xhtml:tr> > > <!-- loop through all doids --> > > <xforms:repeat nodeset="queryResults/doids/doid" > > id="rows"> > > <xhtml:tr> > > <!-- pid column --> > > <xhtml:td bgcolor="#eeeeee" > > valign="top"><xhtml:span><xforms:output > > ref="@pid"/></xhtml:span></xhtml:td> > > <!-- loop thru columns --> > > <xforms:repeat nodeset="rel" id="rowsrelsbody"> > > <xhtml:td valign="top" bgcolor="#eeeeee"> > > <!-- loop thru values --> > > <xhtml:span> > > <xforms:repeat nodeset="value" > > id="rowrelsbodyvals"> > > <xforms:output ref="."/><xhtml:br/> > > </xforms:repeat> > > </xhtml:span> > > </xhtml:td> > > </xforms:repeat> > > <!-- add checkbox for selection --> > > <xhtml:td bgcolor="#eeeeee"> > > <xhtml:span> > > <xforms:select ref="selected" > > appearance="full"> > > <xforms:choices> > > <xforms:item> > > <xforms:label></xforms:label> > > <xforms:value>true</xforms:value> > > </xforms:item> > > </xforms:choices> > > </xforms:select> > > </xhtml:span> > > </xhtml:td> > > </xhtml:tr> > > </xforms:repeat> > > </xhtml:table> > > > > <xhtml:table width="25%" cellpadding="-1" cellspacing="-1"> > > <xhtml:tr> > > <xhtml:td width="100%" align="center" > > valign="center"> > > <xhtml:fieldset> > > <xhtml:table width="100%" cellpadding="-1" > > cellspacing="-1" align="center" valign="center"> > > <xhtml:tr> > > <xhtml:td width="33%" align="center" > > valign="center"> > > <xforms:trigger> > > <xforms:label>new > > instance</xforms:label> > > <xforms:action > > ev:event="DOMActivate"> > > <xforms:setvalue > > ref="/instance/action">get-new-instance</xforms:setvalue> > > <xforms:send > > submission="dummy-submission"/> > > </xforms:action> > > </xforms:trigger> > > </xhtml:td> > > <xhtml:td width="33%" align="center" > > valign="center"> > > </xhtml:td> > > <xhtml:td width="34%" align="center" > > valign="center"> > > <xforms:trigger> > > > > <xforms:label>dummy</xforms:label> > > <xforms:action > > ev:event="DOMActivate"> > > <xforms:setvalue > > ref="/instance/action">dummy</xforms:setvalue> > > <xforms:send > > submission="dummy-submission"/> > > </xforms:action> > > </xforms:trigger> > > </xhtml:td> > > </xhtml:tr> > > </xhtml:table> > > </xhtml:fieldset> > > </xhtml:td> > > </xhtml:tr> > > </xhtml:table> > > > > </xforms:group> > > </xhtml:body> > > </xhtml:html> > > > > ------------------------------------------------------------------------ > > -- > > ------------------------------------------------------------------------ > > -- > > > > > > > > > > -----Original Message----- > > From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez > > Sent: 07 December 2005 14:23 > > To: [hidden email] > > Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > > beta 4 nightly) > > > > Stephen Bayliss wrote: > > > I'm getting something similar with a repeating set of <xforms:select > > > appearance="full"> bound to nodes in an instance document. > > > > > > If the instance document remains static, it correctly reflects the > > state > > > of the checkboxes (ie when I submit it shows correctly which > > checkboxes > > > were checked). > > > > > > However if the instance document is changed, then it doesn't pick up > > all > > > the checkboxes that were checked correctly. > > > > > > Do you need an example of this, or is this part of the same issue? > > > > I think it's part of the same issue, because both cases (dynamic > > xforms:select1 and xforms:select) are tested by the "XForms Controls" > > example, and they just behave the same. Hopefully this will be fixed by > > tomorrow. > > > > -Erik > > > > > > > > > > > > > > > > -- > > 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 > > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > > > > > > > -- > Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
Administrator
|
Hi Stephen,
Erik fixed this bug and your example is now running just fine for me. Thanks for submitting this one! You can try out the fix by getting an "unstable build". And just let us know if you still see anything strange going on. Alex On 12/9/05, Alessandro Vernet <[hidden email]> wrote: > Stephen, > > I created an entry for this in our bug base. You can track it at the > URL below. We will post another reply in this list when this is fixed. > > http://forge.objectweb.org/tracker/index.php?func=detail&aid=304364&group_id=168&atid=350207 > > Alex > > On 12/9/05, Alessandro Vernet <[hidden email]> wrote: > > Hi Stephen, > > > > Thank you for the test case. I am able to reproduce the problem and > > will be looking into it. > > > > Alex > > > > On 12/8/05, Stephen Bayliss <[hidden email]> wrote: > > > This time the files really are attached! > > > > > > -----Original Message----- > > > From: Stephen Bayliss > > > Sent: 08 December 2005 10:39 > > > To: [hidden email] > > > Subject: RE: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > > > beta 4 nightly) > > > > > > Attached are files for a test-case for this apparent bug, excluding the > > > page-flow.xml which is pasted below along with the rest of the files. > > > > > > I'm currently on last night's build: OPS-3.0.beta4.200512072017 > > > > > > In summary: > > > ----------- > > > - I have a repeating <xforms:select appearance="full"> bound to nodes in > > > an instance document > > > - When all the checkboxes are checked, and the instance is submitted, > > > the instance doc correctly reflects that all checkboxes are selected > > > - If the instance document is updated (ie some nodes added, some nodes > > > deleted), then again all checkboxes are checked, and the instance is > > > submitted, the submitted instance does not correctly reflect which > > > checkboxes are checked. > > > > > > To see the bug in the attached example (monitor in OPS studio to see the > > > submitted doc) > > > 1) check all the checkboxes > > > 2) click on the "dummy" button. This just submits to a pipeline that > > > does nothing, but with a debug attribute on the input. You can see that > > > all the <selected> nodes have the value "true" -- this is correct > > > behaviour. > > > 3) click on the "new instance" button -- this replaces the instance with > > > one that has one of the original records deleted, and a couple of new > > > records added > > > 4) again, check all the checkboxes, and click on the "dummy" button. > > > You should now see that the last record does not have the <selected> > > > node set to true. This is the bug. > > > > > > This is also the case if you start at step 3. Interestingly, when the > > > instance is updated, the last record's checkbox becomes checked, which > > > is incorrect, and maybe related. > > > > > > In the real application from which this is taken, the "new instance" > > > button effectively corresponds to running a database query. > > > > > > Steve > > > > > > ------------------------------------------------------------------------ > > > -- > > > page-flow.xml (fragment) > > > ============================ > > > <page id="query-search-test" path-info="/query-search-test" > > > view="/select-bug/query1.xhtml"> > > > <action when="/instance/action='get-new-instance'" > > > action="/select-bug/get-new-instance.xpl"> > > > <result page="query-search-test"/> > > > </action> > > > <action when="/instance/action='dummy'" > > > action="/select-bug/dummy.xpl"> > > > <result page="query-search-test"/> > > > </action> > > > </page> > > > ------------------------------------------------------------------------ > > > -- > > > dummy.xpl > > > ============================ > > > <!-- dummy.xpl > > > --> > > > > > > <p:config > > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > > > <p:param type="input" name="instance" debug="dummy:instance"/> > > > > > > <!-- don't do anything, just submit the input instance back --> > > > > > > <!-- Generate response --> > > > <p:processor name="oxf:xml-serializer"> > > > <p:input name="data" href="#instance" /> > > > <p:input name="config"> > > > <config> > > > <content-type>application/xml</content-type> > > > </config> > > > </p:input> > > > </p:processor> > > > > > > > > > </p:config> > > > ------------------------------------------------------------------------ > > > -- > > > get-new-instance.xpl > > > ============================ > > > <!-- get-new-instance.xpl > > > --> > > > > > > <p:config > > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > > > <p:param type="input" name="instance" /> > > > > > > <!-- sink the input instance --> > > > <p:processor name="oxf:null-serializer"> > > > <p:input name="data" href="#instance"/> > > > </p:processor> > > > > > > <!-- generate a new instance doc --> > > > <p:processor name="oxf:identity"> > > > <p:input name="data"> > > > <instance> > > > <queryResults> > > > <rels> > > > <rel id="Title" displayName="Title"/> > > > </rels> > > > <doids> > > > <doid ref="1" pid="1"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 1</value> > > > </rel> > > > </doid> > > > <doid ref="3" pid="3"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 3</value> > > > <value>Another title for 3</value> > > > </rel> > > > </doid> > > > <doid ref="4" pid="4"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 4</value> > > > </rel> > > > </doid> > > > <doid ref="5" pid="5"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 5</value> > > > </rel> > > > </doid> > > > <doid ref="6" pid="6"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 6</value> > > > </rel> > > > </doid> > > > </doids> > > > </queryResults> > > > <action>here</action> > > > </instance> > > > </p:input> > > > <p:output name="data" id="output-instance" > > > debug="get-new-instance:output-instance"/> > > > </p:processor> > > > > > > > > > <!-- Generate response --> > > > <p:processor name="oxf:xml-serializer"> > > > <p:input name="data" href="#output-instance" /> > > > <p:input name="config"> > > > <config> > > > <content-type>application/xml</content-type> > > > </config> > > > </p:input> > > > </p:processor> > > > > > > > > > </p:config> > > > ------------------------------------------------------------------------ > > > -- > > > query1.xhtl > > > ============================ > > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > > > xmlns:f="http://orbeon.org/oxf/xml/formatting" > > > xmlns:xhtml="http://www.w3.org/1999/xhtml" > > > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > > > xmlns:ev="http://www.w3.org/2001/xml-events" > > > xmlns:xi="http://www.w3.org/2003/XInclude"> > > > > > > > > > <xhtml:head> > > > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" > > > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > > > > > <xforms:instance id="instance"> > > > <instance> > > > <queryResults> > > > <rels> > > > <rel id="Title" displayName="Title"/> > > > </rels> > > > <doids> > > > <doid ref="1" pid="1"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 1</value> > > > </rel> > > > </doid> > > > <doid ref="2" pid="2"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 2</value> > > > </rel> > > > </doid> > > > <doid ref="3" pid="3"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 3</value> > > > <value>Another title for 3</value> > > > </rel> > > > </doid> > > > <doid ref="4" pid="4"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 4</value> > > > </rel> > > > </doid> > > > </doids> > > > </queryResults> > > > <action>here</action> > > > </instance> > > > </xforms:instance> > > > > > > <!-- submissions --> > > > <!-- update instance --> > > > <xforms:submission ref="instance('instance')" > > > id="get-new-instance-submission" > > > method="post" action="/query-search-test" > > > replace="instance"/> > > > <!-- don't do anything (just for debugging the submission) > > > --> > > > <xforms:submission ref="instance('instance')" > > > id="dummy-submission" > > > method="post" action="/query-search-test" > > > replace="instance"/> > > > </xforms:model> > > > </xhtml:head> > > > <xhtml:body> > > > <xforms:group ref="instance('instance')"> > > > <xhtml:h1>Query results</xhtml:h1> > > > <xhtml:table width="100%"> > > > <!-- column heading row --> > > > <xhtml:tr> > > > <!-- column for pid --> > > > <xhtml:td > > > bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> > > > <!-- loop through all columns to produce col heads > > > --> > > > <xforms:repeat nodeset="queryResults/rels/rel" > > > id="columns"> > > > <xhtml:td > > > bgcolor="#cceecc"><xhtml:span><xforms:output > > > ref="@displayName"/></xhtml:span></xhtml:td> > > > </xforms:repeat> > > > <xhtml:td bgcolor="#cceecc"><xhtml:span/></xhtml:td> > > > </xhtml:tr> > > > <!-- loop through all doids --> > > > <xforms:repeat nodeset="queryResults/doids/doid" > > > id="rows"> > > > <xhtml:tr> > > > <!-- pid column --> > > > <xhtml:td bgcolor="#eeeeee" > > > valign="top"><xhtml:span><xforms:output > > > ref="@pid"/></xhtml:span></xhtml:td> > > > <!-- loop thru columns --> > > > <xforms:repeat nodeset="rel" id="rowsrelsbody"> > > > <xhtml:td valign="top" bgcolor="#eeeeee"> > > > <!-- loop thru values --> > > > <xhtml:span> > > > <xforms:repeat nodeset="value" > > > id="rowrelsbodyvals"> > > > <xforms:output ref="."/><xhtml:br/> > > > </xforms:repeat> > > > </xhtml:span> > > > </xhtml:td> > > > </xforms:repeat> > > > <!-- add checkbox for selection --> > > > <xhtml:td bgcolor="#eeeeee"> > > > <xhtml:span> > > > <xforms:select ref="selected" > > > appearance="full"> > > > <xforms:choices> > > > <xforms:item> > > > <xforms:label></xforms:label> > > > <xforms:value>true</xforms:value> > > > </xforms:item> > > > </xforms:choices> > > > </xforms:select> > > > </xhtml:span> > > > </xhtml:td> > > > </xhtml:tr> > > > </xforms:repeat> > > > </xhtml:table> > > > > > > <xhtml:table width="25%" cellpadding="-1" cellspacing="-1"> > > > <xhtml:tr> > > > <xhtml:td width="100%" align="center" > > > valign="center"> > > > <xhtml:fieldset> > > > <xhtml:table width="100%" cellpadding="-1" > > > cellspacing="-1" align="center" valign="center"> > > > <xhtml:tr> > > > <xhtml:td width="33%" align="center" > > > valign="center"> > > > <xforms:trigger> > > > <xforms:label>new > > > instance</xforms:label> > > > <xforms:action > > > ev:event="DOMActivate"> > > > <xforms:setvalue > > > ref="/instance/action">get-new-instance</xforms:setvalue> > > > <xforms:send > > > submission="dummy-submission"/> > > > </xforms:action> > > > </xforms:trigger> > > > </xhtml:td> > > > <xhtml:td width="33%" align="center" > > > valign="center"> > > > </xhtml:td> > > > <xhtml:td width="34%" align="center" > > > valign="center"> > > > <xforms:trigger> > > > > > > <xforms:label>dummy</xforms:label> > > > <xforms:action > > > ev:event="DOMActivate"> > > > <xforms:setvalue > > > ref="/instance/action">dummy</xforms:setvalue> > > > <xforms:send > > > submission="dummy-submission"/> > > > </xforms:action> > > > </xforms:trigger> > > > </xhtml:td> > > > </xhtml:tr> > > > </xhtml:table> > > > </xhtml:fieldset> > > > </xhtml:td> > > > </xhtml:tr> > > > </xhtml:table> > > > > > > </xforms:group> > > > </xhtml:body> > > > </xhtml:html> > > > > > > ------------------------------------------------------------------------ > > > -- > > > ------------------------------------------------------------------------ > > > -- > > > > > > > > > > > > > > > -----Original Message----- > > > From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez > > > Sent: 07 December 2005 14:23 > > > To: [hidden email] > > > Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > > > beta 4 nightly) > > > > > > Stephen Bayliss wrote: > > > > I'm getting something similar with a repeating set of <xforms:select > > > > appearance="full"> bound to nodes in an instance document. > > > > > > > > If the instance document remains static, it correctly reflects the > > > state > > > > of the checkboxes (ie when I submit it shows correctly which > > > checkboxes > > > > were checked). > > > > > > > > However if the instance document is changed, then it doesn't pick up > > > all > > > > the checkboxes that were checked correctly. > > > > > > > > Do you need an example of this, or is this part of the same issue? > > > > > > I think it's part of the same issue, because both cases (dynamic > > > xforms:select1 and xforms:select) are tested by the "XForms Controls" > > > example, and they just behave the same. Hopefully this will be fixed by > > > tomorrow. > > > > > > -Erik > > > > > > > > > > > > > > > > > > > > > > > > -- > > > 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 > > > ObjectWeb mailing lists service home page: http://www.objectweb.org/wws > > > > > > > > > > > > > > > > > > -- > > Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > > > > > -- > Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws
--
Follow Orbeon on Twitter: @orbeon Follow me on Twitter: @avernet |
In reply to this post by Stephen Bayliss
Thanks -- I've tested this and it looks like it works fine.
-----Original Message----- From: [hidden email] [mailto:[hidden email]] On Behalf Of Alessandro Vernet Sent: 12 December 2005 18:51 To: [hidden email] Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 beta 4 nightly) Hi Stephen, Erik fixed this bug and your example is now running just fine for me. Thanks for submitting this one! You can try out the fix by getting an "unstable build". And just let us know if you still see anything strange going on. Alex On 12/9/05, Alessandro Vernet <[hidden email]> wrote: > Stephen, > > I created an entry for this in our bug base. You can track it at the > URL below. We will post another reply in this list when this is fixed. > > http://forge.objectweb.org/tracker/index.php?func=detail&aid=304364&grou p_id=168&atid=350207 > > Alex > > On 12/9/05, Alessandro Vernet <[hidden email]> wrote: > > Hi Stephen, > > > > Thank you for the test case. I am able to reproduce the problem and > > will be looking into it. > > > > Alex > > > > On 12/8/05, Stephen Bayliss <[hidden email]> wrote: > > > This time the files really are attached! > > > > > > -----Original Message----- > > > From: Stephen Bayliss > > > Sent: 08 December 2005 10:39 > > > To: [hidden email] > > > Subject: RE: [ops-users] Bug with xforms:select1 and xforms:select > > > beta 4 nightly) > > > > > > Attached are files for a test-case for this apparent bug, > > > page-flow.xml which is pasted below along with the rest of the files. > > > > > > I'm currently on last night's build: OPS-3.0.beta4.200512072017 > > > > > > In summary: > > > ----------- > > > - I have a repeating <xforms:select appearance="full"> bound to nodes in > > > an instance document > > > - When all the checkboxes are checked, and the instance is submitted, > > > the instance doc correctly reflects that all checkboxes are selected > > > - If the instance document is updated (ie some nodes added, some nodes > > > deleted), then again all checkboxes are checked, and the instance is > > > submitted, the submitted instance does not correctly reflect which > > > checkboxes are checked. > > > > > > To see the bug in the attached example (monitor in OPS studio to see the > > > submitted doc) > > > 1) check all the checkboxes > > > 2) click on the "dummy" button. This just submits to a pipeline that > > > does nothing, but with a debug attribute on the input. You can see that > > > all the <selected> nodes have the value "true" -- this is correct > > > behaviour. > > > 3) click on the "new instance" button -- this replaces the instance with > > > one that has one of the original records deleted, and a couple of new > > > records added > > > 4) again, check all the checkboxes, and click on the "dummy" button. > > > You should now see that the last record does not have the <selected> > > > node set to true. This is the bug. > > > > > > This is also the case if you start at step 3. Interestingly, when the > > > instance is updated, the last record's checkbox becomes checked, which > > > is incorrect, and maybe related. > > > > > > In the real application from which this is taken, the "new instance" > > > button effectively corresponds to running a database query. > > > > > > Steve > > > > > > ------------------------------------------------------------------------ > > > -- > > > page-flow.xml (fragment) > > > ============================ > > > <page id="query-search-test" path-info="/query-search-test" > > > view="/select-bug/query1.xhtml"> > > > <action when="/instance/action='get-new-instance'" > > > action="/select-bug/get-new-instance.xpl"> > > > <result page="query-search-test"/> > > > </action> > > > <action when="/instance/action='dummy'" > > > action="/select-bug/dummy.xpl"> > > > <result page="query-search-test"/> > > > </action> > > > </page> > > > > > > -- > > > dummy.xpl > > > ============================ > > > <!-- dummy.xpl > > > --> > > > > > > <p:config > > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > > > <p:param type="input" name="instance" debug="dummy:instance"/> > > > > > > <!-- don't do anything, just submit the input instance back > > > > > > <!-- Generate response --> > > > <p:processor name="oxf:xml-serializer"> > > > <p:input name="data" href="#instance" /> > > > <p:input name="config"> > > > <config> > > > <content-type>application/xml</content-type> > > > </config> > > > </p:input> > > > </p:processor> > > > > > > > > > </p:config> > > > > > > -- > > > get-new-instance.xpl > > > ============================ > > > <!-- get-new-instance.xpl > > > --> > > > > > > <p:config > > > xmlns:p="http://www.orbeon.com/oxf/pipeline" > > > xmlns:oxf="http://www.orbeon.com/oxf/processors" > > > > > > > <p:param type="input" name="instance" /> > > > > > > <!-- sink the input instance --> > > > <p:processor name="oxf:null-serializer"> > > > <p:input name="data" href="#instance"/> > > > </p:processor> > > > > > > <!-- generate a new instance doc --> > > > <p:processor name="oxf:identity"> > > > <p:input name="data"> > > > <instance> > > > <queryResults> > > > <rels> > > > <rel id="Title" displayName="Title"/> > > > </rels> > > > <doids> > > > <doid ref="1" pid="1"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 1</value> > > > </rel> > > > </doid> > > > <doid ref="3" pid="3"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 3</value> > > > <value>Another title for 3</value> > > > </rel> > > > </doid> > > > <doid ref="4" pid="4"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 4</value> > > > </rel> > > > </doid> > > > <doid ref="5" pid="5"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 5</value> > > > </rel> > > > </doid> > > > <doid ref="6" pid="6"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 6</value> > > > </rel> > > > </doid> > > > </doids> > > > </queryResults> > > > <action>here</action> > > > </instance> > > > </p:input> > > > <p:output name="data" id="output-instance" > > > debug="get-new-instance:output-instance"/> > > > </p:processor> > > > > > > > > > <!-- Generate response --> > > > <p:processor name="oxf:xml-serializer"> > > > <p:input name="data" href="#output-instance" /> > > > <p:input name="config"> > > > <config> > > > <content-type>application/xml</content-type> > > > </config> > > > </p:input> > > > </p:processor> > > > > > > > > > </p:config> > > > > > > -- > > > query1.xhtl > > > ============================ > > > <xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms" > > > xmlns:f="http://orbeon.org/oxf/xml/formatting" > > > xmlns:xhtml="http://www.w3.org/1999/xhtml" > > > xmlns:xxforms="http://orbeon.org/oxf/xml/xforms" > > > xmlns:ev="http://www.w3.org/2001/xml-events" > > > xmlns:xi="http://www.w3.org/2003/XInclude"> > > > > > > > > > <xhtml:head> > > > <xforms:model xmlns:xforms="http://www.w3.org/2002/xforms" > > > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > > > > > > <xforms:instance id="instance"> > > > <instance> > > > <queryResults> > > > <rels> > > > <rel id="Title" displayName="Title"/> > > > </rels> > > > <doids> > > > <doid ref="1" pid="1"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 1</value> > > > </rel> > > > </doid> > > > <doid ref="2" pid="2"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 2</value> > > > </rel> > > > </doid> > > > <doid ref="3" pid="3"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 3</value> > > > <value>Another title for > > > </rel> > > > </doid> > > > <doid ref="4" pid="4"> > > > <selected/> > > > <rel id="Title"> > > > <value>Title of 4</value> > > > </rel> > > > </doid> > > > </doids> > > > </queryResults> > > > <action>here</action> > > > </instance> > > > </xforms:instance> > > > > > > <!-- submissions --> > > > <!-- update instance --> > > > <xforms:submission ref="instance('instance')" > > > id="get-new-instance-submission" > > > method="post" action="/query-search-test" > > > replace="instance"/> > > > <!-- don't do anything (just for debugging the > > > --> > > > <xforms:submission ref="instance('instance')" > > > id="dummy-submission" > > > method="post" action="/query-search-test" > > > replace="instance"/> > > > </xforms:model> > > > </xhtml:head> > > > <xhtml:body> > > > <xforms:group ref="instance('instance')"> > > > <xhtml:h1>Query results</xhtml:h1> > > > <xhtml:table width="100%"> > > > <!-- column heading row --> > > > <xhtml:tr> > > > <!-- column for pid --> > > > <xhtml:td > > > bgcolor="#cceecc"><xhtml:span>ID</xhtml:span></xhtml:td> > > > <!-- loop through all columns to produce col > > > --> > > > <xforms:repeat nodeset="queryResults/rels/rel" > > > id="columns"> > > > <xhtml:td > > > bgcolor="#cceecc"><xhtml:span><xforms:output > > > ref="@displayName"/></xhtml:span></xhtml:td> > > > </xforms:repeat> > > > <xhtml:td > > > </xhtml:tr> > > > <!-- loop through all doids --> > > > <xforms:repeat nodeset="queryResults/doids/doid" > > > id="rows"> > > > <xhtml:tr> > > > <!-- pid column --> > > > <xhtml:td bgcolor="#eeeeee" > > > valign="top"><xhtml:span><xforms:output > > > ref="@pid"/></xhtml:span></xhtml:td> > > > <!-- loop thru columns --> > > > <xforms:repeat nodeset="rel" > > > <xhtml:td valign="top" > > > <!-- loop thru values --> > > > <xhtml:span> > > > <xforms:repeat nodeset="value" > > > id="rowrelsbodyvals"> > > > <xforms:output ref="."/><xhtml:br/> > > > </xforms:repeat> > > > </xhtml:span> > > > </xhtml:td> > > > </xforms:repeat> > > > <!-- add checkbox for selection --> > > > <xhtml:td bgcolor="#eeeeee"> > > > <xhtml:span> > > > <xforms:select ref="selected" > > > appearance="full"> > > > <xforms:choices> > > > <xforms:item> > > > > > > > > > </xforms:item> > > > </xforms:choices> > > > </xforms:select> > > > </xhtml:span> > > > </xhtml:td> > > > </xhtml:tr> > > > </xforms:repeat> > > > </xhtml:table> > > > > > > <xhtml:table width="25%" cellpadding="-1" > > > <xhtml:tr> > > > <xhtml:td width="100%" align="center" > > > valign="center"> > > > <xhtml:fieldset> > > > <xhtml:table width="100%" > > > cellspacing="-1" align="center" valign="center"> > > > <xhtml:tr> > > > <xhtml:td width="33%" align="center" > > > valign="center"> > > > <xforms:trigger> > > > <xforms:label>new > > > instance</xforms:label> > > > <xforms:action > > > ev:event="DOMActivate"> > > > <xforms:setvalue > > > ref="/instance/action">get-new-instance</xforms:setvalue> > > > <xforms:send > > > submission="dummy-submission"/> > > > </xforms:action> > > > </xforms:trigger> > > > </xhtml:td> > > > <xhtml:td width="33%" > > > valign="center"> > > > </xhtml:td> > > > <xhtml:td width="34%" > > > valign="center"> > > > <xforms:trigger> > > > > > > <xforms:label>dummy</xforms:label> > > > <xforms:action > > > ev:event="DOMActivate"> > > > <xforms:setvalue > > > ref="/instance/action">dummy</xforms:setvalue> > > > <xforms:send > > > submission="dummy-submission"/> > > > </xforms:action> > > > </xforms:trigger> > > > </xhtml:td> > > > </xhtml:tr> > > > </xhtml:table> > > > </xhtml:fieldset> > > > </xhtml:td> > > > </xhtml:tr> > > > </xhtml:table> > > > > > > </xforms:group> > > > </xhtml:body> > > > </xhtml:html> > > > > > > > > > -- > > > > > > -- > > > > > > > > > > > > > > > -----Original Message----- > > > From: Erik Bruchez [mailto:[hidden email]] On Behalf Of Erik Bruchez > > > Sent: 07 December 2005 14:23 > > > To: [hidden email] > > > Subject: Re: [ops-users] Bug with xforms:select1 and xforms:select (3.0 > > > beta 4 nightly) > > > > > > Stephen Bayliss wrote: > > > > I'm getting something similar with a repeating set of <xforms:select > > > > appearance="full"> bound to nodes in an instance document. > > > > > > > > If the instance document remains static, it correctly reflects the > > > state > > > > of the checkboxes (ie when I submit it shows correctly which > > > checkboxes > > > > were checked). > > > > > > > > However if the instance document is changed, then it doesn't pick up > > > all > > > > the checkboxes that were checked correctly. > > > > > > > > Do you need an example of this, or is this part of the same issue? > > > > > > I think it's part of the same issue, because both cases (dynamic > > > xforms:select1 and xforms:select) are tested by the "XForms Controls" > > > example, and they just behave the same. Hopefully this will be fixed by > > > tomorrow. > > > > > > -Erik > > > > > > > > > > > > > > > > > > > > > > > > -- > > > You receive this message as a subscriber of the > > > To unsubscribe: mailto:[hidden email] > > > For general help: mailto:[hidden email]?subject=help > > > ObjectWeb mailing lists service home page: > > > > > > > > > > > > > > > > > > -- > > Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > > > > > -- > Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ > -- Blog (XML, Web apps, Open Source): http://www.orbeon.com/blog/ -- 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 ObjectWeb mailing lists service home page: http://www.objectweb.org/wws |
Free forum by Nabble | Edit this page |