Welcome, Guest
Username: Password: Remember me

TOPIC: Question relative à l'exportation des réponses

Question relative à l'exportation des réponses 7 months 3 weeks ago #107148

  • clement13
  • clement13's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
Bonjour à tous et à toutes,

Je précise que j'utilise la dernière version stable de limesurvey : la 2.05

Ma question porte sur l'exportation des réponses d'un questionnaire :

Est-il possible de faire de l'exportation automatique de réponses ?

J'entends par "automatique" le fait pour limesurvey de générer lui-même(sans action de notre part via l'interface) un fichier au format CSV contenant les réponses de préférence à chaque fois qu'une personne répond au questionnaire.

Selon moi, il est uniquement possible actuellement d'exporter un fichier à un instant T pour voir l'ensemble des réponses au questionnaire via l'interface de limesurvey.

Le but de ma démarche est d'exploiter ensuite le fichier CSV généré pour faire :
-de l'insertion automatique dans une base de données via un outil "extract transform load" ETL et
-de l'envoie de mail avec en pièce jointe le fichier

Je vous remercie à l'avance pour votre aide.
clement13
Last Edit: 7 months 3 weeks ago by clement13. Reason: ajout d'une précision à la question
The administrator has disabled public write access.

Question relative à l'exportation des réponses 7 months 3 weeks ago #107150

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6561
  • Thank you received: 872
  • Karma: 257
Salut,

Dans le coeur on ne peux envoyer un email que avec les réponses du questionnaire.

Maintenant, il existe un l'événement afterSurveyComplete manual.limesurvey.org/Plugin_events . Il serait possible d'utiliser cet événement pour effectuer la mise à jour de la BDD, d'effectuer l'export CSV et d'envoyer l'email.

Denis
The administrator has disabled public write access.

Question relative à l'exportation des réponses 7 months 3 weeks ago #107160

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2165
  • Thank you received: 278
  • Karma: 58
Et sinon, puisque les résultats de LS sont dans un base de données et que tu veux les envoyer dans une base de données, pourquoi ne pas faire une procédure stockées et un trigger ?

Sinon, une tâche cron.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.

Question relative à l'exportation des réponses 7 months 3 weeks ago #107186

  • clement13
  • clement13's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
Bonjour,

Merci pour vos réponses !

Donc pour l'alimentation de la base de données, il y aurait vos deux autres solutions :

-Utiliser l'évènement afterSurveyComplete pour remplir la base de données avec un script sql à exécuter. Cela suppose de créer un plugin j'imagine DenisChenu ?

-Niccko, je ne savais pas que c'était possible : faire un trigger sur une base de données qui détecte l'insertion et déclenche une procédure stockée pour insérer dans une autre base de données ?

Pour ce qui est de la tâche cron l'insertion dans l'autre base de données serait différée à une heure précise ?

Ma troisième solution de générer un CSV pour ensuite l'utiliser avec un outil ETL pour remplir l'autre base de données parait bien moins efficace comparée aux vôtres (surtout en terme de performance)
J'envisage plutôt de suivre l'une de vos deux solutions :
Quelle est la plus rapide à mettre en œuvre selon vous ?

merci
clement13
The administrator has disabled public write access.

Question relative à l'exportation des réponses 7 months 3 weeks ago #107195

  • DenisChenu
  • DenisChenu's Avatar
  • OFFLINE
  • Moderator Lime
  • Posts: 6561
  • Thank you received: 872
  • Karma: 257
clement13 wrote:
-Utiliser l'évènement afterSurveyComplete pour remplir la base de données avec un script sql à exécuter. Cela suppose de créer un plugin j'imagine DenisChenu ?
Denis, c'est aussi bien ;).
Mais oui, cela peut être à envisager. 2ème solution : utiliser l'url de fin et aller sur ton propre script: c'est plus simple à construire si on connait un peu PHP.
Pour ce qui est de la tâche cron l'insertion dans l'autre base de données serait différée à une heure précise ?
Tu peux ajouter un cron sur quasi tous les systèmes, toutes les heures par exemples
The administrator has disabled public write access.
The following user(s) said Thank You: clement13

Question relative à l'exportation des réponses 7 months 3 weeks ago #107198

  • Nickko
  • Nickko's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2165
  • Thank you received: 278
  • Karma: 58
clement13 wrote:
Bonjour,
-Niccko, je ne savais pas que c'était possible : faire un trigger sur une base de données qui détecte l'insertion et déclenche une procédure stockée pour insérer dans une autre base de données ?

A bah non, mais pourquoi créer la procédure dans la table de destination, il faut la créer dans la table d'origine, celle qui reçoit l'événement.

clement13 wrote:
Pour ce qui est de la tâche cron l'insertion dans l'autre base de données serait différée à une heure précise ?

Oui, c'est ça.

Pour savoir ce qu'il y aurait de plus rapide, il fuadrait connaitre la structure de ta base de données de destination. Je suppose qu'elle aura une structure bien précise, c'est l'adaptation du format LS à ton format spécial qui sera le plus long à faire.
Nickko
Ergonome / Usability expert
The administrator has disabled public write access.
The following user(s) said Thank You: clement13
Moderators: Nickko
Time to create page: 0.111 seconds
Donation Image