Open epsilonError opened 2 months ago
Proper handling of this most likely requires and out-of-band review/correction by instructors.
The review functionality could identify simple cases that allows transparent updating. Example: A manually added override that shares the same resulting date.
Confirming if all such dates should be deleted/updated would make the instructor's burden less.
This same review functionality could also be used to update a change in settings for the Token Option or the Assignment Dates. Basically a batch updating of all current individual overrides to match changes made after first requests.
For non-transparent changes, there are implications for the student's Token Balance.
Currently, the cost is always paid by the student even if a change isn't actually made.
And postponing token balance changes isn't supported. And arbitrary requests on a student's behalf is also not supported.
Flexibility in those 2 areas would be needed to actually support non-transparent changes. Though retroactive refunds could work around the absence of postponing a token balance change functionality.
For non-transparent changes, there are implications for the student's Token Balance.
Currently, the cost is always paid by the student even if a change isn't actually made.
And postponing token balance changes isn't supported. And arbitrary requests on a student's behalf is also not supported.
Flexibility in those 2 areas would be needed to actually support non-transparent changes. Though retroactive refunds could work around the absence of postponing a token balance change functionality.
I think allowing arbitrary requests to be made on a student's behalf is a more feasible option. Either postponing token balance change or supporting retroactive refunds might cause changes in process results for requests made later than the request concerned. This would require all token options to have cancellable side effects, constraining the possibilities of token options.
As this use case focuses on adjusting manually added overrides, instructor intervention is already inevitable. Therefore, it might be better to minimize the influence on the normal workflow while helping the instructor apply manual fixes. Allowing the instructor to act on the student's behalf makes it much easier for instructors to make adjustments without breaking Token ATM's expectations.
The most important concern here is whether Token ATM should modify an existing individual-level override. Currently, there are two possible cases where an individual-level override eixsts:
In addition, there is currently no way to differentiate the two cases mentioned above. The override creation and management logic needs to be changed to enable the differentiation.
Originally posted by @yongkanm in https://github.com/UCI-IN4MATX-191-Token-ATM/token-atm-spa/issues/78#issuecomment-1729966499