PlatonOrg / platon

Platform for Learning and Teaching Online: Open Source Education Platform
Other
7 stars 0 forks source link

@include ne fonctionne pas sur des fichiers non textuels #131

Open TheValber opened 3 weeks ago

TheValber commented 3 weeks ago

On ne peut pas utiliser le @include sur certains types de fichiers.

On a essayé avec png et mp3, dans les deux cas on obtient l'erreur suivante :

image

NewMeeh commented 3 weeks ago

@TheValber Est-ce que tu peux ajouter le code d'un exercice qui renvoie cette erreur stp

TheValber commented 3 weeks ago

Voici le code d'un exercice qui renvoie cette erreur. (peu importe l'exercice, si la première ligne est présente, cela provoque l'erreur)

@include image.png

sandbox = "python"

input = :wc-input-box
input.type = "number"
input.placeholder = "Entrez votre réponse ici"

builder==

==

grader==
grade = 0
feedback["type"] = "error"
feedback["content"] = "Mauvaise réponse"
if input["value"] == 0:
  grade = 100
  feedback["type"] = "success"
  feedback["content"] = "Bonne réponse"
==

title==
ZERO
==

statement ==
Entrez 0 ?
==

form==
{{input}}
==
NewMeeh commented 3 weeks ago

Le problème est l'enregistrement des fichiers non textuelles dans les Sessions, au moment de la prévisualisation ou du lancement d'un exercice tout les média sont ajoutés aux variables de la session. C'est une erreur.

Il faut rajouter une table qui va gérer les médias, cette table aux un champs sha256 et un blob avec le contenu du fichier. Dans les variable de la session on mettra l'id du média correspondant. Ce changement induis aussi un changement lors de l'envoie de l'environnement à la sandbox, il faudra résoudre les média et les ajoutés aux contenu de la requête

nimdanor commented 1 week ago

Je pense qu'il faut prioritiser cette issue.