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

Make the PG problem editor always regenerate dynamic images. #2277

Conversation

drgrice1
Copy link
Member

Currently if a problem that uses dynamically generated images is edited and the code for generated an image changes the image is not regenerated unless you force it by adding $refreshCachedImages = 1 to the problem itself. This is problematic as an author may forget to remove that later which can cause unneeded image regeneration in production use.

The problem editor now forces image generation by setting refreshCachedImages in the PG environment. For this to work a minor change is needed to PG. See openwebwork/pg#983.

Currently if a problem that uses dynamically generated images is edited
and the code for generated an image changes the image is not regenerated
unless you force it by adding `$refreshCachedImages = 1` to the problem
itself.  This is problematic as an author may forget to remove that
later which can cause unneeded image regeneration in production use.

The problem editor now forces image generation by setting
`refreshCachedImages` in the PG environment.  For this to work a minor
change is needed to PG.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Dec 12, 2023
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
@drgrice1
Copy link
Member Author

Closing in favor of #2283.

@drgrice1 drgrice1 closed this Dec 12, 2023
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Dec 12, 2023
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Dec 12, 2023
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Dec 17, 2023
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Jan 6, 2024
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Jan 16, 2024
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
drgrice1 added a commit to drgrice1/webwork2 that referenced this pull request Jan 16, 2024
If a problem is rendered using any of the source hash parameters
(`problemSource`, `rawProblemSource`, or `uriEncodedProblemSource`),
then an MD5 hex of the utf8 encoded source is added tot he problemUUID
that is passed to PG.

This means that if a problem is rendered by source and the source
changes, then dynamically generated images will be regenerated.  The PG
problem editor uses the rawProblemSource, so this means that if the code
for a problem changes in the code mirror window, then dynamic images
will be regenerated.

This replaces openwebwork#2277 and openwebwork/pg#983. This
is better as it reliably detects code changes, and it does not need a
change to PG.  Thanks @drdrew42 for pointing this out.
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.

1 participant