Question feedback – markup lost or NOT being translated correctly in WPML
-
I have spent 6 hours trying to debug Sensei’s quiz functionality today, to no avail. I believe something is wrong with the way Sensei spits out the correct answer in response to an incorrect answer.
Below is a description of my rather complicated setup:
I am running Sensei LMS together with the WPML multilingual translation plugin. My website is a language education website for multiple markets.
I also use the SayIt! text-to-speech plugin, and the author of that plugin wrote some custom code for my website. The SayIt plugin uses Google speech synthesis, and there are various parameters, for example, [sayit lang=”it-IT” voice=”it-IT-Wavenet-A”]Italian text[/sayit]. The original (“master”) language is English.
I want quizzes that effectively get the student to match an English word to the translation in their native language, and I need them to have TTS (my target audience is young children who cannot read yet).
I have created quizzes with appropriate questions and answers. For example, the question may be “Hello” and the possible answers are “Bonjour” (correct), “Au revoir” (incorrect), and “Merci” (incorrect). In this case a simplified version of the markup would look like this:
Q: [sayit lang=EN]Hello[/sayit]
A1 (correct): [sayit lang=FR]Bonjour[/sayit]
A2 (incorrect): [sayit lang=FR]Au revoir[/sayit]
etc.
When a student gets the answer right, the feedback is just “Correct” (or the translation thereof).
The problem is when the student gets the answer wrong. The student is provided with feedback like this: “Correct answer: [sayit lang=EN]Bonjour[/sayit], instead of what it should be, which is [sayit=FR]XYZ[/sayit]! (Noting lang=EN is the default setting for a simple [sayit] shortcode with no attributes specified).
I couldn’t figure out if it was a problem with my WPML translation software not translating all shortcode attributes, or buggy support for shortcode/any markup in SenseiLMS in general. So I tried manually translating the entire French page, rather than letting the WPML plugin do it, to rule out a WPML translation error. The error persisted.
It seems like SenseiLMS tries to grab the correct answer, but it chops off the attributes, and then spits it out again in the feedback field for incorrect answers (i.e. “Correct answer: [sayit //deleted attributes//]Bonjour[/sayit]”.
Since you can write custom feedback, I tried to manually add “[sayit=FR]XYZ[/sayit]” in the correct answer in the feedback for an incorrect response. But what happens when the student selects the wrong answer is that the feedback shows both “Correct answer: [sayit lang=EN]Bonjour[/sayit]” and “[sayit=FR]XYZ[/sayit]” – i.e. both the chopped/complete versions!
The expected behaviour should be that, when a student gets the incorrect response, SenseiLMS should just print the correct response verbatim. Instead, it seems to grab the correct answer, cut it up, then re-assemble it before sending it back out, ending up in Frankenstein monster-like answers.
I looked at both https://senseilms.com/new-and-improved-answer-feedback-for-quizzes/ and https://senseilms.com/documentation/questions/#answer-feedback but neither of them seem to match my version of SenseiLMS (not Pro), because I don’t think the product is worth $179 a year. Is that a way of sabotaging functionality to force us to pay to get Pro? It seems the people who have paid aren’t particularly satisfied with either the product or the customer service…
Is this just another buggy flaw with SenseiLMS. Or is there a way to make this work (I couldn’t figure one out and I spent 6h trying)?
- You must be logged in to reply to this topic.