Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Reopening a completed survey erases existing responses -- is that normal?
- Mazi
- Offline
- Official LimeSurvey Partner
I couldn't really track it down and was assuming that it was caused by using multiple browsers or tabs at the same time which could mess up session details.
Best regards/Beste Grüße,
Dr. Marcel Minke
Need Help? We offer professional Limesurvey support: survey-consulting.com
Contact: marcel.minke(at)survey-consulting.com
- JanE01
- Offline
- Official LimeSurvey Partner
- Posts: 8
- Thank you received: 3
Do you remember if the problems in the WHO case were limited to re-opening surveys that had already been submitted? Both oleggorfinkel and beth193 are indicating this. Was the effect that the existing reponses were wiped?
We tried hard to reproduce the problem, by opening the same survey in different tabs at the same time, opening it in other browsers, leaving sessions open for a really long time. But we never succeeded.
Our TFRResponseLogger plugin learned us that the existing answers are only loaded at the initial opening of the survey. Look at these lines in application/controllers/survey/index.php:
github.com/LimeSurvey/LimeSurvey/blob/ma...urvey/index.php#L540
If ($oResponse !== false), but somehow line 545 is not executed, you end up with a $oResponse that is
- set (because it !== false)
- does not contain the existing answers, which are in $oResponses[0].
$oResponse is initially defined in line 536:
$oResponse = $event->get('response');
As a BTW: lines 542 and 546 contain a condition
isset($oResponse)
$oResponse !== false
- Mazi
- Offline
- Official LimeSurvey Partner
Yes, the goal was to let users re-enter any time to update their data setJanE01 wrote: Hi Marcel,
Do you remember if the problems in the WHO case were limited to re-opening surveys that had already been submitted?
Yes, if I remember correctly this happened to 1-3 of ~120 data sets.JanE01 wrote: Hi Marcel,
Both oleggorfinkel and beth193 are indicating this. Was the effect that the existing reponses were wiped?
Please check the bugtracker for similar issues or - if none found - please create a new ticket and share your details there so the developers can look into this and join the discussion.JanE01 wrote: Hi Marcel,
We tried hard to reproduce the problem, by opening the same survey in different tabs at the same time, opening it in other browsers, leaving sessions open for a really long time. But we never succeeded.
Our TFRResponseLogger plugin learned us that the existing answers are only loaded at the initial opening of the survey. Look at these lines in application/controllers/survey/index.php:
github.com/LimeSurvey/LimeSurvey/blob/ma...urvey/index.php#L540
If ($oResponse !== false), but somehow line 545 is not executed, you end up with a $oResponse that isThat would explain the vanishing answers. I have no idea yet how $oResponse can !== false and not contain the existing answers.
- set (because it !== false)
- does not contain the existing answers, which are in $oResponses[0].
$oResponse is initially defined in line 536:If this line returns a not false $oResponse without existing answers, but with a set submitdate, line 545 will not be executed and we really are in troubles.Code:$oResponse = $event->get('response');
As a BTW: lines 542 and 546 contain a condition, but this condition will always return true, because of the earlier check onCode:isset($oResponse). Something that is not false cannot be not set at the same time.Code:$oResponse !== false
Thanks!
Best regards/Beste Grüße,
Dr. Marcel Minke
Need Help? We offer professional Limesurvey support: survey-consulting.com
Contact: marcel.minke(at)survey-consulting.com
- lemmon
- Offline
- New Member
- Posts: 16
- Thank you received: 0
Needless to say, this is a very serious problem and unacceptable behavior from a survey application. There is no justification whatsoever that it randomly erases respondent data without at least warning the user, contrary to what some of the early respondents to this topic seem to suggest.
Has anyone reported a bug on this in the mean time?
- jelo
- Offline
- Platinum Member
- Posts: 5033
- Thank you received: 1257
lemmon wrote: So far we have lost numerous responses because we had "Allow multiple responses or update responses with one token" enabled.
I recommend to open a bugticket. Even if one is existing, you will get the answer "Test with newest version", cause the bugticket might has an older version in the metadata.
Always open a new ticket and then search for older ones. If you find older ones, leave a remark to point to your new ticket.
I would like to know the complete "Survey participant settings" for surveys showing this issue.
So put that in your bugticket too.
As far as I'm aware of LimeSurvey has no QA-team. The people which download the released version are the QA-team. Automated tests are used more and more. But testing the application with real surveys is something different.Discussing issues in the forum first, will delay bugtickets. Even if the bug is no bug, the bugticket might indicate a UI issue.Needless to say, this is a very serious problem and unacceptable behavior from a survey application.
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
- DenisChenu
- Offline
- LimeSurvey Community Team
- Posts: 13597
- Thank you received: 2487
What is checked on manual.limesurvey.org/Participant_settin...response_persistence ?lemmon wrote: I can confirm that this is still happening in version 3.15.9. We are currently running a very complex survey which takes the respondent well over an hour to complete. So far we have lost numerous responses because we had "Allow multiple responses or update responses with one token" enabled. We removed the "Clear Survey" button from the template (Vanilla) before launching, so it is not possible that user action is responsible for this. It also happened to one of the survey admins, who also wanted to take the survey in production. All he did was that he re-visited the link to go back and edit his responses, only to find his data had been wiped.
…
Has anyone reported a bug on this in the mean time?
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand , plugin development .
I don't answer to private message.
- mos3465
- Offline
- New Member
- Posts: 5
- Thank you received: 1
(I know, but I still wanted to contribute my findings...)
- It's a pretty big and complex survey as well
- we enabled "token-based response persistence"
- we allowed "multiple responses or update responses with one token"
We get occasional reports from respondents and our quality control team, that random variables are cleared upon re-accessing formely submitted surveys. In our case it's never the complete survey that is wiped, but from what I have seen so far it seems to be a complete question page in each instance.
I can also rule out that it's the some kind of user's fault, as there were 2 instances where the question that got cleared
1) was a mandatory List (radio) question where the users can't "de-select" once something is selected
2) is itself always shown (relevance=1) and was on a page with relevance=1 (so no messing with earlier questions that could have made the page / question irrelevant)
3) still has values for the same token in an earlier backup of the exported data
I didn't find anything on bugs.limesurvey.org, and I'd be happy to add a ticket, but then I
- don't have the latest version installed, although this seems to be an issue in later version as well (according to lemmon) - we are a bit afraid to apply Comfort Update now with the live survey
- the idea of minimal test case doesn't really apply as it only seems to be happening for sufficiently large surveys AND at random, making it not easily reproducible anyways (even with the original survey lss)
Any suggestions on how to progress? Is anyone aware of bug reports or maybe even solutions to this problem?
I gotta second lemmon in that it is a pretty serious problem, as this is hard, if not impossible to spot from just opening a survey to modify one or two things. So there are probably lots of unreported cases.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11639
- Thank you received: 2737
And with a version that is over 1,5 years old, if this is actually a bug it might be long solved. The most current version is 3.20.x, so there has changed a lot since your version has been released.
With your setting, this says very little, because you can have more than one response from the same token, as you allow multiple response with the same token.3) still has values for the same token in an earlier backup of the exported data
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
- jelo
- Offline
- Platinum Member
- Posts: 5033
- Thank you received: 1257
Open a bugticket, even with an old version. You will receive the answer that your version is old, but you might get the answer that there already is a bugticket for that and it was solved or not.mos3465 wrote: Any suggestions on how to progress?
Install a fresh version of LimeSurvey beside your current installation and try to reproduce the issue there.
That is the only way to check Comfortupdates before applying them to production. A comfortupdate is not tested against many systems when it is released.
The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
- mos3465
- Offline
- New Member
- Posts: 5
- Thank you received: 1
Together with the "token-based response persistence" enabled this setting makes re-using tokens open the filled out survey submitted (or even only partially filled) earlier and not open a new blank survey, correct?holch wrote:
With your setting, this says very little, because you can have more than one response from the same token, as you allow multiple response with the same token.3) still has values for the same token in an earlier backup of the exported data
My point is that there is no way way for a user to "un-select" radio-questions where a selection has been made and submitted before (please refer to the attached image).
It's probably possible to manipulate those questions using URL-parameters (something like "&qcode=NA" at the end of the survey link) but that's definitely not what has happened in those instances.
jelo wrote:
Open a bugticket, even with an old version. You will receive the answer that your version is old, but you might get the answer that there already is a bugticket for that and it was solved or not.mos3465 wrote: Any suggestions on how to progress?
Did just that, adding the link here for future googlers' reference:
bugs.limesurvey.org/view.php?id=15621
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11639
- Thank you received: 2737
Probably not, if it has been submited (click on a button to send the page, e.g. next or submit).My point is that there is no way way for a user to "un-select" radio-questions where a selection has been made and submitted before (please refer to the attached image).
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
- mos3465
- Offline
- New Member
- Posts: 5
- Thank you received: 1
Let's see whether the bug report yields anything. Will update this thread if it does.