Features & Development

Feature Request: GatewayQuiz Launch/Info Page

Feature Request: GatewayQuiz Launch/Info Page

by Jaimos Skriletz -
Number of replies: 5

Hello,

I have been working with WeBWorK Gateway Quizzes (as have many due to remote teaching), and think they could use some improvement to make it clear when students start a quiz by clicking on the assignment name. I think that just clicking on the quiz name and having a new version created is a bit unintuitive (I have had students for a timed quiz on their own time click and start the timed version before they were ready). I have also had to use question 1 to be a set of quiz information/rules for students since I can't display a quiz header. I think it would be beneficial to have GatewayQuizzes (both normal and proctored) have a launch/info page that provides info about the quiz, including the setHeader that could be used to provide information/instructions about the quiz. My basic thought is when a quiz is clicked on a page comes up that contains the following information:

  • Quiz name.
  • setHeader under the quiz name in the main body of the page (this could be used for quiz instructions/information/etc).
  • Course Information to the right (currently the LoginProctor shows site_info and think course info is more appropriate).
  • A list of the quiz conditions, such as time limit (if timed), due date, open date (if it isn't opened), how often new versions can be taken and so on.
  • A list of current versions (if any) that have been taken, so students could just go back to a current version instead of starting a new version (if it is opened), or see grades/scores (This would be basically like the list of versions from the homework sets page).
  • A start new version button (if they are able to start a new version -- also maybe a comment that this starts a new version, to continue a previous version click the appropriate version above).
  • Login/Proctor information for a proctored quiz, similar to LoginProctor for proctored quizzes.
I have looked at LoginProctor.pm as maybe a starting point to see if I could help, but quickly found myself over my head. Anyways, I think I've seen mention of such a thing elsewhere, but can't seem to find it, and though I would add my thoughts here. It would be nice to have something like this in 2.16, but I doubt there is time for that, but it would be something I would like to use on my server to provide more information about quizzes, and make it clearer about when students open/start a new version. I think this may also help deal with students accidentally starting another version if they get confused which link to click on the the homework list page.

As an aside, it would also be nice to have an easier way to edit specific version information for a student (this can be done but it is a bit hard to get to the specific version compared to just the quiz), and delete versions (that get accidentally created).
In reply to Jaimos Skriletz

Re: Feature Request: GatewayQuiz Launch/Info Page

by Danny Glin -
I have added your requests to the existing issue in Github tracking feature requests for Gateway Quizzes (https://github.com/openwebwork/webwork2/issues/1156).

You're right in that it is almost certainly too late to get these things into 2.16, since we are expecting a release candidate this week.  In fact, it's more likely that most of this will be considered for WeBWorK 3.0, as the focus this Summer is going to be on overhauling the WeBWorK interface with the idea of releasing a new version.
In reply to Danny Glin

Re: Feature Request: GatewayQuiz Launch/Info Page

by Jaimos Skriletz -

Thanks, and that was the post I think I saw about this, mostly just similar ideas but putting them into one place.

In reply to Jaimos Skriletz

Re: Feature Request: GatewayQuiz Launch/Info Page

by Jaimos Skriletz -

I have been looking around to see if I could add such a feature. After some poking around it appears that a natural place to add such a feature is to create a ProblemSet.pm page for gateway quizzes which will provide info about the quiz similar to assignments, but instead list quiz versions. Then this page can be used to access quiz versions and create new quiz versions.

My proof of concept patch is on github, but it is very crude so posting it here:

https://github.com/somiaj/webwork2/commit/23d6e085fb8518e6a38fcbd3bd65dd41e438ac6f

I think this will also simplify the ProblemSets.pm page, since it only needs to list problem sets and can link them all to the same ProblemSet location.

I have attached a screen shot of the result.

My main question is would this be on the right track for creating such a quiz launch page, and if I took time to develop this further, would this be something others might be interested in?

Attachment myscrot.png
In reply to Jaimos Skriletz

Re: Feature Request: GatewayQuiz Launch/Info Page

by Jaimos Skriletz -
Some updates, I have made this a better proof of concept. Basically I just moved the links to start new quiz versions and/or the current quiz versions from the ProblemSets page to the ProblemSet page for the quiz. I added a table for the versions and started some basic logic of when the start new versions button should show. I have also updated links from the ProblemSets page for quizzes and removed quiz versions.

https://github.com/somiaj/webwork2/tree/quiz-problemset-page


Attachment myscrot.png
In reply to Jaimos Skriletz

Re: Feature Request: GatewayQuiz Launch/Info Page

by Glenn Rice -

This looks like a good start.  One thing that needs to change is the naming.  Instead of quiz "versions" there should be quiz "attempts".  This is something that WeBWorK has done wrong for a long time.   The "version" wording is basically developer wording.  We call it that because we create versions in the database of this quiz.  Students don't use or understand such terminology.   Even instructors don't use such terminology.

Also, I recommend that you create a draft pull request of what you have and move this discussion to the conversation in that pull request.  You can get quicker feedback there, and your code will be more visible.