Modifier la valeur d'un indicateur apprenant?

Bonjour,
Il me semble que ce genre de question avait déjà été posée mais je ne l’ai pas retrouvée donc, je dépose un nouveau fil.

Ma question porte donc sur la modification de la valeur d’un indicateur apprenant. A priori, cet indicateur a pour but de laisser l’apprenant saisir sa valeur mais lorsque les étapes de saisies sont rappelées, les valeurs saisies précédemment restent tant que l’application n’a pas été fermée.
Je souhaiterais pouvoir réinitialiser les valeurs des indicateurs apprenants (soit en leur attribuant une valeur que j’aurais programmée soit en vidant simplement les valeurs enregistrées par l’apprenant).
Est-ce possible ? Si oui quelle est la solution à appliquer ?

Merci d’avance pour votre aide
Cordialement
Philippe Vignoles

Bonjour,
il y a une fonction scServices.assmntMgr.resetAll(); (voir la liste ici) qui permet de supprimer toutes les réponses de l’apprenant : ça peut peut-être répondre à votre problème ?
Cordialement
E.Duquenoy

Bonjour Eric,
Décidément, vous êtes mon sauveur à chaque question de néophyte que je me pose.
Je confirme que la fonction fait bien son office : toutes les valeurs des indicateurs apprenants ont été supprimées après l’appel à cette fonction.
Un très grand merci pour votre réponse très constructive.

Cordialement
Philippe Vignoles

Pas de souci, quand on peut aider :wink:

Attention, ceci va supprimer toutes les données de assmnt, c.a.d. à priori toutes les données de l’étude de cas (étapes visités, résultats de quiz etc) seront également perdus.

Pour moi cette demande devrait être transformé en une demande officiel d’évolution : je pense que ce serait très intéressant de pouvoir init ou reset un ensemble d’indices utilisateurs au niveau de chaque étape.

2 « J'aime »

Bonjour Sam,
Oui c’est vrai que cette solution est assez radicale. Dans le cas qui m’intéresse pour le moment, c’est effectivement de permettre à l’apprenant de repartir à zéro pour son exercice.
Pour le moment, je n’ai qu’un seul exercice mais il serait effectivement intéressant de pouvoir être plus fin dans la réinitialisation en choisissant les indicateurs à remettre à zéro.

Pour forcer l’attribution d’une valeur à un indicateur apprenant, il me semble que Katia avait proposé une idée (mais impossible de remettre la main sur le message).

Pour terminer : bonne idée en effet pour la demande officielle d’évolution : comment dois-je m’y prendre concrètement pour en faire la demande ?

Cordialement
Philippe Vignoles

@oliverka, on a une demande d’évolution :wink:

1 « J'aime »

C’est une bonne idée que de proposer cette évolution. Mais est-ce que la fonction scServices.assmntMgr.resetResponses(id, session) ne répond pas à la question ? Enfin bon, je me dis que si Samuel ne l’a pas proposée, c’est que la réponse est non :grin:.

je pense que si ça doit marcher, et d’ailleurs ce sera sûrement ce que l’évolution fera. Mais cela implique être à l’aise en JS et d’ajouter un indicateur auto JS pour reset un indicateur user, ce qui est un peu bricolage :slight_smile:

Bonjour Eric,
pour la fonction resetResponses, je vois que le paramètre id correspond à l’identifiant d’une question. Peut-être que l’identifiant d’un indicateur n’est pas un paramètre correct pour la fonction ?
Ceci étant dit, où trouve-t-on les identifiants de question et de session ?
Cordialement
Philippe Vignoles

Bonjour,
En fait non, c’est pas resetResponses qu’il faut utiliser mais scServices.assmntMgr.setPts((id, session, min, score, max)
En effet un indicateur apprenant enregistre la valeur apprenant comme un score, pas une réponse.

Pour faire un reset :


Avec, sur l’indicateur apprenant le paramétrage suivant :

Pour passer la valeur à 10 :
scServices.assmntMgr.setPts("[ID IND APPR]", "", 10, 10, 10);

Voici un exemple ; reset-ind-user_2023-07-29_01-05-04.scar (3.5 KB)

2 « J'aime »

Bonjour Sam et Eric,
Alors-là, parfait, c’est de la réinitialisation chirurgicale : j’ai testé avec un deuxième indicateur que je ne réinitialise pas et seul le premier est donc remis à zéro. Ca m’ouvre de nouvelles perspectives intéressantes tout ça (même si ça reste de la programmation JS, pour moi en tout cas, ça résout totalement le problème que j’avais soulevé initialement).
Merci à tous les deux pour votre aide et vos suggestions.
Cordialement
Philippe Vignoles

Je n’y suis pas pour grand chose et j’ai appris un tas de trucs :grin:
Merci beaucoup @sam !
Question subsidiaire : est-ce la même fonction pour réinitialiser une variable apprenant ?

Non, une variable étant un string elle est considérée comme une réponse et pas comme un score donc ce sera bien scServices.assmntMgr.resetResponses(id, session) qu’il faudra utilisé, seulement la version actuelle de Topaze ne permet pas de paramétrer la récupération de l’ID d’une variable dans le contenu d’une variable JS. Ce sera possible à la prochaine MAJ de Topaze :

2 « J'aime »

La demande d’évolution est notée :wink:
Même s’il existe déjà une solution disponible proposée par @Duquenoy et @sam (merci!), c’est une fonctionnalité qui a du sens à ajouter dans Topaze.

1 « J'aime »