Log of /trunk/webwork-modperl/lib/WeBWorK/ContentGenerator/Problem.pm
Parent Directory
Revision
1980 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 28 15:51:25 2004 UTC (9 years ago) by
gage
File length: 37004 byte(s)
Diff to
previous 1956
,
to
selected 429
Added code to give message when an edited problem file cannot be saved.
Some of the problems reported in bug #152 are addressed.
Instituting a submit result field was not done.
Revision
1775 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Feb 4 00:32:12 2004 UTC (9 years, 3 months ago) by
gage
File length: 36851 byte(s)
Diff to
previous 1744
,
to
selected 429
Made changes at line 552 which check that the original student answer has actually been
defined. This should be guaranteed by the answer evaluators but ........
Revision
1744 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jan 23 21:46:37 2004 UTC (9 years, 3 months ago) by
gage
File length: 36563 byte(s)
Diff to
previous 1738
,
to
selected 429
Make sure that if one message is reported for answers then all
messages are reported (even if some of the messages are blank).
This was clearly a typo in the original code where a decision was
made on $answerMessages instead of $showAnswers.
This fixes bug #370
Revision
1663 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Dec 9 01:12:32 2003 UTC (9 years, 5 months ago) by
sh002i
File length: 36433 byte(s)
Diff to
previous 1636
,
to
selected 429
Normalized headers. All files now contain the text below as a header.
This is important since all files now (a) use the full name of the
package, (b) assign copyright to "The WeBWorK Project", (c) give the
full path of the file (relative to CVSROOT) instead of simply the file
name, and (d) include license and warranty information.
Here is the new header:
################################################################################
# WeBWorK Online Homework Delivery System
# Copyright © 2000-2003 The WeBWorK Projcct, http://openwebwork.sf.net/
# $CVSHeader$
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of either: (a) the GNU General Public License as published by the
# Free Software Foundation; either version 2, or (at your option) any later
# version, or (b) the "Artistic License" which comes with this package.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See either the GNU General Public License or the
# Artistic License for more details.
################################################################################
Revision
1591 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Oct 18 20:46:01 2003 UTC (9 years, 7 months ago) by
gage
File length: 34815 byte(s)
Diff to
previous 1582
,
to
selected 429
Fixed problem in logic which kept an edited problem from reading the
.tmp file when the answer was submitted. Now the editMode variable
and sourceFilePath variables are passed on as hidden variables by
Problem.pm if they exists in the input form. This fixes bug #179
as well as bug #109.
The temporary file is now labeled fileName.pg.user.tmp where user is
the login name of the person editing the file. If that file exists
then pgProblemEditor will attempt to use that as a source file.
The revert button forces a read from fileName.pg
--Mike
Revision
1582 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Oct 12 19:31:36 2003 UTC (9 years, 7 months ago) by
gage
File length: 34463 byte(s)
Diff to
previous 1539
,
to
selected 429
Fixes bug #254. The showHints check box will not be shown unless
the number of incorrect attempts is greater than or equal to the
value of showHints.
The showHints checkbox now appears in red (and in a new <div> which
means a new paragraph on some browsers) This helps alert a student that
a hint is now available.
--Mike
Revision
1539 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Sep 27 16:44:53 2003 UTC (9 years, 7 months ago) by
gage
File length: 34335 byte(s)
Diff to
previous 1536
,
to
selected 429
When recording answers the answer strings are now obtained directly from the original
formField entries, rather than from the processed version in the answer hashes.
This insures that the memorized answers will be identical with the ones that would
have been submitted from the form.
This is important for answers with multiple values which are represented by
null separated strings. The answer evaluation process converts these strings
to references to arrays, and -- in order to have good display properties -- the
original_student_answer slot in the AnswerHash contains a representation such as
( 4, 5, 6).
This is NOT suitable for resubmitting as an answer in a form field and is therefore not the
right thing to store in the data base when saving answers.
--MIke
Revision
1507 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 19 02:17:48 2003 UTC (9 years, 8 months ago) by
gage
File length: 34100 byte(s)
Diff to
previous 1499
,
to
selected 429
Changed logic of what is shown about answers when
"submit Answers" and "check Answers" are clicked.
In particular you can't see the answers responses at
all unless one of these two or "preview answers" is cliced.
Hopefully this will not upset preflight uses.
-- Mike
Revision
1499 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 11 00:05:25 2003 UTC (9 years, 8 months ago) by
gage
File length: 33423 byte(s)
Diff to
previous 1496
,
to
selected 429
Submit answer button is now hidden when you are acting to prevent
accidental submission of data for a student. The checkAnswer button
is still active.
--Mike
Revision
1495 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 9 02:56:49 2003 UTC (9 years, 8 months ago) by
gage
File length: 32500 byte(s)
Diff to
previous 1480
,
to
selected 429
Added logic to show the checkAnswer button when you are
a professor or TA acting as a student. This allows you
to check the answer without recording results. (I think)
--MIke
Revision
1480 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 5 03:25:29 2003 UTC (9 years, 8 months ago) by
gage
File length: 31825 byte(s)
Diff to
previous 1479
,
to
selected 429
Added a kludge which, if $showPartialCorrectAnswers is negative, will not show
the answer field at all until the "showCorrectanswers" button is checked.
For students this also must be after the due date.
--Mike
Revision
1479 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 5 03:09:14 2003 UTC (9 years, 8 months ago) by
gage
File length: 31641 byte(s)
Diff to
previous 1471
,
to
selected 429
Fixed messages after the answer box so that it doesn't give away
how many answers were correct. Fixes bug #176.
Removed some hidden inputs from the main form that were making it
impossible to uncheck "show correct answers" (and probably doing
the same for show hints and show solutions.)
--Mike
Revision
1467 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Aug 16 00:48:12 2003 UTC (9 years, 9 months ago) by
gage
File length: 31303 byte(s)
Diff to
previous 1466
,
to
selected 429
Moved show hints and show solutions to
spots just above the submit buttons. This
is closer to the old webwork style and I
think it is more appropriate. Particularly
since these options are sticky only as long
as you stay on the same problem
Revision
1440 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 25 20:47:22 2003 UTC (9 years, 9 months ago) by
gage
File length: 31291 byte(s)
Diff to
previous 1426
,
to
selected 429
Don't show both check answers and submit answers button at the same time.
If the submit answers button can be shown then the check answers button
is not shown.
--Mike
Revision
1395 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 15 19:36:25 2003 UTC (9 years, 10 months ago) by
gage
File length: 31226 byte(s)
Diff to
previous 1387
,
to
selected 429
Added ShowAnswers.pm module which reads the log file of the students answers
Modifications to WeBWorK (dispatcher) and Problem (the Show Past Answer button
had to be redirected) were also made.
--Mike
Revision
1387 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jul 15 00:56:50 2003 UTC (9 years, 10 months ago) by
gage
File length: 31145 byte(s)
Diff to
previous 1378
,
to
selected 429
Changes made to make show Past answers work. Basically I duplicated
writeLog with writeCourseLog which writes to the courses log directory.
I also defined answer_log in that directory.
Revision
1197 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 18 16:35:22 2003 UTC (9 years, 11 months ago) by
sh002i
File length: 29798 byte(s)
Diff to
previous 1190
,
to
selected 429
cleaned up mike's editor support functionality. it now stores the source
file override and seed override in the $problem object. this eliminates
special logic further down the line. (eventually, i would like to have a
separate frontend to PG for the editor, like Instructor::PGPreview.pm)
Revision
1131 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 11 20:40:11 2003 UTC (9 years, 11 months ago) by
sh002i
File length: 29416 byte(s)
Diff to
previous 1128
,
to
selected 429
Made many changes:
- turned off PG warning catching in conf/global.conf.dist
- added warning reporting to conf/templates/ur.template (but not to
other templates!)
- modified a couple of error messages in WeBWorK.pm
- made failure to create course environment and failure to find course
directory fatal errors in WeBWorK.pm
- added warning queueing and call stack storing to Apache::WeBWorK
- added "warnings" and "if_warnings" template escapes to
WeBWorK::ContentGenerator
- removed warning handling from WeBWorK::ContentGenerator::Problem
- code tidying in WeBWorK::ContentGenerator::Problem
- code tidying in WeBWorK::PG::ImageGenerator
-sam
Revision
1040 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 6 12:54:41 2003 UTC (9 years, 11 months ago) by
gage
File length: 29546 byte(s)
Diff to
previous 1039
,
to
selected 429
Added a CGI::end_form() to the options section of Problem.pm.
I believe this is is the root cause of the multiple key parameters. I
haven't done all of the testing needed to verify this for sure.
Bug #50 is probably comotose, but needs to be watched.
--Mike
Revision
1039 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 6 02:28:13 2003 UTC (9 years, 11 months ago) by
gage
File length: 29509 byte(s)
Diff to
previous 1038
,
to
selected 429
replaced $r->param('key') with my $key = $r->param('key'); and then used $key in call
to PG. $r->param('key') was returning a two item list in list context. I don't know
where the extra entry into the key param was coming from.
This stuns bug #50, but doesn't kill it.
-- Mike
Revision
1007 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 4 03:04:07 2003 UTC (9 years, 11 months ago) by
gage
File length: 29394 byte(s)
Diff to
previous 1000
,
to
selected 429
Added a section to handle the case where the problem has not yet been
assigned to a user. This might occur when the problem template is
called form the problem editor before the sets have been assigned
to students. The problem is obtained as a global problem
then converted to a user_problem with default values. The problem
is not saved. This code should be reviewed to make sure there are no
hidden behaviors. Perhaps a group reading is in order once things
settle down. This squashes bug #34.
--Mike
Revision
1000 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 3 22:27:16 2003 UTC (9 years, 11 months ago) by
gage
File length: 28156 byte(s)
Diff to
previous 997
,
to
selected 429
The conversion of set and problem from global to global-user now works.
You will get "pink screen" errors for now because not all of the vaules
in problem have been given correct defaults.
I'll do that next.
--Mike
Revision
993 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 3 20:20:16 2003 UTC (9 years, 11 months ago) by
gage
File length: 27629 byte(s)
Diff to
previous 992
,
to
selected 429
Made small modifications to allow Problem.pm to read a problem that has
not yet been assigned.
TO DO (and I'll need help with this)
Convert a global set to a global user set (and the global problem to a
global user problem). I need to know how to specify the appropriate
classes.
Once we are guaranteed a record of the type returned by getGlobalUser
....
stuff missing defaults (e.g. psvn for set, and num_correct (answers) for
problem) in the newly created global_user record objects.(this part I
can do.)
At that point the rest of Problem.pm should be able to proceed as before
without any changes.
--Mike
Revision
983 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jun 3 17:48:35 2003 UTC (9 years, 11 months ago) by
malsyned
File length: 26522 byte(s)
Diff to
previous 942
,
to
selected 429
Changed explicit references to "/webwork" to the abstract
$ce->{webworkURLs}->{root}. If you've been hardcoding "/webwork" into
your URLs, you should take a look at the diff to this update to learn
the prefered method.
-Dennis
Revision
942 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 29 20:30:56 2003 UTC (9 years, 11 months ago) by
gage
File length: 26503 byte(s)
Diff to
previous 940
,
to
selected 429
Display options are now sticky (they are repeated as hidden options in the main problem body).
Changed name of submit button from redisplay to "save options"
fixes bug #27 at least to some extent.
these saved options may not persist from one problem to another. In order to solve that problem
we need a storage place for user options, or else many more hidden inputs to save state as one
moves from one request to another.
this fix will work for now.
-- Mike
Revision
940 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu May 29 20:02:35 2003 UTC (9 years, 11 months ago) by
gage
File length: 25964 byte(s)
Diff to
previous 939
,
to
selected 429
Added a new template hook "options" which allows one to reset the display options.
Modified viewOptions to conform to a "vertical" look for the radio buttons in the redisplay options.
Modified some of the labels for the same reason.
The horizontal spacing is a bit of kludge (I can't guarantee no line breaks for each of the radio button
labels). Using underbars instead of spaces in the labels would fix this, but...
--Mike
Revision
926 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 28 03:31:07 2003 UTC (9 years, 11 months ago) by
gage
File length: 25390 byte(s)
Diff to
previous 920
,
to
selected 429
Problem Editor now creates a temporary file to edit (
adding .tmp to the file name)
Refresh causes a redirect to the Problem.pm with a GET command.
Some of the arguments are unnecessary and need to be cleaned up.
The seed and display mode in the problem editor are not properly
initialized from the problem set.
Problem.pm has been modified to check for these arguments and to read
the temporary source file, seed and displayMode. These are passed
through to a PG.pm object.
PG also needed to be modified so that the source_file and seed values
are overridden.
Revision
809 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 17 21:30:57 2003 UTC (10 years, 1 month ago) by
sh002i
File length: 23329 byte(s)
Diff to
previous 795
,
to
selected 429
changed the name of the "courseEnvironment" field in the
ContentGenerator object to "ce", to match the style and conciesness of
the existing "r" and new "db" fields.
-sam
Revision
739 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Feb 21 20:49:49 2003 UTC (10 years, 2 months ago) by
sh002i
File length: 20845 byte(s)
Diff to
previous 738
,
to
selected 429
1. fixed some formatting in Problem
2. hardcopy allows correct answers, hints, solutions to be shown
3. privileged users are allowed to view/download "not yet open" sets
-sam
Revision
692 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Jan 7 21:19:38 2003 UTC (10 years, 4 months ago) by
sh002i
File length: 20484 byte(s)
Diff to
previous 685
,
to
selected 429
DONE effectiveUser for at least Problem.pm
DONE write a template escape for printing $user, $effectiveUser, &c. nicely
also added additional timing log points: timing is now logged:
1. when WeBWorK::PG::new starts
2. after all the initialization-type stuff happens
3. when WeBWorK::PG::new ends
Getting it to log the entire request time might be a little harder.
-sam
Revision
562 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 27 23:53:42 2002 UTC (10 years, 7 months ago) by
sh002i
File length: 16891 byte(s)
Diff to
previous 558
,
to
selected 429
- created macros/IO.pl, which is loaded with no opmask by PG.pm. It is a copy
of WeBWorK::PG::IO.pm, with some changes to make it work as a macro package.
The translator no longer shares IO.pm's functions with the safe compartment.
This is a BAD THING, and should be reconsidered when the Translator is
revised.
- Changed many (but not all) checks for HTML or HTML_tth modes to match /^HTML/
in the macros.
- changed &header to &head in Problem.pm
- Added problem environment variables for gif2eps and png2eps and modified
&dangerousMacros::alias to use them
- fixed MOST of the harmless warnings in the system. there's still the "Use
of uninitialized value in null operation" warning in template(), tho.
Still to come:
- make images in PDFs work
- fix TTH mode character encodings on mac (maybe)
- have logout button invalidate key
- Pretty die messages (from outside of the translator)
- Feedback - need nice modular way of sending email
- Options - email address and password
Revision
558 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 20 22:47:22 2002 UTC (10 years, 8 months ago) by
sh002i
File length: 16442 byte(s)
Diff to
previous 555
,
to
selected 429
* fixed multiple-calls-to-&handler problem
* fixed if-else-endif code in &template
* added code to catch warnings in PG evaluation
* added "pink screen" and warning reporting
* started work on logging code (see Utils.pm, commented out)
-sam & dennis
Revision
492 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Aug 21 15:34:35 2002 UTC (10 years, 8 months ago) by
sh002i
File length: 15561 byte(s)
Diff to
previous 476
,
to
selected 429
made progress towards working hardcopy generation. next, i have to fix
the call to pdflatex. screw pip. it's not working right, and it doesn't
give me any speed gain, since latex has to goofily write the WHOLE DAMN
FILE in whatever order it pleases before letting me have it.
-sam
Revision
476 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 20 01:07:18 2002 UTC (10 years, 9 months ago) by
sh002i
File length: 15440 byte(s)
Diff to
previous 455
,
to
selected 429
fixed problem with deciding when to generate images in math2img mode
finished adding template escapes to ProblemSets, ProblemSet, and Problem
fixed a problem where modules were removed from the courseEnv while
being loaded (whups.)
-sam
Revision
455 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Aug 5 21:34:18 2002 UTC (10 years, 9 months ago) by
sh002i
File length: 13658 byte(s)
Diff to
previous 449
,
to
selected 429
"normalized" files:
- (c) header on all files
- standard order of preamble lines:
1. (c) header
2. package PACKAGENAME;
3. short summary of the package (pod's NAME section)
4. use - pragmatic modules
5. use - standard perl modules
6. use - CPAN modules
7. use - webwork modules
- ALWAYS use strict and use warnings
- use "use base" rather than "our @ISA"
so now we can be happy.
-sam
Revision
434 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 19 06:19:34 2002 UTC (10 years, 10 months ago) by
sh002i
File length: 12471 byte(s)
Diff to
previous 431
,
to
selected 429
added refreshMath2img to the problem environment (PG.pm) and modified
Problem.pm to set it when showHints or showSolutions is on. THIS IS NOT
THE BEST THING TO DO -- we only need to refresh when the value of
showHints or showSolutions CHANGES. Also, we should be refreshing if the
problem seed changes. So, we need somewhere to store those three values
between invocations of the script. HHHHHMMMMMMMM......... &math2img in
dangerousMacros.pl has been modified to respect refreshMath2img and also
refresh if the image file is older than the PG source file.
-sam
Revision
429 -
(
view)
(
download)
(
as text)
(
annotate)
-
[selected]
Modified
Fri Jul 12 22:28:26 2002 UTC (10 years, 10 months ago) by
sh002i
File length: 10267 byte(s)
Diff to
previous 425
sticky answers work. ha HA!
-sam
Revision
424 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 11 19:09:08 2002 UTC (10 years, 10 months ago) by
sh002i
File length: 4132 byte(s)
Diff to
previous 415
,
to
selected 429
Problem.pm/PG.pm/Translator.pm now compile and work (to some degree)
changed the format of pg/modules in global.conf
diddled with the format of system.template (i believe i moved an <HR>)
added ref2string function to Utils.pm, removed hash2string/array2string
fixed a package name in IO.pm
Revision
396 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 20 20:43:39 2002 UTC (10 years, 11 months ago) by
malsyned
File length: 25083 byte(s)
Diff to
previous 392
,
to
selected 429
Some edits to make it work on my system, and some code cleanups. You'll
probably have to edit it on the top (right now) to get it to work on your
system. /this will change/ in the future. But it's nice to have a working
demo.
--Dennis
Revision
392 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jun 20 13:46:05 2002 UTC (10 years, 11 months ago) by
gage
File length: 24881 byte(s)
Diff to
previous 388
,
to
selected 429
Problem.pm now works (kindof) to serve PG problems. There are configuration
variables at the top that have to be customized to an individuals directory.
(They could be placed in a config file to avoid having to update them constantly,
but soon these values should be set by information from the course and
problem environments.)
The code is still rather delicate. It seems to work with some problems and not
with others. I suspect that the macro files are not being properly read in
and that perhaps the warning mechanisms are not yet working properly.
Also beware the line ending problem. Some of these files were created on a
mac (using unix). I've had completely mysterious errors that were fixed
by checking the line endings.
There is also a lot of code, particulary the error reporting code which should be put
in its own module.
Revision
388 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 19 20:03:53 2002 UTC (10 years, 11 months ago) by
gage
File length: 6707 byte(s)
Diff to
previous 353
,
to
selected 429
I've added code for defining the problemEnvironment, at least for now.
Many of the values which will be pulled from the database have simply
been hardcoded into the subroutine.
There is also code to pretty print these values to aid in debugging.
Revision
353 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Fri Jun 7 23:35:59 2002 UTC (10 years, 11 months ago) by
malsyned
File length: 531 byte(s)
Diff
to
selected 429
All of the content generators now work with the template system
Moved the content generators into the WeBWorK::ContentGenerator namespace
Added the default template and a few global.conf entries
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.