oppia / oppia

A free, online learning platform to make quality education accessible for all.
https://www.oppia.org
Apache License 2.0
5.85k stars 4.12k forks source link

[BUG]: Lesson progress does not save entirely. #21193

Open myloothniel opened 1 month ago

myloothniel commented 1 month ago

Describe the bug

This has happened about 4 times for 3 different lessons. My pariticpant finished the lesson but when I go back to the lesson, it takes me back to a few pages before the end of the lesson.

Screenshot 2024-10-25 at 15 05 13

URL of the page where the issue is observed.

https://www.oppia.org/explore/kDrCyB0rrTYr?collection_id=-e766_xCmNbd

Steps To Reproduce

Log in to the website Click a lesson and answer the questions Ensure you finish the lesson Go back to the dashboard Click the lesson again A pop up showing your last progress will show

Expected Behavior

Once done with a lesson, when i click the lesson again, it should show that i completed the lesson

Screenshots/Videos

No response

What device are you using?

Desktop

Operating System

MacOS

What browsers are you seeing the problem on?

Chrome

Browser version

No response

Additional context

No response

Tips for developers

Before addressing the bug, please identify which PR caused the issue (you can follow the steps here). If you identify the PR, comment on the issue with a link to it. If not, mention the commit hash of the oldest commit you saw the bug on (and the month and year it was made in).

Then, please leave a comment with details of the approach that you plan to take to fix the issue (see example).

Note: If this is your first Oppia issue, please make sure to follow our guidelines for choosing an issue and setting things up. You will also need to show a demo of the fix working correctly on your local machine. Thanks!

seanlip commented 1 month ago

Thanks for filing this, @myloothniel.

I have a question for you. What do you expect to see, instead? If the participant has finished the lesson, should we show (when they next revisit the page) that they have completed the lesson and offer the option to restart? Should any other user actions be possible?

Thanks!

myloothniel commented 1 month ago

Hello @seanlip, Thanks for your response.

When a learner has completed the lesson, it should show thieir progress (that they have completed and they can go to that topic's homepage to take the next lesson. This should happen till they completed all lessons in that topic are completed.

When the lessons in the topic are completed, it should show that they would have to restart that topic from the beginning, or if they want to see how they answered the lessons, it takes them to thier last progress (say i finished lesson 1, it will take me to the last page --which is the summary page of lesson 1, and allow me to go back and look through the responses i gave in the lesson)

I hope this explains it?

Thanks!

seanlip commented 1 month ago

OK, thanks @myloothniel. I'm not sure this approach works fully, though. For example, suppose a learner has completed lesson 1 and they want to play through it again. But with your suggestion, if they go to lesson 1 (which they have completed), they will see only the option to go to the topic's homepage to take the next lesson, and will never be able to replay lesson 1.

If we think that learners wanting to start a lesson again from the beginning is a valid case that we should support (noting that this means actually playing through the lesson, rather than just being able to browse through the responses), then I think we need to have allowance for that. Am I missing something in your suggestion?

seanlip commented 1 month ago

@myloothniel Following up on this, thanks.

myloothniel commented 3 weeks ago

Hi @seanlip, sincere apologies for not following up on this earlier.

**

I'm not sure this approach works fully, though. For example, suppose a learner has completed lesson 1 and they want to play through it again. But with your suggestion, if they go to lesson 1 (which they have completed), they will see only the option to go to the topic's homepage to take the next lesson, and will never be able to replay lesson 1. If we think that learners wanting to start a lesson again from the beginning is a valid case that we should support (noting that this means actually playing through the lesson, rather than just being able to browse through the responses), then I think we need to have allowance for that. Am I missing something in your suggestion? **

The above works actually, we can allow them retake that lesson. When they finish a lesson, it should give them three things :

  1. They should see thier last saved progress and they should be able to retake that lesson.
  2. They should be able to see the next lesson to be played (something like a clickable play next lesson button that takes you to the next lesson)
  3. If they don't want to go to the next lesson, they should be able to go to the homepage

Please let me know if this approach is better.

seanlip commented 3 weeks ago

Hi @myloothniel, thanks for your reply. Could you please elaborate on what you mean by point 1? What do you mean by "seeing their last saved progress" (wouldn't this just show, in all cases, that they've finished the lesson)?

Thanks.

myloothniel commented 3 weeks ago

Hi @seanlip yes. Yes, it would show that they have finished the lesson. I think i'll make use of pictures next time to properly explain (if you still need clarification)