Skip to content

Fix and improve some things on the new Gateway quiz ProblemSet.pm page.#1569

Merged
pstaabp merged 3 commits intoopenwebwork:developfrom
drgrice1:gateway-problem-set-fixes
Feb 11, 2022
Merged

Fix and improve some things on the new Gateway quiz ProblemSet.pm page.#1569
pstaabp merged 3 commits intoopenwebwork:developfrom
drgrice1:gateway-problem-set-fixes

Conversation

@drgrice1
Copy link
Copy Markdown
Member

@drgrice1 drgrice1 commented Jan 30, 2022

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-nowrap class is added to prevent that version number from going to the next line.

@drgrice1 drgrice1 force-pushed the gateway-problem-set-fixes branch from 42c41e4 to ceadd5a Compare January 30, 2022 03:04
@pstaabp pstaabp self-requested a review February 4, 2022 19:12
Copy link
Copy Markdown
Member

@drdrew42 drdrew42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 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.

@drgrice1
Copy link
Copy Markdown
Member Author

drgrice1 commented Feb 5, 2022

I think so too. I don't know why I asked. I should have just done it.

@drgrice1
Copy link
Copy Markdown
Member Author

drgrice1 commented Feb 5, 2022

I guess I was just fishing for a time to start that display. Five minutes sounds good.

@drdrew42
Copy link
Copy Markdown
Member

drdrew42 commented Feb 5, 2022

🐟 🐟 🐟 🐟 🐟

@drgrice1
Copy link
Copy Markdown
Member Author

drgrice1 commented Feb 6, 2022

Now for the last 5 minutes, minutes and seconds are displayed (unless the page is loaded at an instant where seconds is zero).

@pstaabp
Copy link
Copy Markdown
Member

pstaabp commented Feb 11, 2022

Overall, it looks good. I don't see the checkboxes you're talking about either on the quiz or in the code.

@drgrice1
Copy link
Copy Markdown
Member Author

drgrice1 commented Feb 11, 2022

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.

Copy link
Copy Markdown
Member

@pstaabp pstaabp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that now. Looks good.

@drgrice1 drgrice1 requested a review from drdrew42 February 11, 2022 11:46
@drgrice1 drgrice1 force-pushed the gateway-problem-set-fixes branch from e4646db to c6b52e2 Compare February 11, 2022 14:10
Copy link
Copy Markdown
Member

@drdrew42 drdrew42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
@drgrice1 drgrice1 force-pushed the gateway-problem-set-fixes branch from c6b52e2 to d27a8ed Compare February 11, 2022 18:28
@pstaabp pstaabp merged commit 6f8a313 into openwebwork:develop Feb 11, 2022
@drgrice1 drgrice1 deleted the gateway-problem-set-fixes branch February 11, 2022 21:18
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Feb 12, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Feb 16, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Feb 18, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Feb 19, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 12, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 18, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 21, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 25, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 29, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 30, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 31, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Mar 31, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 1, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 1, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 1, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 1, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 6, 2022
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.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Apr 7, 2022
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants