View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
09146Feature requestsSurvey takingpublic2018-04-06 11:48
Reporterronny_todgers Assigned Toollehar  
PriorityhighSeverityfeature 
Status closedResolutionfixed 
Summary09146: Group Randomisation - completed groups shown to user after save / resume -
Description

When constructing the random group order and step after a resume, no attempt is made to return the user to the group they were on when saving, nor to order the groups such that only groups which have not been completed are shown.

While this isn't much of a problem if there are just a few randomised groups it is a significant issue when there are many - I have a survey with ~20 groups randomised and so when a participant takes a break after completing 17 or 18 of them, when they resume they frequently have to click next many times to get back to the group they were on, or the next empty one. This is very confusing for end users.

As a minor related issue the progress bar is wrongly calculated on the first few pages after a resume and jumps around erratically though does seem to settle after a few navigation jumps - this only happens when using tokens - and not when using save progress on an open survey.

Steps To Reproduce

NB the issue is present whether you use tokens or an open design and save progress - I will detail the process using tokens below but any solution should ideally work for both

Load the attached survey, switch to closed access mode and create a token.
Start the test complete the first page - select female as gender
complete a couple of the randomised groups
click resume later
close the browser and click the login link again ensuring that you use newTest/Y to recreate the session from scratch.

Some of the time time you land on a page that has been completed and other times you get a page that still needs work (essentially you are placed on the first page in the randomised section) as you navigate forwards you see all the pages you have already completed.

As a comparison you can use another token to select male which does not use randomised groups and when resuming you are always taken back to the page you were working on.

Additional Information

A solution would be for the frontend-helper that randomises the group order to be aware of if a group is completed and then just shuffle the remaining groups after adding all the completed ones - However its not clear to me that such a capability is available here, although there clearly is the capacity in limesurvey somewhere as evidenced by the differential css applied to groups in the group list of surveys which allow jumping.

I do appreciate that groups with optional questions cannot be readily classified as completed or not just from the data and a solution which preserves the randomised order and step would be the most perfect solution as it would be the only way to ensure that groups with optional questions that have been completed are not shown again - however I get that this is probably the most involved solution.

As it is a Friday I quite understand that 48 hours is a bit of an unrealistic timetable - I will make a donation if this can be resolved by the end of next week - is £300 enough to stir interest?

TagsNo tags attached.
Attached Files
Bug heat8
Story point estimate
Users affected %

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2014-07-26 10:29

developer   ~30362

Yes, the 'random group order' is only in $_SESSION.

MAybe we have to move this to a beforeSurveyStart/afterSurveyConstructed.

Think we can do it in plugins actually

c_schmitz

c_schmitz

2014-09-11 13:25

administrator   ~30571

This a whole new feature.. Randomization is currently not working for save/resume.
What needs to be done is that a seed is stored along with the response so the randomization can be reproduced on reload/resume.

ronny_todgers

ronny_todgers

2014-09-11 16:06

reporter   ~30585

Hi - I'd thought that was likely to be the best option - but is beyond my php skills and it of course would require a database modification as well.

I would add that I am still very happy to make a donation to encourage this development as without it the group randomisation feature is not really usable for large surveys where save/resume has to be enabled

c_schmitz

c_schmitz

2016-09-20 10:57

administrator   ~40840

Hello Ronny,

actually we are almost finished coding this feature, so a donation to finally complete the development would be really helpful here.

You can always donate any sum at your convenience at http://donate.limesurvey.org - if you have more questions please let me know!

ollehar

ollehar

2016-12-20 13:30

administrator   ~42572

This feature will be included in LS 3.0.0.

Issue History

Date Modified Username Field Change
2014-07-18 20:45 ronny_todgers New Issue
2014-07-18 20:45 ronny_todgers File Added: survey_archive_727453.lsa
2014-07-26 10:29 DenisChenu Note Added: 30362
2014-09-11 13:25 c_schmitz Note Added: 30571
2014-09-11 13:25 c_schmitz Project Bug reports => Feature requests
2014-09-11 16:06 ronny_todgers Note Added: 30585
2014-09-12 09:42 DenisChenu Severity @60@ => feature
2016-09-20 10:49 LouisGac Status new => assigned
2016-09-20 10:49 LouisGac Assigned To => ollehar
2016-09-20 10:57 c_schmitz Note Added: 40840
2016-12-20 13:29 ollehar Target Version => 3.0
2016-12-20 13:30 ollehar Note Added: 42572
2016-12-20 13:30 ollehar Status assigned => resolved
2016-12-20 13:30 ollehar Resolution open => fixed
2016-12-20 13:30 ollehar Fixed in Version => 3.0
2018-04-06 11:48 markusfluer Status resolved => closed