My colleague set up a survey with participants. Each participant has a token. She turned on the option "Enable token-based response persistence", in order to allow people to return to the screen they left if they didn't complete the survey.
I tested it. It is working if I don't close my browser. If I close my browser and click on the link to return to the survey, a new blank form opens. In the survey answers, I can see that LS created a new entry in the responses.
How is the "Enable token-based response persistence" mechanism working? Does it use the PHPsessionID cookie?
What are we doing wrong?
Best regards,
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. -
Professional support
-
Plugins, theme and development
. I don't answer to private message.
holch wrote: …
Weird. Not sure how to help right now, because this should work.
Yes,
Same,
Checked (again) in 3.22.24 / git : OK no issue.
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. -
Professional support
-
Plugins, theme and development
. I don't answer to private message.
Yes, that's why I would be interested in learning how the system works for bringing the user back where he left. I suppose it doesn't rely on the use of cookies? Because only the PHPSESSID cookie is present.
And in fact it works if the browser is not closed. If I fill in the survey and leave by closing my browser tab, and then reopen a new tab and use the url to the survey, I come back where I left. But if I close my browser and open it and go to the url of the survey, I arrive on the first page, and LS creates a new entry in the table of responses.
Best regards,
Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member. -
Professional support
-
Plugins, theme and development
. I don't answer to private message.
Thanks for the link. I tracked down the problem: $token is empty.
On line 491 I found this:
else {
// Must never happen : unset invalid token for the second time
$token = null;
}
This code was embedded in the build released on the 25th of May, but has been deleted on the 25th of May by Shnoulle
Now everything works as expected.
OK, the problem described at the top is indeed solved. But another problem appeared. We have another survey, where there is one single participant, with a token. The token has been given to several people, and they use this token in order to answer the survey. Each time a participant connects to the survey, a new record is created in the table with the responses. Now I made the change described above for fixing the problem, it doesn't work anymore: after entering the token, I get a blank screen.
I just used Comfort update to install the latest update (Version 3.22.24+200630), and the problem persists.
Any idea?
Best regards,
Pierre