## WeBWorK Problems

### Custom answer checking for draggable proofs

by Rohan Hitchcock -
Number of replies: 0

I am having some problems tried to write custom answer checkers for DraggableProof objects. Any advice or alternative approaches would be greatly appreciated. Thanks!

Context
I am trying to write a custom answer checker for a DraggableProof object. The built-in answer checking for draggable proof requires students to enter the statements in the exact order specified to be marked correct. However, other orderings of statements may also be a valid proof and should also be marked correct. My solution for this is to write a custom answer checker.

Problem
Any custom answer checker seems to be ignored.

Example
Consider the following draggable proof (see attached file for a MWE):

$proof = DraggableProof( [ "$$1 \leq 2$$", "$$2 \leq 3$$", "The relation $$\leq$$ is transitive", "$$1 \leq 3$$", ], [ "irrelevant statement" ]); To demonstrate this behaviour, I tried to write an answer checker which will mark any submission correct. I have tried: ANS($proof->cmp( checker=>sub {    my ($correct,$student,$ans) = @_; return 1; })); and, using answerCustom.pl I also tried: ANS(custom_cmp("0",sub { my ($correct,$student,$ans) = @_;              return 1;   }, sameClass=>0, sameLength=>0));
In both cases, only the answer specified in the definition of  \$proof is marked correct. Additionally, things like Value->Error("Message"); don't in these custom answer checkers.

Other things I have tried
• Using the "InferenceMatrix" option of DraggableProof, however this doesn't seem to be right for my purposes.
• I am considering modifying and using a custom version of the file draggableProof.pl, but I am not sure where the answer checking is occurring in that file and so I don't know where to make the changes I need.