Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stored student data: local vs server #459

Open
oscarlevin opened this issue Jan 11, 2024 · 2 comments
Open

Stored student data: local vs server #459

oscarlevin opened this issue Jan 11, 2024 · 2 comments

Comments

@oscarlevin
Copy link

I have had a few students who make an account in Runestone and then use the LTI in Canvas, which logs them in with a different email/username. That is understandable, and we can work through that. The issue is that some students did some assignments (reading questions in a PreTeXt authored book) on one account and then switched to the other. In the "correct" (and second) account, when they are logged in, they still see their original answers, so it looks like they have completed the assignment. But unless they modify their answers, I don't think those are submitted to the server for grading.

I suppose this could be a bug or a feature. But I think the expected behavior would be: show students their locally saved responses, and check whether they have data saved on the server and whether it conflicts. At least, if they hit "Save" or "submit".

It is also possible that I am wrong about what is going on here. The student who helped me identify this said that they tried modifying one of the answers to the reading question, and after that, cleared their cookies. When they came back to the page, the answer that was modified was still there, but the others were completely gone (they had copied out their original answers just in case though, so it worked out).

@bnmnetp
Copy link
Member

bnmnetp commented Jan 11, 2024

Oscar, we try to retrieve the answer from the server. If there is an answer on the server AND in localStorage then we compare timestamps. If the local is newer then we update the server. If the server is newer then we use that. The keys for the answers in localStorage contain the email of the student to try to avoid just this scenario. But I suppose in this case the emails might be the same.

Clearing cookies probably also wiped out localStorage.

I would not expect the system to be smart enough to figure out that two usernames are really the same user and provide them some answers, so I think in the end, the correct behavior prevailed.

@oscarlevin
Copy link
Author

I agree with your last point. What happens in the following situation?

  • There is a answer in localStorage.
  • There is no answer on the server.

It appears then that this case does not update the server. I don't know if it would be better that it does, or if it should erase the localStorage answer (in case two students are using the same localStorage).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants