Bonjour,
dans un précédent sujet :
www.limesurvey.org/en/forum/french-forum...avec-postgresql-9-xx
j'avais indiqué que je n'arrivais pas à reproduire l'erreur qui était aléatoire. :dry:
Pré-requis : pas de gestion des sessions par la BDD.
PostgreSQL 9.4 (pas testé sous MySql vu l'acharnement pour avoir cette erreur :evil: )
Réponses daté
Captcha à l'accès
pas de table d'invitation et questionnaire non anonyme
AVOIR 2 Questionnaires ACTIF dans limesurvey.
Testé sous Firefox 31.8
En fait, elle apparait si :
- 1 -
a) en adminstrateur, je teste le questionnaire A (319191) en utilisant l'URL (et pas la roue dentée)
b) saisie du captcha et j'appuie sur "Suivant"
c) je reponds aux questions --> "Suivant"
d) je ferme l'onglet
- 2 -
a) en administrateur, je choisi le questionnaire B (861686) et je le test avec l'URL
b) saisie du captcha et j'appuie sur "Suivant"
c) le message d'erreur 'Non sauvegardé' apparait
d) un mail est envoyé à l'admin avec la liste des questions et le code SQL : VIDE (serveur mail non actif dans l'environnement de Dev --> a corrigé par moi :lol: , je ne peux pas vous transmettre le mail :sick: )
N.B : pour tous ces tests, le debug du fichier config.php n'est pas activé.
Si on refait les étapes avec le debug activé mais sans celui du code SQL, on obtient ceci dans l'étape - 2 - :
Error executing query in dbExecuteAssoc:CDbCommand n'a pas pu exécuter la commande SQL : SQLSTATE[42703]: Undefined column: 7 ERREUR: la colonne « 319191X8X77SQ001 » de la relation « lime_survey_861686 » n'existe pas LINE 1: ... "lastpage"=0, "datestamp"='2015-11-19 15:46:09', "319191X8X... ^. The SQL statement executed was: UPDATE lime_survey_861686 SET "lastpage"=0, "datestamp"='2015-11-19 15:46:09', "319191X8X77SQ001"=NULL, "319191X8X77SQ002"=NULL, "319191X8X79SQ001"=NULL, "319191X8X79SQ002"=NULL, "319191X8X79SQ003"=NULL, "319191X8X78SQ001"=NULL, "319191X8X78SQ002"=NULL, "319191X8X78SQ003"=NULL, "319191X8X80"=NULL, "861686X16X158SQ001"=NULL, "861686X16X159SQ001"=NULL, "861686X16X159SQ002"=NULL, "861686X16X160SQ001"=NULL, "861686X16X160SQ002"=NULL, "861686X16X161"=NULL WHERE ID=184
On remarque que l'ID du questionnaire A (319191) avec ses groupes et questions est présent, avec ceux du questionnaire B (861686). :silly:
Si j'appuie sur la touche F5 pour raffraichir la page (et normalement vider le cache --> on ne peux pas en standard, demander à Firefox de nettoyer le cache à chaque affichage de la page), le problème ne se présente plus. :silly: :silly:
Mais je pense que pour la partie gestion de la session en cours de réponse :
une partie est sur le poste client (navigateur)
une autre est sur le serveur (CentOs 7)
Est-il possible que la session serveur ne s'efface pas tout de suite, et permet à un autre utilisateur de répondre au questionnaire, en générant le message d'erreur de sauvegarde ?
Je me pose la question car lorsque je teste le questionnaire, pas de problème, mais lorsque je demande au client final de faire le test, il a ce message d'erreur de sauvegarde.
Et lorsque je teste à mon tour, j'ai le message, puis a force de tester, le message n'apparait plus et impossible de le faire ré-apparaitre dans l'immédiat.
Si c'était en dans l'environnement de recette....mais c'est dans la production avec mes 400 questionnaires... :woohoo:
Je pense que l'utilisation des sessions stockés dans la BDD résoudrait mon problème (et d'autre de sessions expirées), mais cela ne fonctionne toujours pas pour Postgres.
Des idées ? des pistes ? je prends tout :whistle: