Log of /trunk/webwork2/lib/WeBWorK/PG.pm
Parent Directory
Revision
3973 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jan 25 23:13:56 2006 UTC (7 years, 3 months ago) by
sh002i
File length: 13428 byte(s)
Diff to
previous 3377
,
to
selected 1703
forward-port from rel-2-2-dev: (update copyright date range -- 2000-2006.
this is probably overkill, since there are some files that were created
after 2000 and some files that were last modified before 2006.)
Revision
3377 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Jul 14 13:15:27 2005 UTC (7 years, 10 months ago) by
glarose
File length: 13427 byte(s)
Diff to
previous 3355
,
to
selected 1703
Preliminary commit of changes to add Gateway module.
This adds to WeBWorK
- the ability to create versioned, timed problem sets ("gateway tests")
for which all problems are displayed on a single page ("versioned"
means that students can get multiple versions of the problem set),
- the ability to create sets that draw problems from groups of
problems, and
- the ability to create sets that require a proctor login to start
and grade.
Sets can be defined as gateway tests or proctored gateway tests from
the ProblemSetDetail page.
Not quite bug-free yet. Known bugs include handling of problem values
on the Student Progress page (I think this may be a problem with
changing from sql database format where all entries were 'text' to
sql_single in ver 2.1, where they are integer), and a division by zero
error on the grades page (which may be the same problem).
Tests with a number of attempts per version greater than one haven't
been carefully tested, nor has scoring of gateway tests.
Revision
3224 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat May 14 01:32:19 2005 UTC (8 years ago) by
dpvc
File length: 13446 byte(s)
Diff to
previous 2983
,
to
selected 1703
Changes needed to make loadMacros() look through a path of directories
rather than just course/templates/macros and pg/macros. You can
specify the path in the global.conf file.
You also need to make the update to pg/macros/dangerousMacros.pl
Revision
2983 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Nov 3 22:00:10 2004 UTC (8 years, 6 months ago) by
dpvc
File length: 13421 byte(s)
Diff to
previous 2776
,
to
selected 1703
Added ability to control the "Missing TeX Fonts" message generated by
jsMath. There are now two parameters in global.conf that control the
message. You can set
$pg{displayModeOptions}{jsMath}{reportMissingFonts}
to 0 if you want no font messages, and you can set
$pg{displayModeOptions}{jsMath}{missingFontMessage}
to a string that should be issued when the fonts are missing. This
can be an HTML string, so you can include a link to the jsMath font
page, as the current message does. The message will be set in a <DIV>
of class NoFontMessage, so the style attributes can be controled in
the content-generators template file.
Revision
2699 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sat Aug 28 13:56:54 2004 UTC (8 years, 8 months ago) by
dpvc
File length: 13239 byte(s)
Diff to
previous 2440
,
to
selected 1703
Improved error message reporting in PG and in the main WeBWorK
dispatcher. If an error is trapped by the main dispatcher, it now
prints a complete stack trace for the error.
Note that the PG error reporting also requires an update to the pg
tree as well, so be sure you update both trees.
Revision
1703 -
(
view)
(
download)
(
as text)
(
annotate)
-
[selected]
Modified
Mon Jan 5 01:02:41 2004 UTC (9 years, 4 months ago) by
sh002i
File length: 12302 byte(s)
Diff to
previous 1663
removed lingering references to "webwork-modperl", since we're calling
this product "webwork2" now. soon we should change the name of the CVS
module to "webwork2" as well.
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: 12235 byte(s)
Diff to
previous 1557
,
to
selected 1703
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
1154 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 13 02:30:45 2003 UTC (9 years, 11 months ago) by
sh002i
File length: 20640 byte(s)
Diff to
previous 1144
,
to
selected 1703
Rewrote ImageGenerator to work with WeBWorK2. Its arguments are now
passed in via an options hash instead of getting a whole %envir. Also,
the options are passed to the constructor and there is no initialize()
method. add() has the same interface, and render() has been changed
slightly. (This closes Bug #80!)
To make this work with 1.8, take a look at how I'm creating
ImageGenerator in &WeBWorK::PG::defineProblemEnvironment and make the
necessary modifications to processProblem8.pl.
I made changes to WeBWorK::PG to have "images" mode trigger HTML_dpng
rather than HTML_img, and also to create an ImageGenerator before
initializing and call render() after translation.
Also in PG, I shortened the names of the equation image files. They're
now "equation-$PSVN-$probnum-$seed.png". This has the added benefit of
forcing image regeneration if the problem seed changes, closing Bug
#70.
Equation files are now dumped directly into the $courseDirs{HTML_temp}
directory. This means that no one has to worry about whether "m2i"
exists any more.
global.conf.dist was changed to not include the switches to dvipng on
the command line (they're currently hardcoded into ImageGenerator).
I still have to get this to work with dvipng 0.3. I should also take
advantages of 0.3's new features, like pipelining (using the -follow
switch) and specifying the output file name (to avoid the "move" of
resulting images).
This is MUCH FASTER than the way I was calling dvipng, and I think it's
safe to say that it's a better method. Thanks JJ!
-sam
Revision
1098 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Jun 9 23:32:25 2003 UTC (9 years, 11 months ago) by
gage
File length: 19383 byte(s)
Diff to
previous 1081
,
to
selected 1703
Environment variables added for
PRINT_FILE_NAMES_FOR
CAPA_Tools
CAPA_MCTools
CAPA_Graphics_URL
CAPA_GraphicsDirectory
These are all set in the anonymous hash
$pg{specialPGEnvironmentVars} = {
PRINT_FILE_NAMES_FOR =>
['gage','apizer','voloshin','lr003k','professor'],
CAPA_Tools =>
"$courseDirs{macros}/CAPA_Tools/",
CAPA_MCTools =>
"$courseDirs{macros}/CAPA_MCTools/",
CAPA_Graphics_URL =>
"$courseDirs{html}/CAPA_Graphics/",
CAPA_GraphicsDirectory =>
"$courseDirs{html}CAPA_Graphics/",
};
set in global.conf or in course.conf
--Mike
Revision
927 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 28 03:31:28 2003 UTC (9 years, 11 months ago) by
gage
File length: 18812 byte(s)
Diff to
previous 919
,
to
selected 1703
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
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: 18997 byte(s)
Diff to
previous 684
,
to
selected 1703
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
608 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 25 22:16:01 2002 UTC (10 years, 6 months ago) by
sh002i
File length: 18329 byte(s)
Diff to
previous 607
,
to
selected 1703
added $courseEnv->{pg}->{options}->{catchWarnings} to control if PG
warnings are caught and stored in the self hash, or uncaught and
spit out on stderr (or error_log or whatever).
-sam
Revision
607 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Oct 25 20:56:49 2002 UTC (10 years, 6 months ago) by
sh002i
File length: 18182 byte(s)
Diff to
previous 562
,
to
selected 1703
re-formatted &alias (in dangerousMacros) so that it's more readable.
mostly just made sure indentations where correct and tabs and spaces
were used where apprropriate.
-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: 18168 byte(s)
Diff to
previous 558
,
to
selected 1703
- 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: 17555 byte(s)
Diff to
previous 555
,
to
selected 1703
* 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, 9 months ago) by
sh002i
File length: 17147 byte(s)
Diff to
previous 476
,
to
selected 1703
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: 16483 byte(s)
Diff to
previous 455
,
to
selected 1703
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: 16117 byte(s)
Diff to
previous 440
,
to
selected 1703
"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: 10227 byte(s)
Diff to
previous 433
,
to
selected 1703
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
433 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 19 02:41:25 2002 UTC (10 years, 10 months ago) by
sh002i
File length: 10228 byte(s)
Diff to
previous 431
,
to
selected 1703
added HTML_img display mode. it currently generates image files using
math2img (which in turn uses latex, dvips and pstoimg (which in turn
uses gs, netpbm, and possibly otheres)). doesn't do any cacheing...
which means it's s--l--o--w. but it works.
-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: 9834 byte(s)
Diff to
previous 415
,
to
selected 1703
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
414 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Tue Jun 25 20:33:13 2002 UTC (10 years, 11 months ago) by
sh002i
File length: 6895 byte(s)
Diff
to
selected 1703
created PG::init_translator, which takes care of bootstrapping a
PG::Translator object. It is very sexy on the outside, and very hairy on
the inside.
-sam
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.