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
Link Recovery: Provide a method for students to request submissions links to be resent #9412
Comments
@junming403 note that someone else attempted this issue sometime back. You may want to dig up that PR to see if anything can be reused. |
Here it is #8490 |
Thank you prof, I will check. |
User flow from last issue.
I feel send all links to the email address might not be a good idea. First, user might not want to all the links. Secondly, it will spam user. Can we provide a secret link through email where users can see all their historical/ongoing feedback sessions? Thus they can selectively select links to be resent. Thus the user flow will be something like:
|
Indeed your proposed approach is more elegant 👍. The downside: it requires more code, more work from the user, and more work on TEAMMATES servers (i.e., cost us more money). |
I see, I will go with the simpler approach first. Thank you prof for the feedback. |
I have to disagree here. The work required to list the feedback sessions cannot add that much complication/server load if those feedback sessions have to be retrieved when sending the email containing all links in the first place. But all other factors considered, the simpler approach should be the way to go for now. |
…ssions links to be resent (frontend) (#9447) * Add placeholder link recovery page * Add Link Recovery page to nav bar * Add link recovery email form Reduce form width * Add link recovery http request Reset email field if success Add error message for submit with empty input * Add email format check and error Disable submit button if invalid input * Add recaptcha widget with ngx-captcha Add CSP to backend WebPageServlet * Change to angular reactive form * Reload recaptcha on submit * Remove dynamic error messages * Change local captcha site key to config value * Add test file Import NgxCaptchaModule to fix test * Update CSP * Add recaptcha secret key as config value * Add reCAPTCHA response verification Change implementation using apache lib * Add recaptcha test keys * Add RecaptchaVerifierTest * Changes based on review * Add catch for exception * Remove reload function * Update catch * Remove tslint suppression * Add ApiRequest class * Refactor RecaptchaVerifier * Add negative test cases for RecaptchaVerifier * Minor frontend changes * Remove API dependency from test * Update exception handling * Use Logger to print stack trace * Change names to SessionLinksRecovery * Add reCAPTCHA docs * Remove test keys from config * Add captcha.md * Update RecaptchaVerifier and Logger * Update ApiRequest -> HttpRequest * Add http timeout * Remove unnecessary lines * Changes based on review * Update test cases * Minor text changes * Minor fixes * Add secret key as method parameter * Minor fixes
…ssions links to be resent (#9413) * implement api skeleton * implement api skeleton * add email template * add email template * complete skeleton * complete skeleton * add logic for generate restore key * add logic for generate restore key * break down imports * break down imports * tiny fix * tiny fix * rebuild email generator * rebuild email generator * update link-recovery * update link-recovery * add newlione at the end of file * add newlione at the end of file * update * add link-recovery action test * tiny fixes * add sorting * refactor for response DTO * add more test cases * update template * update words for teamplates * update words for teamplates * remove additional new spaces * various fixes after review * various fixes accourding to Review * add tests for link-recovery * variosu fixes according to review * rename LinkRecovery -> SessionLinkRecovery * change email output format and update tests * fix typo according to review * minor fixes and add template for user emial not exist * Fixes according to review * add validation for email address * Update HTTP method to be POST * Integrate with front end, captcha * fixes according to review * fixes according to review * Fixes according to review * remove extra empty line * refine email content English * fixes according to review * fixes according to review * refactor email generator logic * move verify email contents to emailGenerator tests * update snapshot tests * fixes according to review
TEAMMATES emails a unique link to each user that they can use to submit responses or view results. In some cases users delete that email by accident or cannot find it again in their inbox. It would be good to provide a way for users to request TEAMMATES to resend the link.
Provide a method for students to request submissions links to be resent. The request submission page needs to be protected using something like Captcha to avoid abuse. There should be some mechanism to prevent over-use of this feature by a user too.
As TEAMMATES uses email address to identify users, the user can specify which email the links should be sent to. It is fine to send all relevant links to the provided email address.
Provide a way for the admin to regenerate new submission links for a student. This is for cases where the student shares the submission link with others by mistake.
The text was updated successfully, but these errors were encountered: