edx-ora2 icon indicating copy to clipboard operation
edx-ora2 copied to clipboard

feat: allow learner resubmissions in ora assignment

Open BryanttV opened this issue 11 months ago • 13 comments

Description

These changes are based on the following POC

This PR allows a learner to reset and make a new submission. Instructors will activate this functionality from the component settings, and can optionally define a grace period.

To allow a learner to reset their submission the following conditions must be met:

  1. The ORA activity was specifically configured to allow resubmissions.
  2. The responses schedule still allows new responses to be submitted.
  3. The ORA activity does not have a peer step.
  4. The current submission is not marked as "being graded" by any course staff member.

Supporting Information

These changes are part of the effort made to implement Resetting ORA submissions

What changed?

  1. Three (3) new fields were included in the ORA settings:

    • Allow Learner Resubmissions (Boolean)
    • Grace Period Days (Integer)
    • Grace Period Time (String)
  2. A new button (Reset submission) was included in the Your Response step.

  3. A new module allow_resubmission was included to validate if the learner is allowed to make a resubmission.

Developer Checklist

Testing Instructions

Using Tutor:

  1. In your environment install edx-ora2 with the changes in this branch.
  2. Create a component with an ORA assignment.
  3. You can see a new field in the component settings: Allow Learner Resubmissions. Set it to True
  4. Now, you can see two new fields: Grace Period Days and Grace Period Time. You can configure them optionally, or leave them as they are by default.
  5. As a learner, from LMS submit your response.
  6. Now, in Your Response step you can see a button to Reset the submission. Press the button.
  7. You can now resubmit your response.

https://github.com/openedx/edx-ora2/assets/64033729/b46f55dd-639d-4703-acd1-ca2aad6faeac

Reviewer Checklist

Collectively, these should be completed by reviewers of this PR:

  • [ ] I've done a visual code review
  • [ ] I've tested the new functionality

FYI: @openedx/content-aurora

Deadline

This effort is part of the Spanish consortium project, so it'd be ideal to merge this before the end of the project.

BryanttV avatar Mar 05 '24 17:03 BryanttV

Thanks for the pull request, @BryanttV! Please note that it may take us up to several weeks or months to complete a review and merge your PR.

Feel free to add as much of the following information to the ticket as you can:

  • supporting documentation
  • Open edX discussion forum threads
  • timeline information ("this must be merged by XX date", and why that is)
  • partner information ("this is a course on edx.org")
  • any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.

Please let us know once your PR is ready for our review and all tests are green.

openedx-webhooks avatar Mar 05 '24 17:03 openedx-webhooks

Codecov Report

Attention: Patch coverage is 97.94872% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 95.09%. Comparing base (c2dc989) to head (da484f3).

Files Patch % Lines
openassessment/xblock/utils/xml.py 60.00% 2 Missing and 2 partials :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2187      +/-   ##
==========================================
+ Coverage   95.06%   95.09%   +0.02%     
==========================================
  Files         193      195       +2     
  Lines       21285    21479     +194     
  Branches     1918     1931      +13     
==========================================
+ Hits        20235    20425     +190     
- Misses        785      787       +2     
- Partials      265      267       +2     
Flag Coverage Δ
unittests 95.09% <97.94%> (+0.02%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 06 '24 16:03 codecov[bot]

Hey @BryanttV, thank you for this contribution! As far as I can tell, we already have a general thumbs-up on the corresponding product proposal. So in terms of product review, it should be possible to jump to UX/UI testing right away (as opposed to reviewing the changes in terms of general suitability for the platform).

@ali-hugo It looks like you made some edits to the product proposal in the past. Would you be able to provide UX/UI feedback on this PR, and then coordinate with the Product Working Group to get final approval?

CC @mariajgrimaldi

itsjeyd avatar Mar 11 '24 08:03 itsjeyd

@BryanttV In the meantime, could you please create a feature ticket for this PR on the public roadmap? (Or link to it here if it already exists.) Thanks 🙂

CC @ali-hugo @mariajgrimaldi

itsjeyd avatar Mar 11 '24 08:03 itsjeyd

@itsjeyd

@ali-hugo It looks like you made some edits to the product proposal in the past. Would you be able to provide UX/UI feedback on this PR, and then coordinate with the Product Working Group to get final approval?

I'd be happy to get the review process started with the Core Product Group. The first step is to share the proposal on the Core Product Slack Channel (I will do this now). From there, we will select a Coordinator to guide the proposal through the review process. Our next meeting is tomorrow (12 March), so we should be able to get the review started soon.

CC: @BryanttV

ali-hugo avatar Mar 11 '24 13:03 ali-hugo

Note for the reviewer: Below is a list of all the test cases.

Test Cases

  1. As an instructor, I create a new ORA assignment. By default, the Allow Learner Resubmission functionality is enabled, and the grace period is disabled (Both the hours and minutes fields are set to 0). As a learner, I can reset my submission and make a new one as often as possible.
  2. As an instructor, I deactivate the Allow Learner Resubmissions functionality. As a student, I cannot resubmit my response.
  3. As an instructor, I define a grace period, e.g. 1 hour. As a student, once my submission has been made, I have up to 1 hour maximum (following the example) to reset my submission and make a new one.
  4. As an instructor, I add a peer step and activate the Allow Learner Resubmissions functionality. As a student, I cannot resubmit my response.
  5. As an instructor, I activate the Allow Learner Resubmissions functionality. As an instructor, I grade a student's submission. As that same student, I cannot resubmit my response.
  6. As an instructor, I activate the Allow Learner Resubmissions functionality. As an instructor, I start grading a student's submission. As that same student, I cannot resubmit my response.
  7. As an instructor, I activate the Allow Learner Resubmissions functionality. The deadline for submissions has passed. As a student, I cannot resubmit my response.

BryanttV avatar Mar 11 '24 17:03 BryanttV

@BryanttV Please ping me once you have created a feature ticket on the Roadmap (as per these instructions) so that I may proceed with the product review. Thank you :)

ali-hugo avatar Mar 13 '24 12:03 ali-hugo

I'd be happy to get the review process started with the Core Product Group. The first step is to share the proposal on the Core Product Slack Channel (I will do this now). From there, we will select a Coordinator to guide the proposal through the review process. Our next meeting is tomorrow (12 March), so we should be able to get the review started soon.

Thank you @ali-hugo . just a minor clarification. the Product Review process does not need to be 'started' because we have gone through it in full. Final approval was reached in early February. If anything, we are in the last step which reads: "Refinements and Implementation Changes Any changes made during the implementation and delivery phases that veer away from the original designs or specs must be discussed with the original reviewers and approver(s) of the proposal. Discussion should take place in the original wiki proposal, including a description of the changes, justification and screenshots of any new designs. "

Following the procedure, I'm going to include the last details of the implementation in the wiki proposal, and I deeply appreciate your check or any contributions there. cc @itsjeyd , @BryanttV

juancamilom avatar Mar 13 '24 16:03 juancamilom

@juancamilom Ok, I see - thank you for the update on where this proposal/PR is in the review process, and thanks to @santiagosuarezedunext for making me aware of the roadmap ticket.

I can help by performing a UX/UI review. I will provide my feedback on the wiki proposal.

ali-hugo avatar Mar 14 '24 07:03 ali-hugo

@ali-hugo @juancamilom It sounds like things are moving forward here, so went ahead and changed the status of this PR from Blocked to Product Review.

If I missed something and that was not the right call to make, please let me know.

CC @BryanttV @johnvente @mariajgrimaldi

itsjeyd avatar Mar 22 '24 09:03 itsjeyd

Thanks @itsjeyd.

I have done a first pass of the UX updates listed in the wiki proposal and left my feedback there. @juancamilom Let me know if you have any questions about my notes.

ali-hugo avatar Mar 25 '24 07:03 ali-hugo

@juancamilom @santiagosuarezedunext @ali-hugo @itsjeyd Just noting that this is an exemplar ticket and is demonstrating exactly how we want the product review process to work. The original proposal has already been approved, and refinement conversations are happening in the original wiki proposal. Very exciting and just a note of thanks for helping to get this process operationally underway!

jmakowski1123 avatar Mar 25 '24 22:03 jmakowski1123

@feanil I just tried to add @openedx/2u-aurora to the list of reviewers here, and found that I couldn't. They are listed as owners in https://github.com/openedx/edx-ora2/blob/master/catalog-info.yaml#L16. Any idea what might be happening?

(Not an urgent request since this PR is still in product review right now.)

itsjeyd avatar Apr 12 '24 13:04 itsjeyd

Hi @pomegranited!, It would be great if you could take a look at this PR. Thank you very much!

BryanttV avatar May 06 '24 15:05 BryanttV

Hi @pomegranited, thanks for your review and suggestions! I have already included all the changes you requested. Could you check again? For the moment I will be working on correcting the tests and updating translations.

BryanttV avatar May 08 '24 18:05 BryanttV

Hi @pomegranited, thank you very much for your review!. The tests are passing and I bumped the version. The PR is ready to merge.

BryanttV avatar May 09 '24 16:05 BryanttV

@BryanttV 🎉 Your pull request was merged! Please take a moment to answer a two question survey so we can improve your experience in the future.

openedx-webhooks avatar May 10 '24 01:05 openedx-webhooks