eecs-autograder / autograder.io

Central documentation and issue tracker for autograder.io
61 stars 9 forks source link

Display a warning in project settings if any extensions are before the deadline #29

Open Faryab opened 2 years ago

Faryab commented 2 years ago

For 370 we had a project due on the 16th. We granted a bunch of students extensions upto the 18th and 19th. Then, due to external reasons we changed the entire project deadline to the 19th.

This led to the weird case where students who were given extensions before the deadline (to the 18th) lost a late day when submitting on the new updated project deadline of the 19th.

Is this a bug or a feature?

If it is intentional then I think the "extension" may better be renamed to "change individual student deadline" or similar.

If it is a bug then maybe we can come up with some solution?

In either case there should DEFINITELY be a warning I think if the project deadline is updated and there is any extension to before the updated deadline date-time.

james-perretta commented 2 years ago

Sorry that you got surprised by this! I would classify this as a natural side effect of the way extension logic is implemented. They're intended to be used as extensions, but implementing them as a deadline override was decided on years ago as the simplest way to implement them. Regardless of which implementation is used, situations where the project deadline is changed are likely to require extensions to be updated appropriately anyway.

Although I don't think the underlying implementation needs to be changed, I'm not opposed to adding additional guard rails. Given that this is the first time this has come up, I can't guarantee that I'll have time to address it any time soon, but I would be happy to look over a PR. Possible implementations might include adding frontend-only warnings or adding error checks at the API level.

Faryab commented 2 years ago

Given that this is the first time this has come up, I can't guarantee that I'll have time to address it any time soon, but I would be happy to look over a PR

Possible implementations might include adding frontend-only warnings or adding error checks at the API level.

I think a front-end only warning would be good enough probably.

I graduated so a PR may not be coming any time soon haha. I'll let you triage this on the priority, but I'm surprised this is the first time this has come up. Since people who manage the autograder for various courses change every so often this is something which will likely come up again in the future.

Thanks!