Fix and improve some things on the new Gateway quiz ProblemSet.pm page.#1569
Conversation
42c41e4 to
ceadd5a
Compare
There was a problem hiding this comment.
- Labels for checkboxes are present.
- Continue now points at the latest open test.
- "#" are gone
Not sure about the display of time remaining. I still see "Remaining time:" and a countdown timer in minutes and seconds...
I see it now, it's on the new page, not when you're viewing problems on the exam. I would say anything less than 5 minutes should have minutes + seconds displayed.
|
I think so too. I don't know why I asked. I should have just done it. |
|
I guess I was just fishing for a time to start that display. Five minutes sounds good. |
|
🐟 🐟 🐟 🐟 🐟 |
|
Now for the last 5 minutes, minutes and seconds are displayed (unless the page is loaded at an instant where seconds is zero). |
a56d02e to
e4646db
Compare
|
Overall, it looks good. I don't see the checkboxes you're talking about either on the quiz or in the code. |
|
If you have taken a gateway quiz, then the versions are listed below. If you are an instructor with the permission to print multiple sets, then you will see checkboxes in the right most column for each version in the table. Those checkboxes are defined on line 749, and the labels added in this pull request are on 756. @somiaj apparently didn't use the CGI::checkbox, but rather used a CGI::input of type checkbox. That is probably because that is what is was in ProblemSets.pm where he copied that from. That is the same thing though. CGI::checkbox is just creates a CGI::input that has the type already set. This is in ProblemSet.pm by the way. |
e4646db to
c6b52e2
Compare
drdrew42
left a comment
There was a problem hiding this comment.
Tested this out, working well!
checkbox. The checkbox must have a visible label for accessibility. This is how it is done one the ProblemSets.pm page.
The current implemenation assumes that when an un-versions quiz_mode link is used, a new version of the Gateway quiz will be created, but that is not always the case. If a gateway quiz is set to allow more than one submission per version (but not infinite), then the page shows "Start New Test" and presents the un-versioned quiz_mode link after the first submission of the current version. The result is that when this button is clicked, the current quiz with that one submission is opened instead. Not a new test. This changes it so that the "Continue Open Test" button is shown until all submissions are used up. The only way to obtain the behavior that was intended would be to modify the GatewayQuiz.pm module. Also, the current implementation does not take the grace period into account. If the test is in the grace period, the GatewayQuiz.pm module will also re-enter the currently open quiz if the un-versioned link is used. The page currently shows the "Start New Test" button in this case as well, and using the button again results in that current version being opened, and not a new test. In this case this is changed so that if the quiz is in the grace period, a message is displaying telling the student this and what needs to be done to submit the test for a grade. Of course the "Continue Open Test" button is also displayed in this case. Another issue that is fixed is that for accessibility purposes a checkbox should always have a visible label. The ProblemSets.pm page uses the set name for this, and when the quiz versions were listed there the quiz version was used for the label for those. So that is done here as well. Another issue is that if the quiz is in the last minute, the message is displayed as "You have remaining to complete the current test." So this changes it so that seconds are shown during the last minute. Should this be taken further and show minutes and seconds near the end of the test? Currently when there is 1 minute and 59 seconds left, the display shows "1 minute". The time remaining is removed from the "Test Versions" table. That information is already displayed above for the currently open version, and so it isn't needed in the table. Furthermore that display was also plagued with more issues than the time remaining display above. In the last minute it shows "remain", and in the minute before that it shows "1 minute remain". This also makes the messages at the top of the page stand out by using a bootstrap alert. The "#" is removed from the numbers in the test version list. That wasn't there when these were on the ProblemSets.pm page, and isn't needed here. Also, the `text-nowrap` class is added to prevent that version number from going to the next line. There is also a minor margin tweak for the message that shows "the selected problem set is not valid" in GatewayQuiz.pm, and some other minor clean up in ProblemSets.pm.
minutes and seconds for the last five minutes of the time remaining on an open quiz.
c6b52e2 to
d27a8ed
Compare
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
sorting in the database. This was not included in openwebwork#1585 because I didn't want to cause merge conflicts with openwebwork#1569. The file is also cleaned up a bit and the gateway versions listing and homework problem listing sections separated in a more logical and readable way. Those sections were perltidied.
The current implemenation assumes that when an un-versions quiz_mode link is used, a new version of the Gateway quiz will be created, but that is not always the case.
If a gateway quiz is set to allow more than one submission per version (but not infinite), then the page shows "Start New Test" and presents the un-versioned quiz_mode link after the first submission of the current version. The result is that when this button is clicked, the current quiz with that one submission is opened instead. Not a new test. This changes it so that the "Continue Open Test" button is shown until all submissions are used up. The only way to obtain the behavior that was intended would be to modify the GatewayQuiz.pm module.
Also, the current implementation does not take the grace period into account. If the test is in the grace period, the GatewayQuiz.pm module will also re-enter the currently open quiz if the un-versioned link is used. The page currently shows the "Start New Test" button in this case as well, and using the button again results in that current version being opened, and not a new test. In this case this is changed so that if the quiz is in the grace period, a message is displaying telling the student this and what needs to be done to submit the test for a grade. Of course the "Continue Open Test" button is also displayed in this case.
Another issue that is fixed is that for accessibility purposes a checkbox should always have a visible label. The ProblemSets.pm page uses the set name for this, and when the quiz versions were listed there the quiz version was used for the label for those. So that is done here as well.
Another issue is that if the quiz is in the last minute, the message is displayed as "You have remaining to complete the current test." So this changes it so that seconds are shown during the last minute. Should this be taken further and show minutes and seconds near the end of the test? Currently when there is 1 minute and 59 seconds left, the display shows "1 minute".
The time remaining is removed from the "Test Versions" table. That information is already displayed above for the currently open version, and so it isn't needed in the table. Furthermore that display was also plagued with more issues than the time remaining display above. In the last minute it shows "remain", and in the minute before that it shows "1 minute remain".
This also makes the messages at the top of the page stand out by using a bootstrap alert.
Another change is that the "Continue Open Test" button now opens the "last" open version, and not the "first". It doesn't make sense to open the first one, when the last one is the one the student would be working on. Generally this is going to be the same thing anyway, since other than the unlimited submission case, the gateway quiz module only allows one open test.
The "#" is removed from the numbers in the test version list. That wasn't there when these were on the ProblemSets.pm page, and isn't needed here. Also, the
text-nowrapclass is added to prevent that version number from going to the next line.