Refactor extended time database model to be more efficient (SAK-35101)

[SAK-35146] Excepted students cannot view the test when site-level retract date is set to if "Late submission is not accepted" Created: 04-Jan-2017  Updated: 17-Apr-2018  Resolved: 14-Mar-2017

Status: Verified
Project: Sakai
Component/s: Tests & Quizzes (Samigo)
Affects Version/s: 12.0
Fix Version/s: 12.0

Type: Sub-task Priority: Major
Reporter: Sristi Shrestha Assignee: Matthew Jones
Resolution: Fixed Votes: 0
Labels: s2u-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 10, tested in trunk (master) on MySql


Attachments: JPEG File skitch (1).jpg    
Issue Links:
Depend
is depended on by SAK-35149 Extended time area, extra scrollbar p... Verified
is depended on by SAK-36477 Student waiting until after due date ... Verified
depends on SAK-35153 Allow time entries to be null, don't ... RESOLVED
depends on SAK-35143 Extended Time Service should return d... Verified
Test Plan:

Are the steps to reproduce:
Create an assessment with at least one question (required)
1) For the assessment level set the "Late Submissions Accepted" to "No, not after due date".
2) For the assessment level set the "It is due" to be about 5-10 minutes from now (For testing.
3) Create an exception for a student or group and set the retract date to be after the due date (you don't need to fill in a due date exception)
3) Have the "excepted" student try to take the exam in between the due date and retract date.
Issue: Student can't take test between those dates.
Expected: Excepted Student/Group can still take test (other students can't)
– The ideal is that if this is submitted after the due date it would still be marked as late


 Description   

When the setting "Late submission is not accepted" is checked and retract date is also set. Excepted students cannot view test even though retract date is set.

http://www.evernote.com/shard/s657/sh/d55abb6e-18bc-4239-8744-cf9656d92111/0abd1cae9eab15151ffe10d29c8dadca



 Comments   
Comment by Neal Caidin [ 09-Jan-2017 ]

Are the steps to reproduce:
1) For the site level set the "Late Submissions Accepted" to No.
2) Create an exception for a student or group and set the retract date to be after the due date
3) Have the "excepted" student try to take the exam in between the due date and retract date.

Issue: Student can't take test between those dates.

But perhaps the student is supposed to start the exam before the due date but are allowed to finish as late as the retract date?

Comment by Raúl Sánchez Vegas [ 10-Jan-2017 ]

Hi Neal Caidin

I believe this is a bug. The "excepted" student should be able to take the test after the due date and before the retract date. It seems that the excepted configuration (late submissions accepted) is taking into account the assessment main configuration (late submissions not accepted).

Regarding your question when a student takes the assessment before the due date, he is allowed to submit it until the due date. The retract date is only taked into account to the students that take the assessment after the due date. Regards,

Raúl

Comment by Tiffany Stull [ 11-Jan-2017 ]

Hi Neal Caidin and Raúl Sánchez Vegas,

If a student begins taking a test before the due date (when late submissions are accepted), they SHOULD be able to continue working on the test until the retract date (and submit it late up until the retract date). If auto-submit is enabled and the student has saved content but not submitted, the auto-submit job should grab their test at the retract date, regardless of whether the test was started before the due date or late (SAM-3113 outlines the correct behavior of dates when late submissions are involved, with the caveat that only one flag - LATE - shows in the event that an assessment is started after the due but before the retract date AND is auto-submitted).

An additional note: the wording Retract Date was removed from Samigo starting in Sakai 10, replaced with Late submissions accepted until. I think it would be best if similar language, e.g. Late Acceptance Date or Accepted Late Until were used in the table header for date exceptions. Instructors often got confused by "Retract Date" in the past.

Comment by Laura Gekeler [ 11-Jan-2017 ]

I agree with Tiffany Stull on the wording of the header for the table of date exceptions.

Comment by Matthew Jones [ 27-Feb-2017 ]

Yeah, I agree we should add the wording. I'm guessing there's a bug here where because there isn't a checkbox, it's for some reason using the "yes/no" checkbox on the actual assessment. If it's set to no it's not allowing any "late submission" overrides at all. I think if any date is filled in it should allow an override. Really the original UI could probably also be simplified to also do this (if there is a date late submissions accepted until this date, if there is no date, no submissions) rather than the explicit yes/no). I'm not sure if we need this explicit yes/no extended time? Would someone have "Yes until" on the default and then want to block late submissions on a "Extended time" essentially limiting the time? That seems really confusing to me!

Comment by Matthew Jones [ 09-Mar-2017 ]

So I think the best for for this is to have the extended time will have to have a yes/no radio like the regular UI.

However this is proving to be more complex than I anticipated. So I think I'll always have this date (if entered) override even if no is originally selected.

Comment by Tiffany Stull [ 09-Mar-2017 ]

I think it's pretty clear that Exceptions to Time Limit and Delivery Date would mean whatever dates are entered there will override other due/late accept dates for the assessment. However, if you think a user might be confused about it, you might include a note under the header such as: "Dates entered for exceptions override any due date options for the assessment selected above."

Comment by Matthew Jones [ 09-Mar-2017 ]

Yeah, we can try that. this is looking like a tough fix because so many places in Samigo are checking for the presence of this "Late submission" checkbox. And you have to wait around a little to test this, so it's going to be hard to catch every case. I'm hoping at least the delivery works and students don't get blocked from that and it already looks like it's prevented from being auto-submitted early.

Comment by Tiffany Stull [ 09-Mar-2017 ]

You could change the date picker for 1-minute granularity. It makes testing much faster (and helps accommodate instructors who actually want due dates set to the minute).

Comment by Matthew Jones [ 09-Mar-2017 ]

Yeah this was something we were going to do for 12 in SAK-32254

Comment by Matthew Jones [ 14-Mar-2017 ]

I updated the headers here based on your suggestion. I also tested that the excepted student could view, take and submit the test. But more testing would be appreciated!

Comment by Neal Caidin [ 21-May-2017 ]

I'm not totally clear on the Test Plan. It says
"For the assessment level set the "Late Submissions Accepted" to "No, not after due date".

but then later: Create an exception for a student or group and set the retract date to be after the due date (you don't need to fill in a due date exception)

But if you set the Late Submissions Accepted to No, and Late Submissions Accepted IS the Retract date, then the Retract date just becomes the Due Date. Right?

Sorry if I missed something in the older comments.

Comment by Andrea Schmidt [ 01-Oct-2017 ]

Tested on https://qa12-mysql.nightly.sakaiproject.org/
Sakai - 39c8d5a4 - Sakai 12-SNAPSHOT - Server ip-172-31-6-159

Test Name Class Due Date Class Late Allowed Except Due Date Except Late Allowed Excepted
SAM-3107-A 9:20 9:25 single user
SAM-3107-B 9:20 9:25 group
SAM-3107-C 9:30 9:35 single user & group

Class was able to take quiz before the due date. Excepted user/group was able to take quiz between due date and excepted late allowed. The quizzes did display as late (due date in red) for the excepted user/group.

The due date shown on the assessments page and on the Begin Assessment for the exception student/group is the class due date. For the due time on the questions page, see SAM-3267.

Based on the test plan, I believe this JIRA passed, but if there is anything else that needs to be checked along with the tests I did, please let me know.

Comment by Andrea Schmidt [ 05-Oct-2017 ]

It is working on trunk also

https://trunk-mysql.nightly.sakaiproject.org/portal/
Sakai - 1af6b7d0 - Sakai 13-SNAPSHOT - Server ip-172-31-6-159

Generated at Fri Jul 19 06:08:49 CDT 2019 using Jira 7.13.5#713005-sha1:8d78f1047b9cca7d35d4d13f706b37e27d869e07.