Possible bug with repeat, select, and dynamic itemset

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Possible bug with repeat, select, and dynamic itemset

Jeremy Nix
What I am attempting to do is use the xforms:repeat control to generate
a table of question/answers (a matrix if you will).  Each row represents
a question, and each column (pseudo-column) represents an answer.  In
order to get the look and feel that they wanted, I made the span's
surrounding each select's radio option "simulate" a cell (borders,
specific width, etc...).  I'm definitely not here to discuss the design
of the form, or how this trick looks from one browser to the other
(discussion for another day).  I am however interested in knowing why
within my repeat, when I reference a itemset/codelist (which should be
unique to each question), the value that gets set in the control always
references back to the first itemset/codelist rendered (so the milk
itemset).  An interesting thing that I found while troubleshooting is
that if I add the attribute "xxforms:refresh-items" to the select, and
set it to "true", then the values set in the control are correct.

I'm attaching a set of files that should help recreate the scenario.  
I've tried to chop up my form down to the bare minimum to illustrate
this bug or limitation.

Again, I'm not interested in solutions that call for a redesign. I'm
simply interested in understanding if this is a bug, a limitation within
XForms, or a

Thanks for the help.

--
_____________________________________________
Jeremy Nix
Senior Application Developer
Biomedical Informatics
Cincinnati Children's Hospital Medical Center



--
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

test.zip (502K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Possible bug with repeat, select, and dynamic itemset

Alessandro  Vernet
Administrator
Hi Jeremy,

Yes, it is a bug. I created a simpler test case, and created and issue
for this: https://github.com/orbeon/orbeon-forms/issues/661

This xxf:refresh-items was implemented a while ago as an optimization,
but lately we haven't been using it much. Can you just skip putting
that xxf:refresh-items? (Which is equivalent to having
xxf:refresh-items="true".)

Alex

On Thu, Dec 13, 2012 at 6:16 AM, Nix, Jeremy <[hidden email]> wrote:

> What I am attempting to do is use the xforms:repeat control to generate
> a table of question/answers (a matrix if you will).  Each row represents
> a question, and each column (pseudo-column) represents an answer.  In
> order to get the look and feel that they wanted, I made the span's
> surrounding each select's radio option "simulate" a cell (borders,
> specific width, etc...).  I'm definitely not here to discuss the design
> of the form, or how this trick looks from one browser to the other
> (discussion for another day).  I am however interested in knowing why
> within my repeat, when I reference a itemset/codelist (which should be
> unique to each question), the value that gets set in the control always
> references back to the first itemset/codelist rendered (so the milk
> itemset).  An interesting thing that I found while troubleshooting is
> that if I add the attribute "xxforms:refresh-items" to the select, and
> set it to "true", then the values set in the control are correct.
>
> I'm attaching a set of files that should help recreate the scenario.
> I've tried to chop up my form down to the bare minimum to illustrate
> this bug or limitation.
>
> Again, I'm not interested in solutions that call for a redesign. I'm
> simply interested in understanding if this is a bug, a limitation within
> XForms, or a
>
> Thanks for the help.
>
> --
> _____________________________________________
> Jeremy Nix
> Senior Application Developer
> Biomedical Informatics
> Cincinnati Children's Hospital Medical Center
>
>
>
> --
> 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
>


--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @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
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet
Reply | Threaded
Open this post in threaded view
|

Re: Re: Possible bug with repeat, select, and dynamic itemset

Erik Bruchez
Administrator
Jeremy,

We discussed this a bit more and this was by design: the
xxf:refresh-items="false" was partly implemented as an optimization
for large repeats containing costly but identical itemsets (although
it can be used outside repeats as well). The documentation was unclear
though and I have updated it:

http://wiki.orbeon.com/forms/doc/developer-guide/xforms-performance-settings

One could imagine a mode for xxf:refresh-items where the itemset is
computed only once per control, independently from repeat iterations,
but that's currently not implemented.

I assume that you used xxf:refresh-items="true" for a reason in the first place?

-Erik

On Thu, Dec 13, 2012 at 10:33 AM, Alessandro Vernet <[hidden email]> wrote:

> Hi Jeremy,
>
> Yes, it is a bug. I created a simpler test case, and created and issue
> for this: https://github.com/orbeon/orbeon-forms/issues/661
>
> This xxf:refresh-items was implemented a while ago as an optimization,
> but lately we haven't been using it much. Can you just skip putting
> that xxf:refresh-items? (Which is equivalent to having
> xxf:refresh-items="true".)
>
> Alex
>
> On Thu, Dec 13, 2012 at 6:16 AM, Nix, Jeremy <[hidden email]> wrote:
>> What I am attempting to do is use the xforms:repeat control to generate
>> a table of question/answers (a matrix if you will).  Each row represents
>> a question, and each column (pseudo-column) represents an answer.  In
>> order to get the look and feel that they wanted, I made the span's
>> surrounding each select's radio option "simulate" a cell (borders,
>> specific width, etc...).  I'm definitely not here to discuss the design
>> of the form, or how this trick looks from one browser to the other
>> (discussion for another day).  I am however interested in knowing why
>> within my repeat, when I reference a itemset/codelist (which should be
>> unique to each question), the value that gets set in the control always
>> references back to the first itemset/codelist rendered (so the milk
>> itemset).  An interesting thing that I found while troubleshooting is
>> that if I add the attribute "xxforms:refresh-items" to the select, and
>> set it to "true", then the values set in the control are correct.
>>
>> I'm attaching a set of files that should help recreate the scenario.
>> I've tried to chop up my form down to the bare minimum to illustrate
>> this bug or limitation.
>>
>> Again, I'm not interested in solutions that call for a redesign. I'm
>> simply interested in understanding if this is a bug, a limitation within
>> XForms, or a
>>
>> Thanks for the help.
>>
>> --
>> _____________________________________________
>> Jeremy Nix
>> Senior Application Developer
>> Biomedical Informatics
>> Cincinnati Children's Hospital Medical Center
>>
>>
>>
>> --
>> 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
>>
>
>
>
> --
> Follow Orbeon on Twitter: @orbeon
> Follow me on Twitter: @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
>


--
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
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Possible bug with repeat, select, and dynamic itemset

Jeremy Nix
Alex/Erik,

Okay, that makes more sense.   Originally I did not include the
refresh-items attribute.  That was added later on in an attempt to
improve performance.  The actual form is much larger, and contains 12
different sections.  Users are currently noticing that the form is not
keeping up with the user as they attempt to click through this matrix
quickly.  I have a feeling that its partly due to the various onclick
action events that fire off.  I'll have to see if I can come up with a
better way of handling that.

I guess I would be interested in knowing if down the road there is
interest in revisiting the support for refresh-items attribute w/in
repeats for varying itemsets.  It seems like this would be a good
optimization to have as a general use case if you know that the itemset
will never change.

Thanks again for your help,

_____________________________________________
Jeremy Nix
Senior Application Developer
Biomedical Informatics
Cincinnati Children's Hospital Medical Center

On 12/13/2012 02:33 PM, Erik Bruchez wrote:

> Jeremy,
>
> We discussed this a bit more and this was by design: the
> xxf:refresh-items="false" was partly implemented as an optimization
> for large repeats containing costly but identical itemsets (although
> it can be used outside repeats as well). The documentation was unclear
> though and I have updated it:
>
> http://wiki.orbeon.com/forms/doc/developer-guide/xforms-performance-settings
>
> One could imagine a mode for xxf:refresh-items where the itemset is
> computed only once per control, independently from repeat iterations,
> but that's currently not implemented.
>
> I assume that you used xxf:refresh-items="true" for a reason in the first place?
>
> -Erik
>
> On Thu, Dec 13, 2012 at 10:33 AM, Alessandro Vernet <[hidden email]> wrote:
>> Hi Jeremy,
>>
>> Yes, it is a bug. I created a simpler test case, and created and issue
>> for this: https://github.com/orbeon/orbeon-forms/issues/661
>>
>> This xxf:refresh-items was implemented a while ago as an optimization,
>> but lately we haven't been using it much. Can you just skip putting
>> that xxf:refresh-items? (Which is equivalent to having
>> xxf:refresh-items="true".)
>>
>> Alex
>>
>> On Thu, Dec 13, 2012 at 6:16 AM, Nix, Jeremy <[hidden email]> wrote:
>>> What I am attempting to do is use the xforms:repeat control to generate
>>> a table of question/answers (a matrix if you will).  Each row represents
>>> a question, and each column (pseudo-column) represents an answer.  In
>>> order to get the look and feel that they wanted, I made the span's
>>> surrounding each select's radio option "simulate" a cell (borders,
>>> specific width, etc...).  I'm definitely not here to discuss the design
>>> of the form, or how this trick looks from one browser to the other
>>> (discussion for another day).  I am however interested in knowing why
>>> within my repeat, when I reference a itemset/codelist (which should be
>>> unique to each question), the value that gets set in the control always
>>> references back to the first itemset/codelist rendered (so the milk
>>> itemset).  An interesting thing that I found while troubleshooting is
>>> that if I add the attribute "xxforms:refresh-items" to the select, and
>>> set it to "true", then the values set in the control are correct.
>>>
>>> I'm attaching a set of files that should help recreate the scenario.
>>> I've tried to chop up my form down to the bare minimum to illustrate
>>> this bug or limitation.
>>>
>>> Again, I'm not interested in solutions that call for a redesign. I'm
>>> simply interested in understanding if this is a bug, a limitation within
>>> XForms, or a
>>>
>>> Thanks for the help.
>>>
>>> --
>>> _____________________________________________
>>> Jeremy Nix
>>> Senior Application Developer
>>> Biomedical Informatics
>>> Cincinnati Children's Hospital Medical Center
>>>
>>>
>>>
>>> --
>>> 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
>>>
>>
>>
>> --
>> Follow Orbeon on Twitter: @orbeon
>> Follow me on Twitter: @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
>>


--
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
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Possible bug with repeat, select, and dynamic itemset

Alessandro  Vernet
Administrator
Hi Jeremy,

If you feel that Ajax requests take too much time, you might want to
try to enable more debugging (see "Development configuration" on the
page linked below), a see if you can spot something. If there is
nothing obvious, which is often the case, the next step is to do some
Java profiling.

http://wiki.orbeon.com/forms/doc/developer-guide/xforms-logging#TOC-Development-configuration

Alex

On Fri, Dec 14, 2012 at 6:15 AM, Nix, Jeremy <[hidden email]> wrote:

> Alex/Erik,
>
> Okay, that makes more sense.   Originally I did not include the
> refresh-items attribute.  That was added later on in an attempt to
> improve performance.  The actual form is much larger, and contains 12
> different sections.  Users are currently noticing that the form is not
> keeping up with the user as they attempt to click through this matrix
> quickly.  I have a feeling that its partly due to the various onclick
> action events that fire off.  I'll have to see if I can come up with a
> better way of handling that.
>
> I guess I would be interested in knowing if down the road there is
> interest in revisiting the support for refresh-items attribute w/in
> repeats for varying itemsets.  It seems like this would be a good
> optimization to have as a general use case if you know that the itemset
> will never change.
>
> Thanks again for your help,
>
> _____________________________________________
> Jeremy Nix
> Senior Application Developer
> Biomedical Informatics
> Cincinnati Children's Hospital Medical Center
>
> On 12/13/2012 02:33 PM, Erik Bruchez wrote:
>> Jeremy,
>>
>> We discussed this a bit more and this was by design: the
>> xxf:refresh-items="false" was partly implemented as an optimization
>> for large repeats containing costly but identical itemsets (although
>> it can be used outside repeats as well). The documentation was unclear
>> though and I have updated it:
>>
>> http://wiki.orbeon.com/forms/doc/developer-guide/xforms-performance-settings
>>
>> One could imagine a mode for xxf:refresh-items where the itemset is
>> computed only once per control, independently from repeat iterations,
>> but that's currently not implemented.
>>
>> I assume that you used xxf:refresh-items="true" for a reason in the first place?
>>
>> -Erik
>>
>> On Thu, Dec 13, 2012 at 10:33 AM, Alessandro Vernet <[hidden email]> wrote:
>>> Hi Jeremy,
>>>
>>> Yes, it is a bug. I created a simpler test case, and created and issue
>>> for this: https://github.com/orbeon/orbeon-forms/issues/661
>>>
>>> This xxf:refresh-items was implemented a while ago as an optimization,
>>> but lately we haven't been using it much. Can you just skip putting
>>> that xxf:refresh-items? (Which is equivalent to having
>>> xxf:refresh-items="true".)
>>>
>>> Alex
>>>
>>> On Thu, Dec 13, 2012 at 6:16 AM, Nix, Jeremy <[hidden email]> wrote:
>>>> What I am attempting to do is use the xforms:repeat control to generate
>>>> a table of question/answers (a matrix if you will).  Each row represents
>>>> a question, and each column (pseudo-column) represents an answer.  In
>>>> order to get the look and feel that they wanted, I made the span's
>>>> surrounding each select's radio option "simulate" a cell (borders,
>>>> specific width, etc...).  I'm definitely not here to discuss the design
>>>> of the form, or how this trick looks from one browser to the other
>>>> (discussion for another day).  I am however interested in knowing why
>>>> within my repeat, when I reference a itemset/codelist (which should be
>>>> unique to each question), the value that gets set in the control always
>>>> references back to the first itemset/codelist rendered (so the milk
>>>> itemset).  An interesting thing that I found while troubleshooting is
>>>> that if I add the attribute "xxforms:refresh-items" to the select, and
>>>> set it to "true", then the values set in the control are correct.
>>>>
>>>> I'm attaching a set of files that should help recreate the scenario.
>>>> I've tried to chop up my form down to the bare minimum to illustrate
>>>> this bug or limitation.
>>>>
>>>> Again, I'm not interested in solutions that call for a redesign. I'm
>>>> simply interested in understanding if this is a bug, a limitation within
>>>> XForms, or a
>>>>
>>>> Thanks for the help.
>>>>
>>>> --
>>>> _____________________________________________
>>>> Jeremy Nix
>>>> Senior Application Developer
>>>> Biomedical Informatics
>>>> Cincinnati Children's Hospital Medical Center
>>>>
>>>>
>>>>
>>>> --
>>>> 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
>>>>
>>>
>>>
>>> --
>>> Follow Orbeon on Twitter: @orbeon
>>> Follow me on Twitter: @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
>>>
>
>
> --
> 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
>


--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @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
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet