WeBWorK Main Forum

compoundProblem

compoundProblem

by Andrew Dabrowski -
Number of replies: 1
We are running WW 2.13, and we have dozens of old problems written using compoundProblem.pl. I see that it is now deprecated in favor of scaffold.pl, but rewriting all the old problems is nontrivial and I'd be able to maintain them in working order. There are two issues we've run across.

1. Later parts of a problem, i.e. after the first, are not reloaded when a student returns to the problem. This means all the answers in parts 2, 3, etc. must re-entered by hand before the student can proceed to the parts not completed the first time.

2. A student's score reflects only the parts attempted. This means that a student can get a 100% by completing only the 1ts part and not attempting any later parts.

I can provide a MWE if that would help.

Are these known issues? Were they new in WW 2.13? Is there a workaround to avoid rewriting all these problems to use scaffold?
In reply to Andrew Dabrowski

Re: compoundProblem

by Michael Gage -
Despite the hassle I recommend upgrading the problems to use scaffold.pl -- it's a lot of work but it could be worse -- a lot of the original text and code can be reused. However it would be a substantial project and probably not something you want to do immediately.

scaffold.pl is not (yet) perfect, but it's way better than compoundProblem.pl,
compoundProblem2.pl and compoundProblem5.pl -- all of which I believe are in your 2.13 distro. You might try to switching the problem to use compoundProblem5.pl -- that might have better backward compatibility but would still solve the issue you mention.

I no longer recall whether this issue was known -- compoundProblem evolved over a fairly long time period which was required since in the beginning we really didn't know what features were needed for a problem type like this and it took a lot of experimentation to come up with a generally accepted feature set.
I would say that scaffold.pl is much better, but probably still far from perfect.

Let us know how things work out.