Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adjustments to date extension achievement items #2467

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

Alex-Jordan
Copy link
Contributor

This addresses some issues I've had in practice with these achievement items.

  • A student is aware they have an item that can extend a due date 24 (or 48) hours. They have a set that closes at, say, 10:00pm. Their expectation is often that they can let the due date pass, then use the extension item. (They are not thinking to abuse the system by viewing answers; they are just thinking it shouldn't matter.) But that is not how it currently works. So the first change here is that if it is within the 24 (or 48) hour window after a close date, you can still use the reward item. [The only reason not to allow them to use it indefinitely is to save them from wasting it.]
  • This then raises the issue of a set closing, and possibly the answer date passes too, and the student can see all the answers. So if they use the reward item in that 24 (or 48) hour window, the set's seeds are all re-randomized. (No attempt is made to leave the seeds alone where the student already had status 1.)
  • Currently, these reward items always push back the answer date along with the close date. But that can leave them in a position where the set has closed for them (as well as for all other students), and other students have access to answers, but this student does not. So the last change here is to only push the answer date back to whatever the new close date is, or leave it alone, whichever is later.

And then there is ExtendDueDateGW. This is not used by the default set of achievements, so I wonder if anyone even uses it. If anyone does use it, they are likely power users with extensive understanding of achievements. I started editing this one to make the same changes, but this reward item makes little sense to me in the first place. It adds 24 hours to a test template set, which seems perfectly reasonable to me. But it also adds 24 hours to every test version. So a student who activated a test that was only supposed to be 1 hour long could use this and have the test open for 25 hours. And it seems like that is not the best idea. Along with extending the template set by 24 hours, maybe just granting the student an additional test version would be good? Anyway, aside from introducing the constant for 24 hours in seconds, I did not change that one.

@Alex-Jordan
Copy link
Contributor Author

I noticed I'd overlooked ReducedCred.pm. It's not in the default collection that gets used. I made similar updates to that one.

@drgrice1 drgrice1 deleted the branch openwebwork:develop August 6, 2024 19:45
@drgrice1 drgrice1 closed this Aug 6, 2024
@drgrice1 drgrice1 reopened this Aug 6, 2024
@drgrice1 drgrice1 changed the base branch from WeBWorK-2.19 to develop August 6, 2024 20:02
Copy link
Contributor

@somiaj somiaj left a comment

Choose a reason for hiding this comment

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

Looking at the code I noticed a few things that I think could be cleaned up.

lib/WeBWorK/AchievementItems/ExtendDueDate.pm Outdated Show resolved Hide resolved
lib/WeBWorK/AchievementItems/ExtendDueDate.pm Outdated Show resolved Hide resolved
lib/WeBWorK/AchievementItems/ExtendDueDate.pm Outdated Show resolved Hide resolved
@Alex-Jordan Alex-Jordan force-pushed the achievement-date-extensions branch from 44dded1 to b90be6b Compare November 23, 2024 00:54
Copy link
Member

@drgrice1 drgrice1 left a comment

Choose a reason for hiding this comment

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

Looks okay to me.

@Alex-Jordan Alex-Jordan force-pushed the achievement-date-extensions branch from b90be6b to c43a105 Compare December 17, 2024 20:36
@Alex-Jordan
Copy link
Contributor Author

I fixed the conflicts and added to the descriptions.

Copy link
Member

@drgrice1 drgrice1 left a comment

Choose a reason for hiding this comment

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

I was testing using these achievement rewards with this pull request and got exceptions because the after method is not imported.

@Alex-Jordan
Copy link
Contributor Author

Oh, I wonder if it was there before, but I resolved those qw conflicts without enough care.

@Alex-Jordan
Copy link
Contributor Author

OK, after is imported in those three places now.

@drgrice1
Copy link
Member

drgrice1 commented Dec 17, 2024

Yeah, I think it was. I thought this worked when I tested it before.

@drgrice1
Copy link
Member

drgrice1 commented Dec 17, 2024

I noticed another issue when testing the ReducedCred reward (the Ring of Reduction). It is not due to this pull request, and doesn't need to be fixed here, but I am just noting it. I have reduced scoring enabled for the course, but I tested using it on a set that does not have reduced scoring enabled and received the message "This item won't work unless your instructor enables the reduced scoring feature. Let your instructor know that you received this message." It seems that the form should only present sets that have reduced scoring enabled.

Edit: I see now that the issue is that this tries to use the $pg{ansEvalDefaults}{reducedScoringPeriod} and I have that set to the default value of 0. So the issue is that the message that the achievement gives when this is 0 is not very useful for finding what is really going on.

@Alex-Jordan Alex-Jordan force-pushed the achievement-date-extensions branch from 3de9464 to 19ef16a Compare December 17, 2024 23:46
@Alex-Jordan Alex-Jordan force-pushed the achievement-date-extensions branch from 19ef16a to e34631c Compare December 18, 2024 00:00
@drgrice1
Copy link
Member

Looks good now. Thanks for making those changes.

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