apluslms / a-plus

A+ frontend portal - A+ LMS documentation:
https://apluslms.github.io/
Other
67 stars 72 forks source link

Personal deadline extensions sometimes don’t show up on the Points page #1276

Open jsorva opened 11 months ago

jsorva commented 11 months ago

Students’ points pages now highlight it when a student has personal deadline extensions for a module or assignment. That’s great, and mostly works. However, I have spotted at least one case where, for whatever reason, the student’s page does not mention this info, even though they do have multiple deadline extensions: https://plus.cs.aalto.fi/o1/2023/teachers/participants/31384

jsorva commented 11 months ago

FWIW, here’s another example: https://plus.cs.aalto.fi/o1/2023/teachers/participants/26806 The student has extensions for Week 2 and Week 4, but only the extension for Week 4 is highlighted on their Points page.

jsorva commented 11 months ago

Further observation: This happens fairly frequently — I’ve spotted various instances now. It’s quite unclear to me what connects the cases where it happens.

markkuriekkinen commented 11 months ago

If I remember correctly, the user interface is rendered using the cache. Therefore, if the student's deviation is missing from the cache, then the user interface could show incorrect deadlines (without any personal extensions). Then, a developer would need to track why the cache has not been updated. Is it possible that when a teacher adds new deviations, the cache is not invalidated and keeps using outdated data? Or could there be an issue in updating the cache when it is busy/overloaded, that is, the code tries to invalidate something, but it stays in the cache anyway.

In A+, keeping the cache up-to-date is usually done by invalidating/removing the whole cache entry when it becomes outdated. It is then regenerated when it is needed again.

murhum1 commented 5 months ago

In https://github.com/apluslms/a-plus/pull/1216, it's described that The deadline deviations are only shown on the points page when the module is open and the student has time left to submit the exercise. This matches with the mention that a student had extensions for weeks 2 and 4, but only the latter was shown; I guess at that point the student still had an active extension for week 4. This does sound like a bit of confusing behaviour - should this be changed so that the extension badge is displayed regardless of whether the student still has time to submit?