Check out the LimeSurvey source code on GitHub!
Welcome, Guest
Username: Password:
  • Page:
  • 1
  • 2

TOPIC: Faire de CR hebdomadaires avec limesurvey

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102045

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Bonjour.
Je souhaite utiliser limesurvey pour assurer le suivi (compte rendu) du travail hebdomadaire d'élèves.
Un premier groupe de questions renseigne sur ses "caractéristiques" (nom, prénom, groupe...). Un deuxième groupe de questions demande quel travail a été effectué dans la semaine.
Un élève ne doit pas modifier ce qu'il a écrit une semaine, et voir les questions qà venir n'a pas d'intérêt. Je cherche donc à n'afficher que la question de la semaine en cours.
J'ai créé une question date avec valeur par défaut {date("Ymd")}. Interrogation, déjà, sur le Ymd qui s'affiche correctement dans une question "Affichage de texte" mais pas dans une question date (il faut que j'écrive Ymmdd). J'ai masqué cette question.
J'ai ensuite créé mes questions ("Description du travail effectué (semaine du dd/mm/yyyy)") et défini des conditions pour l'affichage de mes questions. Cela donne, par exemple, en équation de filtre conditionnel : ((date.NAOK >= "20131125" or ( ! is_empty(date.NAOK) && (date.NAOK < "20131202")))) pour les CR de la semaine du 25/11/2013.
Cela ne fonctionne pas correctement.
Déjà, j'aurais voulu un "and" à la place d'un "or" car les deux conditions doivent être remplies. Impossible à modifier.
Ensuite, certaines questions s'affichent, d'autres pas ; j'ai l'impression que le masquage de la question date empêche le fonctionnement correct.
Merci de m'indiquer une procédure.
J'aurai ensuite une question sur comment faire pour qu'un élève puisse reprendre son questionnaire (faut-il que je leur ai envoyé un mail avec code ?), mais chaque chose en son temps.
A+
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102048

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Bonsoir et bienvenue...

1) Comme les questions de dates c'est un peu ma bête noire, le seul conseil que je pourrais te donner vu ta problématique, c'est de fonctionner si possible en nº de semaine . Afficher la question de la semaine en cours devrait alors en être très simplifié si le code de la question = le nº de la semaine.


2) Pour ta question subsidiaire, Limesurvey permet au répondant d'entegistrer ses réponses pour revenir ensuite, avec un code personnel. Il te suffit de cocher la case à ce sujet dans les préférences générales du questionnaire.

C'est évident qu'il faudra bien expliquer aux élèves tout le fonctionnement; Un lien vers un page d'aide ou de FAQs en plein milieu de la page d'accueil du questionnaire peut servir ;)

EDIT: comment récupérer le week number avec javascript ? j'attache une question (numérique) que tu peux importer pour récupérer tout ça dans LS (le js est dans la source). Ça te donnera des idées

Benoît
Attachments:
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
Last Edit: 2 years 7 months ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102050

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Merci pour cette répnse rapide.

L'idée de tester le numéro de la semaine me paraît une piste plus qu'intéressante.
J'ai donc importé la question fournie (il a fallu que je trouve ce qu'est un fichier lsq).
1er essai, problème de langue. J'édite le fichier, je change le 'en' en 'fr'.
2ème essai (et 3ème, 4ème), Fichier envoyé avec succès. Lecture du fichier...Succès :)
Résumé de l'import de question
Questions : 1
Sous-questions: 0
Réponses: 0
Attributs de la question :8
L'import de question est terminée.
Mais la question n'apparaît pas dans ma liste :( "Aller à la question" n'affiche rien.

Concernant la question subsidiaire, je présume que tu fais allusion à Paramètres généraux/Invitations/ Permettre les réponses multiples ou la mise à jour de ses réponses ?

A+
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102054

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Salut voici 100% du code de la question:

1) crée une question "entrée numérique"
2) Coller dans la source:
Week number: <script type="text/javascript">
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
 
function getWeek(year,month,day) {
    var when = new Date(year,month,day);
    var newYear = new Date(year,0,1);
    var modDay = newYear.getDay();
    if (modDay == 0) modDay=6; else modDay--;
 
    var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) -
                 Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;
 
    if (modDay < 4 ) {
        var weeknum = Math.floor((daynum+modDay-1)/7)+1;
    }
    else {
        var weeknum = Math.floor((daynum+modDay-1)/7);
        if (weeknum == 0) {
            year--;
            var prevNewYear = new Date(year,0,1);
            var prevmodDay = prevNewYear.getDay();
            if (prevmodDay == 0) prevmodDay = 6; else prevmodDay--;
            if (prevmodDay < 4) weeknum = 53; else weeknum = 52;
        }
    }
 
    return + weeknum;
}
 
var now = new Date();
var  myresult = getWeek(y2k(now.getYear()),now.getMonth(),now.getDate())
document.write(myresult);
 
jQuery(document).ready(function() {
 
$(".numeric:eq(0) input.text").val(myresult);
 
});
</script>


Pour la question extra, je parlais en fait d''une autre fonction (disponible même sans invitations): "Permettre au répondant d'enregistrer ses réponses et revenir plus tard"...
Ceci-dit l'option, dont tu parles, de laisser un répondant (avec invitation) répondre plusieurs fois à un même questionnaire (l'admin fixe ce nombres) est sûrement meilleure... Il faut que tu fasses des essais car ça risque d'influer sur la conception de ton questionnaire...
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
The administrator has disabled public write access.
The following user(s) said Thank You: duraf

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102077

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Merci, Ben, pour cette nouvelle proposition. Je suis malheureusement un peu trop neuf (mais pas impotent) sur Limesurvey pour en maîtriser toutes les subtilités. Aussi, quand tu écris "coller dans la source", j'ai quelques difficultés car je ne trouve pas d'outil permettant de l'éditer dans Limesurvey. Je l'ai créée, exportée, éditée... et je m'interroge sur où ajouter le code (si tant est que c'était bien la manipulation à faire).
Suis-je en bonne voie ?
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102079

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Salut,
Je parlais de la source de la question.
Le bouton "source" permet de basculer l'éditeur des texes (descriptions, questions, aides etc.) du mode texte enrichi au mode html qui permet d'utiliser directement du code html et surtout javascript



IMPORTANT: Pour pouvoir utiliser du javascript il y a une action préalable indispensable:
Dans les préférences générales de la plateforme (menu le plus en haut), onglet "sécurité", il faut désactiver la protection "Filtrer le HTML contre le XSS" car sa fonction est justement d'altérer le javascript.
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
Last Edit: 2 years 7 months ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102081

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Yes !!!
J'ai copié le code, modifié les options de sécurité et, quand je teste la question, le numéro de semaine s'affiche (je n'ai pas encore caché la question).
J'ai ensuite défini les conditions pour chacune de mes questions en demandant à ne l'afficher que si num_semaine est égale à une constante (47, 48, 49, 50... selon la question). Ca me donne des choses du genre ((num_semaine.NAOK == "50")). Je teste l'affichage du groupe et... aucune question autre que le numéro de semaine n'apparaît. Est-ce que ce peut être un problème de formatage du champ (texte pour la constante alors que num_semaine est numérique) ?
Encore merci pour le suivi.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102088

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Salut,
rapidement: ton problême c'est sûrement que "48" s'affiche, mais la valeur n'est pas encore récupérée pas le système, ceci faute d'avoir envoyé la page si toutes tes questions appartiennent au même groupe.

Ne touche à rien et fais un essai avec une présentation question par question (et non tout-en-un ou groupe par groupe); tu seras fixé si c'est ça où non..

Si oui: il faut que tu mettes ta question weeknumber dans un autre groupe avant tes autres questions.
Le plus simple c'est de créer avant un groupe seulement juste avec cette question + autosoumission...

Le code final serait:
<script type="text/javascript">
function y2k(number) { return (number < 1000) ? number + 1900 : number; }
 
function getWeek(year,month,day) {
    var when = new Date(year,month,day);
    var newYear = new Date(year,0,1);
    var modDay = newYear.getDay();
    if (modDay == 0) modDay=6; else modDay--;
 
    var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) -
                 Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;
 
    if (modDay < 4 ) {
        var weeknum = Math.floor((daynum+modDay-1)/7)+1;
    }
    else {
        var weeknum = Math.floor((daynum+modDay-1)/7);
        if (weeknum == 0) {
            year--;
            var prevNewYear = new Date(year,0,1);
            var prevmodDay = prevNewYear.getDay();
            if (prevmodDay == 0) prevmodDay = 6; else prevmodDay--;
            if (prevmodDay < 4) weeknum = 53; else weeknum = 52;
        }
    }
 
    return + weeknum;
}
 
var now = new Date();
var  myresult = getWeek(y2k(now.getYear()),now.getMonth(),now.getDate())
 
// Activer la ligne qui suit pour afficher la semaine
// document.write(myresult);
 
jQuery(document).ready(function() {
// Récupère la valeur dans le champ et la base de données
$(".numeric:eq(0) input.text").val(myresult);
 
// Circulez... il n'y a rien à voir
$('body').hide();
document.limesurvey.submit();
});
</script>
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
Last Edit: 2 years 7 months ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102104

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Encore une fois, merci pour le suivi.
J'ai fait une première tentative d'abord en gardant l'ancien code et en changeant de groupe la question, en demandant que l'affichage se fasse "question par question", puis en changeant le code. Négatif. Peut-être est-ce dû au fait que je n'ai pas trouvé d'option pour l'autosoumission ?
Je teste sans mettre en production ; les réponses ne sont donc pas enregistrées dans la base de données, est-ce que ça peut expliquer ?
J'avais autrement tenté de saisir le 1er code dans une question "texte court" et c'est alors la question elle-même qui reprend le numéro de semaine. Peut-on tester sur le libellé de la question ?
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102105

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Salut,

je t'envoie un groupe de question... Chez moi ça marche.
Importe-le dans un questionnaire présenté "question-par-question"...
(Crée un nouveau questionnaire avec langue de base anglais ce sera plus simple)

Si tu veux faire des essais en saisissant toi même le nº de la semaine, il faut virer (ou commenter) ces 2 lignes de code dans la source de la question ''weeknumber" :
$('body').hide();
document.limesurvey.submit();
Attachments:
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102122

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Bonjour, Ben (et les autres si jamais ils lisent ce post).
Ça marche à la perfection.
J'ai créé 3 groupes de questions. Le premier ne contient que la question "date" (et n'apparaît pas puisqu'il est hide et submit immédiatement). Le second regroupe les données permanentes sur l'élève (tu auras compris que je suis enseignant) : nom, groupe, intitulé du projet... Le troisième contient les questions compte rendu avec le test =48, 49 , 50... (l'idée du numéro de semaine était vraiment lumineuse). J'y ai ajouté une question "envoi de fichiers", sans condition celle-là. L'affichage est en français et groupe par groupe sans que cela pose problème. Magnifique.
Pour la petite histoire, j'ai récupéré le 1er script que tu m'avais fourni pour le mettre en description du groupe compte rendu ; j'ai donc le titre qui apparaît ("Compte rendu") puis, sur la ligne suivante "Semaine n°xx). Excellent.

Si je peux me permettre d'abuser de ta grande disponibilité et continuer à bénéficier de tes compétences, j'ai une question subsidiaire.
Il faut maintenant que mes élèves se connectent et se reconnectent pour remplir et éventuellement modifier les informations du 2ème groupe, mais surtout pour remplir celles du 3ème chaque semaine. Évidemment, chacun ne doit avoir accès qu'à ses propres données.
Pour compliquer un petit peu les choses (sinon, ça ne serait pas rigolo), mon serveur est uWamp sur clé USB. En fin d'heure, je plante ma clé dans un micro, démarre uWamp, repère l'adresse IP du poste (IP2) et la donne aux élèves. Ça marche (je fais des quiz en ligne comme ça et j'ai déjà réalisé une enquête longue mais simple avec Limesurvey en utilisant ce système). Difficile dans ces conditions d'envoyer des invitations. D'abord parce que l'adresse est interne au lycée (172.16....), ensuite parce que si je change de salle ou simplement de poste, l'adresse change.

J'ai pour l'instant importé la liste des élèves (prénom et nom) via un fichier csv. Je les ai affectés au questionnaire (Gestion des invitations/Base centralisée des contacts). Dans Gestion des invitations/Afficher les invitations, j'ai choisi un code pour un élève test en mettant sa date de naissance (26071954 ; j'ai des élèves un peu âgés...). Il s'est connecté au questionnaire, on lui a demandé son code et la date de naissance a permis d'accéder au questionnaire (un code autre l'a jeté).
L'élève clique sur "Envoyer", je récupère les données.
Redémarrage de la session, même semaine (47), les données saisies apparaissent et sont modifiables.
Redémarrage de la session, semaine 48, les données peuvent être saisies pour la question correspondant à la semaine 48 mais... les réponses de la semaine 47 sont effacées (elle ne conserve pas sa valeur initiale).

Quelques options de paramétrage que j'ai faites et qui peuvent peut-être poser problème :
- Paramètres généraux/Publication et Contrôle d'accès/activer les cookies : non.
- Paramètres généraux/Notification et gestion des données/réponses datées : oui.
- Paramètres généraux/Notification et gestion des données/sauvegarder pour reprendre : non.
- Paramètres généraux/Invitations/réponses multiples ou màj : oui
- Paramètres généraux/Invitations/persistance des liens : oui
- Paramètres généraux/Invitations/enregistrement public : non

Par ailleurs, bien qu'ayant choisi Paramètres généraux/présentation et navigation/imprimer les réponses : oui (ils peuvent garder une trace écrite de ce qu'ils sont rendu), je ne peux pas, en tant qu'élève, imprimer la réponse.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102123

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
Salut,
Heureux que ça fonctionne pour la semaine...

J'ai un peu du mal à imaginer les effets secondaires de ton mode de fonctionnement avec ton serveur locale "volant", mais je peux te décrire les paramétrages nécessaires pour qu'un répondant revienne sur sa fiche avec les réponses complétées antérieurement présentes et modifiables. Dans ton cas les questions des semaines antérieures ne seront pas visibles (ou sinon il faudra juste jouer du "≤ 48").

Comment ça marche:
1) quand tu configures les invitations tu as un champ "utilisation restantes" pour indiquer combien de fois un répondant peut envoyer le questionnaire.
2) les paramétrages des invitations (paramètres généraux du questionnaire) déterminent si le répondant chargera chaque fois, un questionnaire vierge, ou alors au contraire ses anciennes réponses..

Pour retrouver ses réponses:

Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102157

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Hélas, ça ne fonctionne pas.
J'ai paramétré comme indiqué mais, si les réponses antérieures s'affichent sans problème en ce qui concerne les questions non masquées (identification, groupe 2), celles aux questions masquées (les CR de la semaine, groupe 3) sont effacées de la base de données. Je présume que, dans ce cas, la réponse n'est pas chargée et qu'au moment de la sauvegarde la réponse est remise à blanc.
A tout hasard, je vais essayer de mettre à jour ma version (Version 2.00+ Build 130802), mais je doute que ça ait l'effet attendu.
Est-il possible avec du javascript d’inclure une réponse précédemment donnée ? Il faudrait pour cela pouvoir lire la bdd (un petit espoir quand je regarde ton script et que j'y lis "// Récupère la valeur dans le champ et la base de donnée"). Est-il possible d'insérer autre chose que du javascript (php, notamment) ? Y aurait-il moyen de ne masquer la question qu'après que la réponse ait été lue ?
Si tu as encore un peu de temps à me consacrer, je t'en serai reconnaissant.

PS : au moins un motif de satisfaction, aujourd’hui, c'est bien la semaine 49 et le CR de la semaine 49 qui m'est proposé.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102174

  • Ben_V
  • Ben_V's Avatar
  • Offline
  • Platinum Lime
  • Posts: 1790
  • Thank you received: 439
  • Karma: 110
// Récupère la valeur dans le champ et la base de donnée
J'avais oublié un mot: ... et l'écrit dans la base de donnée (ne récupère pas une valeur mais en inscrit une)

Salut,

Je vois bien le problême et je sèche un peu... Il faudrait, je pense, s'orienter à afficher les semaines précédentes et faire automatiquement un saut à la question de la semaine en cours; ça doit pouvoir se faire mais pour l'instant je ne vois pas trop comment... Au passage, tu peux oublier d'injecter directement du php dans le questionnaire ou le template.

A voir si quelqu'un entre-temps vient nous aider un peu :)
Benoît

EM Variables => bit.ly/1TKQyNu | EM Roadmap => bit.ly/1UTrOB4
All LS releases => bit.ly/1VMuTDu | 2.06lts => bit.ly/1Qv44A1
Demo surveys => bit.ly/20NW9V8 (already included in /docs/demosurveys)
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 2 years 7 months ago #102196

  • duraf
  • duraf's Avatar
  • Offline
  • Fresh Lemon
  • Posts: 11
  • Karma: 0
Non, ce n'est pas possible. Pas toi, pas mon gourou ! :) Je suis sûr que tu vas dégotter une nouvelle idée de derrière les fagots (type "numéro de semaine plutôt que date").
J'essaie diverses choses de mon côté.
A+
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: Nickko
Time to create page: 0.358 seconds
Imprint                   Data Protection Statement                  Revocation information and revocation form