Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

How can a user regain access to results from an anonymous survey?

  • Sweden
  • Sweden's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 6 days ago #195704 by Sweden
Hi,

I need a genius... Let's say that a user fills out an anonymous survey, clicks "submit" and sees the end page (which contains tailored information). How can the user regain access to that page (or perhaps a previous page, if that makes it easier) without compromising anonymity?

I thought about the solutions below, but I don't know if any of them are possible?

  1. During the survey, the user gets a random number that the user can use as a password to see the end page again. I can't use the original token, because it is linked to the users name, but the random password will not (as long as the user don't reveal it to me.) I don't know much about the "resume later" function and if part of that function somehow can be used here. Or perhaps something completely different? (the solution can't be based on the use of cookies, because they can be cleared easily).

  2. It would be great if LimeSurvey could exchange a token (that might be linked to a name) with another token (that isn't linked to a name) and then load the survey with the new token. I would be able to see the new token, of course, but I wouldn't know who it belongs to. Token-based response persistence could then be used.

Any ideas how the above can be achieved or perhaps something else? I also thought about linking two surveys and passing information through the "autoload url" function, but it isn't easy when a survey includes many questions (and there are other problems). Maybe I'm missing something obvious… :unsure:
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 5 days ago #195724 by DenisChenu
Need some work,

But starting point : gitlab.com/SondagesPro/coreAndTools/reloadAnyResponse

The model : gitlab.com/SondagesPro/coreAndTools/relo...els/responseLink.php can create unique link to reload.

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.
The following user(s) said Thank You: Sweden
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 5 days ago #195725 by DenisChenu

I also thought about linking two surveys and passing information through the "autoload url" function

gitlab.com/SondagesPro/SurveyAccess/surveyChaining

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.
The following user(s) said Thank You: Sweden
The topic has been locked.
  • Sweden
  • Sweden's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 5 days ago #195737 by Sweden
Thanks Denis :)

That looks interesting, but I'm not sure if I can make it work with an anonymous survey? It is also a bit too technical for me to understand.


I got another idea that might solve my problem. I'm using your brilliant plugin PDFreport, together with limeMpdf, and perhaps you or someone else know the answer to these three questions?:

  1. Before the user clicks "Submit", how can the random number (e.g. fu_321476458644) that is going to be used for the PDF be displayed to the user? (perhaps part of the PDFreport script could run before the end page?)

  2. When the user then clicks "Submit", would it be possible to run the rest of the PDFreport program automatically so the user can download the PDF? (I want to make sure they download the PDF)

  3. And finally, in another anonymous survey, would it be possible for the user to type in the name of the PDF (e.g. fu_321476458644) so he/she can download the file again, in case they lost it?

Sorry if it is difficult to understand - English is not my first language :blush:
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 5 days ago #195743 by DenisChenu
No,

Your idea is worst than usage of reloadAnyResponse

Like i say : you need to costruct somethings ....

1. Create a responseLink : gitlab.com/SondagesPro/coreAndTools/relo...e#responselink-model
2. Show the url yo the user : $responseLink->getStartUrl($absolute = true);
3. Then this user can use this url to access to the response gitlab.com/SondagesPro/coreAndTools/relo...AnyResponse.php#L546

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.
The following user(s) said Thank You: Sweden
The topic has been locked.
  • Sweden
  • Sweden's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 5 days ago - 4 years 5 days ago #195752 by Sweden
Thanks again Denis ;)

The problem is that this survey is anonymous because it contains personal information (age, gender etc.) I would prefer if there isn't a direct link to their answers, but instead the results they receive at the end page (I know the title of this thread can be a bit confusing...) The PDF file that PDFreport creates contains this information, but is separate from the survey. Also, in this situation it is easier for the users to write down a number (e.g. fu_321476458644) than a link to the survey.

My idea, that involves your PDFreport plugin, might be worse than reloadAnyResponse, but it would solve my problem. There are other situations where I would prefer reloadAnyResponse, but not here.

Is it very difficult or completely impossible to do what I suggested? Further explanation or suggestions are welcome.
Last edit: 4 years 5 days ago by Sweden.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 5 days ago #195753 by DenisChenu
Without reload ?

gitlab.com/SondagesPro/QuestionSettingsType/generateUniqId

All done : you can show the unique id to the user id finally, and you get this uniq id in survey.

But :
> During the survey, the user gets a random number that the user can use as a password to see the end page again.

Here : you need an authentification system ...

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.
The following user(s) said Thank You: Sweden
The topic has been locked.
  • Sweden
  • Sweden's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 3 days ago - 4 years 3 days ago #195790 by Sweden
Many thanks again and nice plugin (btw. after downloading from gitlab I had to remove "-master" from the folder name to make it work - perhaps it can help others, although it's probably obvious.)

Hope you have time for a few quick questions about your plugin "generateUniqId":

  1. The unique ID is very long - is it possible to make it e.g. 10 characters?

  2. Would it also be easy to change your code so your plugin only uses certain alphanumeric characters (for example, the letters z, I, and O can easily be mistaken for the numbers 2, 1, and 0).

  3. Perhaps a stupid question, but are the unique IDs truly unique - in other words, does your plugin check for duplicates?


It would be great to have plugin settings for my first two questions above, either in plugin "configure" or in the text question. Just an idea that you might consider, if you are bored one day... :cheer:
Last edit: 4 years 3 days ago by Sweden.
The topic has been locked.
  • DenisChenu
  • DenisChenu's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 3 days ago - 4 years 3 days ago #195794 by DenisChenu
About question

1. No
2. No
3. See www.php.net/manual/en/function.uniqid.php and the generator gitlab.com/SondagesPro/QuestionSettingsT...erateUniqId.php#L135


Else : i never bored ...

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.
Last edit: 4 years 3 days ago by DenisChenu.
The following user(s) said Thank You: Sweden
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose