Jason Cleeland
2014-09-19 01:59:15 UTC
Hi everyone,
Long time no chat (sorry).
I've written a modification to the group preview feature in LimeSurvey to
address a problem that a few people have complained to me about, and I want
everyone's opinion on how to implement it.
The problem is this:
When you have questions within a group that have conditions based on
questions in OTHER groups, they don't display when you preview the group.
They don't display because the conditions haven't been met (obviously) but
they can never be met because group preview doesn't allow other questions to
display.
I wanted to fix this so that any conditions based on questions OUTSIDE the
preview group were ignored. In other words, conditions within the group
would work normally, but conditions OUTSIDE the group would be considered as
met.
And that's what I've been able to do. I did it by hacking the relevance
setting for any conditions outside the preview group and changing them to "1
== 1" (ie: always met)
When I spoke to Carsten about it, he said that this issue had been raised
before and that I should make it user-selectable.
When I looked at the existing code, I think the way it has been solved
before is to simply make every single question in a group show up - the same
way it works for question previews.
I can see why this would suck - sometimes you want to test the conditions
functionality when previewing a group, and if all the conditions are
ignored, then you can't test them. But my modification means that any
conditions within the group still work.
Personally I think this means the change would meet everyone's needs and
doesn't create any new problems - only removes an existing annoyance. And if
that's the case, then adding any extra controls (ie: an option that lets you
turn this on and off) just clutters up the interface, and for something that
I don't think anyone would ever really need.
What do you think? I can add something to make selectable on a case by case
basis , but I think that may be over the top
Jason Cleeland
Long time no chat (sorry).
I've written a modification to the group preview feature in LimeSurvey to
address a problem that a few people have complained to me about, and I want
everyone's opinion on how to implement it.
The problem is this:
When you have questions within a group that have conditions based on
questions in OTHER groups, they don't display when you preview the group.
They don't display because the conditions haven't been met (obviously) but
they can never be met because group preview doesn't allow other questions to
display.
I wanted to fix this so that any conditions based on questions OUTSIDE the
preview group were ignored. In other words, conditions within the group
would work normally, but conditions OUTSIDE the group would be considered as
met.
And that's what I've been able to do. I did it by hacking the relevance
setting for any conditions outside the preview group and changing them to "1
== 1" (ie: always met)
When I spoke to Carsten about it, he said that this issue had been raised
before and that I should make it user-selectable.
When I looked at the existing code, I think the way it has been solved
before is to simply make every single question in a group show up - the same
way it works for question previews.
I can see why this would suck - sometimes you want to test the conditions
functionality when previewing a group, and if all the conditions are
ignored, then you can't test them. But my modification means that any
conditions within the group still work.
Personally I think this means the change would meet everyone's needs and
doesn't create any new problems - only removes an existing annoyance. And if
that's the case, then adding any extra controls (ie: an option that lets you
turn this on and off) just clutters up the interface, and for something that
I don't think anyone would ever really need.
What do you think? I can add something to make selectable on a case by case
basis , but I think that may be over the top
Jason Cleeland