I have a problem with the responses of a survey we have conducted recently. The survey was restricted to users with a token, set to non-anonymous and every participant had additional attributes. It worked fine but we discovered this problem now we are exporting and studying the results.
In some cases (70 out of 40000) we've lost the relation between participants and their responses. These responses look like valid, but all the information related with the participant seems to be lost: their name, surname, email, token used, additional attritutes... All these fields are set to null in the responses table.
Two questions:
1. Do you know why this could have happened? and...
2. Is there any possibility of recovering the relation between participants and their answers?
While the survey was being conducted I deleted around 30 users and their answers and created new users to replace them... i dont know if the problem could have been caused by some kind of bug during this process of deleting and creating new users. It seemed to work properly while I did it. It just comes to my mind because it was the only operation I accomplished while the survey was active.
Definitely it does not have nothing to do with creating or deleting users. There were answers stored with token set to null randomly during all the period the survey was active whereas I made the deletion and creation of users only in some specific days.
I've been looking in the database to check whether something at that level indicates a possible cause and/or solution, with no success . 71 rows in the response table with token set to NULL and no way to restore the answers-participants relationship.
Any help will be greatly appreciated. At least I would like to find the cause of the error.
Now thinking about how to find the cause of this, i assume, bug in limesurvey. The same happened in some simulations I've made, as the bug was reproduced in about 1 out of 1K answers. It would be great to know the opinion of more experienced users before doing a couple of things to find the bug or, at least, avoid its replication in the future.
So... the first step: use special software to simulate about 1K or 2K users participating in a non-anonymous survey to reproduce the error. Before the simulation I would set to 1 the debug variable in config.php. Where are the logs of limesurvey stored after setting that variable? Would I get useful information in the logs?
If this does not help to find the bug maybe another way to avoid answers with no participant related is to change the definition of the table where the answers are stored in the database and set the token field to "not null." I guess that, after doing this, the survey would work as usual except when trying (by mistake) to store an answer with no token related. If i do that... Would the user receive an error message instead of the success page? If so, he or she would at least know something went wrong. Im wondering why this is not done by default in non-anonymous surveys.