View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
05731Bug reportsSurvey editingpublic2012-04-04 19:51
Reporterautopoiesis Assigned ToTMSWhite  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version1.92RC3 
Target Version1.92+Fixed in Version1.92+ 
Summary05731: Randomization group name seems to block "Test this survey"
Description

It seems that there is a bug in Randomization group name function. When I enter Randomization group name in two questions I can't test the survey.

Steps To Reproduce
  1. I enter "group1" into the Randomization group name field of 2 question (both List radio and in same question group with over 30 questions, also conditons)

  2. When I click then on the "Test this survey" button only the welcome screen appears and I can't move forward. The "Show welcome screen?" setting is also set to "No"...

  3. When I afterwards delete the "group1" value in both questions I can test the survey as usual. No welcome screen is shown - I come directly to the first question.

TagsNo tags attached.
Attached Files
limesurvey_survey_1.lss (69,491 bytes)
Bug heat8
Complete LimeSurvey version number (& build)1.92
I will donate to the project if issue is resolvedNo
BrowserFirefox 9
Database type & versionMysql 5.1.52
Server OS (if known)Ubuntu 10.04 LTS
Webserver software & version (if known)Apache 2.2.14
PHP Version5.2.10

Users monitoring this issue

c_schmitz

Activities

TMSWhite

TMSWhite

2012-01-31 20:27

reporter   ~17111

please attach a sample survey (or group) so we can test.

autopoiesis

autopoiesis

2012-01-31 22:09

reporter   ~17114

Last edited: 2012-01-31 22:10

In this sample file the question 201 and 202 (question group: Example 2) have an entry into the Randomization group name field ("1") - same behaviour: I see the welcome screen but can't proceed when I click on "Next"

TMSWhite

TMSWhite

2012-02-01 22:56

reporter   ~17150

yes, randomization groups are broken in _dev and _yii.

I'm still trying to understand how they worked in 1.91+.

buidsurveysession() does the equivalent of createFieldMap(), but then randomizes the questions within the groups. However, then createFieldMap() is called and it does the same, but without randomizing the questions. So, I'm not clear how 1.91+ avoids undoing the randomization done by buildsurveysession().

1.92 relies upon the contents of createFieldMap (rather than structures from buildsurveysession), which is not performing this randomization.

This may highlight a need to refactor 1.92 to eliminate buildsurveysession and createFieldMap, or at least avoid the duplication occuring (since buildsurveysession, createFieldMap, and EM all do large and very similar database reads when starting the survey).

TMSWhite

TMSWhite

2012-02-02 17:39

reporter   ~17178

survey 88881 is specifically designed to test randomization. It shows the same problem.

TMSWhite

TMSWhite

2012-02-03 16:04

reporter   ~17210

This is going to require some pretty major changes, so will have to wait for 2.0

TMSWhite

TMSWhite

2012-03-21 23:11

reporter   ~18029

Some notes:
(1) Need to re-order $fieldmap when there are randomization groups - DONE

(2) Need to change how EM figures out the gseq (group seq). Currently, uses $LEM->groupId2groupSeq array, but when randomize, must use random_gid field for an SGQA code, not the GID, to determine in which group it belongs.

(3) This also affects JavaScript - <div id='group-N'> uses GID coding, but that won't work for randomization - perhaps switch to using gseq?

c_schmitz

c_schmitz

2012-03-21 23:48

administrator   ~18033

Thomas, I suspect you misunderstand how the feature is supposed to work. At least comment 2 and 3 hint to that. Please get in touch before continuing.

TMSWhite

TMSWhite

2012-03-22 01:36

reporter   ~18036

Carsten-

To clarify those comment, here is how EM is supposed to work: find first group of questions and validate them. If none valid, find next group of questions until find at least one relevant and non-hidden question.

In general, it uses gseq to know the order of groups. Originally, it used gid, assuming that gids would be in the proper order from group_order. Now, it is clear it can't rely upon the gid variable to indicate boundaries between groups (since after randomization, questions from different groups can appear in the same randomized group). So, I need to change EM to exclusively use gseq to identify group boundaries and membership. Randomization functions can change gseq externally (e.g. create a mapping table of gseq to the qids they contain, and in the proper order.

TMSWhite

TMSWhite

2012-03-22 21:28

reporter   ~18044

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=8006

TMSWhite

TMSWhite

2012-03-22 22:05

reporter   ~18045

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=8007

TMSWhite

TMSWhite

2012-03-22 22:18

reporter   ~18046

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=8008

TMSWhite

TMSWhite

2012-03-22 23:30

reporter   ~18047

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=8011

TMSWhite

TMSWhite

2012-03-22 23:31

reporter   ~18048

Fixed in 1.92 revision 120323

c_schmitz

c_schmitz

2012-03-23 13:03

administrator   ~18058

1.92+ update released.

TMSWhite

TMSWhite

2012-04-04 19:51

reporter   ~18199

Fix committed to Yii branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&amp;id=8096

Related Changesets

LimeSurvey: master dac96351

2012-03-22 12:33:35

TMSWhite

Details Diff
Fixed issue 05731: Randomization group name seems to block "Test this survey"
Dev Works for single language, but not for for multi-lingual randomization yet.
Dev updated randomization group test survey to include randomized and non-randomized questions; plus put in two languages.
Affected Issues
05731
mod - admin/questionhandling.php Diff File
mod - classes/expressions/LimeExpressionManager.php Diff File
mod - classes/expressions/em_javascript.js Diff File
mod - docs/demosurveys/Randomization_Group_Test.lss Diff File
mod - group.php Diff File
mod - printanswers.php Diff File

LimeSurvey: master 57a58776

2012-03-22 13:28:12

TMSWhite

Details Diff
Merge pull request #3 from TMSWhite/oldhead

Fixed issue 05731: Randomization group name seems to block "Test this survey"
Affected Issues
05731
mod - admin/questionhandling.php Diff File
mod - classes/expressions/LimeExpressionManager.php Diff File
mod - classes/expressions/em_javascript.js Diff File
mod - docs/demosurveys/Randomization_Group_Test.lss Diff File
mod - group.php Diff File
mod - printanswers.php Diff File

LimeSurvey: master 3297f947

2012-03-22 14:07:02

TMSWhite

Details Diff
Fixed issue 05731: Randomization group name seems to block "Test this survey"
Dev this file was missing from last commit
Affected Issues
05731
mod - index.php Diff File

LimeSurvey: master af10f1c0

2012-03-22 14:20:29

TMSWhite

Details Diff
Fixed issue 05731: Randomization group name seems to block "Test this survey"
Dev two more files missing from this commit
Affected Issues
05731
mod - admin/html.php Diff File
mod - common_functions.php Diff File

LimeSurvey: master 4e4c1cea

2012-03-22 14:36:07

TMSWhite

Details Diff
Dev fixed bug in unit tests introduced by fixes for issue 05731 Affected Issues
05731
mod - classes/expressions/ExpressionManager.php Diff File

LimeSurvey: master 859cc40e

2012-03-22 15:32:45

TMSWhite

Details Diff
Fixed issue 05731: Randomization group name seems to block "Test this survey"
Dev Now works for multiple languages. If shift language mid-survey, the original randomization order will be retained.
Affected Issues
05731
mod - common_functions.php Diff File
mod - index.php Diff File

LimeSurvey: Yii ee2b6b49

2012-04-04 10:37:16

TMSWhite

Details Diff
Fixed issue 05731: Randomization group name seems to block "Test this survey"
Dev the randomization itself isn't working properly in Yii, but testing is no longer blocked, and the rest of the refactoring needed to get randomization working has been completed.
Affected Issues
05731
add - docs/demosurveys/Randomization_Group_Test.lss Diff File
mod - application/controllers/admin/question.php Diff File
mod - application/core/Survey_Common_Action.php Diff File
mod - application/helpers/SurveyRuntimeHelper.php Diff File
mod - application/helpers/common_helper.php Diff File
mod - application/helpers/expressions/em_core_helper.php Diff File
mod - application/helpers/expressions/em_manager_helper.php Diff File
mod - application/helpers/frontend_helper.php Diff File
mod - application/helpers/qanda_helper.php Diff File
mod - scripts/admin/expressions/em_javascript.js Diff File

Issue History

Date Modified Username Field Change
2012-01-31 19:47 autopoiesis New Issue
2012-01-31 20:27 TMSWhite Note Added: 17111
2012-01-31 22:05 autopoiesis File Added: limesurvey_survey_1.lss
2012-01-31 22:09 autopoiesis Note Added: 17114
2012-01-31 22:10 autopoiesis Note Edited: 17114
2012-02-01 22:56 TMSWhite Note Added: 17150
2012-02-02 17:39 TMSWhite File Added: limesurvey_survey_88881.lss
2012-02-02 17:39 TMSWhite Note Added: 17178
2012-02-03 00:26 TMSWhite Assigned To => TMSWhite
2012-02-03 00:26 TMSWhite Status new => assigned
2012-02-03 00:26 TMSWhite Target Version => 1.92RC4
2012-02-03 16:04 TMSWhite Note Added: 17210
2012-02-03 16:08 TMSWhite Assigned To TMSWhite =>
2012-02-03 16:08 TMSWhite Status assigned => feedback
2012-02-03 16:08 TMSWhite Target Version 1.92RC4 => 2.00a2
2012-02-09 09:44 Mazi Assigned To => c_schmitz
2012-02-09 09:44 Mazi Status feedback => assigned
2012-02-27 21:21 c_schmitz Assigned To c_schmitz =>
2012-03-21 23:11 TMSWhite Note Added: 18029
2012-03-21 23:38 c_schmitz Issue Monitored: c_schmitz
2012-03-21 23:38 c_schmitz Assigned To => TMSWhite
2012-03-21 23:48 c_schmitz Note Added: 18033
2012-03-22 01:36 TMSWhite Note Added: 18036
2012-03-22 21:28 TMSWhite Changeset attached => LimeSurvey master dac96351
2012-03-22 21:28 TMSWhite Changeset attached => LimeSurvey master 57a58776
2012-03-22 21:28 TMSWhite Note Added: 18044
2012-03-22 21:28 TMSWhite Resolution open => fixed
2012-03-22 22:05 TMSWhite Changeset attached => LimeSurvey master 3297f947
2012-03-22 22:05 TMSWhite Note Added: 18045
2012-03-22 22:18 TMSWhite Changeset attached => LimeSurvey master af10f1c0
2012-03-22 22:18 TMSWhite Note Added: 18046
2012-03-22 22:33 TMSWhite Changeset attached => LimeSurvey master 4e4c1cea
2012-03-22 23:30 TMSWhite Changeset attached => LimeSurvey master 859cc40e
2012-03-22 23:30 TMSWhite Note Added: 18047
2012-03-22 23:30 TMSWhite Target Version 2.00a2 => 1.92+
2012-03-22 23:31 TMSWhite Note Added: 18048
2012-03-22 23:31 TMSWhite Status assigned => resolved
2012-03-22 23:31 TMSWhite Fixed in Version => 1.92+
2012-03-23 13:03 c_schmitz Note Added: 18058
2012-03-23 13:03 c_schmitz Status resolved => closed
2012-04-04 19:51 TMSWhite Changeset attached => LimeSurvey Yii ee2b6b49
2012-04-04 19:51 TMSWhite Note Added: 18199
2019-11-01 17:25 c_schmitz Category Survey design => Survey editing
2021-08-02 19:04 guest Bug heat 6 => 8