Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Faire de CR hebdomadaires avec limesurvey

Faire de CR hebdomadaires avec limesurvey 9 months 4 days 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 9 months 4 days ago #102048

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1068
  • Thank you received: 235
  • Karma: 74
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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
Last Edit: 9 months 4 days ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 9 months 4 days 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 9 months 4 days ago #102054

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1068
  • Thank you received: 235
  • Karma: 74
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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
The administrator has disabled public write access.
The following user(s) said Thank You: duraf

Faire de CR hebdomadaires avec limesurvey 9 months 3 days 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 9 months 3 days ago #102079

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1068
  • Thank you received: 235
  • Karma: 74
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

Source_code_mode.png


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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
Last Edit: 9 months 3 days ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 9 months 3 days 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 9 months 3 days ago #102088

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1068
  • Thank you received: 235
  • Karma: 74
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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
Last Edit: 9 months 3 days ago by Ben_V.
The administrator has disabled public write access.

Faire de CR hebdomadaires avec limesurvey 9 months 2 days 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 9 months 2 days ago #102105

  • Ben_V
  • Ben_V's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 1068
  • Thank you received: 235
  • Karma: 74
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

goo.gl/Bw5iM => Recherche GG dans le forum français (remplacer "exemple" dans la barre de recherche)
goo.gl/WX8PH => GG search for english forum (Replace "example" in the search bar)
goo.gl/IxiGu => Búsqueda en el foro en español (Cambiar "ejemplo" en la barra de...
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: Nickko
Time to create page: 0.197 seconds
Donation Image