openlab-at-city-tech / webworkqa

WeBWorK integration for WordPress and BuddyPress
GNU General Public License v2.0
4 stars 2 forks source link

Better duplicate detection #110

Closed boonebgorges closed 5 years ago

boonebgorges commented 6 years ago

See https://openlab.citytech.cuny.edu/groups/openlab-webwork-integration-project/forum/topic/possible-bug-2/.

https://openlab.citytech.cuny.edu/ol-webwork/#:problemId=local/SimplifyingRadicals/simplify-long-monomial.pg:questionId=947 and https://openlab.citytech.cuny.edu/ol-webwork/#:problemId=local/SimplifyingRadicals/simplify-long-monomial.pg:questionId=946 are dupes. 946 appears to be the correct item; see webwork_post_data_4e18b9998a5a2452a8996f317bf59657. 947 appears to be the duplicate. It was created one second later, probably by a double-click.

There should be better protections in place to prevent this kind of thing from happening. This needs investigation.

boonebgorges commented 5 years ago

I've put the following in place:

I didn't add any front-end error message - it just shows as not submitted. Given the frequency of the problem (ie, not very frequent) I think that this is OK. We don't currently have much of a UX framework for giving feedback messages on error, and I think we should look into it in the future, but it shouldn't hold up the current improvement. cc @jennaspevack

bree-z commented 5 years ago

I'm not able to create any duplicates, unless there's some sneaky way I haven't thought of. However, I think that even though my duplicate question doesn't post, it's still being registered in the question count. For example, I tried to post a duplicate for this question:

http://openlabdev.org/webwork-playground/#:problemId=local2/setPolynomial_Division/long-division-nonmonic-linear-rem.pg:questionId=11810

The duplicate question didn't post, but the count says there are 2 questions for this problem, even though only one appears on the problem page.

duplicateattempt

bree-z commented 5 years ago

Also, FWIW, I think it's OK to implement for now without an error message. Based on testing, it's actually pretty hard to post a duplicate question, and even if it happens isn't likely to be a terrible user experience without the error. But, I think it's a good future improvement as part of a more general UX framework for error feedback.

boonebgorges commented 5 years ago

Thanks, Bree.

However, I think that even though my duplicate question doesn't post, it's still being registered in the question count.

Loading that page now, I only see "1 question". So it must be something that happens only before the next pageload. In my local tests, I can't actually reproduce this issue. Given the fact that this is an extreme edge case, and that the question count is an unimportant piece of info that's correct on the next pageload, I don't think it's worth further research.