[system] / trunk Repository:
ViewVC logotype

Log of /trunk

View Directory Listing Directory Listing


Sticky Revision:

Revision 3756 - Directory Listing
Modified Sat Nov 12 00:34:33 2005 UTC (14 years, 3 months ago) by dpvc
Updated a comment to make it more accurate.

Revision 3755 - Directory Listing
Modified Sat Nov 12 00:31:22 2005 UTC (14 years, 3 months ago) by dpvc
Make had the right idea, but used the wrong context (or what might be
the wrong context in some circumstances).

Revision 3754 - Directory Listing
Modified Sat Nov 12 00:30:31 2005 UTC (14 years, 3 months ago) by dpvc
Roll back Mike's change, since this can cause unwanted error messages
in list comparisons and other situations where the equality check
could compare different types of objects (for example) or where the
comparison could legitimately fail.  We only want to report errors
here when the user-supplied checker code fails.

This change would cause errors to be reported, for example, when the
user (incorrectly) entered a vector one time and then a formula
(correctly) the next time.  When the previous answer is checked against
the current one, this change would report an error rather than
silently ignoring the error, as it should.

Revision 3753 - Directory Listing
Modified Sat Nov 12 00:13:03 2005 UTC (14 years, 3 months ago) by gage
Changes to code checking whether the previous answer is equivalent to the current answer.
In this module additional code was answer to check for errors in the overloaded ==
in case the two Values can't be compared.

In PGanswermacros.pl the filter which handles "parse_previous_answer"
was modified to make sure the context is the same in the previous answer and the current answer.

Revision 3752 - Directory Listing
Modified Sat Nov 12 00:12:54 2005 UTC (14 years, 3 months ago) by gage
Changes to code checking whether the previous answer is equivalent to the current answer.
In this module additional code was answer to check for errors in the overloaded ==
in case the two Values can't be compared.

In PGanswermacros.pl the filter which handles "parse_previous_answer"
was modified to make sure the context is the same in the previous answer and the current answer.

Revision 3751 - Directory Listing
Modified Thu Nov 10 16:12:07 2005 UTC (14 years, 3 months ago) by gage
Create the [HTML_TMP]/hardcopy directory if it doesn't exist.  This is something of
a hack done in Hardcopy.pm at the moment.  I think this should be moved over
to makeTempDirectory in Utils, but that would require more checking than I can
do right at the moment.

-- Mike

Revision 3750 - Directory Listing
Modified Tue Nov 8 20:47:12 2005 UTC (14 years, 3 months ago) by sh002i
this commit fixes quite possible the stupidest thing i've ever done.
wondering where messages like this

	$GlobalSets[1] (ID Sec9.2ParametricEq) not defined -- skipping
	at /ww/webwork/webwork2/lib/WeBWorK/ContentGenerator/Hardcopy.pm
	line 286.

were coming from?
the answer is:

	$GlobalSets[1] = undef;

which is a line i put in there for testing and never removed. i am very
sorry. :-(

Revision 3749 - Directory Listing
Modified Tue Nov 8 20:24:08 2005 UTC (14 years, 3 months ago) by sh002i
fix error message for undefined global sets to print array index instead
of "$i".

Revision 3748 - Directory Listing
Modified Mon Nov 7 21:30:46 2005 UTC (14 years, 3 months ago) by sh002i
don't override loginstatus/links (they can handle not being logged in
now). also, stop using CGI::Pretty.

Revision 3747 - Directory Listing
Modified Mon Nov 7 21:30:21 2005 UTC (14 years, 3 months ago) by sh002i
don't override loginstatus/links (they can handle not being logged in
now)

Revision 3746 - Directory Listing
Modified Mon Nov 7 21:29:27 2005 UTC (14 years, 3 months ago) by sh002i
clear Authen.pm's verify cache upon logout, don't overload if_loggedin()
or links() anymore.

Revision 3745 - Directory Listing
Modified Mon Nov 7 21:28:17 2005 UTC (14 years, 3 months ago) by sh002i
allow links() and loginstatus() to operate properly even if no user is
logged in. uses new method was_verified() in Authen.pm. also, stop using
CGI::Pretty, for speed and download size.

Revision 3744 - Directory Listing
Modified Mon Nov 7 21:21:01 2005 UTC (14 years, 3 months ago) by sh002i
stop using CGI::Pretty, for speed and output size.

Revision 3743 - Directory Listing
Modified Mon Nov 7 21:18:37 2005 UTC (14 years, 3 months ago) by sh002i
store authenticator in $r.

Revision 3742 - Directory Listing
Modified Mon Nov 7 21:18:13 2005 UTC (14 years, 3 months ago) by sh002i
add slot for WeBWorK::Authen object. we can use it for checking login
status.

Revision 3741 - Directory Listing
Modified Mon Nov 7 21:17:41 2005 UTC (14 years, 3 months ago) by sh002i
add caching of verify() result, reorganize file, add docs.

Revision 3740 - Directory Listing
Modified Mon Nov 7 21:16:42 2005 UTC (14 years, 3 months ago) by sh002i
updated "test" template for debugging. all current template escapes are
now represented, and their output is surrounded by visible DIVs. much
more useful now. ;)

Revision 3739 - Directory Listing
Modified Mon Nov 7 21:15:20 2005 UTC (14 years, 3 months ago) by sh002i
slight tweak to stylesheet to correct placement of loginstatus message
regardless of whether it uses a <DIV> or a <SPAN>.

Revision 3738 - Directory Listing
Modified Thu Nov 3 04:18:21 2005 UTC (14 years, 3 months ago) by sh002i
fixed code to filter out undefined sets, improved error reporting when
that happens.

Revision 3737 - Directory Listing
Modified Wed Nov 2 18:58:15 2005 UTC (14 years, 3 months ago) by sh002i
removed unmaintained templates

Revision 3736 - Directory Listing
Modified Tue Nov 1 01:51:32 2005 UTC (14 years, 3 months ago) by gage
Added rudimentary link to report problems directly.  It does this by constructing a link
to the bugzilla CGI that includes information on the file name of the problem and the library
in which the problem is stored.  This is probably still pretty fragile.  A separate
module could be constructed to more intelligently report bugs.

-- Mike

Revision 3735 - Directory Listing
Modified Mon Oct 31 21:19:40 2005 UTC (14 years, 3 months ago) by apizer
Create an anonymous unique identifier for
questionnaires in WW 2 by using
$setNumber$courseName$psvnNumber in place of
$psvnNumber.

Revision 3734 - Directory Listing
Modified Wed Oct 26 16:46:04 2005 UTC (14 years, 3 months ago) by sh002i
cleaned up error reporting for status methods. if arguments are not
defined and non-empty, a warning is given (using "carp") and an
undefined value is returned.

Revision 3733 - Directory Listing
Modified Wed Oct 26 16:40:32 2005 UTC (14 years, 3 months ago) by sh002i
possible fix for problem when status_abbrev_has_behavior is used with an
abbrev that doesn't map to any status.

Revision 3732 - Directory Listing
Modified Wed Oct 26 16:31:33 2005 UTC (14 years, 3 months ago) by sh002i
more debugging

Revision 3731 - Directory Listing
Modified Wed Oct 26 16:24:35 2005 UTC (14 years, 3 months ago) by sh002i
typos...whoops...

Revision 3730 - Directory Listing
Modified Wed Oct 26 16:24:00 2005 UTC (14 years, 3 months ago) by sh002i
made code for filtering guest users a little more clear.

Revision 3729 - Directory Listing
Modified Wed Oct 26 16:21:54 2005 UTC (14 years, 3 months ago) by sh002i
changed erorrs to warnings for the time being.

Revision 3728 - Directory Listing
Modified Wed Oct 26 16:18:35 2005 UTC (14 years, 3 months ago) by sh002i
only check status behaviors for guest users that have a defined status.
apparently, status can still sometimes be empty.

Revision 3727 - Directory Listing
Modified Wed Oct 26 15:51:15 2005 UTC (14 years, 3 months ago) by sh002i
added error checking to ensure that arguments to status lookup methods
are defined.

Revision 3726 - Directory Listing
Modified Tue Oct 25 20:34:19 2005 UTC (14 years, 3 months ago) by gage
Fixed bug #870 so that setHeaders can be viewed and edited.

Revision 3725 - Directory Listing
Modified Sat Oct 22 04:30:03 2005 UTC (14 years, 4 months ago) by dpvc
Updated to jsMath v2.3b.  See the jsMath website for the change log
for this version.

Revision 3724 - Directory Listing
Modified Thu Oct 20 19:40:43 2005 UTC (14 years, 4 months ago) by gage
Fixed an error where files of type 'source_path_for_problem_file' were
not redirected in the save_handler

Revision 3723 - Directory Listing
Modified Thu Oct 20 00:57:19 2005 UTC (14 years, 4 months ago) by dpvc
A new parser object that handles popup menus.  Mainly this is so that
you can use them with the MultiPart object, which requires all the
objects to be Value objects.  See the comments in the file for
documentation and examples.

Revision 3722 - Directory Listing
Modified Wed Oct 19 01:49:17 2005 UTC (14 years, 4 months ago) by gage
Corrected misspelling

Revision 3721 - Directory Listing
Modified Mon Oct 17 17:36:29 2005 UTC (14 years, 4 months ago) by sh002i
rearrange addition, deletion, change-saving, and "mark correct" code.
Order is now:

- save changes to existing problems
- mark specified problems correct
- delete specified problems
- add blank problem

This ensures consistencey if multiple operations are performed at once,
and also prevents the values set in the new problem from being
overwritten with empty values when changes to existing problems are
saved.

Revision 3720 - Directory Listing
Modified Mon Oct 17 14:01:00 2005 UTC (14 years, 4 months ago) by gage
Changed wording on link.

Revision 3719 - Directory Listing
Modified Mon Oct 17 13:58:07 2005 UTC (14 years, 4 months ago) by gage
Improved handling of case where a blank_problem is asked for in PGProblemEditor.pm
Also improved the random names for new local problems

Added ability to create a new blank problem in ProblemSetDetail.pm (without going to the PGProblemEditor.pm)
however something is not yet working when this problem record is saved.

 Sam -- could you look at
lines near 679 to see what the problem is?  There is a FIXME note there.   I suspect that the addProblemToSet
routine is failing somehow, but there is no error message.  Many of the record fields are not filled out --
including the sourceFile path and the number of attempts.  The same snippet of code works fine
in PGProblemEditor.pm

--Mike

Revision 3718 - Directory Listing
Modified Mon Oct 17 03:42:42 2005 UTC (14 years, 4 months ago) by gage
Refactored much of the action in PGProblemEditor.pm  This allows a user inteface
which mimics the interface for the Hmwk sets editor and for the Classlist editor.

It also allows all of the temporary edit files to be placed in one location.
This allows one to "temporarily" edit a library file to try to see what is wrong with it.

It is also now much easier to make a local copy of a library file for your current problem set
so that you can tweak it.

It has been fairly well tested by one person (me) but there may still be bugs.

-- Mike

Revision 3717 - Directory Listing
Modified Mon Oct 17 03:37:36 2005 UTC (14 years, 4 months ago) by gage
Added support for a directory for temporary edit files  default:  templates/tmpEdit

Revision 3716 - Directory Listing
Modified Sun Oct 16 03:37:17 2005 UTC (14 years, 4 months ago) by dpvc
In the past, when Value objects were inserted into strings, they would
automatically include parentheses so that if you had $f equal to 1+x
and $g equal to 1-x, then Formula("$f/$g") would mean (1+x)/(1-x)
rather than 1+(x/1)-x, which is what would happen as a straing string
substitution.

The problem is that this would also happen for real numbers, vectors,
and everything else, even when it wasn't necessary.  So if $x=Real(3),
then "Let x = $x" would be "Let x = (3)".

I have changed the behavior of the string concatenation for Value
objects so that parentheses are only added in a few cases: for
Formulas, Complex numbers, and Unions.  This makes the other Value
objects work more like regular variables in strings, but might cause
some problems with strings that are used as formulas.  For example, if
$a = Real(-3), then "x + 2 $a" will become "x + 2 -3", or "x-1" rather
than the expected "x - 6".  (The old approach would have made it "x +
2 (-3)" which would have worked properly).  For the most part, it is
easier to use something like "x + 2*$a" or even "x" + 2*$a in this
case, so the extra trouble of having to avoid parentheses when you
really meant to substitute the value into a string didn't seem worth
it.

Revision 3715 - Directory Listing
Modified Sun Oct 16 03:27:35 2005 UTC (14 years, 4 months ago) by dpvc
Added a new experimental diagonstic function for the function answer
checker.  When enabled, it will produce graphs of the correct answer,
the student answer, and the absolute and relative errors, and will
list the data points used in the comparison, plus the numerical values
of the results and errors.

To enable the diagnostic, use

   ANS(fun_cmp($f,diagnostics=>1));

Note that only single-variable functions can be graphed at the moment,
so if you are using a multi-variable check, you need to disable the
graphing.  To do this use

   ANS(fun_cmp($f,vars=>['x','y'],diagnostics=>[showGraphs=>0]));

The diagnostic mode is only available for the Parser-based versions of
the function checker, and (of course) with the native Parser objects
as well:

   ANS(Formula($f)->cmp(diagnostics=>1));

There are now Context settings to control the diagnostics, which can
be set through Context()->diagnostics->set().  For example

   Context()->diagnostics->set(formulas=>{showGraphs=>0});

would turn off graphs for all functions comparisons.  Some of the
other values you can set are:

   formulas => {
     showTestPoints => 1,        # show the test points and function values
     showRelativeErrors => 1,    # show the relative errors for the student answer
     showAbsoluteErrors => 1,    # show the absolute errors for the student answer
     showGraphs => 1,            # show the various graphs
     graphRelativeErrors => 1,   #  show the relative error graph
     graphAbsoluteErrors => 1,   #  show the absolute error graph
     clipRelativeError => 5,     #  don't show relative errors above 5
     clipAbsoluteError => 5,     #  don't show absolute errors above 5
     plotTestPoints => 1,        #  include dots at the test points
     combineGraphs => 1,         #  show correct and student graphs in one image
   },
   graphs => {
     divisions => 75,       # the number of data points to plot
     limits => [-2,2],      # the lower and upper limit of the plot
                            #  (taken from the function limits if not provided)
     size => 250,           # pixel size of the image (could be [width,height])
     grid => [10,10],       # number of grid lines in each direction
     axes => [0,0],         # where to put axes relative to origin
   }

Any of these can be set in the Context(), or in the answer checker
itself.  If you set diagnostics to an array reference, the entries in
the array refer to element of the formulas hash.  If you set
diagonstics to a hash reference, then you can set values in either the
formulas or graphs hashes, as in:

   ANS(Formula($f)->cmp(diagnostics=>{
     formulas => {showAbsoluteErrors=>0},
     graphs => {size=>300, divisions=>100},
   }));

If you want all function checkers to show diagnostics, use

   Context()->diagonstics->set(formulas=>{show=>1});

The image file names are modified to include the current time so that
the names will be unique.  This avoids problems with the browser cache
showing a old image when a new one has been generated.  But this also
means that the temporary image directory will fill up fast, so you may
need to empty it if you use the diagnostic images frequently.

This is just a first attempt at a diagnostic feature.  I think it will
help when you are not sure if the tolerances are set properly, or if
you think a student answer should be markes correct but isn't, as it
will point out which point(s) are not being accepted.

Revision 3714 - Directory Listing
Modified Sun Oct 16 02:44:34 2005 UTC (14 years, 4 months ago) by dpvc
Modified context data objects to provide a copy method so that the
various types of data can copy themselves (and can provide a more
comprehensive copy if necessary).

Revision 3713 - Directory Listing
Modified Fri Oct 14 23:33:58 2005 UTC (14 years, 4 months ago) by dpvc
Let Parser object's cmp(debug=>1) option set the debug feature of the
answer evaluator.

Revision 3712 - Directory Listing
Modified Fri Oct 14 21:19:59 2005 UTC (14 years, 4 months ago) by sh002i
added "height: 10em; overflow: auto;" for div.Siblings fixing bug #581.

Revision 3711 - Directory Listing
Modified Fri Oct 14 19:10:04 2005 UTC (14 years, 4 months ago) by sh002i
show first pdflatex error (bug #850), HTML escaping.

- generate_hardcopy_pdf() now reports the first error encountered in
  hardcopy.log in the list of errors.
- variables substituted into errors strings are now displayed inside
  <code>..</code> tags, and their values are escpaed with CGI/pm's
  escapeHTML() function.

Revision 3710 - Directory Listing
Modified Tue Oct 11 22:44:49 2005 UTC (14 years, 4 months ago) by sh002i
eliminate undefined value usage in unformatDateTime, fixing bug #826.
also factored out error reporting into unformatDateTime_error and
improved formatting slightly.

Revision 3709 - Directory Listing
Modified Tue Oct 11 22:06:34 2005 UTC (14 years, 4 months ago) by sh002i
added sorting of set definition files, fixing bug #809.
also added no_chdir=>1 flag to File::Find::find and modified
$get_set_defs_wanted accordingly.

Revision 3708 - Directory Listing
Modified Tue Oct 11 21:13:26 2005 UTC (14 years, 4 months ago) by sh002i
added check to ensure that permission level is numeric, fixing bug #822.

Revision 3707 - Directory Listing
Modified Tue Oct 11 21:04:08 2005 UTC (14 years, 4 months ago) by sh002i
added $default_permission_level

Revision 3706 - Directory Listing
Modified Tue Oct 11 20:45:36 2005 UTC (14 years, 4 months ago) by sh002i
don't show "act as" link unless the user is actually allowed to.

Revision 3705 - Directory Listing
Modified Tue Oct 11 20:44:59 2005 UTC (14 years, 4 months ago) by sh002i
stop redirecting to Login when user is not allowed to "act as". Instead,
throw an exception.

Revision 3704 - Directory Listing
Modified Tue Oct 11 17:59:30 2005 UTC (14 years, 4 months ago) by jj
Added syntactic sugar for pop_up_lists.

A common situation is that a problem includes a short multiple-choice question along with other answers.  Often, these questions are written as fill-in-the-blank where the student is told a list of legal words to put in the blanks.  The idea is to make it as simple as possible for problem writers to replace the fill-in-the-blank with a drop-down list of alternatives.

So, now the text of a problem can contain

 is the function increasing on [0,1]? \{ pop_up_list(['?', 'yes', 'no']) \}

instead of

 is the function increasing on [0,1]? \{ pop_up_list('?' => '?', 'yes' => 'yes', 'no' => 'no') \}

The result is checked with something like

 ANS(str_cmp('yes'));

Existing problems are unaffected since the added syntax uses a reference to a list (the extra square brackets).

Revision 3703 - Directory Listing
Modified Mon Oct 10 23:47:26 2005 UTC (14 years, 4 months ago) by dpvc
Add a new context flag that controls how the student answer should be
displayed.  The formatStudentAnswer flag can be set to 'evaluated'
(the default), which shows the final numeric answer; 'parsed', which
shows the fully parsed version (including extra parentheses for
clarity); or 'reduced', which performs constant operations, but
doesn't perform function evaluations or named-constant substitutions.

For example, if the student answers 1+2+sqrt(3), then 'evaluated' will
produce  4.73205, 'reduced' will show 3+sqrt(3), and 'parsed' will
show 1+2+sqrt(3).

Revision 3702 - Directory Listing
Modified Mon Oct 10 23:41:05 2005 UTC (14 years, 4 months ago) by dpvc
If constant functions are not being reduced, don't mark the function
call as constant (since otherwise it might be evaluated later accidentally).

Revision 3701 - Directory Listing
Modified Mon Oct 10 22:36:54 2005 UTC (14 years, 4 months ago) by sh002i
putting site_info back in htdocs. see bug #832.

Revision 3700 - Directory Listing
Modified Mon Oct 10 22:34:18 2005 UTC (14 years, 4 months ago) by sh002i
make sure there are answer blanks before printing \begin{itemize}. fixes
bug #859.

Revision 3699 - Directory Listing
Modified Mon Oct 10 22:18:01 2005 UTC (14 years, 4 months ago) by sh002i
added full_name and rfc822_mailbox methods for convenience.

Revision 3698 - Directory Listing
Modified Mon Oct 10 22:17:27 2005 UTC (14 years, 4 months ago) by sh002i
added names to From: and To: email addresses, if users have names
defined. noted in global.conf.dist that feedbackRecipients can include
user names.

Revision 3697 - Directory Listing
Modified Mon Oct 10 22:02:22 2005 UTC (14 years, 4 months ago) by sh002i
fix for bug #832 -- default site_info.txt is blank and in correct place.

Revision 3696 - Directory Listing
Modified Mon Oct 10 12:37:13 2005 UTC (14 years, 4 months ago) by dpvc
Fixed a bug where correct_ans could not be overridden in the cmp()
method for Lists.

Revision 3695 - Directory Listing
Modified Sat Oct 8 22:20:49 2005 UTC (14 years, 4 months ago) by sh002i
fix for bug 815 "Emphasize set name on the Assign users to Set page (set
detail page)"

Revision 3694 - Directory Listing
Modified Sat Oct 8 22:13:26 2005 UTC (14 years, 4 months ago) by sh002i
added check for $total==0 to eliminate potential DIV error (bug #855)

Revision 3693 - Directory Listing
Modified Sat Oct 8 22:07:39 2005 UTC (14 years, 4 months ago) by sh002i
disallow login of "dropped" practice users (bug #387). also don't show
Guest Login button if there are no "dropped" practice users.

Revision 3692 - Directory Listing
Modified Sat Oct 8 22:02:39 2005 UTC (14 years, 4 months ago) by sh002i
fixed typo.

Revision 3691 - Directory Listing
Modified Sat Oct 8 21:56:46 2005 UTC (14 years, 4 months ago) by sh002i
added "include_in_email" behavior to Enrolled and Audit statuses.

Revision 3690 - Directory Listing
Modified Sat Oct 8 21:55:41 2005 UTC (14 years, 4 months ago) by sh002i
modify usage of user status to take advantage of new status system. the
most extensive change is in UserList, where the names of statuses are
now shown in the status column along with the abbreviation that's
actually set in the database, and the edit popup shows the actual names
that are defined in global.conf.

Revision 3689 - Directory Listing
Modified Fri Oct 7 02:38:41 2005 UTC (14 years, 4 months ago) by dpvc
Corrected a problem with contexts not being reset properly after
num_cmp or fun_cmp.

Revision 3688 - Directory Listing
Modified Wed Oct 5 18:16:52 2005 UTC (14 years, 4 months ago) by sh002i
Implemented status system as per bug #743.

The status system consists of a new hash in the course environment,
%statuses, that maps status names (like "Enrolled", "Drop", "Audit") to
(a) a list of allowed abbreviations for the status and (b) a list of
behaviors the system should have when dealing with users who have the
status.

I didn't want to have to mangle that hash-of-hashes-of-arrays myself in
many modules, but I also didn't want to devote an entire module
(Status.pm) to it. So, I'm trying a little experiment: I've added them
as methods to WeBWorK::CourseEnvironment. My thinkint is that since all
the data for these operations comes from the course environment, so why
not have them be course environment methods? Here they are:

    status_abbrev_to_name($status_abbrev)
        Given the abbreviation for a status, return the name. Returns undef
        if the abbreviation is not found.

    status_name_to_abbrevs($status_name)
        Returns the list of abbreviations for a given status. Returns an
        empty list if the status is not found.

    status_has_behavior($status_name, $behavior)
        Return true if $status_name lists $behavior.

    status_abbrev_has_behavior($status_abbrev, $behavior)
        Return true if the status abbreviated by $status_abbrev lists
        $behavior.

Since I removed the previous $siteDefaults{status} hash from
global.conf, I have already switched modules that formerly used that
hash over to using the new methods:

Authen.pm: use status_abbrev_has_behavior($status, "allow_course_access")
to determine if a user should be allowed to log in.

Feedback.pm: look up status abbreviation using status_abbrev_to_name()
and print the result for the status field in the email.

Instructor.pm: use status_abbrev_has_behavior($status, "include_in_assignment")
to determine if a user should be included in an assignment.

UserList.pm and UsersAssignedToSet.pm: use status_abbrev_to_name() to
get name of CSS class.

Revision 3687 - Directory Listing
Modified Mon Oct 3 04:45:37 2005 UTC (14 years, 4 months ago) by jj
Added e-mail feedback verbosity to config area.

Revision 3686 - Directory Listing
Modified Mon Oct 3 04:32:08 2005 UTC (14 years, 4 months ago) by jj
Added email subject line to config variable.

Revision 3685 - Directory Listing
Modified Mon Oct 3 04:29:56 2005 UTC (14 years, 4 months ago) by jj
Allow basic types to specify the width of their input fields, and changed the handling of the long doc strings.  The long string is no longer sent as a parameter where it might be truncated.

Revision 3684 - Directory Listing
Modified Mon Oct 3 00:52:02 2005 UTC (14 years, 4 months ago) by jj
Made a little more html use CGI::* methods.

Revision 3683 - Directory Listing
Modified Sun Oct 2 20:40:30 2005 UTC (14 years, 4 months ago) by jj
Added some todo items, and fixed minor bug with the minimum number of
displayModes (it was supposed to be a variable).

Revision 3682 - Directory Listing
Modified Sun Oct 2 19:51:45 2005 UTC (14 years, 4 months ago) by jj
New Config module.  It will put its course settings in a file simple.conf
along side course.conf.  Changes are:

  URLPath.pm: wiring so the Config module can be called

  ContentGenerator.pm: link in left panel to Config module

  CourseEnvironment.pm: evaluate simple.conf.  File name can be specified
    when creating a new CourseEnvironment.  This allows it to be bypassed
    (which is currently used), or to test a simple settings file (not
    used now, but it might be useful).

  Constants.pm: all data about configuration is stored here.  New values
    can just be added here, unless they are a new type.

  Config.pm: new module for limited course configuration.

Note, it might be better to move the new variable in Constants.pm to
another file.  Committing changes to Constants.pm can be an extra
hassle since it contains some site specific configuration.

Revision 3681 - Directory Listing
Modified Sun Oct 2 19:44:44 2005 UTC (14 years, 4 months ago) by jj
Add location/name of simple configuration file.  It is written by the Config module.

Revision 3680 - Directory Listing
Modified Sun Oct 2 12:13:16 2005 UTC (14 years, 4 months ago) by dpvc
Removed unneeded "my" for a varaible that is already local.

Revision 3679 - Directory Listing
Modified Sat Oct 1 01:17:24 2005 UTC (14 years, 4 months ago) by dpvc
Major update to allow ImplicitPlane objects to be created
automatically by the Parser when it sees equal signs.  This makes it
possible to use ImplicitPlanes in Lists.  (Before, when the List was
turned into a Formula returning a List, the equality became a plane
old equality rather than an ImplicitPlane object.)

This is a bit of a hack for now until I can make List and other Value
objects be allowed to have Formulas as their entries rather than turn
into Formulas returning Lists (or whatever type).

Revision 3678 - Directory Listing
Modified Sat Oct 1 01:13:27 2005 UTC (14 years, 4 months ago) by dpvc
Handle the names of entries in Lists and Formulas returning lists
better.  Also do better typechecking on these lists.  Finally, allow
better typechecking for String objects that are being used when a
Formula answer is allowed.

Revision 3677 - Directory Listing
Modified Sat Oct 1 01:10:27 2005 UTC (14 years, 4 months ago) by dpvc
Allow context to override object class used to create formula objects
(so that things like ImplicitPlane can create instances of themselves
automatically when needed).

This mechanism needs to be enlarged to encompass the other Value
object classes as well (like the Context()->{parser}{...} hash).

The real problem is that the List object probably shouldn't create a
formula returning a list when it is passed formulas, since there
really isn't much need for a formula returning a list to be
autogenerated (you can create one by hand using Formula if needed).

Right now, ALL the Value objects make themselves into Formulas when
one of their entries is a formula.  For example, Point(1,"x") produces
the same thing as Formula("(1,x)"), and List(1,"x") is the same as
Formula("1,x").  This is good for points, but not so good for lists.
And it might sometimes be nice to have a Vector of Formulas, or a
Matrix with Formula entries (rather than Formulas returning Vectors or
Matrices).  But this would require some serious changes internally in
the Value objects, which make assumptions about their values being
constant.  Changing that will be for another day...

Revision 3676 - Directory Listing
Modified Sat Oct 1 00:59:06 2005 UTC (14 years, 4 months ago) by dpvc
Correctly create Formula returning List when a list has formula
entries.

Revision 3675 - Directory Listing
Modified Fri Sep 30 19:36:57 2005 UTC (14 years, 4 months ago) by sh002i
added manage_course_files activity. changed FileManger to use new
activity. added hasPermissions() checks to Index and Contentgenerator to
only show File Manger when user has permission.

Revision 3674 - Directory Listing
Modified Fri Sep 30 19:32:17 2005 UTC (14 years, 4 months ago) by sh002i
fix error reporting for include() function.

Revision 3673 - Directory Listing
Modified Fri Sep 30 19:31:35 2005 UTC (14 years, 4 months ago) by sh002i
give user an error message if they can't act as another user.
see bug #846.

Revision 3672 - Directory Listing
Modified Fri Sep 30 19:16:52 2005 UTC (14 years, 4 months ago) by sh002i
modifications to support changes to global.conf.dist adding %userRoles
hash and changing the meaning of values in %permissionLevels.

Authz will now look up the role obtained from %permissionLevels in the
%userRoles hash, and compare the resulting number with the user's
permission level.

Revision 3671 - Directory Listing
Modified Fri Sep 30 19:15:26 2005 UTC (14 years, 4 months ago) by sh002i
implemented named roles for permissions system. %userRoles maps role
names to numeric permission levels, and %permissionLevels now maps
activities* to role names. A slight change to Authz.pm accompanies this
change to do the role-to-permission-level lookups.

* a.k.a. operations, privilegespermissions, gotta get the terminology
straight. think of the users!

%userRoles should be used by modules such as UserList for providing more
intelligent editing of the permission_level field. Another possible use
would be to for pretty-printing user types -- a user could be called a
student, ta, professor, etc. based on what role corresponded to their
permission_level.

Revision 3670 - Directory Listing
Modified Thu Sep 29 22:08:43 2005 UTC (14 years, 4 months ago) by dpvc
Only add the 'dx' variable if it isn't already in the context.

Revision 3669 - Directory Listing
Modified Thu Sep 29 22:02:07 2005 UTC (14 years, 4 months ago) by dpvc
Fixed a problem with the automatic upgrading of object classes for
when Value objects are subclassed but are not entered into the
precedence list.

Revision 3668 - Directory Listing
Modified Thu Sep 29 17:41:09 2005 UTC (14 years, 4 months ago) by apizer
Improve the label on submit button in single user mode.

Revision 3667 - Directory Listing
Modified Thu Sep 29 01:57:56 2005 UTC (14 years, 4 months ago) by gage
Allow making a local copy of a library problem with a single button push.

The user interface is still cluttered.  I think I'll rewrite the bottom button rows
using radio buttons and a 'Take action' submit button as on the Classlist and Homework set editor
pages.

Revision 3666 - Directory Listing
Modified Thu Sep 29 01:25:20 2005 UTC (14 years, 4 months ago) by gage
Simplified the interface for users (who can only download one set at a time and can only download one user).
It could be made slightly more general -- it currently implicitly assumes that either one can edit both
multiple sets and multiple users or one can edit only a single user and a single set.

Removed an error in the [edit] link when there is an error.  The anchor HTML tags were wrapped two layers deep
around the reference.

Can probably still use some more tweaks in the interface.

-- Mike

Revision 3665 - Directory Listing
Modified Wed Sep 28 23:26:06 2005 UTC (14 years, 4 months ago) by gage
Changed the wording of the initial course.conf file.

Revision 3664 - Directory Listing
Modified Wed Sep 28 23:24:15 2005 UTC (14 years, 4 months ago) by gage
Formatting change for readability

Revision 3663 - Directory Listing
Modified Wed Sep 28 21:46:26 2005 UTC (14 years, 4 months ago) by sh002i
fixed problem with `!' in set IDs, improved error reporting.

the `!' poblem was caused by passing UserSets to ScrollingRecordList
instead of passing GlobalSets. UserSets have a two-part key (user ID and
set ID), and ScrollingRecordList concatenates them with a `!' to create
the value names. This is a desireable behavior, but not one that I
remembered. Whoops.

Revision 3662 - Directory Listing
Modified Wed Sep 28 20:40:20 2005 UTC (14 years, 4 months ago) by dpvc
Fixed a bug where if you specified a variable other than dx, the
division by zero check didn't work properly.

Revision 3661 - Directory Listing
Modified Wed Sep 28 11:11:29 2005 UTC (14 years, 4 months ago) by dpvc
Fixed typo in comments.

Revision 3660 - Directory Listing
Modified Wed Sep 28 01:07:59 2005 UTC (14 years, 4 months ago) by apizer
Make email addresses active on the classlist page just as they are on
the student progress page.

Revision 3659 - Directory Listing
Modified Tue Sep 27 23:32:41 2005 UTC (14 years, 4 months ago) by sh002i
set a default value for hardcopy_format if it's not given.

Revision 3658 - Directory Listing
Modified Tue Sep 27 21:46:50 2005 UTC (14 years, 4 months ago) by sh002i
pointless confusion, while humorous, is not good for maintainability.

Revision 3657 - Directory Listing
Modified Tue Sep 27 21:44:01 2005 UTC (14 years, 4 months ago) by sh002i
formatting

Revision 3656 - Directory Listing
Modified Tue Sep 27 03:58:06 2005 UTC (14 years, 4 months ago) by sh002i
percent sign snuck in there oops

Revision 3655 - Directory Listing
Modified Mon Sep 26 04:11:25 2005 UTC (14 years, 4 months ago) by gage
Changed the numerical values of lbf to make it more accurate (assuming that lbf is an abbreviation for ft-lbs which I doubt).

Also replaced the conversion factor for pounds with a more accurate figure.

Revision 3654 - Directory Listing
Modified Sat Sep 24 02:38:19 2005 UTC (14 years, 4 months ago) by dpvc
Updated to be able to handle empty anwswer blanks.  There is a new
parameter for the MultiPart object (allowBlankAnswers) that controls
whether the checker routine will be called even when there are blank
entries (normally, the checker is not called unless all the entries
are non-blank).  Use

  $mp = MultiPart(1,2)->with(checkTypes=>0,allowBlankAnswers=>0);

to have the checker routine called when answers are left blank.

You can now also include blank answers in the list itself:

  $mp = MultiPart(1,2,"");

(there is no need to include allowBlankAnswers in this case, because
the blank string will take care of itself.

Revision 3653 - Directory Listing
Modified Sat Sep 24 00:51:58 2005 UTC (14 years, 4 months ago) by dpvc
Prevent empty answers that are marked as correct from being counted as
unanswered blanks.  This avoids the "all the above are correct/at
least one of the above are NOT correct" problem, and suppresses the "n
questions remain unanswered" message when the empty questions are
counted as correct.

Revision 3652 - Directory Listing
Modified Sat Sep 24 00:47:30 2005 UTC (14 years, 4 months ago) by dpvc
Added ability to have answers that are empty strings.  String("") now
will produce a valid string object regardless of the Context's defined
string values.  (You can prevent this using

       Context()->flags->set(allowEmptyStrings=>0);

if you wish).  String("")->cmp will produce an answer checker for an
empty string (it removes the blank checker that WW installs).

Revision 3651 - Directory Listing
Modified Fri Sep 23 23:31:15 2005 UTC (14 years, 4 months ago) by sh002i
added download_hardcopy_format_pdf permission, set to $guest. This
allows professors to turn off hardcopy altogether by setting all the
download_hardcopy_format_* permissions to undef. Also change the default
permisisonLevel for $guest to -5, to match the permissionLevels for the
practiceUsers in defaultClasslist.lst. (It was supposed to be -5 all
along.)

Revision 3650 - Directory Listing
Modified Fri Sep 23 23:27:03 2005 UTC (14 years, 4 months ago) by sh002i
Use new hardcopy param names.

Revision 3649 - Directory Listing
Modified Fri Sep 23 23:26:35 2005 UTC (14 years, 4 months ago) by sh002i
Extensive refactor/rewrite.

There are probably going to be bugs here that we squished in the old
version of Hardcopy, but it seems to be pretty robust after an evening
of testing. Alert me if you see problems.

Features:

* standard ScrollingRecordLists are used for user and set selection.
* TeX source is written incrementally instead of being accumulated in
  memory.
* arguments to shell commands are now quoted using String::ShellQuote
* modular design allows adding additional formats easily (i.e. dvi, ps)
* error reporting code is simplified.
* if errors/warnings occur, user will see them on screen instead of
  getting the hardcopy file.
* on the error screen, user can click to get (possibly broken) hardcopy
  if it exists.
* on the error screen, user can click to get interesting temporary
  files. (for PDF format these are hardcopy.{tex,log,aux} and
  pdflatex.std{out,err}.)
* on the error screen, if an error concerns a particular problem, an
  "edit problem" link is included.
* probably more stuff i'm forgetting

Revision 3648 - Directory Listing
Modified Thu Sep 22 18:58:12 2005 UTC (14 years, 5 months ago) by sh002i
changed label for context URL to "Click this link to see the page from
which the user sent feedback".

Revision 3647 - Directory Listing
Modified Thu Sep 22 18:45:40 2005 UTC (14 years, 5 months ago) by sh002i
restrict dates to < 10 years in the future -- see bug #829.

Revision 3646 - Directory Listing
Modified Thu Sep 22 18:06:52 2005 UTC (14 years, 5 months ago) by sh002i
since the subject line can be changed now, email filters would be wise
to rely on something more static. i've added X-WeBWorK-* headers to
accomodate this:

  X-WeBWorK-Module
  X-WeBWorK-Course
  X-WeBWorK-User
  X-WeBWorK-Section
  X-WeBWorK-Recitation
  X-WeBWorK-Set
  X-WeBWorK-Problem

Revision 3645 - Directory Listing
Modified Thu Sep 22 17:48:38 2005 UTC (14 years, 5 months ago) by sh002i
implement customizable feedback subject line. The following escape
sequences are recognized:

  %c = course ID
  %u = user ID
  %s = set ID
  %p = problem ID
  %x = section
  %r = recitation
  %% = literal percent sign

Revision 3644 - Directory Listing
Modified Thu Sep 22 14:11:33 2005 UTC (14 years, 5 months ago) by apizer
Add section and recitation to feedback subject line as per Gavin's
suggestion.

Revision 3643 - Directory Listing
Modified Wed Sep 21 20:26:29 2005 UTC (14 years, 5 months ago) by apizer
fixed small typo

Revision 3642 - Directory Listing
Modified Wed Sep 21 18:25:52 2005 UTC (14 years, 5 months ago) by sh002i
added "use WeBWorK::Debug" to allow debug() statements to work.

Revision 3641 - Directory Listing
Modified Tue Sep 20 23:42:22 2005 UTC (14 years, 5 months ago) by dpvc
Fixed a problem with reporting the directories where files with given
types should be uploaded.

Revision 3640 - Directory Listing
Modified Mon Sep 19 17:11:26 2005 UTC (14 years, 5 months ago) by jj
Fix bug 819.  This adds a method to DB for getting all merged problems
for a (student,set) combination so that the problem value can be
correct.  See bug 819 for additional comments on how this affects
scoring when an individual student is given an override value for
"weight".

Revision 3639 - Directory Listing
Modified Mon Sep 19 16:25:41 2005 UTC (14 years, 5 months ago) by sh002i
added nice custom formatting routines for user/set/problem data:

  * uses "yes" and "no" for true/false values
  * formats dates
  * uses "unlimited" for -1 max_attempts
  * uses pretty names for the status
  * decodes the answer string
  * lines up output

Revision 3638 - Directory Listing
Modified Mon Sep 19 00:58:35 2005 UTC (14 years, 5 months ago) by dpvc
Fixed bug where str_cmp("0") was changing the correct answer to "",
making it impossible to get correct.

Revision 3637 - Directory Listing
Modified Mon Sep 19 00:16:24 2005 UTC (14 years, 5 months ago) by dpvc
Prevent the empty list from having open and close be set to 'start'
(a value used internally).

Revision 3636 - Directory Listing
Modified Sat Sep 17 20:14:02 2005 UTC (14 years, 5 months ago) by gage
Expanded information in error messages.

Revision 3635 - Directory Listing
Modified Sat Sep 17 20:12:01 2005 UTC (14 years, 5 months ago) by gage
Added \usepackage{epstopdf}  on the suggestion of Frank Wolfs to the TeX header.

This allows the CAPA files to print pictures with pdflatex even though they
use .eps figures.

Revision 3634 - Directory Listing
Modified Sat Sep 17 16:32:43 2005 UTC (14 years, 5 months ago) by jj
Use underscore2nbsp from higher up module.  Hopefully this fixes bug
841.

Revision 3633 - Directory Listing
Modified Sat Sep 17 13:22:52 2005 UTC (14 years, 5 months ago) by dpvc
Don't allow wrapping in label for ans_array errors.

Revision 3632 - Directory Listing
Modified Sat Sep 17 13:22:19 2005 UTC (14 years, 5 months ago) by dpvc
Improved layout and labeling of error messages.

Revision 3631 - Directory Listing
Modified Sat Sep 17 13:02:24 2005 UTC (14 years, 5 months ago) by dpvc
The Parser answer checkers used to give the student answer as the
parsed but unevaluated answer.  This has been changed so that the
student answer is now the computed result, no the parsed answer.
The answer preview still shows the parsed equation.  This is more
consistent with the traditional answer checkers, and probably is more
valuable to the students.

Revision 3630 - Directory Listing
Modified Sat Sep 17 12:39:09 2005 UTC (14 years, 5 months ago) by dpvc
Better error messages for unreduced unions.

Revision 3629 - Directory Listing
Modified Sat Sep 17 12:25:38 2005 UTC (14 years, 5 months ago) by dpvc
Improved error message layout and labeling for when ans_array is used.

Revision 3628 - Directory Listing
Modified Sat Sep 17 12:22:25 2005 UTC (14 years, 5 months ago) by dpvc
Improved error messages for formulas returning infinity

Revision 3627 - Directory Listing
Modified Fri Sep 16 19:08:17 2005 UTC (14 years, 5 months ago) by sh002i
feedback is now sent to users with receive_feedback permission
regardless of the contents of the feedbackRecipients list in
global.conf. Comments in global.conf now read:

  By default, feeback is sent to all users who have permission to
  receive_feedback. If this list is non-empty, feedback is also sent to
  the addresses specified here.

  * If you want to disable feedback altogether, leave this empty and set
    submit_feeback => $nobody in %permissionLevels below. This will
    cause the feedback button to go away as well.

  * If you want to send email ONLY to addresses in this list, set
    receive_feedback => $nodoy in %permissionLevels below.

  It's often useful to set this in the course.conf to change the
  behavior of feedback for a specific course.

Revision 3626 - Directory Listing
Modified Fri Sep 16 18:50:50 2005 UTC (14 years, 5 months ago) by sh002i
use new feedbackMacro(), put "edit this problem" inside the problem DIV.

Revision 3625 - Directory Listing
Modified Fri Sep 16 18:50:17 2005 UTC (14 years, 5 months ago) by sh002i
use new feedbackMacro()

Revision 3624 - Directory Listing
Modified Fri Sep 16 18:49:08 2005 UTC (14 years, 5 months ago) by sh002i
added feedbackHelper to consolidate generation of feedback form.

Revision 3623 - Directory Listing
Modified Fri Sep 16 18:47:42 2005 UTC (14 years, 5 months ago) by sh002i
allow printing of error message upfront when there are no recipients.

Revision 3622 - Directory Listing
Modified Fri Sep 16 17:58:47 2005 UTC (14 years, 5 months ago) by sh002i
cosmetic changes (blank lines, comments, ordering)

Revision 3621 - Directory Listing
Modified Thu Sep 15 20:24:44 2005 UTC (14 years, 5 months ago) by gage
Modifications to the directions for archiving courses.

Revision 3620 - Directory Listing
Modified Thu Sep 15 14:26:35 2005 UTC (14 years, 5 months ago) by dpvc
Bring jsMath up to version 2.1d, which fixes a number of small bugs,
including:

  o There was a problem with image fonts where the cached data about
    the size of the images was not being checked properly, so was
    recomputed every time a character was displayed. The cache is now
    properly handled, so that should speed up image mode.

  o Fixed a bug where loading extra fonts while in image mode would
    cause the data about previously loaded image fonts to be lost.

  o Fixed a bug with "Hi-Res Fonts for Printing" where the fonts where
    incorrectly scaled so that they appear far too small. (This worked
    in an early beta version of jsMath v2, but apparently hasn't
    worked properly in any production version.)

  o Fixed a long-standing bug where horizontal lines are only
    displayed in black, not in the color specified by \color (or by a
    style from the surrounding text).

  o Fixed a similar bug with \rule so that it now produces a box with
    the color of the surrounding text.

  o Dimensions can now be enclosed in braces (for example, \rule can
    be \rule{10pt}{5pt}{3pt} as well as \rule 10pt 5pt 3pt).

  o Fixed a bug where extra space was inserted in some equations for
    browsers that don't allow absolute positioning within an in-line
    element (e.g., Opera).

Revision 3619 - Directory Listing
Modified Wed Sep 14 23:44:52 2005 UTC (14 years, 5 months ago) by gage
Hide the "important message" text unless there is actually a message in site_info.txt

Revision 3618 - Directory Listing
Modified Tue Sep 13 18:00:13 2005 UTC (14 years, 5 months ago) by apizer
In hardcopy, a TeX file download has to have the extension .tex, not .pdf

Revision 3617 - Directory Listing
Modified Tue Sep 13 17:08:46 2005 UTC (14 years, 5 months ago) by apizer
Change back to  $mail{smtpServer}  = 'mail.yourschool.edu';

Revision 3616 - Directory Listing
Modified Tue Sep 13 16:24:21 2005 UTC (14 years, 5 months ago) by dpvc
Fixed problem with recognizing MINF in NUM_CMP.

Revision 3615 - Directory Listing
Modified Tue Sep 13 14:07:32 2005 UTC (14 years, 5 months ago) by dpvc
The ORIGINAL_NUM_CMP was calling str_cmp as a code reference rather
than as the more modern AnswerEvaluator object.  This causes error
messages when string answers were used.  It now uses the evaluate()
method of the AnswerEvaluator.

Revision 3614 - Directory Listing
Modified Tue Sep 13 01:24:36 2005 UTC (14 years, 5 months ago) by gage
Add clarification to error message for surePathToFile

Revision 3613 - Directory Listing
Modified Mon Sep 12 23:28:37 2005 UTC (14 years, 5 months ago) by dpvc
Fixed an error where scalar() was used on a hash ref.
Fixed a misfeature where operations on formulas could return Value
objects of other classes; they should always return formulas, even
when the formula is constant.

Revision 3612 - Directory Listing
Modified Mon Sep 12 20:26:01 2005 UTC (14 years, 5 months ago) by dpvc
Avoid undefined value of $name.

Revision 3611 - Directory Listing
Modified Sat Sep 10 18:21:46 2005 UTC (14 years, 5 months ago) by gage
Restored changes that were accidentally clobbered
when the gateway changes were checked in.

Email now uses post processing to email students.

Revision 3610 - Directory Listing
Modified Fri Sep 9 20:52:03 2005 UTC (14 years, 5 months ago) by gage
Fixed some documentation comments.

Revision 3609 - Directory Listing
Modified Fri Sep 9 20:51:21 2005 UTC (14 years, 5 months ago) by gage
Fixed a bug in which, if the Hardcopy call was the first one to
need to create the  directory at (e.g.)  /ww/htdocs/tmp/myCourse
then the creation of myCourse would fail.  If /ww/htdocs/tmp/myCourse/gif already
existed things would go fine.

I think that more has to be done here.  We need to look at how myCourse is
created when storing a gif or html is the first action and handle these
all the same.  One of the difficulties is that the tmp directory might
be located anywhere -- it is not guaranteed to be under /ww/webwork/webwork2/htdocs
-- at least as we have defined it at the moment.

Revision 3608 - Directory Listing
Modified Thu Sep 8 17:52:51 2005 UTC (14 years, 5 months ago) by gage
Display the information in site_info.txt on the webwork2 homepage as
well
as on login pages.

Revision 3607 - Directory Listing
Modified Thu Sep 8 02:54:48 2005 UTC (14 years, 5 months ago) by dpvc
Sam changed open(LOG,...) to open(my $log, ...), but didn't change the
usages of LOG to $log, so the show answers page was always reporting
no past answers available.  Now the values are being shown.  (I'm not
sure why it is necessary to make a local variable for LOG, but
at least it works now.)

Revision 3606 - Directory Listing
Modified Wed Sep 7 20:57:52 2005 UTC (14 years, 5 months ago) by sh002i
string2hash will now handle strings with newlines, fixing GDBM.

Revision 3605 - Directory Listing
Modified Wed Sep 7 18:02:06 2005 UTC (14 years, 5 months ago) by sh002i
disable newlines every 76 characters in base64-encoded answers. this is
nice for examining database contents manually since it prevents newlines
from being introduced into database records.

Revision 3604 - Directory Listing
Modified Wed Sep 7 01:18:00 2005 UTC (14 years, 5 months ago) by gage
Typographic clean up of global.conf.dist

Revision 3603 - Directory Listing
Modified Wed Sep 7 01:10:58 2005 UTC (14 years, 5 months ago) by dpvc
Added support for cplx_cmp() using the Parser.  Move
lib/Parser/Legacy/PGcomplexmacros.pl to the pg/macros directory to use
it.  As with the other legacy macros, $useOldAnswerMacros can be
controlled to determine whether the new or the old macros are used.

There is a new mode 'strict_cartesian' that is parallel to
'strict_polar'.  You must enter a+bi form, but the a and b can have
operations within them.

Revision 3602 - Directory Listing
Modified Wed Sep 7 01:06:13 2005 UTC (14 years, 5 months ago) by dpvc
Added "strict" versions of the limited complex contexts that don't
allow operations within the real and imaginary parts.  Also cleaned up
some of the code and fixed a few situations that had been missed
before.

Note that in strict mode, e^(pi i) is accepted, but e^(pi/2 i) is
not.  Should that be changed?  It would be possible to make a context
in which a*e^(b*pi/c i) is accepted.

Revision 3601 - Directory Listing
Modified Tue Sep 6 21:02:05 2005 UTC (14 years, 5 months ago) by dpvc
Movified the copying of functions from Complex1:: into main:: to avoid
conflicts with the PGcommonFunctions.pl versions (these errors were
trapped, but still show up in the error log unnecessarily).

Also commented out some code that was not doing anything other than
producing error messages in the error log.  (It was left over from a
syntax check on the professor's answer, but the actual check was
removed, leaving a portion that tries to process the answer, but
usually fails (because things like "1+4i" need to be converted to
"1+4*i" before they can be used in PG_answer_eval, but that was not
being done).

Because of this, it is not possible currently to do cplx_cmp("1+4i"),
and instead you must to cplx_cmp(new Complex(1,4)).

To fix this, you would need to call check_syntax (and the other
filters that are called on the student's answer) before calling
PG_answer_eval.  Of course, you should only do this when the
professor's answer isn't already a Complex object.

I am going to work on a Legacy module like the ones for num_cmp and
fun_cmp to replace cplx_cmp, which should avoid these problems and
make the changes suggested above unnecessary.

Revision 3600 - Directory Listing
Modified Tue Sep 6 18:55:20 2005 UTC (14 years, 5 months ago) by apizer
transparent (lower case t) is not valid with dvipng 1.2. I changed the note
and went back to Transparent in the default.

Revision 3599 - Directory Listing
Modified Tue Sep 6 14:18:28 2005 UTC (14 years, 5 months ago) by sh002i
uh, hasPermissions() is a method, so it actually gets 3 arguments. print
the arguments received as part of the error message. TESTED THIS TIME!

Revision 3598 - Directory Listing
Modified Tue Sep 6 14:17:44 2005 UTC (14 years, 5 months ago) by sh002i
call hasPermissions() with two arguments (it doesn't use the eUserID
anyway.

Revision 3597 - Directory Listing
Modified Mon Sep 5 23:43:38 2005 UTC (14 years, 5 months ago) by sh002i
fix for security aspect of bug #715 -- reject calls with @_ != 2.

Revision 3596 - Directory Listing
Modified Fri Sep 2 22:29:59 2005 UTC (14 years, 5 months ago) by dpvc
Fixed error in atan2 where second argument was not promoted to a Real.

Revision 3595 - Directory Listing
Modified Fri Sep 2 00:06:21 2005 UTC (14 years, 5 months ago) by jj
Fixed bug in use of advanced display panel which prevented it from displaying
problems.  Default values like "All Textbooks" needed to be cleared so it
wouldn't be mistaken for actual textbook names.

Revision 3594 - Directory Listing
Modified Thu Sep 1 01:10:35 2005 UTC (14 years, 5 months ago) by dpvc
Implemented Mike's suggestion of combining a directory upward only
when the directory contains one pg file and the name of the file is
the same as the name of the directory containing it.  I have removed
the condition that there need to be other (non-pg) files in the
directory, as the check takes time, and is no longer necessary.

Revision 3593 - Directory Listing
Modified Tue Aug 30 16:36:16 2005 UTC (14 years, 5 months ago) by apizer
Change arguments passed to dvipng

Revision 3592 - Directory Listing
Modified Tue Aug 30 13:11:49 2005 UTC (14 years, 5 months ago) by sh002i
fixed error message when answer log does not exist

Revision 3591 - Directory Listing
Modified Tue Aug 30 12:21:36 2005 UTC (14 years, 5 months ago) by dpvc
The perl method for UOP and BOP now put spaces around the operator, to
prevent Perl from thinking that things like -e is a file test and
*Parser::Function->call is a name reference.  (Some of these had been
done by hand earlier, but now the base BOP and UOP classes handle it,
so we should not have problems in the future).  I removed the ad hoc
fixes from several other locations (Parser/Function.pm,
Parser/Context/Default.pm).

Also extended the operator definitions to allow operators to create
function-call syntax in perl mode (for when the operator doesn't
correspond to a perl operator).

Revision 3590 - Directory Listing
Modified Tue Aug 30 05:49:59 2005 UTC (14 years, 5 months ago) by jj
Fixes bug in add where blank values were being turned into 0 by mysql for columns of type integer.  The analogous change was previously made to put.  This bug showed up when renumbering problems in ProblemSetDetail (e.g., renumbering) when a set was already assigned to users.

Revision 3589 - Directory Listing
Modified Tue Aug 30 00:44:53 2005 UTC (14 years, 5 months ago) by dpvc
Added the ability to put class-specific answer-checker defaults into
the Context object.  For example,

    Context("Vector")->{cmpDefaults}{Vector}{promotePoints} = 1;

would make all Vector answer checkers include promotePoints=>1
automatically.  (Note however that if a subclass of Vector is used, it
will not get this defaults, since its class name would be different.
Perhaps something more sophisticated will be needed in the future.)

Revision 3588 - Directory Listing
Modified Tue Aug 30 00:41:34 2005 UTC (14 years, 5 months ago) by dpvc
Added a parserCustomization.pl file that is loaded whenever the
Parser.pl file is.  This can be used on a course-by-course basis to
customize features of the Parser.  Some examples are listed in the
file.

You need to be VERY careful when doing this, as this will affect ALL
problems that use the Parser.  Your changes may cause some .pg files
to fail if they rely on the default behavior that you are changing.

If you wish to override settings in one of the predefined contexts
(like "Vector"), then define $context{Vector} as a copy of
$Parser::Context::Default::context{Vector}, as in the commented out
examples.  Then Context("Vector") will use your copy rather than the
original.  If you were to change the version in
Parser::Context::Default, that would change the parser for ALL
courses, not just yours.

Revision 3587 - Directory Listing
Modified Tue Aug 30 00:36:55 2005 UTC (14 years, 5 months ago) by dpvc
Added a Point context that is a copy of the Vector context.  This will
allow users to override some settings in Vector context (namely, how
they are entered and displayed) without preventing users from being
able to enter points (in Point context).

Revision 3586 - Directory Listing
Modified Mon Aug 29 22:58:13 2005 UTC (14 years, 5 months ago) by gage
Removed unused variable.
Fixed an incorrect error message.

Revision 3585 - Directory Listing
Modified Mon Aug 29 22:56:07 2005 UTC (14 years, 5 months ago) by gage
Corrected a mistake in a debugging message.

Revision 3584 - Directory Listing
Modified Sun Aug 28 23:09:27 2005 UTC (14 years, 5 months ago) by jj
Fixed a bug where a set named "0" would not be sticky in the Target Set
list (because it looked kind of like an empty/undefined name).

Revision 3583 - Directory Listing
Modified Sun Aug 28 20:54:51 2005 UTC (14 years, 5 months ago) by jj
Allow use of an activity log which logs every click, stored on a
per-course basis.  It is turned off by default.  It can be turned
on/off for individual courses.  The three pieces here:

  global.conf.dist: adds a place to define the log file.  Here an
    empty value signals to not do this logging.

  ContentGenerator.pm: check to see if the log file is defined (and
    (non-trivial), and if so, write a log entry.  We check if it is
    defined at this point to both save some time, and because if we
    get to writeCourseLog and the log isn't defined, we get a pink
    screen.

    The bulk of the text of the log entry is performed by a new method
    prepare_activity_entry.  By default, this gives the url, and a list
    of all the cgi parameters (except for key and passwd).  This method
    can be overridden by individual modules.  The default format may
    change.  It may take some fine tuning to see what is best.

    Also, this is one of the first functions called by go.  We may want
    it to go after the action has taken place if we want instructor
    modules to be able to report results of their work through this log.

  SetMaker.pm: gives an example of overriding prepare_activity_entry.
    SetMaker has lots (and lots and lots) of data stored in cgi
    parameters.  We probably don't want to log that.  We might want to
    log a little more in SetMaker than we do here (target set), but
    this gives a start.

Revision 3582 - Directory Listing
Modified Sat Aug 27 21:34:47 2005 UTC (14 years, 5 months ago) by apizer
comment out hack for peekaboo bug

Revision 3581 - Directory Listing
Modified Fri Aug 26 18:03:39 2005 UTC (14 years, 5 months ago) by sh002i
replaced $externalPrograms{netpbm} with lexical $netpbm_prefix. this
will prevent netpbm from going into the cource environment (where is it
not needed) and makes it clear that it is a prefix and not the path to a
program.

Revision 3580 - Directory Listing
Modified Fri Aug 26 17:30:05 2005 UTC (14 years, 5 months ago) by jj
When dealing with showOldAnswers defaults, allow control of who get get the system default after the due date instead of hard-wiring it.  Default value is that students don't initially get old answers after the due date, but professors do.

Revision 3579 - Directory Listing
Modified Fri Aug 26 16:52:57 2005 UTC (14 years, 5 months ago) by sh002i
improved handling of symlinks in listFilesRecursiveHelper. symlinks to
files are now treated as files instead of directories.

Revision 3578 - Directory Listing
Modified Fri Aug 26 14:06:39 2005 UTC (14 years, 5 months ago) by jj
Fix bug where perl functions which may need parentheses by forcing them
when the function starts Parser::Function->.  This seems to work, but
there might be a better way to do it, or need other cleaning up.

Revision 3577 - Directory Listing
Modified Fri Aug 26 04:19:09 2005 UTC (14 years, 5 months ago) by jj
When making on-the-fly image names, replace periods in the student login
name to avoid problems with pdflatex.  Changed the replacement in set
names to use the same new trick (the old way had an infintesimal chance
of collision).  The new scheme is first double all instances of "Q".  Then
replace periods with "-Q-".

Revision 3576 - Directory Listing
Modified Thu Aug 25 20:01:25 2005 UTC (14 years, 5 months ago) by glarose
Add some electrical units.  Take two, hopefully in the correct branch
this time.

Revision 3574 - Directory Listing
Modified Thu Aug 25 18:32:01 2005 UTC (14 years, 5 months ago) by jj
Updated instructions to match changes to global.conf.dist and the move
or PGanswermacros.pl.

Revision 3573 - Directory Listing
Modified Thu Aug 25 18:24:55 2005 UTC (14 years, 5 months ago) by jj
A separate copy of this file is no longer needed.

Revision 3572 - Directory Listing
Modified Thu Aug 25 18:21:21 2005 UTC (14 years, 5 months ago) by jj
This makes the pg/lib/Parser/Legacy copy of PGanswermacros.pl the
official copy here.  This still leaves the original answer evaluators as
the default, but simplifies the update process, and we don't have to
maintain two copies of the original functions.

Revision 3571 - Directory Listing
Modified Thu Aug 25 18:17:14 2005 UTC (14 years, 5 months ago) by jj
Load Parser::Legacy.

This change is needed for the current version of extraAnswerEvaluators.pl
to work out of the box.  By default, one will still get the original
(non-Parser) versions of num_cmp and fun_cmp, but turning on the
Parser-based versions will be much easier (just one line to change, or
override on a course by course basis).

There will be a companion change in the pg directories.

Revision 3570 - Directory Listing
Modified Thu Aug 25 17:02:28 2005 UTC (14 years, 5 months ago) by glarose
Intialize tth preamble variable to avoid undefined errors when running
in formattedText mode.

Revision 3569 - Directory Listing
Modified Thu Aug 25 03:40:44 2005 UTC (14 years, 5 months ago) by dpvc
Fixed problem with Context's not properly initializing themselves with
the WW environment parameters (like zeroLevelTol and useBaseTenLog).
The copy method and the method that did an initialized copy used to be
separate routines, but that turned out to be unnecessary, so they have
now been merged (copy always tries to initialize the WW values when it
can, and when the copied context doesn't already have them).

The reason this is complicated is that a number contexts are set up
before the global.conf data is available, so these can't be
initialized with the WW values.  Also, these default contexts are
stored in the persistant processes, and we don't want to leave
possibly course-specific values lying around in them, so whenever a
context is selected, it is copied from the standard version and the
WW parameters are inserted into it.  The problem author can only
modify the copy, not the original, so this is OK with mod_perl.

The context's copy method now always tries to initialize (we used to
have to call initCoopy to get a copy that has the WW parameters
inserted).  That turned out to cause trouble with code that handled
contexts without the usual Context() command.

Revision 3568 - Directory Listing
Modified Thu Aug 25 03:32:16 2005 UTC (14 years, 5 months ago) by dpvc
Fixed log and log10 perl methods so that log obeys the useBaseTenLog
flag, and log10 doesn't try to call main::log10, which is not
available from within this preloaded package.  The in- and outside
the safe compartment stuff is very confusing, and functions that are
not overloaded native perl functions seem to be not callable from the
Value::Formula package, so the perl method now calls
Parser::Function->call() directly (doesn't look pretty, but I've given
up on that).

Revision 3567 - Directory Listing
Modified Thu Aug 25 00:58:21 2005 UTC (14 years, 5 months ago) by dpvc
Avoid undefined due_date when problem is viewed from the library
browser.

Revision 3566 - Directory Listing
Modified Thu Aug 25 00:35:18 2005 UTC (14 years, 5 months ago) by dpvc
In order to overcome an MSIE bug that affects jsMath, the call is
changed from jsMath.ProcessBeforeShowing() to jsMath.wwProcess(),
which is added by the jsMath-ww.js file.  (This routine uses an onload
handler for MSIE to put off the processing until MSIE can handle it
properly, but allows all others to do it at the usual time.)

Revision 3565 - Directory Listing
Modified Thu Aug 25 00:31:57 2005 UTC (14 years, 5 months ago) by dpvc
Updates to overcome yet another bug in MSIE.  It turns out that MSIE
can completely botch up the display if jsMath.ProcessBeforeShowing()
is performed at the point in the web page that we have to put it, so
we call wwProcess instead, and if it is in MSIE, we add an onload
handler to call ProcessBeforeShowing.  It's a hack, but it works.

Revision 3564 - Directory Listing
Modified Wed Aug 24 20:22:32 2005 UTC (14 years, 5 months ago) by jj
Make it so that by default, practice users don't see saved answers.  That can be controlled in global.conf.dist.  Also, default to not showing saved answers after the due date.  In all cases, the Apply options button can adjust what you want.

Also fixed a bug with showOldAnswers related to '', 0, and undef being similar in perl.

Revision 3563 - Directory Listing
Modified Wed Aug 24 19:41:59 2005 UTC (14 years, 5 months ago) by jj
Fixed bug 753.  The number of all users needs to be recomputed after action
handlers in case some users were imported or deleted.

Revision 3562 - Directory Listing
Modified Wed Aug 24 19:07:10 2005 UTC (14 years, 5 months ago) by dpvc
Changed stringify to check for an answer that is zero by using the
zeroLevelTol value directly (rather than use the fuzzy equality check
for zero, which depends on the tolType in a bad way).

Revision 3561 - Directory Listing
Modified Wed Aug 24 16:58:12 2005 UTC (14 years, 5 months ago) by jj
Fixed minor glitch where the toggle for show saved answers might be set wrong for the first time a student looks at a problem.

Revision 3560 - Directory Listing
Modified Wed Aug 24 11:44:49 2005 UTC (14 years, 5 months ago) by dpvc
Made relative tolerances the default for when the tolType is not one
of 'relative' or 'absolute'.

Revision 3559 - Directory Listing
Modified Wed Aug 24 02:22:59 2005 UTC (14 years, 5 months ago) by jj
Removed initialize function which did nothing.  Moved the actual assignments/unassignments to pre_header_initialize so they could use the messaging system.

Revision 3558 - Directory Listing
Modified Wed Aug 24 01:52:27 2005 UTC (14 years, 5 months ago) by jj
Added safety toggle for unassignment on this page (like other places where
sets can be unassigned).

Revision 3557 - Directory Listing
Modified Wed Aug 24 01:35:01 2005 UTC (14 years, 5 months ago) by jj
Hopefully fixed the logic of setting numerical tolerance defaults.

Revision 3556 - Directory Listing
Modified Tue Aug 23 23:59:46 2005 UTC (14 years, 5 months ago) by jj
Fixed problem with display_matrix_mm so its behaviour matches its
documentation.  This may break problems which relied on its previous
incorrect behavior.

Revision 3555 - Directory Listing
Modified Tue Aug 23 23:57:01 2005 UTC (14 years, 5 months ago) by dpvc
Use a default for the zeroLevelTol set in the current context.

Revision 3554 - Directory Listing
Modified Tue Aug 23 23:10:02 2005 UTC (14 years, 5 months ago) by jj
Deleted commented out line (which had been used for debugging).

Revision 3553 - Directory Listing
Modified Tue Aug 23 22:56:50 2005 UTC (14 years, 5 months ago) by jj
This adds wiring to the pg side for special bits of html to be included before/after the body of a problem.  You also need to update global.conf (and probably want to update Tasks.pm).

A commented out example in global.conf.dist shows how to use this to produce boxed problems a la the Union College server.  In this approach, the added parts are not used for problems rendered in the Library Browser or Problem Set Detail.

This addresses bug 817.  This solution may not be suitable for inclusion of needed bits for modes such as asciimath or tth because the those bits of html are probably needed for display in the Library Browser.  It is hard to distinguish bits which are always wanted, and those which are only wanted for use by Problem.

Revision 3552 - Directory Listing
Modified Tue Aug 23 22:53:25 2005 UTC (14 years, 5 months ago) by jj
Allow snippets of html (or Tex) to be specified in global.conf to be inserted right before/after the body of a problem.  A commented out example which produces boxed problem in HTML is given.  In this approach, the added parts are not used for problems rendered in the Library Browser or Problem Set Detail.

This addresses bug 817.  This solution may not be suitable for inclusion of needed bits for modes such as asciimath or tth because the those bits of html are probably needed for display in the Library Browser.  It is hard to distinguish bits which are always wanted, and those which are only wanted for use by Problem.

To make use of this, you need to update your global.conf, and make the corresponding pg update.

Revision 3551 - Directory Listing
Modified Mon Aug 22 19:55:40 2005 UTC (14 years, 6 months ago) by jj
Previously, the "Unassign selected sets from selected users" button did
not work.  Now it works.  To help avoid inadvertant unassignments, the button
was moved lower on the page and put in the "danger" background color.  I
also made the assign and unassign buttons the same length for better
aesthetics.

Some things still to do in this module:
  - maybe move unassign even lower
  - maybe have a safety radio button to unassignments like on other
    unassign pages
  - move the action from body() to pre_header_initialize() so that
    addgoodmessage/addbadmessage will work like on other pages
  - get return values from the assignment/unassignment commands in
    case something goes wrong.  Right now, the system can explode and it
    will still say "All assignments were made successfully".
  - it could also report some information on assignments/unassignments
    actually made vs. combinations which were skipped.

Revision 3550 - Directory Listing
Modified Mon Aug 22 19:22:31 2005 UTC (14 years, 6 months ago) by jj
Fixed function unassignSetsFromUsers.

Revision 3549 - Directory Listing
Modified Mon Aug 22 03:27:59 2005 UTC (14 years, 6 months ago) by dpvc
Changed default directory shown to be the templates directory.
Changed GZIP and UNGZIP to 'Make Archive' and 'Unpack Archive'.

Revision 3548 - Directory Listing
Modified Mon Aug 22 02:40:26 2005 UTC (14 years, 6 months ago) by jj
Changed "current set" to target set to match terminology at the top of the
page.

Revision 3547 - Directory Listing
Modified Mon Aug 22 01:26:04 2005 UTC (14 years, 6 months ago) by jj
Part of change dealing with bug 813.

Possible things still to do here:
   change names of variables to reflect that they contain commands and
     not scripts
   have a variable for the path to cat
   remove the scripts themselves

Revision 3546 - Directory Listing
Modified Mon Aug 22 01:23:16 2005 UTC (14 years, 6 months ago) by jj
Moves configuration of gif2png and friends to global.conf.  Individual
paths, and/or arguments to the conversion statements can be adjusted.

To make use of this change, update global.conf and pg/macros/dangerousmacros.pl
This should close bug 813.  At some time, the scripts should be removed
from the bin directory.

Revision 3545 - Directory Listing
Modified Sun Aug 21 23:54:27 2005 UTC (14 years, 6 months ago) by jj
Update help file to match some recent changes in checking of answers which
are intervals.

Revision 3544 - Directory Listing
Modified Sun Aug 21 21:46:49 2005 UTC (14 years, 6 months ago) by jj
Removed bits which were accidentally included during last commit.

Revision 3543 - Directory Listing
Modified Sun Aug 21 18:12:30 2005 UTC (14 years, 6 months ago) by jj
Should fix bug 696 by replacing consecutive whitespace with a single
space for answers in an individual ans_rule.

Revision 3542 - Directory Listing
Modified Sun Aug 21 16:02:42 2005 UTC (14 years, 6 months ago) by jj
Fixed some indenting.

Revision 3541 - Directory Listing
Modified Sun Aug 21 12:03:13 2005 UTC (14 years, 6 months ago) by dpvc
Updated to 2.1a, which fixes a problem with the domain checking when
the server is running on a non-standard port number.

Revision 3540 - Directory Listing
Modified Sun Aug 21 05:21:07 2005 UTC (14 years, 6 months ago) by jj
level_curve_check now forces the use of the old style (not Parser::Legacy)
answer evaluators resolving bug 820.

Revision 3539 - Directory Listing
Modified Sun Aug 21 00:04:40 2005 UTC (14 years, 6 months ago) by dpvc
Updated to handle jsMath version 2.

Revision 3538 - Directory Listing
Modified Sun Aug 21 00:03:38 2005 UTC (14 years, 6 months ago) by dpvc
Changes needed for version 2 of jsMath.  Since the image font fallback
method works well enough without having the TeX fonts installed, the
font warning message has been turned off by default.  There is also a
new parameter that controls whether the image fonts are to be used, so
if you don't want to unpack the jsMath-fonts.tar.gz file (for space
considerations), you should set

      $pg{displayModeOptions}{jsMath}{noImageFonts} = 1;

in global.conf.

Revision 3537 - Directory Listing
Modified Sat Aug 20 23:59:53 2005 UTC (14 years, 6 months ago) by dpvc
Updated jsMath to v2.1 (which includes the new control panel and the
new image font fallback method).  You will need to unpack the
jsMath-fonts.tar.gz file in the htdocs/jsMath directory to form the
htdocs/jsMath/fonts directory.  The commands

     cd htdocs/jsMath
     tar vfzx jsMath-fonts.tar.gz

should do it.

Finally, you need to corrections to pg/macros/PG.pl and
global.conf.dist to complete the installation.

Revision 3536 - Directory Listing
Modified Sat Aug 20 23:07:13 2005 UTC (14 years, 6 months ago) by dpvc
Added code to handle the case where the professor's answer is in
expondential notation using a little e instead of a big one.  (Perl
will convert .0000001 to 1E-07, for example, before it is passed to
num_cmp.)

Revision 3535 - Directory Listing
Modified Wed Aug 17 16:05:48 2005 UTC (14 years, 6 months ago) by sh002i
re-added timer for entire content generation process.

Revision 3534 - Directory Listing
Modified Tue Aug 16 18:57:35 2005 UTC (14 years, 6 months ago) by sh002i
enabled logging

Revision 3533 - Directory Listing
Modified Tue Aug 16 17:58:38 2005 UTC (14 years, 6 months ago) by jj
Make title look nicer for times when the set name has underscores in it.

Revision 3532 - Directory Listing
Modified Tue Aug 16 16:47:27 2005 UTC (14 years, 6 months ago) by sh002i
disabled logging for small file test

Revision 3531 - Directory Listing
Modified Mon Aug 15 22:42:37 2005 UTC (14 years, 6 months ago) by dpvc
Fixed more undefined values

Revision 3530 - Directory Listing
Modified Mon Aug 15 22:38:56 2005 UTC (14 years, 6 months ago) by apizer
Remove the no longer valid message:
This may take a long time. Even if your browser times
out, all the files will be exported

Revision 3529 - Directory Listing
Modified Mon Aug 15 01:50:21 2005 UTC (14 years, 6 months ago) by dpvc
Changed Context() call to direct reference to context, so as not to
leave the wrong content selected as the current one.

Revision 3528 - Directory Listing
Modified Sun Aug 14 16:52:11 2005 UTC (14 years, 6 months ago) by gage
Add the beginnings of a facility for archiving a course.  This method uses mysqldump
and therefore will work only with a mysql database.  Many things are still hardwired
In particular mysqldump is hardwired.
The database name is hardwired to  "webwork"

Archiving consists of dumping the tables associated to the course to a file
$courseID/DATA/$courseID_mysql.database  (this file can be used
to created a new database for the course.  it will not overwrite existing
tables however.)

Then the entire course directory is tarred and gzipped and placed
in the courses directory with the naem $courseID.tar.gz

Currently nothing is deleted from the database and no directories are deleted.
So the implementation is fairly safe, but not yet very useful for course management.

There is not yet a facility for automatically importing the archived course.

Revision 3527 - Directory Listing
Modified Sun Aug 14 12:16:25 2005 UTC (14 years, 6 months ago) by dpvc
Eliminate extra insetting of tables within the results area (e.g.,
tables produced by the matrix array answer checkers).

Revision 3526 - Directory Listing
Modified Sun Aug 14 11:43:04 2005 UTC (14 years, 6 months ago) by dpvc
Added mising ';' in viewOptions

Revision 3525 - Directory Listing
Modified Sun Aug 14 00:23:10 2005 UTC (14 years, 6 months ago) by dpvc
Added methods for testing containment of one set in another, and so
on.  These include:

     $A->contains($B)        Test if $B is a subset of $A (or an
                             element of $A if $B$ is a real number).

     $A->isSubsetOf($B)      Test if $A is a subset of $B.

     $A->isEmpty             True if $A is the empty set.

     $A->intersects($B)      True if $A and $B have numbers in common.

     $A->intersect($B)       The set of numbers common to both $A and $B.

Be careful of the difference between "intersect" and "intersects".
One is a set the other a true/false value.

Revision 3524 - Directory Listing
Modified Sun Aug 14 00:18:46 2005 UTC (14 years, 6 months ago) by dpvc
Added a copy method that produces a deep copy of the given object.
This probably should be used through the new() methods to ducplicate
the data used when creating an object, otherwise changes to the
sub-objects will cause changes to the outer one.  For example, if an
interval is used to create a union and then the internal data for the
interval is changed by hand, the changes will also occur in the
union.  That is, Value objects contain their data by REFERENCE.  This
should probably be changed, but fortunately, no one should be
adjusting the internal structure of the objects by hand.

Revision 3523 - Directory Listing
Modified Sat Aug 13 22:38:39 2005 UTC (14 years, 6 months ago) by dpvc
Added canBeInUnion and isSetOfReals methods to the Parser package
(similar to the ones in the Value package), replacing the
canBeInterval flag and other ad hoc checks.

Removed ability to form interval like [a] now that we have sets.

Revision 3522 - Directory Listing
Modified Sat Aug 13 22:34:31 2005 UTC (14 years, 6 months ago) by dpvc
Maintain parentheses correctly when converting to perl.

Revision 3521 - Directory Listing
Modified Sat Aug 13 21:47:32 2005 UTC (14 years, 6 months ago) by jj
Add style for comments originating from COMMENT() and rendered in the
Library browser.

Revision 3520 - Directory Listing
Modified Sat Aug 13 21:45:46 2005 UTC (14 years, 6 months ago) by jj
Implimentation of COMMENT for comments to appear in the library browser.

Revision 3519 - Directory Listing
Modified Sat Aug 13 21:35:56 2005 UTC (14 years, 6 months ago) by jj
Print contents of COMMENT() commands in the Library Browser.

Revision 3518 - Directory Listing
Modified Sat Aug 13 21:34:50 2005 UTC (14 years, 6 months ago) by dpvc
Allow a list of numbers to be converted to a set.

Revision 3517 - Directory Listing
Modified Sat Aug 13 21:31:46 2005 UTC (14 years, 6 months ago) by dpvc
Pass the canBeInUnion call on to the Formula's root node

Revision 3516 - Directory Listing
Modified Sat Aug 13 20:59:28 2005 UTC (14 years, 6 months ago) by dpvc
Added isSetOfReals and canBeInUnion methods to the Value objects, and
replaced the ad hoc tests for these conditions to call these
routines.

Cleaned up the make() methods for Intervals, Sets and Unions, and
improved the new() methods to handle more cases better.

Fixed Value::makeValue() to handle an array reference correctly.

I don't THINK any of this will break anything.  :-)

Revision 3515 - Directory Listing
Modified Sat Aug 13 20:55:35 2005 UTC (14 years, 6 months ago) by dpvc
Make formulas that produce lists get default open and close parens,
and have them retained in Formula() results.

Revision 3514 - Directory Listing
Modified Sat Aug 13 19:10:41 2005 UTC (14 years, 6 months ago) by dpvc
Make sure the singletons are sorted before comparing them to the
intervals (and each other).

Revision 3513 - Directory Listing
Modified Sat Aug 13 18:51:54 2005 UTC (14 years, 6 months ago) by jj
Fixed treatment of options in setting the mode and optional parameters
related to reducing unions.

Revision 3512 - Directory Listing
Modified Sat Aug 13 18:19:01 2005 UTC (14 years, 6 months ago) by dpvc
Can't use the length check when reducing unions, since it could
contain a single set that is not reduced, and we need to check that,
too.

Revision 3511 - Directory Listing
Modified Sat Aug 13 17:50:11 2005 UTC (14 years, 6 months ago) by dpvc
Fixed reduction warnings for individual sets, intervals and unions (in
making it work for lists, I broke it for the single items).

Revision 3510 - Directory Listing
Modified Sat Aug 13 17:32:58 2005 UTC (14 years, 6 months ago) by dpvc
Fixed a problem with redefine when used with classes that store their
data in a on-standard form (i.e., by overridding the create()
method).  Now they can define uncreate() to get the original data back
for use with redefine().

Revision 3509 - Directory Listing
Modified Sat Aug 13 17:24:00 2005 UTC (14 years, 6 months ago) by dpvc
Fixed mad error message (change needed due to new message translation
facility).

Revision 3508 - Directory Listing
Modified Sat Aug 13 16:58:56 2005 UTC (14 years, 6 months ago) by dpvc
Added isReduced method to tell if a Union, Set or Interval is already
reduced.  Fixed up sort to use CORE::sort, and added sort and reduce
to Intervals, which do nothing, but are there for consistency.

Revision 3507 - Directory Listing
Modified Sat Aug 13 16:57:14 2005 UTC (14 years, 6 months ago) by dpvc
Fixed error in testing is a union is reduced (didn't test if sets
within a union were reduced properly).

Revision 3506 - Directory Listing
Modified Sat Aug 13 16:47:23 2005 UTC (14 years, 6 months ago) by jj
Moved a chunk of duplicated code to its own function, and tweaked the setting
of the context in a few cases.

Revision 3505 - Directory Listing
Modified Sat Aug 13 16:33:50 2005 UTC (14 years, 6 months ago) by dpvc
Added sort methods to Union and Set that return objects with their
data sorted.

Revision 3504 - Directory Listing
Modified Sat Aug 13 15:57:17 2005 UTC (14 years, 6 months ago) by dpvc
Moved the union and set reduction checks from cmp_equal to cmp_compare
so that the messages can be produced even in lists of unions.

Improved the message facilities for the list comparison so that
cmp_compare can make errors that refer to the number of the entry in
the student's answer (otherwise an extra "There was a problem with
your nth value" message needs to be prepended, which looks bad if it
can be avoided).

Use the "extra" answer checker to report syntax error messages in unordered
lists.

Revision 3503 - Directory Listing
Modified Sat Aug 13 15:44:41 2005 UTC (14 years, 6 months ago) by dpvc
Fixed problem with call to $equation->Error (due to change in
error-handling that allows for translation of error messages).

Revision 3502 - Directory Listing
Modified Sat Aug 13 05:54:10 2005 UTC (14 years, 6 months ago) by jj
If a problem file sets $refreshCachedImages=1 inside the pg file, then
cached copies of on the fly graphics are ignored and the graphic is
regenerated.

Revision 3501 - Directory Listing
Modified Sat Aug 13 01:40:45 2005 UTC (14 years, 6 months ago) by dpvc
Added differentiation of (single-variable) functions created with
parserFunction.

Revision 3500 - Directory Listing
Modified Sat Aug 13 01:39:14 2005 UTC (14 years, 6 months ago) by dpvc
Fixed typo in previous update.

Revision 3499 - Directory Listing
Modified Sat Aug 13 00:41:24 2005 UTC (14 years, 6 months ago) by dpvc
Added sets to the differentiation information (no derivatives allowed)

Revision 3498 - Directory Listing
Modified Sat Aug 13 00:35:11 2005 UTC (14 years, 6 months ago) by dpvc
Fixed a typo in an error message.

Revision 3497 - Directory Listing
Modified Sat Aug 13 00:25:27 2005 UTC (14 years, 6 months ago) by dpvc
Added ability for Unions and Sets to simplify themselves
(automatically or on demand), and added flags to the Context and
answer checkers to control these features.  The new Context flags
are

    reduceUnions                tells whether unions are automatically
                                reduced when they are created.

    reduceUnionsForComparison   tells whether unions are reduced
                                before comparing them for equality
                                or inequality (etc) if they aren't
                                reduced already.

    reduceSets                  tells whether redundent elements are
                                removed from sets as they are created.

    reduceSetsForComparison     tells whether sets are reduced before
                                comparing them.

All of these default to true.

The Interval, Set, Union, and List answer checkers not have two new
flags for controlling these values:

    studentsMustReduceUnions    tells whether unions and sets will be
                                counted as incorrect when they are not
                                reduced to non-overlapping intervals
                                and at most one set with no repeated
                                entries.

    showUnionReduceWarnings     tells whether an error message will
                                be produced for non-reduced unions and
                                sets, or if they will be marked wrong
                                silently.  (Not available in Lists.)

Both of these are true by default, since most professors probably want
their students to write intervals in reduced form.  (Is this true?)
This corresponds the the current behavior of the interval checkers,
which require the student's answer to be the same set of intervals as
in the professor's, but with the addition of an error message when the
student answer is not reduced.

Revision 3496 - Directory Listing
Modified Fri Aug 12 23:33:06 2005 UTC (14 years, 6 months ago) by jj
Print titles with underscores replaced by non-breaking spaces.  It makes
the names of courses and problem sets look nicer for students.  Also
removed a function which was already commented out, and not needed.

Revision 3495 - Directory Listing
Modified Fri Aug 12 23:21:52 2005 UTC (14 years, 6 months ago) by dpvc
Fixed use of undefined value for $position in TeX and String methods.

Revision 3494 - Directory Listing
Modified Fri Aug 12 23:02:11 2005 UTC (14 years, 6 months ago) by dpvc
Made the 'R' constant in Interval context show up as a bold R in TeX
mode.

Revision 3493 - Directory Listing
Modified Fri Aug 12 22:56:04 2005 UTC (14 years, 6 months ago) by dpvc
Detect preview mode correctly for either WW1 or WW2.

Revision 3492 - Directory Listing
Modified Fri Aug 12 22:55:19 2005 UTC (14 years, 6 months ago) by dpvc
Adjust spacing.

Revision 3491 - Directory Listing
Modified Fri Aug 12 22:54:38 2005 UTC (14 years, 6 months ago) by dpvc
Mark function as constant if it is.

Revision 3490 - Directory Listing
Modified Fri Aug 12 18:55:46 2005 UTC (14 years, 6 months ago) by jj
Update interval notation information for students based on recent
improvements in the Parser.

Revision 3489 - Directory Listing
Modified Fri Aug 12 18:43:25 2005 UTC (14 years, 6 months ago) by jj
Completed conversion of interval_cmp to use Parser objects.  Also, minor
updates to number_list_cmp.

Revision 3488 - Directory Listing
Modified Fri Aug 12 17:40:07 2005 UTC (14 years, 6 months ago) by dpvc
Avoid problem with undefined value being passed to protectHTML.

Revision 3487 - Directory Listing
Modified Fri Aug 12 17:09:42 2005 UTC (14 years, 6 months ago) by dpvc
Changed how Intervals implement the requireParenMatch flag for the
interval and union answer checker.  (Use a Context flag rather than a
flag on the interval itself.)  Moved the getFlag method from
Formula.pm to Value.pm so it can be used by any object class.  New
feature where classes can add more context flags to set (and reset
after the answer checker runs).

Revision 3486 - Directory Listing
Modified Fri Aug 12 15:53:02 2005 UTC (14 years, 6 months ago) by sh002i
renamed weird $QuellSubroutineOutput to $DenySubroutineOutput. This will
better match $AllowSubroutineOutput.

Revision 3485 - Directory Listing
Modified Fri Aug 12 02:47:30 2005 UTC (14 years, 6 months ago) by sh002i
added HiRes timing data to WeBWorK::Debug, removed WeBWorK::Timing. all
existing calls to the WeBWorK::Timing methods now pass the same messages
to debug().

added an option to WeBWorK::Debug to allow only certain subroutines to
log debug messages, in addition to the existing option to bar certain
subroutines from doing so.

Revision 3484 - Directory Listing
Modified Fri Aug 12 01:26:11 2005 UTC (14 years, 6 months ago) by dpvc
Removed erroneous dollar sign.

Revision 3483 - Directory Listing
Modified Fri Aug 12 01:21:48 2005 UTC (14 years, 6 months ago) by dpvc
Added redefine() function to complement undefine() for various
Context() values.  For example

      Context()->operators->undefine('+');

makes '+' undefined, but

      Context()->operators->redefine('+');

will put it back.  You can specify a context from which to take the
redefinition, and a name in that context, as in

      Context()->operators->redefine('U',from=>"Interval");
      Context()->operators->redefine('u',from=>"Interval",using=>"U");
      Context()->operators->redefine('U',from=>$content);

where $content is a reference to a Context object.

The undefine() function lets you undefine several items at once, as in

      Context()->operators->undefine('+','-');

For redefine, you must put multiple names in square brackets because
of the optional parmeters:

      Context()->operators->redefine(['+','-']);

Revision 3482 - Directory Listing
Modified Fri Aug 12 01:15:30 2005 UTC (14 years, 6 months ago) by dpvc
Fixed bug with missing fields in initialization.

Revision 3481 - Directory Listing
Modified Thu Aug 11 22:11:53 2005 UTC (14 years, 6 months ago) by sh002i
added implementation of options() which call optionsMacro(). the version
in Problem.pm takes care to preserve the editMode and sourceFilePath
parameters.

Revision 3480 - Directory Listing
Modified Thu Aug 11 22:10:30 2005 UTC (14 years, 6 months ago) by sh002i
improvements to view options.

removed default options() implementation and helper function
viewOptions(), and added more modular optionsMacro() method, which is
intended to be called from content generators which require an options
panel.

POD for optionsHelper():

=item optionsMacro(options_to_show => \@options_to_show, extra_params =>
\@extra_params)

Helper macro for displaying the View Options panel.

@options_to_show lists the options to show, from among this list
"displayMode", "showOldAnswers", "showHints", "showSolutions". If no
options are given, "displayMode" is assumed.

@extraParams is dereferenced and passed to the hidden_fields() method.
Use this to preserve state from the content generator calling
optionsMacro().

This macro is intended to be called from an implementation of the
options() method. The simplest way to to this is:

 sub options { shift->optionsMacro }

=cut

Revision 3479 - Directory Listing
Modified Thu Aug 11 22:07:50 2005 UTC (14 years, 6 months ago) by sh002i
moved style information for viewOptions div from ContentGenerator.pm.

Revision 3478 - Directory Listing
Modified Thu Aug 11 21:40:55 2005 UTC (14 years, 6 months ago) by sh002i
revert to using mydisplayMode for the param name (whoops).

Revision 3477 - Directory Listing
Modified Thu Aug 11 20:57:18 2005 UTC (14 years, 6 months ago) by dpvc
Added ability to subtract intervals, sets and unions.  Adjusted the
precedence of the union 'U' to be above _ and + so that things like
(1,5) U (7,10) - {8} U (2,3) will do ((1,5) U (7,10)) - ({8} U (2,3))
rather than the previous (1,5) U ((7,10) - {8}) U (2,3).  Finally,
added a constant 'R' to the Interval context that is equivalent to
(-inf,inf), so you can do things like R-{0} now.

Still need to work out reducing unions so that things like (1,3)U(2,4)
can become (1,4).

Revision 3476 - Directory Listing
Modified Thu Aug 11 20:32:15 2005 UTC (14 years, 6 months ago) by sh002i
hide options panel here too -- closes bug #802.

Revision 3475 - Directory Listing
Modified Thu Aug 11 20:27:07 2005 UTC (14 years, 6 months ago) by sh002i
removed view options panel, "try it" link preserves displayMode. closes
bug #802.

Revision 3474 - Directory Listing
Modified Thu Aug 11 14:37:18 2005 UTC (14 years, 6 months ago) by dpvc
Changes needed for new Set object, plus for moving string, TeX and
perl into Value.pm.  Also removed unneeded spaces in perl versions of
the constants (these were to fix problems with the minus sign, but
that is now being handled by the minus operators themselves).

Revision 3473 - Directory Listing
Modified Thu Aug 11 14:34:24 2005 UTC (14 years, 6 months ago) by dpvc
Changes needt for Set object, and fixed a bug with unions containing
constant intervals with non-constant ones.

Revision 3472 - Directory Listing
Modified Thu Aug 11 14:33:09 2005 UTC (14 years, 6 months ago) by dpvc
Changes needed to Set object.  Also, use Parser to handle unions
defined as strings rather than doing it by hand (that's the whole
point, isn't it?).  Added object promotion from lower-precedence
classes (for better error messages), and fixed up the comparison
routine.

Revision 3471 - Directory Listing
Modified Thu Aug 11 14:28:07 2005 UTC (14 years, 6 months ago) by dpvc
Changes needed for Set object, better handling of an interval given as
a string, and a few misc. fixes.

Revision 3470 - Directory Listing
Modified Thu Aug 11 14:25:53 2005 UTC (14 years, 6 months ago) by dpvc
Changes needed for new Set object, and moving of string, TeX and perl
methods to Value.pm

Revision 3469 - Directory Listing
Modified Thu Aug 11 14:23:16 2005 UTC (14 years, 6 months ago) by dpvc
Added changes needed for the new Set object.

Revision 3468 - Directory Listing
Modified Thu Aug 11 14:22:36 2005 UTC (14 years, 6 months ago) by dpvc
Added in the Set object class.  Also made more comprehensive defaults
for string, TeX and perl output, so these don't have to be subclassed
so often.  These handle looking up the open and close parens and
recursively handling the entries in a list-type object.

Revision 3467 - Directory Listing
Modified Thu Aug 11 14:20:31 2005 UTC (14 years, 6 months ago) by dpvc
Properly maintain open and close parens in emtpy lists.

Revision 3466 - Directory Listing
Modified Thu Aug 11 14:19:26 2005 UTC (14 years, 6 months ago) by dpvc
Added new Set object class to the Parser.  It implements a finite set
of real numbers, for use with unions and intervals.  E.g., (1,2) U {3}
or (1,2) U {3,4,5}.  You can created Set objects in your perl code via
the Set() command, e.g, Set(3,4,5) or Set("{1,2,3}").  You should set
the Context to Context("Interval") if you plan to use Set objects, as
this defined the braces to form sets (rather than using them as
parentheses, which is the default WW behavior).  Note that in Interval
context, you can NOT use braces as parentheses.

Current, Set objects are only allowed to be sets of numbers.  It would
be possible to extend that in the future.

Revision 3465 - Directory Listing
Modified Thu Aug 11 00:38:33 2005 UTC (14 years, 6 months ago) by dpvc
Make upper-case alias a hidden one (since it is not needed for the
pattern).

Revision 3464 - Directory Listing
Modified Thu Aug 11 00:37:35 2005 UTC (14 years, 6 months ago) by dpvc
Dereference aliases to aliases properly.

Revision 3463 - Directory Listing
Modified Wed Aug 10 23:05:41 2005 UTC (14 years, 6 months ago) by jj
Default behavior of number_list_cmp set to be backward compatible
(no hints of any kind or partial credit).  These features can now be
activated by optional arguments.

Also improvements on parser-based interval_cmp.

Revision 3462 - Directory Listing
Modified Wed Aug 10 18:57:17 2005 UTC (14 years, 6 months ago) by jj
Hopefully improved some of how the temporary context is set for number_list_cmp.
Many whitespace changes (spaces to tabs).  Work in progress for a version of
interval_cmp which uses Parser, temporarily called interval_cmp2.

Revision 3461 - Directory Listing
Modified Wed Aug 10 18:02:31 2005 UTC (14 years, 6 months ago) by sh002i
make .def searching thread-safe (resolves bug #814).

changed @found_set_defs to be a lexical local to get_set_defs().
replaced get_set_defs_wanted() with a closure over @found_set_defs
defined in get_set_defs().

output is identical to the previous case, but no global(-ish) variables
are used.

Revision 3460 - Directory Listing
Modified Wed Aug 10 15:07:12 2005 UTC (14 years, 6 months ago) by dpvc
Interval (and Union) checker now accepts requireParenMatch flag for
deciding whether the interval type must match.  Setting
requireParenMatch to 0 will let (1,2) match (1,2] or [1,2], etc.

Revision 3459 - Directory Listing
Modified Wed Aug 10 15:05:34 2005 UTC (14 years, 6 months ago) by dpvc
Cosmetic change.

Revision 3458 - Directory Listing
Modified Wed Aug 10 14:28:59 2005 UTC (14 years, 6 months ago) by dpvc
The Parser versions of num_cmp and fun_cmp incorrectly left the
current Context set to the base context used by the answer checker.
The Context is now correctly reset to the one in effect before the
call to num_cmp or fun_cmp.

Also removed some redundant values in if-then checks.

Revision 3457 - Directory Listing
Modified Wed Aug 10 14:22:48 2005 UTC (14 years, 6 months ago) by dpvc
Enable commas when mode=>"frac" is specified.

Revision 3456 - Directory Listing
Modified Tue Aug 9 22:22:46 2005 UTC (14 years, 6 months ago) by sh002i
groundwork for preserving non-authentication state (which probably won't
get used)

Revision 3455 - Directory Listing
Modified Mon Aug 8 15:56:09 2005 UTC (14 years, 6 months ago) by jj
Changed number_list_cmp to use Parser.

Revision 3454 - Directory Listing
Modified Thu Aug 4 23:30:22 2005 UTC (14 years, 6 months ago) by sh002i
add special case for no problems, closing bug #811.

Revision 3453 - Directory Listing
Modified Thu Aug 4 22:45:34 2005 UTC (14 years, 6 months ago) by sh002i
fix bug #803: corrected typo that prevented course renaming from working.

Revision 3452 - Directory Listing
Modified Thu Aug 4 21:35:19 2005 UTC (14 years, 6 months ago) by sh002i
cosmetic changes, disable experimental components by default.

Revision 3451 - Directory Listing
Modified Thu Aug 4 00:58:39 2005 UTC (14 years, 6 months ago) by dpvc
Can't separate the form into two separate forms (as in the previous
update) otherwise the values of the checkboxes in the lower section
are lost when a button in the upper section is clicked.  So we'll have
to assume that if a user selects a file, he really wants it to be
uploaded.  (He can always use the BACK button on the browser to back
out of it if necessary.)

Revision 3450 - Directory Listing
Modified Wed Aug 3 22:25:31 2005 UTC (14 years, 6 months ago) by sh002i
test

Revision 3449 - Directory Listing
Modified Wed Aug 3 22:19:59 2005 UTC (14 years, 6 months ago) by jj
Added problem count to basic library panel, and text chapters/sections
to advanced library panel.

Revision 3448 - Directory Listing
Modified Mon Aug 1 22:03:38 2005 UTC (14 years, 6 months ago) by sh002i
fixed indentation (see crabby reminder below).

The code I just fixed was using four spaces for one level of indentation
and a tab character for two levels of indentation. apparently, this is a
variation on the "use spaces for indentation" philosophy that also
replaces any run of eight spaces with a tab. this is NOT the way we've
been doing things in webwork, and consistency is important (I think).

===> the webwork indentation policy <===

We use the TAB character to indicate a level of indentation, and SPACE
characters to line things up in lists. I understand there is some debate
as to whether is it appropriate to use "hard" tabs in text files. We do
it because some of the WeBWorK developers prefer to view the code with
wider indentation (say, eight columns) and some prefer narrower
indentation (say, three or four columns). Thus, we use hard tabs for
initial indentation and let each developer chose a tab width using their
editor.

Here in an example of when to use tabs and spaces. ---> represents a tab
character.

my %errors = (
--->not_found            => "The record was not found.",
--->invalid_id           => "The record ID is invalid.",
--->undefined_or_unknown => "The record was undefined or unknown.",
);

sub bar {
--->my ($self, @recs) = @_;
--->foreach my $rec (@recs) {
--->--->my $Rec = $self->getRec($rec);
--->--->if ($Rec->error) {
--->--->--->warn $errors{$Rec->error};
--->--->} else {
--->--->--->foo($Rec->a, $Rec->b);
--->--->--->baz(
--->--->--->--->origin             => $Rec->origin,
--->--->--->--->destination        => $Rec->destination,
--->--->--->--->widgets_per_second => $Rec->widgets_per_second,
--->--->--->--->score              => $Rec->score,
--->--->--->--->email_address      => $Rec->email_address,
--->--->--->);
--->--->}
--->}
}

As you can see, indentation that is used to "line up" elements on
adjacent lines uses spaces, while indentation that is used to indicate
some structural heirarchy in the code uses tabs.

Revision 3447 - Directory Listing
Modified Mon Aug 1 19:23:58 2005 UTC (14 years, 6 months ago) by dpvc
Added a hack to get around Netscape 7.1 bug with onChange event
handler not being called when an upload file has been selected.

Revision 3446 - Directory Listing
Modified Mon Aug 1 15:14:20 2005 UTC (14 years, 6 months ago) by dpvc
Fixed a bug that would cause step() to produce an error when called on
a constant value.  Also, added fact() function that was defined in
Algparser but not in Parser (which uses x! notation).

Revision 3445 - Directory Listing
Modified Mon Aug 1 14:20:16 2005 UTC (14 years, 6 months ago) by dpvc
Added missing "step" function that was defined in the AlgParser but
not in the Parser.

Be sure to copy the updated PGanswermacros.pl to the pg/macros directory.

Revision 3444 - Directory Listing
Modified Mon Aug 1 13:10:52 2005 UTC (14 years, 6 months ago) by dpvc
Make List("1,2,3") work like List("1","2","3") rather than produce a
list with one element that is a list.

Revision 3443 - Directory Listing
Modified Mon Aug 1 12:42:21 2005 UTC (14 years, 6 months ago) by dpvc
Added postfilter to Parser-based implementation of NUM_CMP so that the
student's answer is updated to be the result of evaluating the answer
(when there is no error in evaluating the answer).  This correctly
reflects the behaviour of the original NUM_CMP.

Revision 3442 - Directory Listing
Modified Mon Aug 1 12:37:35 2005 UTC (14 years, 6 months ago) by dpvc
Fixed typo that caused hilighting of the position of errors to be lost.

Revision 3441 - Directory Listing
Modified Mon Aug 1 12:04:23 2005 UTC (14 years, 6 months ago) by dpvc
Updates to make mode=>'frac' properly emulate the original num_cmp
behavior (it now allows decimals and fractions instead of requiring a
fraction).  There is also a new LimitedNumeric-StrictFraction context
(not currently used) that disallows decimals and requires fractions.

Revision 3440 - Directory Listing
Modified Mon Aug 1 12:01:39 2005 UTC (14 years, 6 months ago) by dpvc
Folded in Mike's changes for status messages.

Revision 3439 - Directory Listing
Modified Sun Jul 31 19:49:51 2005 UTC (14 years, 6 months ago) by jj
Update to match revision in database structure (chapter and section tables).

Revision 3438 - Directory Listing
Modified Sun Jul 31 18:13:50 2005 UTC (14 years, 6 months ago) by gage
Sort course names without regard to case.

Revision 3437 - Directory Listing
Modified Sun Jul 31 17:27:21 2005 UTC (14 years, 6 months ago) by gage
Updating the user interface.  The checkbox to include webwork administrators in s
a course is now on by default.

The default templates course to copy when creating a new course can now be set in global.conf.
This is the course that automatically comes up by default in the pop-up menu.

Revision 3436 - Directory Listing
Modified Sun Jul 31 17:24:50 2005 UTC (14 years, 6 months ago) by gage
Make "modelCourse" the default course to use as a model when creating a new course.
The contents of the templates directory of modelCourse is copied into the templates
directory of the new course.

Revision 3435 - Directory Listing
Modified Sun Jul 31 15:33:56 2005 UTC (14 years, 6 months ago) by gage
Changed unordered list to ordered list.

Revision 3434 - Directory Listing
Modified Sun Jul 31 15:26:18 2005 UTC (14 years, 6 months ago) by gage
User interface changes added.  All courses are sorted without regard to case.
The main page now lists all available courses and their database type -- finding the
database type slows things down a bit, so this might not be a desirable feature when
there are many courses.

It also discovers missing course.conf files.  If the course.conf file is missing then it's more
likely that the database type is not accurate.

Revision 3433 - Directory Listing
Modified Sat Jul 30 17:26:45 2005 UTC (14 years, 6 months ago) by gage
Added useful links to the macro list and the pod_docs
in addition to the incomplete manpages.

These are still temporary measures for improving the documentation
for those writing problems.

Revision 3432 - Directory Listing
Modified Sat Jul 30 01:49:44 2005 UTC (14 years, 6 months ago) by gage
I've changed errorOutput($error,$details) to accept a reference to a string
or to an array for $details.  These are automatically converted to the proper form.
References should be used when the $details points to a large number of bytes, such
as the contents of a file.

This version is not faster than the original method where $details was always a
string, sometimes a very long string.  It does seem to save memory however.

Further savings in memory could be obtained by print directly, but there are a few instances
which call errorOutput and then do further formatting before printing.

At the moment it doesn't seem to be worth it to make the change from return to print.

Revision 3431 - Directory Listing
Modified Sat Jul 30 00:13:44 2005 UTC (14 years, 6 months ago) by jj
Fix glitch in keeping menus in sync in advanced search panel, and deal
better with undefined parameters.

Revision 3430 - Directory Listing
Modified Fri Jul 29 21:43:07 2005 UTC (14 years, 6 months ago) by gage
Backing out of the changes just made for a moment.  I've discovered that making this switch:

CGI::p(CGI::code($details)),

to

CGI::code(CGI::p($details)),

speeds things up immensly.  (From 165 seconds down to 12 seconds on the example I'm doing.)

Even without any other changes. Since the other changes complicate things a bit, I'll put
off adding the ability to have $details be a reference.

It's possible that allowing $details to be passed as a reference is a good idea anyway,
on general principles.  I want first to see if it makes a difference in terms of memory
consumption.

Revision 3429 - Directory Listing
Modified Fri Jul 29 21:27:48 2005 UTC (14 years, 6 months ago) by gage
When print error output errorOutput($error, $details)
allow $details to be a reference to a string or a reference
to an array.  This may not make much difference when the details
are short, but it can make a very large difference if the details
are long.

Revision 3428 - Directory Listing
Modified Fri Jul 29 21:25:24 2005 UTC (14 years, 6 months ago) by gage
Make sure that the timers flush after every print . :-)

Revision 3427 - Directory Listing
Modified Fri Jul 29 20:45:41 2005 UTC (14 years, 6 months ago) by jj
More improvements on library - advanced panel.  Still a work in progress.

Revision 3426 - Directory Listing
Modified Fri Jul 29 19:44:04 2005 UTC (14 years, 6 months ago) by sh002i
Fix use of $SIG{__WARN__} and $SIG{__DIE__}.

* Each change to $SIG{__WARN__} and $SIG{__DIE__} is now dynamically
scoped with "local", rather than changing globally and then restoring at
the end of the block.

* The special value "DEFAULT" is used instead of sub {CORE::die(@_)} or
sub {CORE::warn(@_)} when preparing to eval STRING code.

* Where $SIG{__WARN__} and $SIG{__DIE__} are overridden to do
preprocessing with PG_errorMessage, the previously installed handlers
will be called instead of the built-in warn or die functions after
preprocessing occurs. (For example, the warn and die handlers defined in
Apache::WeBWorK or the warn handler defined in WeBWorK::PG will be
called.)

* The behavior in process_answers is modified so that the custom
handlers are installed once before the answer evaluation loop. This
causes them to be in effect during the setup/teardown code, but I don't
think this will be a problem.

Revision 3425 - Directory Listing
Modified Thu Jul 28 21:25:44 2005 UTC (14 years, 6 months ago) by jj
Fixed minor glitch from problems not associated to any textbook.

Revision 3424 - Directory Listing
Modified Thu Jul 28 21:12:53 2005 UTC (14 years, 6 months ago) by jj
Added advanced search panel for database library.  Still more features
to come.

Revision 3423 - Directory Listing
Modified Thu Jul 28 19:49:32 2005 UTC (14 years, 6 months ago) by gage
Adding final problems for modelCourse

Revision 3422 - Directory Listing
Modified Thu Jul 28 19:46:45 2005 UTC (14 years, 6 months ago) by gage
adding setDemo files to modelCourse

Revision 3421 - Directory Listing
Modified Thu Jul 28 19:45:24 2005 UTC (14 years, 6 months ago) by gage
adding more files to make modelCourse conform with hosted.webwork version

Revision 3420 - Directory Listing
Modified Thu Jul 28 19:42:53 2005 UTC (14 years, 6 months ago) by gage
updating modelCourse to conform to hosted.webwork

Revision 3419 - Directory Listing
Modified Thu Jul 28 19:39:10 2005 UTC (14 years, 6 months ago) by gage
Updating modelCourse to conform to the version currently on hosted.webwork

Revision 3418 - Directory Listing
Modified Thu Jul 28 19:11:32 2005 UTC (14 years, 6 months ago) by gage
Correcting version of modelCourse to bring it in line with the model course currently on
hosted.webwork

Revision 3417 - Directory Listing
Modified Thu Jul 28 17:22:09 2005 UTC (14 years, 6 months ago) by gage
Adding template contents to modelCourse

Revision 3416 - Directory Listing
Modified Thu Jul 28 15:24:27 2005 UTC (14 years, 6 months ago) by gage
Added a missing start_form and hidden authentication.  These had been
dropped in a recent revision.

This closes bug #806

Revision 3415 - Directory Listing
Modified Wed Jul 27 18:48:50 2005 UTC (14 years, 6 months ago) by jj
Fixed bug for problem library version 2 - now it can select problems from
all sections, or all chapters and all sections, etc.

Revision 3414 - Directory Listing
Modified Wed Jul 27 17:04:53 2005 UTC (14 years, 6 months ago) by jj
Changed column label of Id to Login Name to be consistent with other pages.
Also aligned the headers to top, which looks nicer if needed for a narrow
browser window.

Revision 3413 - Directory Listing
Modified Wed Jul 27 16:43:19 2005 UTC (14 years, 6 months ago) by jj
More changes for problem library version 2: changed interface for getting
lists of problems so variable amounts of data can be passed.  Also removed
an unneeded button.

Revision 3412 - Directory Listing
Modified Wed Jul 27 16:42:27 2005 UTC (14 years, 6 months ago) by jj
More changes for problem library version 2.

Revision 3411 - Directory Listing
Modified Wed Jul 27 16:31:18 2005 UTC (14 years, 6 months ago) by jj
Changes for problem library version 2 to support recent change to setmaker.

Revision 3410 - Directory Listing
Modified Wed Jul 27 16:30:41 2005 UTC (14 years, 6 months ago) by jj
Mainly improvements for problem library version 2.  Also removed comments
and added "Edit it" link back in for library problems.  These were not the
only read-only problems in a course, and being able to Edit it, and then
save as is pretty useful.

Revision 3409 - Directory Listing
Modified Tue Jul 26 22:28:56 2005 UTC (14 years, 6 months ago) by jj
Initial support for version 2 of the problem library.

Revision 3408 - Directory Listing
Modified Tue Jul 26 22:28:16 2005 UTC (14 years, 6 months ago) by jj
Update to support version 2 of the ProblemLibrary.

Revision 3407 - Directory Listing
Modified Tue Jul 26 21:15:04 2005 UTC (14 years, 6 months ago) by jj
Preparing for upgrading webwork part of problem library code.  Adding a
variable for version so we can maintain backward compatibility.

Revision 3406 - Directory Listing
Modified Tue Jul 26 20:49:09 2005 UTC (14 years, 6 months ago) by glarose
Update Scoring.pm to deal with versioned (gateway) sets.  For sets with
assignment_type of 'gateway' or 'proctored_gateway' we report the user's
score to be the score s/he attained on her or his most successful
version of the set.

Revision 3405 - Directory Listing
Modified Tue Jul 26 17:39:22 2005 UTC (14 years, 6 months ago) by jj
The two middle parts of the top area really go together, so the line between
them is now less emphatic.

Revision 3404 - Directory Listing
Modified Tue Jul 26 17:35:54 2005 UTC (14 years, 6 months ago) by jj
Lots of indentation fixup, and started adding code for new and improved
problem library.  Still compatible with current "Problem Library".

Revision 3403 - Directory Listing
Modified Tue Jul 26 16:35:10 2005 UTC (14 years, 6 months ago) by sh002i
first steps towards an SQL-specific version of DB.pm. I'm not quite sure
how I'm going to proceed on this. We tried too much abstraction, but I
don't want to end up with not enough abstraction, either.

Revision 3402 - Directory Listing
Modified Mon Jul 25 17:29:31 2005 UTC (14 years, 6 months ago) by jj
Add browsing by set definition files.  It will do a full search for these
files, and do some work to find the actual pg files.  Also, a minor fix
in the lists of sets in the current course (the "Select ..." line was being
added twice in some cases), some indentation fixing in the souce, and
renamed a variable.  Long ago, SetMaker used set definition files, and
then that was replaced with database lookup but a variable still had
setdef in its name.  Now that it uses both, this needing fixing.

Revision 3401 - Directory Listing
Modified Sat Jul 23 21:13:42 2005 UTC (14 years, 7 months ago) by gage
Adding experimental modules which support Preflight

Revision 3400 - Directory Listing
Modified Fri Jul 22 22:59:12 2005 UTC (14 years, 7 months ago) by gage
Made listVariables and listFormVariables synonyms for listing all variables available to
the problem.

Revision 3399 - Directory Listing
Modified Fri Jul 22 22:54:57 2005 UTC (14 years, 7 months ago) by jj
Say something useful if there is an error when creating a new set.  Also
fixed some indentation.

Revision 3398 - Directory Listing
Modified Fri Jul 22 22:48:28 2005 UTC (14 years, 7 months ago) by jj
Redo change allowing . in set names.

Revision 3397 - Directory Listing
Modified Fri Jul 22 22:34:53 2005 UTC (14 years, 7 months ago) by jj
Rearrange top panels (change really from Bill Z.) plus some tiny cosmetic
changes.

Revision 3396 - Directory Listing
Modified Fri Jul 22 21:20:07 2005 UTC (14 years, 7 months ago) by jj
Made comparison safer when turning blank fields undefined (some are already
undefined).

Revision 3395 - Directory Listing
Modified Wed Jul 20 23:56:30 2005 UTC (14 years, 7 months ago) by gage
Fixed bug #781 and #783.  Mostly involves editing the message
given instructors on the Grades.pm page.

Revision 3394 - Directory Listing
Modified Wed Jul 20 22:35:04 2005 UTC (14 years, 7 months ago) by gage
Add a check box that determines whether the csv entries are padded
with spaces.  Padding with spaces makes the text easier to read
but it interfers with some spread sheets which expect the csv entries
to contain no extraneous spaces.

We are still not using the CPAN standard CVS input/output mechanisms.
The code is in this module but it is not being used.

-- Mike

Revision 3393 - Directory Listing
Modified Wed Jul 20 18:30:59 2005 UTC (14 years, 7 months ago) by gage
Added a modification of the grades that shows where the
state_summary_msg can be added.  This message is
printed at the bottom of each problem page.  The current default
is a blank message, which means that the default message
defined in Problem.pm is printed.

There is currently no way to turn the message off entirely.  Perhaps
on the next revision.

Revision 3392 - Directory Listing
Modified Wed Jul 20 18:28:55 2005 UTC (14 years, 7 months ago) by gage
Fixed error that kept the script from working on courses whose
names contained an underscore.

Added `   ` around course names to handle courses whose names
have hyphens in them (and other weird characters)

Added print comments so that you see a running commentary of what
is being changed.  Once this script is debugged we might want
to turn these off.

Revision 3391 - Directory Listing
Modified Wed Jul 20 18:14:58 2005 UTC (14 years, 7 months ago) by gage
Changes to the reports of a problem status.  This closes bug #631.  It
also reports blank errors differently from incorrect answers to support
sequential problem graders.  Finally it adds a "state_summary_msg" field
to the problem state which can be used to completely replace the
report on the current problem state usually printed at the bottom of a
problem page.

Revision 3390 - Directory Listing
Modified Wed Jul 20 18:12:37 2005 UTC (14 years, 7 months ago) by gage
Added a ResultsAlert style ot ResultsWithError and ResultsWithoutError.
I am using it to color yellow a message alerting a student to the
existence of unanswered questions within a problem.

Revision 3389 - Directory Listing
Modified Tue Jul 19 17:22:53 2005 UTC (14 years, 7 months ago) by sh002i
changed default paths from /usr/local to /usr as per old email:

On Aug 24, 2004, at 11:23 AM, Arnold Pizer wrote:

> In the tarball for WW 1.9 I reset all paths to /usr/bin/ (rather than
> /usr/local/bin which FreeBSD or at least Hoss uses).  That way things
> work out of the box for most linux systems (all that I have played
> with).  I think it would be a good thing to do with future releases on
> WW 2.

Sounds good to me.
-sam

Revision 3388 - Directory Listing
Modified Mon Jul 18 23:10:35 2005 UTC (14 years, 7 months ago) by glarose
Add command-line utility to update sql and sql_single databases to include
gateway fields.  Use: wwdb_addgw [-h] [sql|sql_single]

Adds fields to the set and set_user tables in the WeBWorK mysql databases
that are required for the gateway module.  The script prompts for which
courses to modify.  Adding gateway database fields to existing courses
should have no effect on those courses, even if they are running under a
non-gateway aware version of the WeBWorK system.  (I haven't rigorously
tested this.)

If -h is supplied, the script hides the mysql password when it prompts for
it (this assumes that a Unix based stty -echo works).  If sql or sql_single
are supplied, they become the default database format.

Note that this has been tested, but not rigorously.  Please let me know
if you find that it does not perform as advertised.  It might be wise to
back up the database tables before using, and to check that it does what
we expect (that is, adds columns to the set and set_user tables) after
running it.

Revision 3387 - Directory Listing
Modified Sat Jul 16 22:31:41 2005 UTC (14 years, 7 months ago) by gage
Added documentation for macros used in constructing
sequential problems.

Revision 3386 - Directory Listing
Modified Sat Jul 16 22:01:08 2005 UTC (14 years, 7 months ago) by gage
Macros that aid the construction sequentialProblems.  For these
problems certain sections of text are hidden until earlier
answers have been answered correctly.

-- Mike

Revision 3385 - Directory Listing
Modified Sat Jul 16 21:59:35 2005 UTC (14 years, 7 months ago) by gage
Added support for sequentialProblems.

Revision 3384 - Directory Listing
Modified Sat Jul 16 19:24:31 2005 UTC (14 years, 7 months ago) by jj
Fixed typo related to useBaseTenLog.

Revision 3383 - Directory Listing
Modified Fri Jul 15 02:57:01 2005 UTC (14 years, 7 months ago) by jj
Fixed typo.

Revision 3382 - Directory Listing
Modified Thu Jul 14 20:37:35 2005 UTC (14 years, 7 months ago) by jj
In the login log, this will get the host's name if apache has been
configured to do that, otherwise it should get the ip number, and if
that somehow fails, we note it in the login log instead of to the user.

Revision 3381 - Directory Listing
Modified Thu Jul 14 20:20:15 2005 UTC (14 years, 7 months ago) by jj
When putting entries into the mysql database, put in "" as NULL.  The
counterpart when retreiving values (that NULL is converted to "") is
already part of gets.

Revision 3380 - Directory Listing
Modified Thu Jul 14 18:17:58 2005 UTC (14 years, 7 months ago) by jj
If HostnameLookups is off in Apache's httpd.conf, then remote_host returns
an undefined value.  Better than this fix would be to use get_remote_host,
but I couldn't get that to work on my system.

Revision 3379 - Directory Listing
Modified Thu Jul 14 16:23:11 2005 UTC (14 years, 7 months ago) by glarose
Correct commit of file with unresolved conflicts.

Revision 3378 - Directory Listing
Modified Thu Jul 14 14:30:19 2005 UTC (14 years, 7 months ago) by glarose
Add gateway template to templates hash.

Revision 3377 - Directory Listing
Modified Thu Jul 14 13:15:27 2005 UTC (14 years, 7 months ago) by glarose
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 3376 - Directory Listing
Modified Wed Jul 13 18:03:18 2005 UTC (14 years, 7 months ago) by glarose
Test commit prior to initial full commit of files for addition of the
Gateway testing module.  (CVS reports that Authz.pm has changed, but
unix diff shows no changes, so this is testing if CVS will actually
register a change to the file.)

Revision 3375 - Directory Listing
Modified Wed Jul 13 03:03:25 2005 UTC (14 years, 7 months ago) by dpvc
This file implements an easy way to add functions that are defined
within the Parser's Context.  See the comments in the file itself for
documentation on how to use it.

Revision 3374 - Directory Listing
Modified Wed Jul 13 01:46:49 2005 UTC (14 years, 7 months ago) by dpvc
Wrong correction in the previous commit.  Use CODE::push

Revision 3373 - Directory Listing
Modified Wed Jul 13 01:23:38 2005 UTC (14 years, 7 months ago) by gage
Made modifications that allow use of complex numbers in matrices.  You can
also LR decompose a non-square matrix.  Documentation is still needed
and further testing.

Revision 3372 - Directory Listing
Modified Wed Jul 13 01:22:43 2005 UTC (14 years, 7 months ago) by gage
Made modifications that allow the use of complex numbers in matrices

Revision 3371 - Directory Listing
Modified Tue Jul 12 22:39:56 2005 UTC (14 years, 7 months ago) by dpvc
Make error messages potentially localizable (by making them use
sprintf-style strings rather than variable subtitution).

Revision 3370 - Directory Listing
Modified Tue Jul 12 22:29:53 2005 UTC (14 years, 7 months ago) by dpvc
A first pass at making parser error messages localizable.  The
Context()->{error}{msg} hash can be used to specify translations of
the standard messages.  For example,

    Context()->{error}{msg}{'Division by zero'} = "Don't divide by zero, dude!";
    Context()->{error}{msg}{'Function '%s' has too many inputs'} =
        "You passed too many arguments to '%s'";

(I didn't translate into another language, here, but you could do
that, too.)

The msg hash could also be used within answer checkers to make certain
answer messages more appropriate for the given type of expected answer.

Revision 3369 - Directory Listing
Modified Tue Jul 12 21:05:37 2005 UTC (14 years, 7 months ago) by dpvc
Fixed various perl compiler warnings (due to extra "my", and so on).

Revision 3368 - Directory Listing
Modified Tue Jul 12 02:06:03 2005 UTC (14 years, 7 months ago) by dpvc
Fixed typo.

Revision 3367 - Directory Listing
Modified Tue Jul 12 02:02:46 2005 UTC (14 years, 7 months ago) by dpvc
Fixed problem with minus signs in formulas that are turned into perl
mode.  Perl needs extra spaces to avoid problems with -e type operators.

Revision 3366 - Directory Listing
Modified Tue Jul 12 00:52:47 2005 UTC (14 years, 7 months ago) by sh002i
added login logging and site_checkPassword support. closes bug #729. see
that bug for more information.

Revision 3365 - Directory Listing
Modified Tue Jul 12 00:52:00 2005 UTC (14 years, 7 months ago) by sh002i
added login log.

Revision 3364 - Directory Listing
Modified Fri Jul 8 21:45:14 2005 UTC (14 years, 7 months ago) by jj
Fixed typo in installation instructions.

Revision 3363 - Directory Listing
Modified Thu Jul 7 02:40:52 2005 UTC (14 years, 7 months ago) by gage
Added some pod documentation to this file.  It needs more -- several methods
of MatrixReal1 have been overridden

Revision 3362 - Directory Listing
Modified Wed Jul 6 15:38:06 2005 UTC (14 years, 7 months ago) by dpvc
Make tth use unicode for the preview (as it does for the calls within
the body of the problem).  Also, do the preview in display mode, but
fix the tables so that they won't have unwanted borders (really need
to fix the ur.css to get this right) and remove the unneeded initial
<BR> that tth produces.

Revision 3360 - Directory Listing
Modified Tue Jul 5 22:13:16 2005 UTC (14 years, 7 months ago) by gage
Added some pod documentation

Revision 3359 - Directory Listing
Modified Tue Jul 5 21:58:51 2005 UTC (14 years, 7 months ago) by sh002i
chech tthPreamble path and mtime to deal with changes to the file
between runs. this is necessary now that dangerousMacros.pl is cached.
Closes bug #798.

Revision 3358 - Directory Listing
Modified Tue Jul 5 20:49:16 2005 UTC (14 years, 7 months ago) by dpvc
A couple of other problem set -> homework set changes.

Revision 3357 - Directory Listing
Modified Tue Jul 5 18:56:12 2005 UTC (14 years, 7 months ago) by sh002i
renamed "problem set" to "homework set" in page content.
closes bug #797.

Revision 3356 - Directory Listing
Modified Tue Jul 5 18:20:24 2005 UTC (14 years, 7 months ago) by sh002i
Added support for the tthPreamble.tex file. The effect of this code is
the same as the corresponding code in dangerousMacros.pl:tth(), but the
technique is slightly different.

This is a hack. Eventually, we'd like to have a common out-of-sandbox
method of calling TTH.

Closes bug #799.

Revision 3355 - Directory Listing
Modified Tue Jul 5 18:16:12 2005 UTC (14 years, 7 months ago) by sh002i
fixed tiny indentation problem

Revision 3354 - Directory Listing
Modified Tue Jul 5 17:54:39 2005 UTC (14 years, 7 months ago) by dpvc
Fixed incorrect method call to SaveHiidenFlags (should have been
HiddenFlags).

Revision 3353 - Directory Listing
Modified Tue Jul 5 01:43:30 2005 UTC (14 years, 7 months ago) by dpvc
Don't load Parser.pl (it causes trouble with the Matrix.pm module).
We only needed it because of the calls to Real() that were being used
by Formula objects, so have them call Value::Real directly.

be sure to get the latest versions of Parser and Value (including the
top-level Parser.pm and Value.pm) in order to use this update.

Revision 3352 - Directory Listing
Modified Tue Jul 5 01:38:19 2005 UTC (14 years, 7 months ago) by dpvc
Modified the perl() method to make calles to Value:: directly rather
than to the main:: stubs for creating Value objects.  This will make
it work better from within packages or when Parser.pl hasn't been
loaded.

A few things still won't work in this case; e.g., calls to Closed()
for intervals (these could be handled better using ->with()) and to
functions like Factorial and log10 that are defined in Parser.pl.

Finally, there should be better object-based control over what
routines are called to create these objects, so that subclasses of the
Value objects will be able to be generated correctly.

Revision 3351 - Directory Listing
Modified Tue Jul 5 00:31:57 2005 UTC (14 years, 7 months ago) by gage
Modified formatting

Revision 3350 - Directory Listing
Modified Tue Jul 5 00:08:54 2005 UTC (14 years, 7 months ago) by dpvc
Main file that calls in the legacy modules.

Revision 3349 - Directory Listing
Modified Mon Jul 4 22:11:08 2005 UTC (14 years, 7 months ago) by gage
Add comment

Revision 3348 - Directory Listing
Modified Mon Jul 4 20:18:40 2005 UTC (14 years, 7 months ago) by dpvc
Folded in Mike's changes to checkbox_cmp.

Revision 3347 - Directory Listing
Modified Mon Jul 4 20:12:22 2005 UTC (14 years, 7 months ago) by dpvc
This is an attempt at making the traditional answer checkers call the
new Parser in place of their original ones.  That is, if you follow
the instructions in the README file, then problems that use
std_num_cmp(), fun_cmp(), etc. will really be using the new Parser
instead of the original PGanswermacros.pl versions.

The old answer checkers are still available, and can be switched back
on a site-wide, course-wide, or problem-by-problem basis.  See the
README for details.

Revision 3346 - Directory Listing
Modified Mon Jul 4 19:52:38 2005 UTC (14 years, 7 months ago) by gage
Rewrote checkbox_cmp as an AnswerEvaluator

Revision 3345 - Directory Listing
Modified Mon Jul 4 19:49:06 2005 UTC (14 years, 7 months ago) by gage
Reworked some of the code for AnswerEvaluator

The messages printed out when using the debug flag should now
be somewhat better.

-- Mike

Revision 3344 - Directory Listing
Modified Mon Jul 4 19:39:37 2005 UTC (14 years, 7 months ago) by dpvc
Fixed problem with sorting (problem with $a, $b, I think).

Revision 3343 - Directory Listing
Modified Mon Jul 4 16:21:04 2005 UTC (14 years, 7 months ago) by dpvc
Handle TeX versions of variables whose names include underscores
better.

Revision 3342 - Directory Listing
Modified Mon Jul 4 15:53:26 2005 UTC (14 years, 7 months ago) by dpvc
Better messages when adaptive parameters are too big.

Revision 3341 - Directory Listing
Modified Mon Jul 4 15:43:53 2005 UTC (14 years, 7 months ago) by dpvc
Implement "remove trailing zeros" format, like in prfmt().  I still
think '%g' works better in most cases ('%f#' will print larger values
without using scientific notation, which is nice, but will print small
numbers like .000000005 as 0, even though the fuzzy comparison of this
to zero will not be true.)

Revision 3340 - Directory Listing
Modified Mon Jul 4 15:22:40 2005 UTC (14 years, 7 months ago) by gage
Commenting out unused code.  This file still needs a lot of work.

Revision 3339 - Directory Listing
Modified Mon Jul 4 15:22:22 2005 UTC (14 years, 7 months ago) by dpvc
Don't use the overloaded Real class for doing adaptive parameter
checks (use non-fuzzy checks, since we are checking the fuzziness by hand).

Revision 3338 - Directory Listing
Modified Mon Jul 4 15:21:52 2005 UTC (14 years, 7 months ago) by gage
Restored str_filters -- removing it broke some of the other answer evaluators.

str_filters takes a string, filters it and then returns the filtered string.

The actual filters have been changed to work with answer hashes rather than with
strings, so str_filters warps the string in an answer hash before sending it through
the filters.

sorry for the breakage.

-- Mike

Revision 3337 - Directory Listing
Modified Mon Jul 4 13:18:47 2005 UTC (14 years, 7 months ago) by dpvc
Better spacing of jsMath output in the answer preview area.

Revision 3336 - Directory Listing
Modified Mon Jul 4 13:15:57 2005 UTC (14 years, 7 months ago) by dpvc
Change so as not to use raw HTML in the error messages.

Revision 3335 - Directory Listing
Modified Mon Jul 4 03:28:09 2005 UTC (14 years, 7 months ago) by dpvc
Allow Parser::Number::NoDecimals() to accept a context to be modified
(rather than always changing the curent context).

Revision 3334 - Directory Listing
Modified Sun Jul 3 20:10:37 2005 UTC (14 years, 7 months ago) by dpvc
Updates to allow string matches to be case-insensitive.  This is now
the default, and can be overridden in the Context by setting the
string's "caseSensitive" attribute.  e.g.:

	 Context()->strings->add("FooBar"=>{caseSensitive=>1});

would rewuire "FooBar" to be entered exactly as typed.

Revision 3333 - Directory Listing
Modified Sun Jul 3 20:06:33 2005 UTC (14 years, 7 months ago) by dpvc
Adjusted some spacing

Revision 3332 - Directory Listing
Modified Sun Jul 3 20:05:28 2005 UTC (14 years, 7 months ago) by dpvc
Fixed a bug in the enable/disable routines that would cause them to
always work on the current context rather than the one whose
enable/disable method was being called.

Revision 3331 - Directory Listing
Modified Sat Jul 2 17:04:31 2005 UTC (14 years, 7 months ago) by dpvc
Fixed an error in creating the tarred archives (I had messed it up
when adding the report of how many files were archived).

Revision 3330 - Directory Listing
Modified Sat Jul 2 16:52:31 2005 UTC (14 years, 7 months ago) by dpvc
Major updates to the file manager to allow it to:

1.  Show dates and sizes of files (optionally, since some browsers
    don't handle the CSS to change to a monospaced font).

2.  Provide better control over renaming of uploaded files whose
    names already exist (there is a checkbox for overwriting them
    automatically; if unchecked, the user is prompted for a new name).

3.  Allow the creation or gzipped tar archives from files in the
    course directory.  Multiple files and directories can be selected
    to be included in the archive.  If only one file is selected, the
    archive will have it's name with ".tgz" appended; if mulitple
    files are selected, the archive will get a unique name starting
    with the course ID.

4.  Provide a checkbox that controls whether uploaded .tgz archives
    are unpacked automatically, and a second that controls whether the
    unpacked archive file is deleted afterward.  Files from the
    archive will be unpacked into the current directory, and will
    overwrite existing files silently.

5.  Follow symbolic links that are to files or directories within the
    course hierarchy.  In addition, there is a new variable in
    global.conf that provides a list of "valid links"; these are
    directories to which the FileManager is allowed to follow symbolic
    links.  The system administator can add directories to this list
    in order to allow professors to access limited areas outside their
    course directory (but they still need to have a symblic link
    within their course to those areas in order to view them).

I think this covers all the current FileManager requests, and this
closes bug#791.

Revision 3329 - Directory Listing
Modified Fri Jul 1 23:52:12 2005 UTC (14 years, 7 months ago) by gage
Moved the task of sending the emails to the students to a post_processing portion of the
request handling.

When you email a class, an HTML message is returned informing you that the messages will
be sent.  Once the process is completed an email notification is sent to the user (instructor)
sending the email.

This has been lightly tested.

Revision 3328 - Directory Listing
Modified Fri Jul 1 15:52:36 2005 UTC (14 years, 7 months ago) by gage
Added commment

Revision 3326 - Directory Listing
Modified Fri Jul 1 12:14:40 2005 UTC (14 years, 7 months ago) by gage
Fixed a bug in which the constant 'function'   BASE64_ENCODED was not being
evaluated inside the matching and substitution statements.  Replaced
the constant by using the construction
our $BASE64_ENCODED = 'base64_encoded:';
instead.  The variable is properly interpolated inside the matching
and substitution statements.

Revision 3325 - Directory Listing
Modified Wed Jun 29 17:10:11 2005 UTC (14 years, 7 months ago) by gage
Added comments.

Revision 3324 - Directory Listing
Modified Wed Jun 29 16:19:42 2005 UTC (14 years, 7 months ago) by gage
Fixed bug in radio_cmp closing bug #258.  We now check to make
sure that only a single string is being passed and not an array.
(The latter occurs if checkboxes are used instead of radio buttons.)
The presence of two checked checkboxes triggers a warning.

Revision 3323 - Directory Listing
Modified Wed Jun 29 02:48:55 2005 UTC (14 years, 7 months ago) by gage
MASSIVE changes to str_cmp and related subroutines (mostly in STR_CMP).

This answer evaluator now produces an AnswerEvaluator type rather than
a subroutine.

Revision 3322 - Directory Listing
Modified Wed Jun 29 02:47:40 2005 UTC (14 years, 7 months ago) by gage
Corrected how preview_latex_strings are handled when two
AnswerHashes are ANDed or ORed.

Revision 3321 - Directory Listing
Modified Wed Jun 29 02:46:08 2005 UTC (14 years, 7 months ago) by gage
Fixed a problem with showing answers when printing hardcopy
(no idea why this wasn't reported earlier).  The CGI::checkboxes
use "on"  and nothing to denote whether a checkbox is checked.
We expect 1 or 0 (or undef).

Revision 3320 - Directory Listing
Modified Tue Jun 28 19:38:16 2005 UTC (14 years, 7 months ago) by gage
Format changes.

Revision 3319 - Directory Listing
Modified Tue Jun 28 19:36:52 2005 UTC (14 years, 7 months ago) by gage
Many changes to this file.  I've fixed multi_cmp which
will check a comma separated string of answers.

I have commented out many other routines which do not appear
to be in use.

Revision 3318 - Directory Listing
Modified Tue Jun 28 00:16:08 2005 UTC (14 years, 7 months ago) by sh002i
set closed message differentiates between sets that have not yet opened
and sets that used to be open. resolves bug #724.

Revision 3317 - Directory Listing
Modified Tue Jun 28 00:14:18 2005 UTC (14 years, 7 months ago) by sh002i
fixed comment about port number to describe new >= 8000 numbering scheme

Revision 3316 - Directory Listing
Modified Mon Jun 27 00:06:30 2005 UTC (14 years, 7 months ago) by gage
Removed warning message about "users" . We closed the bug defining
multiple users  awhile ago so we don't need this anymore.  It's
causing trouble
with UserList.pm which now has fields
visible_users and prev_visible_users.

Revision 3315 - Directory Listing
Modified Sat Jun 25 16:21:46 2005 UTC (14 years, 7 months ago) by gage
Fixed an incorrect error message when using the revert button.

Revision 3314 - Directory Listing
Modified Fri Jun 24 20:11:23 2005 UTC (14 years, 7 months ago) by gage
Fixed conceptual error in compare_vec_solution.  This should fix bug
#670.  In my opinion the entire concept of vec_solution_cmp should be
reconsidered.  In solving an underdetermined linear equation of the form
Ax-b=0 it seems to me that the solutions answer in the form:
x= a +bt+cu+ds  where a,b,c,d are vectors should simply be evaluated
to see if it satisfies Ax-b=0 for 5 or six values of a,b,c,d  --
checking the solution should use a
vector valued version of fun_cmp.

As it is, the student's coefficients for a,b,c,d are compared with the
instructors to see if they span the same space. This is quite a bit more
complicated -- and indeed the method came up with the wrong answer.

I believe I have the method corrected, but I would suggest that this
answer evaluator be replaced with one which operates more
directly and is therefore easier to maintain.  Am I missing something in
this analysis?  Has someone else created answer evaluators for this type
of problem?

 -- Mike

Revision 3312 - Directory Listing
Modified Thu Jun 23 17:53:32 2005 UTC (14 years, 8 months ago) by apizer
When sorting by clicking a label, concatonate visable user id's into a
string so that more my be sent without exceeding MSIE limit on URL's

Arnie

Revision 3311 - Directory Listing
Modified Thu Jun 23 02:33:03 2005 UTC (14 years, 8 months ago) by gage
The TIMEOUT constant which is now defined in WeBWorK::Cosntants  and is
(and was) used in WeBWorK::PG::Local  gives the time in seconds
that is allowed for rendering one PG problem.  The old value was 5 minutes
which was probably way too long. The default in WeBWorK::Constants has been
set to 60 seconds.  If no value is set then 10 seconds is used.

-- Mike

Revision 3310 - Directory Listing
Modified Wed Jun 22 16:13:18 2005 UTC (14 years, 8 months ago) by gage
Tweaked documentation

Revision 3309 - Directory Listing
Modified Wed Jun 22 15:54:16 2005 UTC (14 years, 8 months ago) by gage
Additional changes to the writeLogs functions.  Now surePathToFile
is used to make sure that the logs are created if they are not
already there.

Revision 3308 - Directory Listing
Modified Wed Jun 22 15:21:43 2005 UTC (14 years, 8 months ago) by gage
Resetting Timing::Logfile to empty.

I have left the default value for dvipngArgs so that it works with
dvipng versions greater than 1.0

Revision 3307 - Directory Listing
Modified Wed Jun 22 15:18:32 2005 UTC (14 years, 8 months ago) by gage
Use the Timing::HiRes module to calculate timing data for each
request. This gives more accurate timing data (using the unix
time gives only to the nearest second).  I am printing the elapsed
time to 3 decimal places, it could be to 6 if that is desirable.

This will help us evaluate whether changes are increasing or decreasing
the speed with which requests are serviced.

Revision 3306 - Directory Listing
Modified Wed Jun 22 15:13:40 2005 UTC (14 years, 8 months ago) by gage
Added documentation to writeTimingLogEntry

Revision 3305 - Directory Listing
Modified Tue Jun 21 19:56:00 2005 UTC (14 years, 8 months ago) by jj
New context which allows students to use C(n,r) and P(n,r) in their
answers.  To support this, the webwork versions of these functions
have been moved from PGaux... to PGcommon...

Revision 3304 - Directory Listing
Modified Tue Jun 21 19:43:59 2005 UTC (14 years, 8 months ago) by apizer
Put in hacks to get around: Maximum URL Length Is 2,083 Characters in Internet
Explorer.  When sorting by clicking labels we use the GET method and send the
user_id's of the visable users so that we only sort visable users but for over
about 110 students this is above MSIE's limit. If the total URL is under the
limit we will pass visable users. If it is over, we will not pass any and all
users will be displayed. The is almost enought to amke me use FireFox.
Maybe we should replace the GET method by POST but that requires a greater change.

Arnie

Revision 3303 - Directory Listing
Modified Tue Jun 21 14:48:02 2005 UTC (14 years, 8 months ago) by apizer
When exporting classlist to a file, tell the user the name and location of the
resulting file (e.g. templates/math1.lst) so they can find it in the File Mannager

Arnie

Revision 3302 - Directory Listing
Modified Tue Jun 21 02:13:06 2005 UTC (14 years, 8 months ago) by apizer
The classlist data can now be sorted by clicking on headings.

Revision 3301 - Directory Listing
Modified Mon Jun 20 22:40:34 2005 UTC (14 years, 8 months ago) by jj
Allow access to new file comparison module.  It is not linked to from
anywhere, but now you can bring it up with
  http://server/webwork2/coursename/instructor/compare

Revision 3300 - Directory Listing
Modified Mon Jun 20 22:38:16 2005 UTC (14 years, 8 months ago) by jj
New module for comparing two pg files in webwork.  You get both rendered
versions of the files and diffs.  This initial version is pretty much
just bare-bones.

Revision 3299 - Directory Listing
Modified Fri Jun 17 15:39:26 2005 UTC (14 years, 8 months ago) by apizer
Sorting by permission now works.

Revision 3298 - Directory Listing
Modified Thu Jun 16 15:32:02 2005 UTC (14 years, 8 months ago) by dpvc
New flag showAllErrors for when a custom checker is supplied.  This
will cause all errors generated in the user's code to be reported
(normally, messages from the Value and Parser packages are ignored).

Revision 3297 - Directory Listing
Modified Thu Jun 16 04:04:23 2005 UTC (14 years, 8 months ago) by dpvc
Fixed typos in comments.

Revision 3296 - Directory Listing
Modified Thu Jun 16 04:03:40 2005 UTC (14 years, 8 months ago) by dpvc
Fixed a problem with auto-generated functions getting an incomplete
variable list.

Revision 3295 - Directory Listing
Modified Thu Jun 16 00:52:13 2005 UTC (14 years, 8 months ago) by gage
Fixed documentation for $graph->size()

Revision 3294 - Directory Listing
Modified Wed Jun 15 23:55:17 2005 UTC (14 years, 8 months ago) by dpvc
Implements a Parser context in which only polynomials (of a single
variable) can be entered.  Only sums of multiples of powers of the
variable are allowed to be entered (though the coefficients can
contain mathematical operations).  An optional flag lets you specify
that only one term of each degree is allowed, so the student would
have to combine 1+x+x+x^2 to get 1+2x+x^2 in that case.

Revision 3293 - Directory Listing
Modified Wed Jun 15 22:21:08 2005 UTC (14 years, 8 months ago) by gage
Added separate file for rendering operation

Revision 3292 - Directory Listing
Modified Wed Jun 15 22:17:24 2005 UTC (14 years, 8 months ago) by gage
Cosmetic change to pretty_print_rh

Revision 3291 - Directory Listing
Modified Wed Jun 15 22:00:32 2005 UTC (14 years, 8 months ago) by jj
Changed whitespace removal of TeX strings to safer version.

Revision 3290 - Directory Listing
Modified Wed Jun 15 21:46:12 2005 UTC (14 years, 8 months ago) by jj
This change affects course creation using mysql.  Field types are now
determined by DB/Record/*.pm in the function SQL_TYPES.  Key fields
which are text are set to binary types (blobs) so that indexing on those
fields is case sensitive.  The net result should be fast database access
while still having it be case-sensitive in the searching.

Revision 3287 - Directory Listing
Modified Fri Jun 10 18:02:24 2005 UTC (14 years, 8 months ago) by apizer
Added the ability to change passwords on the classlist page and fixed up sorting a bit.
For example commented out sorting by permission which didn't work.  I'll work on sorting
next fixing the above and allowing profs to sort by clicking on heading as on the
Student Progress page.

Arnie

Revision 3285 - Directory Listing
Modified Fri Jun 10 16:06:55 2005 UTC (14 years, 8 months ago) by gage
Bringing HEAD and rel-2-1-patches in line

Revision 3284 - Directory Listing
Modified Fri Jun 10 16:01:29 2005 UTC (14 years, 8 months ago) by gage
Bring HEAD and rel-2-1-patches in line with each other.

Revision 3281 - Directory Listing
Modified Fri Jun 10 02:23:58 2005 UTC (14 years, 8 months ago) by gage
This file can contain a system wide message.  It is displayed on each
login page.  It's location and name are specified in global.conf

Revision 3280 - Directory Listing
Modified Fri Jun 10 02:22:24 2005 UTC (14 years, 8 months ago) by gage
Corrected usage help message

Revision 3274 - Directory Listing
Modified Thu Jun 9 11:16:01 2005 UTC (14 years, 8 months ago) by dpvc
Fixed Disable() and Enable() so that they can be called as

    Context()->functions->disable()
and
    Context()->functions->enable()

as well as

    Parser::Context::Functions::Disable()
and
    Parser::Context::Functions::Enable()

The former is the preferred syntax.

Revision 3273 - Directory Listing
Modified Mon Jun 6 02:32:20 2005 UTC (14 years, 8 months ago) by dpvc
Forgot to check hardcopy mode.  Fixed some problems with that.  The
answer array items have to turn off verbatim mode that is used when
answer are included in the hardcopy.  This causes paragraph breaks
between entries in a singleResult MultiPart that includes ans_arrays,
which make the output less pretty, but at least they show up.

Revision 3272 - Directory Listing
Modified Mon Jun 6 00:46:00 2005 UTC (14 years, 8 months ago) by dpvc
Added styles to make Parser's ans_array methods show up properly in
the student answer and correct answer blocks.

The style for the td in the results table causes havoc for tables that
are nested in there.  This solves is for Parser produced answer
arrays, but it is still messed up for the standard ans_array() and for
the output of tth (the formatted text option).

The way the style for this table is handled should probably be
changed.  Perhaps if we could override for td's in tables nested in
the results area?  I don't know enough about CSS to figure that out.

Revision 3270 - Directory Listing
Modified Mon Jun 6 00:01:44 2005 UTC (14 years, 8 months ago) by dpvc
This file implements a Multi-Part parser object that allows you to tie
several input blanks to a single answer checker that can compare the
student's answers in several blanks in order to determine which are
correct.

For example:

      $mp = MultiPart("x^2",1,-1)->with(
        singleResult => 1,
        checker => sub {
          my ($correct,$student,$self) = @_;  # get the parameters
          my ($f,$x1,$x2) = @{$student};      # extract the student answers
          Value::Error("Function can't be the identity") if ($f == 'x');
          Value::Error("Function can't be constant") if ($f->isConstant);
          return $f->eval(x=>$x1) == $f->eval(x=>$x2);
        },
      );
           .
      BEGIN_TEXT
        \(f(x)\) = \{$mp->ans_rule(20)\} produces the same value
        at \(x\) = \{$mp->ans_rule(10)\} as it does at \(x\) = \{$mp->ans_rule(10)\}.
      END_TEXT

      ANS($mp->cmp);

This produces three answer blanks all tied to the same checker, which
is supplied by the user when the MultiPart is specified.  This one
checks if two inputs to a function provide the same output.

The answer blanks can each produce a separate row in the results area
at the top of the page, or they con be combined into a single row, as
in this case.  The checker routine can provide error messages for
individual parts via the setMessage() method, or for the problem as a
whole, as above.  Finally, the ans_array() method can be used to
produce answer blanks for individual entries for those objects that
support such arrays.

See the documentation at the top of the file for additional details.

Revision 3269 - Directory Listing
Modified Sun Jun 5 23:52:11 2005 UTC (14 years, 8 months ago) by dpvc
Added ability to have Matrix, Vector and Point objects produce input
arrays similar to the ones available in PGmatrixmacros.pg.  This
provides some substantial new functionality, and it may still have
some shaking down to do, but it should not affect the existing
functionality of the answer checkers.

To create an answer array for a matrix, vector or point, use the new
ans_array() or named_ans_array() methods of these objects.  For
example:

	Context("Matrix");
	$M = Matrix([1,2],[3,4]);

	BEGIN_TEXT
	\{$M->TeX\} = \{$M->ans_array\}
	END_TEXT

	ANS($M->cmp);

This creates a matrix, then prints it ans creates an answer array of
the appropriate size for the matrix.  The answer checker will
automatically know to handle the multiple entry blanks.

To used a named answer rule, use:

	Context("Matrix");
	$M = Matrix([1,2],[3,4]);

	BEGIN_TEXT
	\{$M->TeX\} = \{$M->named_ans_array('fred')\}
	END_TEXT

	NAMED_ANS(fred => $M->cmp);

Both methods also take an optional argument that specifies the width
of the answer rules.  The default is 5.

You can get a multi-input point or vector array as well, and you can
make column vectors as follows:

        Context("Vector");
	$V = ColumnVector("1+x","3x","1-x");

	BEGIN_TEXT
	\{$V->TeX\} = \{$V->ans_array\}
	END_TEXT

	ANS($V->cmp);

Note that you can make answer arrays for matrices and vectors of
formulas as well as constants, provided the formula is an explicit
matrix or vector of formulas, and is not obtained by matrix
arithmatic.

For concistencey, all objets now have ans_rule and named_ans_rule
methods as well.  The default width is 20 for these.

Revision 3268 - Directory Listing
Modified Sun Jun 5 23:36:28 2005 UTC (14 years, 8 months ago) by dpvc
Removed some unused lines and comments.
Removed unnecessary spaces from around answer-rule-extension rules,
and made the TeX version of this rule be based on the width, as is
the case for ans_rule.

Revision 3267 - Directory Listing
Modified Sun Jun 5 23:25:20 2005 UTC (14 years, 8 months ago) by dpvc
Allow for vectors to be marked as Column Vectors.

Revision 3266 - Directory Listing
Modified Sun Jun 5 23:24:29 2005 UTC (14 years, 8 months ago) by dpvc
Better handling of delimiters that are explicitly set byt he user.
Fixed an incorrect call during object class promotion.
Added ability to sepcify that a vector is a Column Vector.

Revision 3265 - Directory Listing
Modified Sun Jun 5 23:22:20 2005 UTC (14 years, 8 months ago) by dpvc
Better handling of open and close delimiters that are explicitly set.

Revision 3264 - Directory Listing
Modified Sun Jun 5 23:18:01 2005 UTC (14 years, 8 months ago) by dpvc
Fix some incorrect calls when the promoting types to higher precedence
object types.

Revision 3263 - Directory Listing
Modified Sun Jun 5 23:08:32 2005 UTC (14 years, 8 months ago) by dpvc
Fixed a bug with Matrix->perl() method that would cause an extra level
of nesting in constant matrices.

Revision 3262 - Directory Listing
Modified Sun Jun 5 20:25:27 2005 UTC (14 years, 8 months ago) by jj
Fixed typo

Revision 3261 - Directory Listing
Modified Sat Jun 4 13:50:41 2005 UTC (14 years, 8 months ago) by dpvc
Avoid possible infinite loop with length and typeref calls.

Revision 3260 - Directory Listing
Modified Sat Jun 4 13:50:01 2005 UTC (14 years, 8 months ago) by dpvc
Remove unneeded comment.

Revision 3259 - Directory Listing
Modified Fri Jun 3 22:03:23 2005 UTC (14 years, 8 months ago) by dpvc
Added a ->with() method that lets you set fields of a Parser object as
you create it.  For example:

    $f = Formula("sqrt(x)")->with(limits=>[0,3]);

or

    ANS(Formula("(x+1)/x")->with(checkUndefinedPoints=>1,test_at=>[[0]])->cmp);

or

    ANS($f->with(test_points=>[[0],[1],[2]])->cmp);

Revision 3258 - Directory Listing
Modified Fri Jun 3 19:14:00 2005 UTC (14 years, 8 months ago) by dpvc
Better control over number of points that can be undefined, and
new ability to specify required test points plus additional random
ones.  (Previously, if you set the test points, no random points were
generated.)  For example:

     $f = Formula("(x^2-1)/(x-1)");
     $f->{test_at} = [[1]];  # test at x=1 plus random points

as opposed to

     $f->{test_points} = [[-1],[0],[1]];

which tests only the points x = -1, x = 0 and x = 1.

Revision 3257 - Directory Listing
Modified Thu Jun 2 22:50:24 2005 UTC (14 years, 8 months ago) by dpvc
Modified the Formula answer checker to allow checking of points where
the functions are undefined (i.e., attempt to check that the domains
agree).  This can be enabled by setting the checkundefinedPoints flag
in the Context(), or in the formula itself.  Test points where the
function is undefined will be retained and the student's answer will
have to be undefined at the same points.  If the points are selected
at random, the points where the function is undefined are kept in
addition to the ones where it is defined, so the required number of
test points where the function IS defined will still need to be
found.  The number of undefined points can be up to the number of
defined points.  This number can be reduced by setting the
max_undefined flag.  If you want to guarantee that a specific
undefined point be tested, you can provide that point using the
test_points field of the formula.  For example:

     Context()->flags->set(checkUndefinedPoints=>1);
     $f = Formula("(x^2-1)/(x-1)");
     $f->{test_points} = [[-1],[0],[1],[2]];
     ANS($f->cmp);

will guarantee that the singularity at x=1 is tested, so the answer
x+1 will not be marked as correct.

If an answer matches at all the test points where the functions are
both defined, but some of the undefind points differ between the two
functions, the answer checker will generate an error message
indicating that the domains of the functions don't agree.  (This is
ONLY generated with the functions match except for that.)  This can be
controlled by setting the showDomainErrors flag in the formula's cmp()
call:

     ANS($f->cmp(showDomainErrors=>0));

The default is to show these errors.

Revision 3256 - Directory Listing
Modified Thu Jun 2 19:53:06 2005 UTC (14 years, 8 months ago) by dpvc
Fixed an accidental hard-coded operation from always being "add" to
being the correct operation when promoting the operations to an object
of higher precedence.  (But since formulas are normally the highest
precedence, this will never have occurred.)

Revision 3255 - Directory Listing
Modified Thu Jun 2 18:22:58 2005 UTC (14 years, 8 months ago) by apizer
Make all sorts case insensitive

Revision 3254 - Directory Listing
Modified Thu Jun 2 16:37:11 2005 UTC (14 years, 8 months ago) by gage
Allows connection of WeBWorK with Moodle via SOAP.   This
feature is still under development.

Revision 3253 - Directory Listing
Modified Thu Jun 2 16:32:52 2005 UTC (14 years, 8 months ago) by gage
These two files provide a connection via SOAP with Moodle.  You will
need to modify the webwork.apache-config file as well.

Revision 3252 - Directory Listing
Modified Thu Jun 2 15:18:50 2005 UTC (14 years, 8 months ago) by apizer
1. Don't put any spaces before any numerical data in .csv output.  Excel
doesn't have a problem with this but other spreadsheets do according to Mike.

2. Keep backups of all totals files and never overwrite a backup.  The File
Manager can be used to delete any unwanted backups.

Arnie

Revision 3251 - Directory Listing
Modified Wed Jun 1 17:22:23 2005 UTC (14 years, 8 months ago) by apizer
Add the line
Any changes made below will be reflected in the set for ALL students.
to the top of the Hmwk Set Editor page

Arnie

Revision 3250 - Directory Listing
Modified Wed Jun 1 15:05:17 2005 UTC (14 years, 8 months ago) by apizer
Sorting to three levels is obtained by clicking on headings.

Arnie

Revision 3249 - Directory Listing
Modified Wed Jun 1 05:23:07 2005 UTC (14 years, 8 months ago) by sh002i
test of logging

Revision 3248 - Directory Listing
Modified Wed Jun 1 05:22:51 2005 UTC (14 years, 8 months ago) by sh002i
start using activitymail-from script again

Revision 3247 - Directory Listing
Modified Tue May 31 19:53:44 2005 UTC (14 years, 8 months ago) by jj
Allow periods in set names.  This has been tested for a while without
ill effects.  Such sets already exist - they can be created
in the Library Browser, but when they were exported, they could not be
re-imported.

Revision 3246 - Directory Listing
Modified Tue May 31 16:54:14 2005 UTC (14 years, 8 months ago) by apizer
On web page, display a pretty sort_mthod_name. E.g. remove underscores.

Arnie

Revision 3245 - Directory Listing
Modified Fri May 27 17:41:27 2005 UTC (14 years, 8 months ago) by apizer
pad entries with appended (rather than prepended) spaces so that sorting
will work properly in Excel, etc.

Arnie

Revision 3244 - Directory Listing
Modified Fri May 27 16:34:29 2005 UTC (14 years, 8 months ago) by apizer
The sorting order in scoring files is now never random. It is by last name,
then first name, and then by user_id and is case insensitive.  Before it
was by last name only and case sensitive.

Arnie

Revision 3243 - Directory Listing
Modified Fri May 27 04:01:39 2005 UTC (14 years, 8 months ago) by gage
changed a substitution call so that the directory path is recalculated
every time listLib is called.  Before the substitution pattern was
calculated only when the child first started up and this caused
bad problems if a new call to listLib had a different library than
the one used when the child was initialized.

-- Mike

Revision 3242 - Directory Listing
Modified Thu May 26 18:18:40 2005 UTC (14 years, 8 months ago) by apizer
Allow sorting by first name, last name, or email address.  Also default
sorting is by last name, then by first name, then by user_id where as before
it was by last name only.

Revision 3241 - Directory Listing
Modified Thu May 26 18:13:27 2005 UTC (14 years, 8 months ago) by sh002i
test of logging

Revision 3240 - Directory Listing
Modified Thu May 26 18:13:02 2005 UTC (14 years, 8 months ago) by sh002i
We're waiting on Hoss to recover the /usr/local/bin/activitymail-from
script from backup. In the mean time, I've set the from address to
webwork@math.rochester.edu, which is allowed by SourceForge.

Revision 3239 - Directory Listing
Modified Thu May 26 15:12:36 2005 UTC (14 years, 8 months ago) by apizer
(1) problem numbers are left alligned
(2) problem values are listed
(3) no special message is given if problem value is 0

Revision 3238 - Directory Listing
Modified Thu May 26 12:59:19 2005 UTC (14 years, 8 months ago) by gage
This is the model course that we use as a template to create new
courses on the development machine.

Revision 3237 - Directory Listing
Modified Fri May 20 16:34:20 2005 UTC (14 years, 9 months ago) by gage
Added a location for site_info.txt

Revision 3236 - Directory Listing
Modified Fri May 20 16:31:33 2005 UTC (14 years, 9 months ago) by gage
The info section of the login picks up HTML text contained in the
webwork2/htdocs/site_info.txt  file.  This allows a site administrator
to post a message of the day or urgent site information which is
read by everyone logging into webwork.

The contents of the
course/templates/login_info.txt file is printed after
the site_info.txt message.

Revision 3235 - Directory Listing
Modified Fri May 20 16:28:25 2005 UTC (14 years, 9 months ago) by gage
Modifications that support import and export to gzipped disk files

Revision 3234 - Directory Listing
Modified Fri May 20 16:27:43 2005 UTC (14 years, 9 months ago) by gage
Import and Export now create gzipped files in the template directory
of the admin course.  These files can than be downloaded using
the FileManager.  The export and import process are still VERY slow, but
at least it no longer matters if your browser times out.

Revision 3233 - Directory Listing
Modified Thu May 19 20:53:18 2005 UTC (14 years, 9 months ago) by gage
Fixed problems with calculating the average grade correctly.

Regularized the code in Stats and StudentProgress
the next step is to a good chunk of the code which does the actual
arithmetic to a spot in Utils/  so that it can be called by
both Stats and StudentProgress.

This fixes bug 784

Revision 3232 - Directory Listing
Modified Thu May 19 16:17:44 2005 UTC (14 years, 9 months ago) by gage
Use base64 to save answers -- this ensures that symbols
in the answer won't cause trouble.  I have added a string
to the beginning of the encoded passage:

base64_encoded:AFDWERADADFRET

-- Mike

Revision 3231 - Directory Listing
Modified Thu May 19 15:34:48 2005 UTC (14 years, 9 months ago) by sh002i
useless commit to test logging

Revision 3230 - Directory Listing
Modified Thu May 19 01:09:03 2005 UTC (14 years, 9 months ago) by gage
Committing a new xmlrpc client to replace xmlrpc_client4

Revision 3229 - Directory Listing
Modified Thu May 19 01:07:29 2005 UTC (14 years, 9 months ago) by gage
Add a stub to allow SOAP access to webservice

Revision 3228 - Directory Listing
Modified Thu May 19 01:06:02 2005 UTC (14 years, 9 months ago) by gage
Clean up commented out code.

Revision 3227 - Directory Listing
Modified Thu May 19 00:55:38 2005 UTC (14 years, 9 months ago) by gage
I've updated the clients so they work with the current configuration of
the apache server running in my directory  (http://devel.webwork.rochester.edu:8002)

Once the webwork.apache-config files have been updated they should work on other
systems that are up-to-date with the cvs.

-- Mike

Revision 3226 - Directory Listing
Modified Tue May 17 18:40:12 2005 UTC (14 years, 9 months ago) by apizer
Put a spce in after bolf faced words

Revision 3225 - Directory Listing
Modified Sat May 14 01:42:25 2005 UTC (14 years, 9 months ago) by dpvc
Changed loadMacros() to use search for amcros files via a
user-cusomizable path of directories.  This is specified in the
global.conf file, and can include any number of directories.

The path can include "." to mean look in the .pg file's directory.
This makes it possible to store special macros files with the code
that uses them.

By default, the path is ".", the course/templates/macro directory,
then the pg/macros directory (in that order).  This duplicates the
current behaviour, except for the ".", which is new.

You must also make the updates to the global.conf,
webwork2/lib/WeBWorK/PG.pm, and webwork2/lib/WeBWorK/PG/Local/pm files.

Revision 3224 - Directory Listing
Modified Sat May 14 01:32:19 2005 UTC (14 years, 9 months ago) by dpvc
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 3223 - Directory Listing
Modified Wed May 11 14:32:58 2005 UTC (14 years, 9 months ago) by gage
encoding answers in base64 -- this should keep import and
export from breaking.

Revision 3222 - Directory Listing
Modified Wed May 11 14:31:10 2005 UTC (14 years, 9 months ago) by gage
Allow library search to follow links.

This is needed since the initial path to a library
from a course is usually a link from the templates directory.

Revision 3221 - Directory Listing
Modified Mon May 2 00:58:00 2005 UTC (14 years, 9 months ago) by dpvc
During a call(), if the evaluation produced an error message generated
by Value::Error, report it, otherwise report a generic message.

Revision 3220 - Directory Listing
Modified Mon May 2 00:56:19 2005 UTC (14 years, 9 months ago) by dpvc
Changed the call method to check if the function is actually defined
inthe parser before calling the parser method.  This allows things
like C(n,r) to be moved here but not automatically included in the
Context.

Revision 3219 - Directory Listing
Modified Fri Apr 29 22:30:55 2005 UTC (14 years, 9 months ago) by dpvc
Added derivative of |x| as x/|x|.

Revision 3218 - Directory Listing
Modified Fri Apr 29 02:37:13 2005 UTC (14 years, 9 months ago) by dpvc
Fixed a bug with adaptive parameters where the relative tolerance
was not being properly computed.  This allowed large constants to be
treated as correct when they shouldn't be.

Revision 3217 - Directory Listing
Modified Wed Apr 27 21:30:13 2005 UTC (14 years, 9 months ago) by dpvc
Copy parameters like limits, etc, to the newly created formula when
'C0' is added by the "upToConstant=>1" option in formula cmp().

Revision 3216 - Directory Listing
Modified Wed Apr 27 21:29:10 2005 UTC (14 years, 9 months ago) by dpvc
Use correct form of "x" with lists (rather than hack using split()).

Revision 3215 - Directory Listing
Modified Sat Apr 16 02:31:20 2005 UTC (14 years, 10 months ago) by gage
Providing an initial fix for bug 784.  I'd like to
continue to work on this module and factor out some of
the calculation loops in order to place them in Utils.

For now this hack (which involves splitting
$num_of_attemts into two variables so it can be updated
and used for two different purposes) should work.

--Mike

Revision 3214 - Directory Listing
Modified Sat Apr 9 18:33:07 2005 UTC (14 years, 10 months ago) by gage
Provide a default warning subroutine if none has been defined.

Revision 3213 - Directory Listing
Modified Sat Apr 9 18:00:42 2005 UTC (14 years, 10 months ago) by gage
Updating the webwork daemon.  Small changes that make the url compatible with
the current ports that we are using.

--Mike

Revision 3212 - Directory Listing
Modified Sat Apr 9 17:03:58 2005 UTC (14 years, 10 months ago) by gage
Bringing this client up-to-date with the current version of the xmlrpc daemon.

-- Mike

Revision 3211 - Directory Listing
Modified Sat Apr 9 15:36:26 2005 UTC (14 years, 10 months ago) by gage
Added utf8 to the modules called to set up AlgParser.  Davide Cervone found this
fix which corrects bug #754

Revision 3210 - Directory Listing
Modified Thu Mar 31 19:44:49 2005 UTC (14 years, 10 months ago) by dpvc
Added a check that the coordinates are numeric.  This avoids an error
were <i+j+k> was accepted as OK.

Revision 3209 - Directory Listing
Modified Tue Mar 29 21:23:34 2005 UTC (14 years, 10 months ago) by jj
Adding sql types for database entries for use on creation.  Many of them
can probably be tweaked to take up less space (e.g., we don't need 4 bytes
to store the published information).

Revision 3208 - Directory Listing
Modified Tue Mar 29 19:16:36 2005 UTC (14 years, 10 months ago) by dpvc
Provide an easy means of generating a custom answer checker based on
an user-supplied subroutine.  Most of the work is done by the Parser's
answer checker framework, and the user's routine is called at the
point that the student's answer is compared to the correct answer.

Revision 3207 - Directory Listing
Modified Tue Mar 29 13:14:17 2005 UTC (14 years, 10 months ago) by dpvc
Handle error messages in the list checker better.  In particular, make
the error messages generated by custom checkers called on elements in
the list look better.  Also, in an ordered list, if the student enters
extra values, call an answer checker to do a syntax check.  (By
default, use the first element again, but the user can supply a
separate object to use for the checker using the extra=>object
option.)

Revision 3206 - Directory Listing
Modified Tue Mar 29 03:25:29 2005 UTC (14 years, 10 months ago) by dpvc
Compartmentalize the equality check one step further.  The cmp_equal
method now calls a new cmp_compare method to perform the actual
comparison (rather than use == directly).  The cmp_compare method
either calls a user-supplied checker routine, or defaults to using the
== operator.  The list checker also uses cmp_compare to check the
individual items in the list.  The list checker also calls a new
cmp_list_checker method to perform the list check.  This can be
overridden by a user-supplied list-checking routine.

To supply an alternate checking routine, use the "checker" option to
the cmp() method of the correct answer object.  For example:

    sub check {
      my ($correct,$student,$ans) = @_;
      return 0 unless $correct->length == $student->length;
      my ($x,$y) = $student->value;  # break up a point;
      return $x**2 - $y**2 = 1;      # check if it is on a hyperbola
    }
    Point(1,0)->cmp(checker=>~~&check);

This will check if the student's point lies on the given hyperbola.  All
the usual error messages will be issued if the student's answer is not
a point, or is of the wrong dimension, etc.

You can use

    sub list_check {
      my ($correct,$student,$ans) = @_;
      my @correct = @{$correct}; my @student = @{$student};
      ...
      return ($score,@errors);
    }
    List(...)->cmp(list_checker=>~~&list_check);

to replace the list-checking routine with your own custom one.  The
$correct and $student values are array references to the elements in
the lists provided by the professor and student.  (Note that you do
NOT get a List() object; this allows you to handle lists of formulas,
since a List of formulas becomes a formula returning a list).  The
checker routine should return the number of correct elements in the
student's list ($score), and a list of error messages produced while
checking the two lists (@errors).  (This is a list of messages, since
you might want to include an error for each entry in the list, for
example).

If your checker or list_checker routine wants to die with an error
message, use Value::Error(message).  This will put the message in the
WeBWorK display area at the top of the page.  If you use die(message),
or if the code fails due to a runtime error, then "pink screen of
death" will be produced indicating the error and asking the student to
report the error to the professor.

Revision 3205 - Directory Listing
Modified Tue Mar 29 02:55:10 2005 UTC (14 years, 10 months ago) by dpvc
Properly handle string values in postprocessing of vectors and other
related lists.  (It used to report a dimension error for things like 'NONE').

Revision 3204 - Directory Listing
Modified Mon Mar 28 23:47:50 2005 UTC (14 years, 10 months ago) by dpvc
Peroperly negate infinities even when reduceConstants is not in
effect.

Revision 3203 - Directory Listing
Modified Mon Mar 28 23:46:06 2005 UTC (14 years, 10 months ago) by dpvc
Handle extra parentheses better.

Revision 3202 - Directory Listing
Modified Mon Mar 28 23:45:27 2005 UTC (14 years, 10 months ago) by dpvc
Handle log as ln or log properly.

Revision 3201 - Directory Listing
Modified Mon Mar 21 19:41:15 2005 UTC (14 years, 11 months ago) by apizer
## Make lookups case insensitive.  Otherwise indices seem not to be used
which slows things down drastically.  See openwebwork-devel@lists.sourceforge.net
discussion.

Revision 3200 - Directory Listing
Modified Mon Mar 21 18:51:43 2005 UTC (14 years, 11 months ago) by apizer
*** empty log message ***

Revision 3199 - Directory Listing
Modified Sun Mar 20 13:13:44 2005 UTC (14 years, 11 months ago) by dpvc
Implements an experimental answer checker for implicitly defined
curves and surfaces.

Revision 3198 - Directory Listing
Modified Sat Mar 19 01:11:06 2005 UTC (14 years, 11 months ago) by dpvc
Corrected display error where negative numbers were enclosed in
parentheses.

Revision 3197 - Directory Listing
Modified Fri Mar 18 17:28:10 2005 UTC (14 years, 11 months ago) by dpvc
Fixed sign error in correct answer, and chamged f(x) to f(x,y) in the
statement of the problem.

Revision 3196 - Directory Listing
Modified Wed Mar 16 13:40:29 2005 UTC (14 years, 11 months ago) by dpvc
Implements an answer evaluator that checks if a students answer
satisfies a given equality.  See the comments in the file for details
about how to use the answer checker.

Revision 3195 - Directory Listing
Modified Wed Mar 16 13:36:33 2005 UTC (14 years, 11 months ago) by dpvc
Now that the uverloaded operators handle subclassing properly, we can
use promotePrecedence in the compare routines, just in case we define
a subclass with even HIGHER precedence!

Revision 3194 - Directory Listing
Modified Wed Mar 16 13:35:01 2005 UTC (14 years, 11 months ago) by dpvc
removed a commented-out line that was no longer needed.

Revision 3193 - Directory Listing
Modified Wed Mar 16 13:33:59 2005 UTC (14 years, 11 months ago) by dpvc
Fixed a typo.

Revision 3192 - Directory Listing
Modified Wed Mar 16 13:30:28 2005 UTC (14 years, 11 months ago) by dpvc
Update the overloaded operators so that they can be overridden by
subclasses of the predefined object classes.  This involves calling
the objects method rather than using a hard reference to the routine
in the parent class.

Also, change the name of the string comparison routine to
compare_string to avoid conflicts with cmp that is used to produce the
answer checker for the class.

Finally, in Value.pm, promotePrecedence no longer has to do fancy
footwork to get "special" precedence to work (this was a hack to get
around the misfeature of the overloaded operators -- now that that is
being handled correctly, there is no need for it).

Revision 3191 - Directory Listing
Modified Wed Mar 16 04:17:35 2005 UTC (14 years, 11 months ago) by dpvc
Fixed error with asec and acsc where the parameters were not being
passed properly.

Revision 3190 - Directory Listing
Modified Wed Mar 16 02:47:04 2005 UTC (14 years, 11 months ago) by gage
Added a link from the logo to the home webpage for webwork.

Revision 3189 - Directory Listing
Modified Wed Mar 16 02:46:31 2005 UTC (14 years, 11 months ago) by gage
Changed port range to 8000-8999 instead of 11000 to 11999

Revision 3188 - Directory Listing
Modified Sun Feb 27 04:05:48 2005 UTC (14 years, 11 months ago) by gage
Still fiddling with the links so that one can jump from instructor
page editors to the actual display and back easily.

Revision 3187 - Directory Listing
Modified Sat Feb 26 23:03:12 2005 UTC (14 years, 11 months ago) by gage
Allow subclasses of AnswerEvalutor to be used.  Check for a match
with a substring AnswerEvaluator instead of equality.

Revision 3180 - Directory Listing
Modified Sat Feb 19 16:47:36 2005 UTC (15 years ago) by gage
Small correction that makes sure that _init subroutines are read
properly.  The original works on some versions of perl, but not on
others.

Revision 3177 - Directory Listing
Modified Fri Feb 18 00:04:09 2005 UTC (15 years ago) by dpvc
Missed one situation when making the previous update.  Fixed it.

Revision 3175 - Directory Listing
Modified Thu Feb 17 17:42:36 2005 UTC (15 years ago) by gage
Fixed error in PGProblemEditor.pm that prevented you from adding new problem in
a set.  Added comment to ProblemSetDetail.pm

Revision 3174 - Directory Listing
Modified Thu Feb 17 16:12:45 2005 UTC (15 years ago) by dpvc
Fixed it so that direct calls to the add, sub, mult, etc functions
would work as expected (even though there is no need to call them directly).

Revision 3172 - Directory Listing
Modified Tue Feb 15 21:58:54 2005 UTC (15 years ago) by dpvc
Updated the answer checkers so that you can more easily specify how
the correct answer shoudl be displayed.  In the past, you could use
something like Real(sqrt(2))->cmp(correct_ans=>"sqrt(2)") to do this,
but that is awkward.  Now the Compute() function (which parses and
then evaluates a string) sets things up so that the original string
will be what is used as the correct answer.  That means
Compute("sqrt(2)")->cmp will have the same result as the example
above.

You can also set the {correct_ans} properly of any Parser object to
have that value used as the correct answer.  For example

     $x = Real(sqrt(2));
     $x->{correct_ans} = "sqrt(2)";
     ANS($x->cmp)

would also produce the same answer checker as the two previous
examples.  All three methods should work.  Use the one that is most
convenient for you.

Revision 3171 - Directory Listing
Modified Tue Feb 15 21:53:23 2005 UTC (15 years ago) by dpvc
Improved the Real(), Complex(), Point(), Vector(), Matrix() and
String() constructors so that they will process formulas passed to
them as strings rather than requiring perl objects for these.

For example, you can use Real("2/3") rather than Real(2/3) if you
want.  Also, Real("1+x") will return a formula returning a real
(essentially the same as Formula("1+x") in this case).

Revision 3166 - Directory Listing
Modified Tue Feb 15 02:20:52 2005 UTC (15 years ago) by dpvc
Fixed an error with Matrix() that could cause it to loop infinitely
when bad data is passed to it.

Also, allow Matrix(), Point(), Vector(), and Real() to accept string
values that are evaluated to produce the value returned.

(Sorry, accidentally committed with a blank message.)

Revision 3165 - Directory Listing
Modified Tue Feb 15 02:16:10 2005 UTC (15 years ago) by dpvc
*** empty log message ***

Revision 3160 - Directory Listing
Modified Sun Feb 13 17:50:55 2005 UTC (15 years ago) by gage
Initialize dates to be now+ one week for the open date and
now + two weeks for the due and answer dates.  This makes
it less likely that the date will be undefined.

Revision 3159 - Directory Listing
Modified Thu Feb 10 22:34:01 2005 UTC (15 years ago) by dpvc
Fixed a problem that caused errors to occur when ImplicitPlane() was
called with a formula whose constant term is a negative number that is
produced by a computation.

Revision 3158 - Directory Listing
Modified Wed Feb 9 18:36:18 2005 UTC (15 years ago) by apizer
Allow labels A - ZZ

Arnie

Revision 3150 - Directory Listing
Modified Sun Feb 6 20:47:20 2005 UTC (15 years ago) by gage
Added links to problems to the stats page.

Revision 3149 - Directory Listing
Modified Sun Feb 6 20:45:39 2005 UTC (15 years ago) by gage
Fixed formatting on sidebar links.  Added sub links for student and set to the Statistics link

Revision 3140 - Directory Listing
Modified Sun Feb 6 15:20:51 2005 UTC (15 years ago) by gage
backporting this file

Revision 3136 - Directory Listing
Modified Sat Feb 5 14:07:55 2005 UTC (15 years ago) by jj
Work around IE bug for ordered lists.  Maybe someday this can be undone.

Revision 3135 - Directory Listing
Modified Sat Feb 5 01:47:49 2005 UTC (15 years ago) by gage
Changed formatting when reporting success index.  Success index is now reported in %

Revision 3134 - Directory Listing
Modified Sat Feb 5 01:34:48 2005 UTC (15 years ago) by gage
Removed commented out code.

Fixed a problem with calculating the success index. (the number of
attempts was inappropriately zeroed out with each problem.

Revision 3133 - Directory Listing
Modified Sat Feb 5 01:32:56 2005 UTC (15 years ago) by gage
minor cleanup -- removed a variable that had been defined twice.

Revision 3132 - Directory Listing
Modified Fri Feb 4 20:03:59 2005 UTC (15 years ago) by toenail
Added friendly message when no set is selected.
Fixes #750

Revision 3129 - Directory Listing
Modified Sat Jan 29 01:29:41 2005 UTC (15 years ago) by jj
Removes starting and ending whitespace from most of the form field entries
when adding users.  Some instructors add students by doing copy/paste from
elsewhere.  This frequently picks up whitespace which causes the user id
field to fail in checkKeyFields.

Revision 3128 - Directory Listing
Modified Sat Jan 29 01:23:57 2005 UTC (15 years ago) by gage
Fixed problem with hardcopy editing.  This case had simply not been handled
in the code even though it's the same behavior for hardcopy headers as it is for
screen headers.

This fixes bug #763

Revision 3127 - Directory Listing
Modified Sat Jan 29 01:21:19 2005 UTC (15 years ago) by gage
CourseID is now part of the subject line when feedback is sent.
This allows you to filter out feedback by course, which is handy
for those of use receiving lots of feedback emails.

Revision 3126 - Directory Listing
Modified Sat Jan 29 01:19:48 2005 UTC (15 years ago) by gage
Better error message if there is a multiply defined user.

Revision 3125 - Directory Listing
Modified Sat Jan 29 01:18:33 2005 UTC (15 years ago) by gage
Adds checks to make sure that the multiple user problem is really gone.

Revision 3124 - Directory Listing
Modified Fri Jan 28 21:24:18 2005 UTC (15 years ago) by sh002i
Added WWDBv3 and stylesheet settings from my local copy.

Revision 3123 - Directory Listing
Modified Fri Jan 28 01:04:06 2005 UTC (15 years ago) by gage
I believe this will fix the bug which sometimes causes multiple users
to appear in the parameters.  The problem is that Login.pm filters out
user, key, passwd  values and then passes the remaining values to
hidden_fields to be printed on the "relogin" page.  Unfortunately if
hidden_fields is passed an empty array then it prints ALL values in the
parameter hash as hidden fields.  So if only user and key are present
they will be printed as hidden fields.  If user, key and a non-filtered
paramter value are present then only the non-filtered parameter value
will be printed.

The current fix is a conditional which doesn't call hidden_fields at all
if there are no parameters left after the filtering operation.

--Mike

Revision 3111 - Directory Listing
Modified Thu Jan 27 04:26:37 2005 UTC (15 years ago) by dpvc
Added Text/Binary/Automatic buttons for conversion of line-breaks on
file uploads.  (Downloaded files are not modified, since we don't know
the user's platform.  Could try to use the HTTP_USERAGENT environment
variable to determine this.)

Also produce a warning message if a file is put in the wrong directory
(e.g., .def files should be put in templates).

Fixed some incorrect indenting.

Revision 3110 - Directory Listing
Modified Thu Jan 27 00:15:55 2005 UTC (15 years ago) by sh002i
Moved stylesheet into a separate file. Created new htdocs/css directory,
added stylesheet to that directory (ur.css). Include stylesheet in
ur.template with new "url" template escape:

<!--#url type="webwork" name="stylesheet"-->

This is 132 lines that Template.pm doesn't have to parse and 4368 bytes
that don't have to get sent to the client with every request.

Revision 3109 - Directory Listing
Modified Wed Jan 26 01:09:07 2005 UTC (15 years ago) by dpvc
Bring jsMath up to version 1.7e.

Version 1.7 introduced improved alignment in arrays, and the quality
of stretchable delimiters in some browsers.  It also fixed a couple of
bugs.  Most of the sub-versions were work-arrounds for bugs in MSIE.
Finally, there is support for controlling the style used for displayed
equations.  (Normally they are centered, but that can now be
controlled using the div.typeset CSS style.)  A number of minor
spacing problems on the PC also were corrected.

Revision 3102 - Directory Listing
Modified Tue Jan 25 21:22:35 2005 UTC (15 years ago) by toenail
display mode was inadvertently reset with other problem/set elements
that are safe to reset (rather than keep sticky) since they will be updated
from the newly saved database record or thrown away as expected

Revision 3094 - Directory Listing
Modified Wed Jan 19 21:54:34 2005 UTC (15 years, 1 month ago) by jj
Fix typo on button.

Revision 3093 - Directory Listing
Modified Sun Jan 16 00:52:49 2005 UTC (15 years, 1 month ago) by gage
Undoing some of the temporary changes I made to the warn message.

This may break what happens with xmlrpc however. (sigh)

Revision 3092 - Directory Listing
Modified Sat Jan 15 23:56:12 2005 UTC (15 years, 1 month ago) by gage
modified the way we attempt to find out the referring page.

Revision 3091 - Directory Listing
Modified Sat Jan 15 21:24:29 2005 UTC (15 years, 1 month ago) by gage
modified code for checking multiple user names.  We'll see if we can
track down the problem.

--Mike

Revision 3090 - Directory Listing
Modified Sat Jan 15 18:46:57 2005 UTC (15 years, 1 month ago) by gage
Commented out escapeHTML() of warning messages since it prevented
using tables when outputing info about answer evaluators.

Can someone tell me whether there is another reason why not allowing
HTML in warning messages is or would be important?  If so we can
figure out another way to debug answer evaluators.

-- Mike

Revision 3089 - Directory Listing
Modified Fri Jan 14 03:15:33 2005 UTC (15 years, 1 month ago) by toenail
new regexp matching can now match on permission level too

Revision 3087 - Directory Listing
Modified Tue Jan 11 22:46:29 2005 UTC (15 years, 1 month ago) by gage
Fixing an error in defining $ENV{WEBWORK_ROOT}.  Now it points to the
generic '/opt/webwork2'

Revision 3086 - Directory Listing
Modified Sat Jan 8 16:42:10 2005 UTC (15 years, 1 month ago) by dpvc
Fixed a bug with the file editor that did not process the file name
correctly in the top-level directory.

Fixed a bug in uploading a file where the name was given a sequence
number even when one was not needed.

Revision 3076 - Directory Listing
Modified Thu Jan 6 21:04:40 2005 UTC (15 years, 1 month ago) by sh002i
fixes to set assignment code

Revision 3075 - Directory Listing
Modified Thu Jan 6 21:04:29 2005 UTC (15 years, 1 month ago) by sh002i
small changes to keep up with DBv3 API

Revision 3074 - Directory Listing
Modified Tue Jan 4 17:56:33 2005 UTC (15 years, 1 month ago) by dpvc
Fixed index problem with matrix multiplciation.  (It was returning the
transpose!)

Revision 3073 - Directory Listing
Modified Sat Jan 1 22:35:10 2005 UTC (15 years, 1 month ago) by gage
Changes made to simplify the implementation of XMLRPC access to
the functionality of WeBWorK.

There is still a problem with making sure that the proper warning
mechanism is passed into the problem rendering compartment.
The proper permissions for creating directories also does not
get transmitted properly.

I would like to change the way that the defineEnvirVars subroutine is
passed into the Local.pm object.  I'd like to either pass the
environment as a hash or explicitly pass a reference to define
EnvirVars rather than inherit it from PG.  In particular I'd like
to be able to define environment variables directly in RenderProblem.pm
instead of faking it by defining fake problem objects.

Revision 3072 - Directory Listing
Modified Sat Jan 1 22:34:43 2005 UTC (15 years, 1 month ago) by gage
Changes made to simplify the implementation of XMLRPC access to
the functionality of WeBWorK.

There is still a problem with making sure that the proper warning
mechanism is passed into the problem rendering compartment.
The proper permissions for creating directories also does not
get transmitted properly.

I would like to change the way that the defineEnvirVars subroutine is
passed into the Local.pm object.  I'd like to either pass the
environment as a hash or explicitly pass a reference to define
EnvirVars rather than inherit it from PG.  In particular I'd like
to be able to define environment variables directly in RenderProblem.pm
instead of faking it by defining fake problem objects.

Revision 3071 - Directory Listing
Modified Sat Jan 1 22:29:41 2005 UTC (15 years, 1 month ago) by gage
Temporary modifications which allow the Warning mechanisms to work when
using the XML access methods.

This needs to be looked at again.  There is also a problem with defining
permissions for creating directories.  There is a temporary #FIXME
that seems to work.

Revision 3070 - Directory Listing
Modified Tue Dec 28 04:59:52 2004 UTC (15 years, 1 month ago) by gage
Modifications that allow the XMLRPC modules to function.

Revision 3069 - Directory Listing
Modified Tue Dec 28 04:56:27 2004 UTC (15 years, 1 month ago) by gage
Added modifications that support the creation of blank problems
to be added to sets.  blankProblem.pg is stationery for a new
problem.

Revision 3068 - Directory Listing
Modified Mon Dec 27 21:41:02 2004 UTC (15 years, 1 month ago) by gage
Minimal code for a client which will connect to the xmlrpc access within webwork 2

Use at your own risk :-)

Revision 3067 - Directory Listing
Modified Mon Dec 27 18:10:52 2004 UTC (15 years, 1 month ago) by gage
Fixed problem that was preventing HTML_dpng from working.

Several initialization problems are currently hacked.

I'd like to be able to get the initial request object from SOAP::Lite;
I also don't know how to get the port that the server is using:

$Apache->server->server_hostname works but
$Apache->server->port   doesn't

Still no support for jsMath mode

Revision 3066 - Directory Listing
Modified Mon Dec 27 17:20:16 2004 UTC (15 years, 1 month ago) by gage
Catch multiply defined user warning.

Revision 3065 - Directory Listing
Modified Mon Dec 27 17:18:59 2004 UTC (15 years, 1 month ago) by gage
More files for supporting access to problems via XMLRPC code
(see comment for WebworkWebservice.pm)

Revision 3064 - Directory Listing
Modified Mon Dec 27 17:18:17 2004 UTC (15 years, 1 month ago) by gage
Adding support for an XMLRPC mode which allows access to
some of Webworks functionality.  These files largely
duplicate the functionality of the daemons running on devel.webwork
and webwork.math  which support the display of the Problem Library.

There are still some problems with displaying equations in HTML_dpng
and also in jsMath mode.

There is a lot of overlap code with PG.pm which needs to be factored out
eventually.  I'm uploading the code now so that others can suggest
improvements and ideas for factoring code.

Revision 3063 - Directory Listing
Modified Thu Dec 23 02:15:17 2004 UTC (15 years, 2 months ago) by dpvc
Work around MSIE bug.  (Can't do height:100% for the size of the
scrolling list.  Every other browser in the world seems to be able to
handle this.)

Revision 3062 - Directory Listing
Modified Tue Dec 21 18:44:49 2004 UTC (15 years, 2 months ago) by gage
fixed error when set number or problem number is not defined
Kept fix that keeps set 0 and problem 0 from being replaced by blanks.

Revision 3061 - Directory Listing
Modified Tue Dec 21 17:47:57 2004 UTC (15 years, 2 months ago) by toenail
Fixed minor display problem where empty (not-overriden) date values
were being displayed as 12/31/1969

Closes #748

Revision 3060 - Directory Listing
Modified Tue Dec 21 15:29:55 2004 UTC (15 years, 2 months ago) by toenail
Added the following features:

* Searching on any user data field
* Sorting by any two fields
* Reports duplicate names on classlist import

Closes #654, #664, and #684

Revision 3059 - Directory Listing
Modified Tue Dec 21 04:41:03 2004 UTC (15 years, 2 months ago) by sh002i
Added course renaming to CourseManagement, CourseAdmin.

It works like this:

- move the course directory
- move any course subdirectories that are still at their old locations
  (like if they were outside the course directory)
- create a new database using addCourseHelper()
- copy the course data into the new course database using
  copyCourseDataHelper() (INSERT INTO $new SELECT * FROM $old)
- delete the old course database using deleteCourseHelper()

TODO:
* write helpers for gdbm and sql layouts
* write command-line script

Revision 3058 - Directory Listing
Modified Mon Dec 20 21:08:06 2004 UTC (15 years, 2 months ago) by sh002i
expansion of Mike's caching fixes. see below:

* separate setCachedUser($userID) method allows explicit setting of user
  to cache. This is needed because $r->param("user") is not always set
  (i.e. in the case of the initial request for a guest login.
* don't store a copy of a reference to %permissionLevels, as this isn't
  any more efficient than accessing the course environment directly.
* always construct the Authz instance.
* fall back on accessing the database if hasPermissions() is called with
  a user other than the cached user (or if no user is cached).
* warning output (and assume no permission) if PermissionLevel record
  doesn't exist or permission level is empty.
* warn (and assume no permission) if activity is not found in the
  %permissionLevels hash.
* don't pass $ce and $db to new(), since they are available in $r.

Revision 3057 - Directory Listing
Modified Mon Dec 20 16:21:50 2004 UTC (15 years, 2 months ago) by gage
Fixed double declaration of $user

Revision 3056 - Directory Listing
Modified Mon Dec 20 15:24:16 2004 UTC (15 years, 2 months ago) by sh002i
escaped hyphen in r.e. to avoid interpretation as range operator.

Revision 3055 - Directory Listing
Modified Sun Dec 19 22:41:34 2004 UTC (15 years, 2 months ago) by gage
Fixed small bug in the message passing facility

Revision 3054 - Directory Listing
Modified Sun Dec 19 22:39:59 2004 UTC (15 years, 2 months ago) by gage
Changed message passing when there is a duplicate administrator.

use addbadmessage() facility instead of warn

Revision 3053 - Directory Listing
Modified Sun Dec 19 22:08:36 2004 UTC (15 years, 2 months ago) by gage
The permission levels are now checked when the authz instance
is created.  This reduces the number of calls to the database.
It could cause trouble if there is a change in permission status
between the time when the instance is created and when it is used.
Since this all occurs while rendering one webpage, I don't think
that this time difference will ever cause trouble.

-- Mike

Revision 3052 - Directory Listing
Modified Sun Dec 19 00:53:27 2004 UTC (15 years, 2 months ago) by gage
Changed
unless $value =~ m/^[\w-.]*$/

to
unless $value =~ m/^[.\w-]*$/

for some reason having the period at the end was causing the warning:

False [] range "\w-" before HERE mark in regex m/^[\w- << HERE .]*$/ at
/home/gage/webwork/webwork-modperl/lib/WeBWorK/DB.pm line 1974.

Revision 3051 - Directory Listing
Modified Sat Dec 18 22:35:00 2004 UTC (15 years, 2 months ago) by gage
Call  $r->param("user") only in scalar context

Revision 3050 - Directory Listing
Modified Sat Dec 18 22:21:26 2004 UTC (15 years, 2 months ago) by gage
allow . in login names   -- cross your fingers and hope this works.

Revision 3049 - Directory Listing
Modified Sat Dec 18 22:20:42 2004 UTC (15 years, 2 months ago) by gage
make sure that $r->param("users") is only used in a scalar context.

Revision 3048 - Directory Listing
Modified Sat Dec 18 22:11:21 2004 UTC (15 years, 2 months ago) by gage
Make sure that $r->param("user") is only called in scalar context.

Revision 3047 - Directory Listing
Modified Sat Dec 18 21:52:58 2004 UTC (15 years, 2 months ago) by gage
Changed comment to This answer is the same as the one you just submitted
or previewed.  This addreses bug #557

Revision 3046 - Directory Listing
Modified Sat Dec 18 21:22:20 2004 UTC (15 years, 2 months ago) by gage
Modifications to make sure that problems with weight 0
print weight as 0 rather than as a blank.

This addresses bug  #730

Revision 3045 - Directory Listing
Modified Sat Dec 18 20:41:26 2004 UTC (15 years, 2 months ago) by gage
Added a line to check for empty records.  The hope is that this fixes
bug #733

Revision 3044 - Directory Listing
Modified Sat Dec 18 20:31:46 2004 UTC (15 years, 2 months ago) by gage
Added summary column for the total value of webwork problems done (sum
of the weights of each of the problems correctly completed)

Added column for percentage correct (total weight of correct problems
divided by the total weight of all of the problems).

This set still needs major dehackifying!!!!!!
This fixes bug #747.  I hope that I've put in enough
checks to satisfy bug #746 as well.  I will close that bug.

Revision 3043 - Directory Listing
Modified Sat Dec 18 16:12:19 2004 UTC (15 years, 2 months ago) by gage
Added an option to rename the "Change Display Settings" submit buttton.

Revision 3042 - Directory Listing
Modified Sat Dec 18 16:11:16 2004 UTC (15 years, 2 months ago) by gage
Removed the student progress lines from the Stats.pm page.  They are
still available in the StudentProgress.pm module

Revision 3041 - Directory Listing
Modified Sat Dec 18 16:09:54 2004 UTC (15 years, 2 months ago) by gage
Changed some UI features.  In particular the scrolling list is now
used both for selecting students to send mail to AND for selecting
the preview message (if multiple students are selected the first is used
as the preview).  The "command table" is now one line taller than it
was, but it it now effectively narrower (just two columns) -- the last
column has only the row and column options and is not used that much.

Revision 3040 - Directory Listing
Modified Fri Dec 17 18:06:38 2004 UTC (15 years, 2 months ago) by gage
Removed a warn statement

Made sure that r->param('user') is only called in scalar
context.

Revision 3039 - Directory Listing
Modified Fri Dec 17 17:11:46 2004 UTC (15 years, 2 months ago) by gage
Added a check to handle  the  case when the $errors flag was not defined.

Revision 3038 - Directory Listing
Modified Fri Dec 17 17:10:05 2004 UTC (15 years, 2 months ago) by gage
Added some styles to use when editing a temporary file.  This alerts
the user that the file has not yet been permanently saved.

Revision 3037 - Directory Listing
Modified Fri Dec 17 17:08:37 2004 UTC (15 years, 2 months ago) by gage
Massive overhaul of this file to put dehackify the code, at least somewhat.

The cases for handling each file type and each action are pretty cleanly laid out.

The next reasonable step would be to reorganize the code by subclassing it.

Since in almost all cases the link knows what file type it wants to be edited
when it calls the editor, the links could specifically call the subclass editor.
This would either reduce or eliminate the need for the file_type parameter.

Properly done subclassing would make it easier to add a new file type.

Currently you need to add code in about four  places:  UI code in body,
action code in saveFileChanges,   path finding code in getFilePaths,
and redirect code in pre_header_initialize.

For a subclass this code could all be adjacent.

Revision 3036 - Directory Listing
Modified Fri Dec 17 17:03:43 2004 UTC (15 years, 2 months ago) by gage
Added a link which allows one to add a blank problem to an existing set.

Revision 3035 - Directory Listing
Modified Fri Dec 17 17:02:37 2004 UTC (15 years, 2 months ago) by gage
Added code to display {status_message} when call is redirected from
PGProblemEditor.pm

If course_info.txt does not exist as a file create it (using `echo "">course_info.txt`)
Hope that's not too dangerous, but I didn't feel like opening the file :-)

This keeps unnecessary warnings from occuring later when a user would be warned that the
course_info.txt file didn't exist.

Revision 3034 - Directory Listing
Modified Fri Dec 17 16:59:48 2004 UTC (15 years, 2 months ago) by gage
Move options subroutine up to ContentGenerator.

Cleanup commented out code

Add facility for reading {status_message} to display messages when a call
is redirected from PGProblemEditor.pm

Revision 3033 - Directory Listing
Modified Fri Dec 17 16:57:53 2004 UTC (15 years, 2 months ago) by gage
Preserve display options when using the "up" arrow in navigation.

Some code that helps pass messages through {status_message}  when a call
is redirected to ProblemSet (e.g. from PGproblemEditor.pm)

Revision 3032 - Directory Listing
Modified Fri Dec 17 16:55:04 2004 UTC (15 years, 2 months ago) by gage
No need to show options on the Home.pm page

Revision 3031 - Directory Listing
Modified Fri Dec 17 16:53:01 2004 UTC (15 years, 2 months ago) by gage
Make sure that the instructor links preserve the displayOptions, namely
the displayMode and the ability to view the old answers.

Revision 3030 - Directory Listing
Modified Thu Dec 16 02:30:42 2004 UTC (15 years, 2 months ago) by sh002i
ordered has_many, creation date setting.

* has_explicit_order() adds a wrapper for a has_many() accessor that
sorts the returned records as per a comma-separated list field.
* creation dates are now set properly using a before_create trigger.
* also there is the beginnings of an assign_to_participants() routine.

Revision 3029 - Directory Listing
Modified Thu Dec 16 02:25:47 2004 UTC (15 years, 2 months ago) by sh002i
added fisher_yates_shuffle() inplace-randomization routine.

Revision 3028 - Directory Listing
Modified Fri Dec 10 16:39:00 2004 UTC (15 years, 2 months ago) by sh002i
commit test

Revision 3027 - Directory Listing
Modified Fri Dec 10 16:38:11 2004 UTC (15 years, 2 months ago) by sh002i
quote from address

Revision 3026 - Directory Listing
Modified Fri Dec 10 16:16:38 2004 UTC (15 years, 2 months ago) by sh002i
added note (really just a commit test)

Revision 3025 - Directory Listing
Modified Fri Dec 10 16:13:22 2004 UTC (15 years, 2 months ago) by sh002i
fix for from address

Revision 3024 - Directory Listing
Modified Fri Dec 10 16:07:57 2004 UTC (15 years, 2 months ago) by sh002i
fixed name of _bool_normalizer, removed old student_id constraint

Revision 3023 - Directory Listing
Modified Fri Dec 10 16:05:53 2004 UTC (15 years, 2 months ago) by sh002i
mail from: "$RealName via activitymail <activitymail@devel...>"

Revision 3022 - Directory Listing
Modified Thu Dec 9 23:28:35 2004 UTC (15 years, 2 months ago) by sh002i
fixes, uniqueness constraints, CSV list handling

* internal subroutines now have `_' prefix.
* added uniqneness constraints (has_unique_columns)
* added has_cs_list() to declare that a column is a comma-sep. list

Revision 3021 - Directory Listing
Modified Thu Dec 9 16:30:12 2004 UTC (15 years, 2 months ago) by sh002i
refactored status/role lookups, added abstract set/problem support

Revision 3020 - Directory Listing
Modified Thu Dec 9 16:28:20 2004 UTC (15 years, 2 months ago) by sh002i
activitymail now logs to SF mailing list

Revision 3019 - Directory Listing
Modified Tue Dec 7 16:04:18 2004 UTC (15 years, 2 months ago) by sh002i
fixed incorrect error message for getUserProblems()

Revision 3018 - Directory Listing
Modified Tue Dec 7 03:47:57 2004 UTC (15 years, 2 months ago) by sh002i
docs

Revision 3017 - Directory Listing
Modified Tue Dec 7 02:42:59 2004 UTC (15 years, 2 months ago) by sh002i
ordering, normalizers, booleans, documentation. details:

* changed order of table classes so that the has_a() part of a
  relationship occurs before the has_many() part.
* added WeBWorK::DBv3::NormalizerMixin, simiar to Class::Trigger, to
  manage normalizer subroutines for per-column normalization.
* overloaded normalize_column_values to all normalizers for changed
  fields.
* implemented predefined has_a_boolean() normalizer definition.
* defined boolean fields in tables using has_a_boolean().
* added/clarified docs.

still to do:

* add inflators/deflators for durations
* add triggers for setting creation dates

Revision 3016 - Directory Listing
Modified Fri Dec 3 02:19:03 2004 UTC (15 years, 2 months ago) by sh002i
creates user, section, recitation, and participant records.

Revision 3015 - Directory Listing
Modified Thu Dec 2 04:31:36 2004 UTC (15 years, 2 months ago) by sh002i
support for importing roles and statuses from global.conf. the rest
should be considerably easier than this. i hope. i really do.

Revision 3014 - Directory Listing
Modified Wed Dec 1 21:54:54 2004 UTC (15 years, 2 months ago) by apizer
Add hack to get around MSIE peekaboo bug.

Arnie

Revision 3013 - Directory Listing
Modified Thu Nov 25 05:51:37 2004 UTC (15 years, 2 months ago) by sh002i
changed upgrade_schema to take a DBI database handle instead of
connecting/disconnecting itself.

Revision 3012 - Directory Listing
Modified Thu Nov 25 05:50:51 2004 UTC (15 years, 2 months ago) by sh002i
the beginnings of an upgrade script. currently deals with converting
permission levels to roles properly! :)

Revision 3011 - Directory Listing
Modified Thu Nov 25 05:50:01 2004 UTC (15 years, 2 months ago) by sh002i
a few things.

* added lock/unlock tables
* stopped using Class::DBI::MySQL and Class::DBI::AutoLoader
* init() routine allows runtime settings
* LOCK/UNLOCK TABLES wrapper
* inflation/deflation for role.privs (done manually with &priv_list
since you have to associate a column with a class to use has_a, and I
just want it to be a damn list!)
* a tiny bit more testing

Revision 3010 - Directory Listing
Modified Tue Nov 23 02:50:13 2004 UTC (15 years, 2 months ago) by sh002i
preliminary WWDBv3 support.

Features:

* automatic schema updating (see WeBWorK::DBv3::Utils).
* basic table structure constructed by set_up_table().
* has_a/has_many relationships declared explicitly.
* works!

Limitations:

* uses Class::DBI::mysql explicitly. Needs to use BaseDSN instead.
* connection information is currently hardcoded into DBv3.pm. It needs
to be brought in at compile time, so there are constraints on how this
can be done.
* no wrappers for LOCK/UNLOCK TABLES yet.
* no inflating/deflating for dates, comma separated lists, etc. yet.
* basically no testing.

Revision 3009 - Directory Listing
Modified Mon Nov 22 17:43:16 2004 UTC (15 years, 3 months ago) by sh002i
added $guest to permissionLevels hash. Guests to not have the following
permissions that students do:

* report_bugs
* submit_feedback
* change_password
* change_email_address
* record_answers_after_open_date_with_attempts

Revision 3008 - Directory Listing
Modified Mon Nov 22 17:21:09 2004 UTC (15 years, 3 months ago) by sh002i
fixed headers

Revision 3007 - Directory Listing
Modified Mon Nov 22 17:19:39 2004 UTC (15 years, 3 months ago) by sh002i
made similar changes to default admin-course classlist. admin's password
is "admin".

Revision 3006 - Directory Listing
Modified Mon Nov 22 17:16:32 2004 UTC (15 years, 3 months ago) by sh002i
new default classlist file.

* no more all-caps first/last names
* global_user status is drop
* global_user and practice users have empty passwords specified
* practice users have permission level -5
* professor has password "professor" specified
* professor has permission level 10

Revision 3005 - Directory Listing
Modified Sat Nov 20 16:57:09 2004 UTC (15 years, 3 months ago) by dpvc
Bring jsMath up to date.  In particular, include changes that provide
new LaTeX environments (matrix, pmatrix, etc.)

Revision 3004 - Directory Listing
Modified Fri Nov 19 19:13:53 2004 UTC (15 years, 3 months ago) by sh002i
added "login" permission, handling code. also fixed some heinous
formatting.

Revision 3003 - Directory Listing
Modified Fri Nov 19 19:13:20 2004 UTC (15 years, 3 months ago) by sh002i
added "login" permission, handling code.

Revision 3002 - Directory Listing
Modified Fri Nov 19 18:30:16 2004 UTC (15 years, 3 months ago) by sh002i
"remove this comment on the next line if they get left in by accident"

Revision 3001 - Directory Listing
Modified Thu Nov 18 16:04:37 2004 UTC (15 years, 3 months ago) by gage
These changes elevate the Options panel to ContentGenerator.pm
Some of the changes are a bit hackish, but I believe that they
are sufficient for the moment.  I expect much of the machinery
to be replaced by an "options" table in the new database.

The current options state consists of two values:  displayMode (for
viewing equations) and showOldAnswers (for showing answers between
one session and the next).  "Sticky answers" which show form entries
when the form is submitted and returned is a feature which is always on,
as I believe it should be.

Known bugs:

The options state is lost when visiting the Instructor pages, editing
problems, and probably sending instructor feedback.  (I have made sure
that state was passed for the main links, I hope, but there are many
other possible links where state can get lost. My hope is that storing
state in the database will make it unnecessary to hunt down every link
where state needs to be preserved.)

Default options are set in the subroutine options in ContentGenerator.pm
This is called before body, where the option panel is displayed, but not
before the initialization phase.  Modules that need options in the
initialization phase (currently only Problem.pm) need to set them
themselves.

Removed File Transfer from instructor links.  File Manager works fine.

Revision 3000 - Directory Listing
Modified Thu Nov 18 16:00:37 2004 UTC (15 years, 3 months ago) by gage
These changes elevate the Options panel to ContentGenerator.pm
Some of the changes are a bit hackish, but I believe that they
are sufficient for the moment.  I expect much of the machinery
to be replaced by an "options" table in the new database.

The current options state consists of two values:  displayMode (for
viewing equations) and showOldAnswers (for showing answers between
one session and the next).  "Sticky answers" which show form entries
when the form is submitted and returned is a feature which is always on,
as I believe it should be.

Known bugs:

The options state is lost when visiting the Instructor pages, editing
problems, and probably sending instructor feedback.  (I have made sure
that state was passed for the main links, I hope, but there are many
other possible links where state can get lost. My hope is that storing
state in the database will make it unnecessary to hunt down every link
where state needs to be preserved.)

Default options are set in the subroutine options in ContentGenerator.pm
This is called before body, where the option panel is displayed, but not
before the initialization phase.  Modules that need options in the
initialization phase (currently only Problem.pm) need to set them
themselves.

Revision 2998 - Directory Listing
Modified Thu Nov 18 01:45:29 2004 UTC (15 years, 3 months ago) by gage
Made modifications to the user interface so that "show saved answers"
can now be turned off.  If the default mode was on, then this feature
could never be turned off. (Unchecked check boxes don't return 0, they
are simply not defined.)

Revision 2996 - Directory Listing
Modified Thu Nov 11 15:52:08 2004 UTC (15 years, 3 months ago) by gage
Added line to shift column numbers so that they start at 1 instead of
0 (this brings this in line with the modifications made to SendMain.pm)

To do:  merge the two procedures used in sendmail and in grades.pm which
merge scoring data with the message.  Then future updates won't break
the code.

Revision 2995 - Directory Listing
Modified Thu Nov 11 15:40:21 2004 UTC (15 years, 3 months ago) by gage
removed FIXME comment that is no longer needed.

Revision 2994 - Directory Listing
Modified Wed Nov 10 21:17:38 2004 UTC (15 years, 3 months ago) by toenail
Enormous speed increase by not doing unneccesary
assignments or deletions when the user/set record already exists (or not).

Revision 2991 - Directory Listing
Modified Tue Nov 9 15:23:38 2004 UTC (15 years, 3 months ago) by gage
Defined some variables that were causing warning messages.
Someone more familiar with this script should look at this
to make sure that this subsection of the parser is working correctly.

-- Mike

Revision 2990 - Directory Listing
Modified Tue Nov 9 00:05:27 2004 UTC (15 years, 3 months ago) by gage
Made changes which remove duplication between the code in Webwork.pm
and code in WW2.1  -- This should make it easier to maintain the webwork
daemons when changes are made in the core webwork code.

The changes in Daemon_ww.pm were aimed at trying to make it easier
to reload the script into the daemon without shutting down the daemon.

If the daemon shuts own its is sometimes some time before the socket
attached to the port is released.  This code attempts to fix this, but
not very successfully.


More changes are on the way so that the daemon can run behind apache.

Revision 2989 - Directory Listing
Modified Tue Nov 9 00:03:37 2004 UTC (15 years, 3 months ago) by gage
Made changes which remove duplication between the code in Webwork.pm
and code in WW2.1  -- This should make it easier to maintain the webwork
daemons when changes are made in the core webwork code.

More changes are on the way so that the daemon can run behind apache.

Revision 2988 - Directory Listing
Modified Fri Nov 5 17:54:12 2004 UTC (15 years, 3 months ago) by jj
Avoids some name collisions for images converted from gif to png in
hardcopy, specifically if two problems have different gif images
with the same name (but the gifs are in different directories).  Now one
png won't overwrite the other.

Revision 2987 - Directory Listing
Modified Thu Nov 4 22:05:29 2004 UTC (15 years, 3 months ago) by apizer
Fixed bug wrt relTol

Arnie

Revision 2986 - Directory Listing
Modified Thu Nov 4 22:01:18 2004 UTC (15 years, 3 months ago) by apizer
relative tolerence was not being used correctly. Fixed this.

Arnie

Revision 2985 - Directory Listing
Modified Wed Nov 3 22:39:21 2004 UTC (15 years, 3 months ago) by dpvc
Fixed a bug in processing absolute values with implicit
multiplication.

Revision 2984 - Directory Listing
Modified Wed Nov 3 22:00:56 2004 UTC (15 years, 3 months ago) by dpvc
Modifications needed for the control of jsMath's "missing font"
message.

Revision 2983 - Directory Listing
Modified Wed Nov 3 22:00:10 2004 UTC (15 years, 3 months ago) by dpvc
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 2982 - Directory Listing
Modified Wed Nov 3 21:27:42 2004 UTC (15 years, 3 months ago) by dpvc
Fixed an error where any plane is accepted if the d is 0 in
ax + by + cz = 0.

Revision 2981 - Directory Listing
Modified Wed Nov 3 19:54:25 2004 UTC (15 years, 3 months ago) by toenail
help files now use module name instead of urlpath node name

Revision 2979 - Directory Listing
Modified Wed Nov 3 19:52:00 2004 UTC (15 years, 3 months ago) by toenail
New help file names match module names
rather than urlpath node names

Revision 2978 - Directory Listing
Modified Wed Nov 3 17:39:00 2004 UTC (15 years, 3 months ago) by toenail
Renaming help files

Revision 2974 - Directory Listing
Modified Tue Nov 2 20:47:55 2004 UTC (15 years, 3 months ago) by sh002i
updated LICENSE and README files.

Revision 2973 - Directory Listing
Modified Tue Nov 2 20:47:35 2004 UTC (15 years, 3 months ago) by sh002i
updated $main::VERSION

Revision 2972 - Directory Listing
Modified Tue Nov 2 20:47:23 2004 UTC (15 years, 3 months ago) by sh002i
added README and LICENCE files.

Revision 2971 - Directory Listing
Modified Tue Nov 2 19:58:57 2004 UTC (15 years, 3 months ago) by sh002i
POD fix.

Revision 2970 - Directory Listing
Modified Tue Nov 2 19:58:31 2004 UTC (15 years, 3 months ago) by sh002i
better handling when no display module is found for the path.

Revision 2969 - Directory Listing
Modified Tue Nov 2 01:55:21 2004 UTC (15 years, 3 months ago) by dpvc
Fixed typo in a comment.

Revision 2967 - Directory Listing
Modified Thu Oct 28 22:34:25 2004 UTC (15 years, 3 months ago) by dpvc
Bring jsMath.js up to date  (fixed problem with font-checking algorithm in
PC version of Mozilla)

Revision 2966 - Directory Listing
Modified Wed Oct 27 17:48:05 2004 UTC (15 years, 3 months ago) by toenail
Every problem after one that was marked as a repeat was being marked as a repeat

closes #725

Revision 2965 - Directory Listing
Modified Tue Oct 26 03:16:40 2004 UTC (15 years, 3 months ago) by jj
Beautification of set names.

Revision 2964 - Directory Listing
Modified Tue Oct 26 03:14:01 2004 UTC (15 years, 3 months ago) by jj
Beautification of set names in Student Progress page.

Revision 2963 - Directory Listing
Modified Tue Oct 26 03:13:00 2004 UTC (15 years, 3 months ago) by jj
Beautification of set names in grade module.

Revision 2962 - Directory Listing
Modified Tue Oct 26 00:14:32 2004 UTC (15 years, 3 months ago) by jj
Tidying of set names: don't automatically write "set" (teacher can include
that), and convert _ to non-breaking spaces in set name.

Revision 2961 - Directory Listing
Modified Tue Oct 26 00:04:28 2004 UTC (15 years, 3 months ago) by jj
More fix on the Assigned Sets/User ID column heading so that they are right
both in and out of editMode.

Revision 2960 - Directory Listing
Modified Mon Oct 25 22:40:19 2004 UTC (15 years, 3 months ago) by jj
When making a new set, leave the name as it was input.  Should resolve
confusion when making sets starting with "set".

Revision 2959 - Directory Listing
Modified Mon Oct 25 22:37:32 2004 UTC (15 years, 3 months ago) by jj
Whitespace changes, mainly a few tabs to spaces.

Revision 2958 - Directory Listing
Modified Sun Oct 24 14:36:35 2004 UTC (15 years, 3 months ago) by jj
This seems to fix bug 713.  I don't see why one would want the line below
commented out.

Revision 2957 - Directory Listing
Modified Sun Oct 24 14:33:36 2004 UTC (15 years, 3 months ago) by jj
Make combinations function C(n,k) return 0 when k>n, which is standard.
Maybe P(n,k) should do the same instead of throwing an error?

Revision 2956 - Directory Listing
Modified Fri Oct 22 23:06:44 2004 UTC (15 years, 4 months ago) by sh002i
pod fixes

Revision 2955 - Directory Listing
Modified Fri Oct 22 22:59:53 2004 UTC (15 years, 4 months ago) by sh002i
POD fixes

Revision 2954 - Directory Listing
Modified Fri Oct 22 18:03:14 2004 UTC (15 years, 4 months ago) by sh002i
send call stack to error log, use Apache::Log to log warnings.

Revision 2952 - Directory Listing
Modified Thu Oct 21 23:56:21 2004 UTC (15 years, 4 months ago) by gage
Adjusted the headers for the dates

Revision 2948 - Directory Listing
Modified Thu Oct 21 01:44:14 2004 UTC (15 years, 4 months ago) by sh002i
added "User Value" and "Global Value" headers (bug #719)

Revision 2947 - Directory Listing
Modified Thu Oct 21 01:34:40 2004 UTC (15 years, 4 months ago) by sh002i
fixed bug #721.

Revision 2946 - Directory Listing
Modified Thu Oct 21 01:22:51 2004 UTC (15 years, 4 months ago) by sh002i
quick fix for errors while reading directories (bug #720).

Revision 2945 - Directory Listing
Modified Thu Oct 21 01:16:18 2004 UTC (15 years, 4 months ago) by sh002i
fixed typo

Revision 2944 - Directory Listing
Modified Thu Oct 21 01:06:19 2004 UTC (15 years, 4 months ago) by sh002i
formatting fixes (sorry jj, dpvc).

Revision 2943 - Directory Listing
Modified Wed Oct 20 23:29:50 2004 UTC (15 years, 4 months ago) by dpvc
Wrong column heading corrected.

Revision 2942 - Directory Listing
Modified Wed Oct 20 21:52:06 2004 UTC (15 years, 4 months ago) by dpvc
The lines of data were being sorted incorrectly due to the time-stamp
that is being added to the line, and due to the correct/incorrect
answer data that was added in order to color-code the answer display.

Revision 2941 - Directory Listing
Modified Wed Oct 20 19:02:43 2004 UTC (15 years, 4 months ago) by sh002i
fixed indentation -- please read the webwork coding standards.
http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/CodingStandards

Revision 2940 - Directory Listing
Modified Wed Oct 20 17:00:46 2004 UTC (15 years, 4 months ago) by sh002i
fixed typo

Revision 2939 - Directory Listing
Modified Wed Oct 20 16:45:34 2004 UTC (15 years, 4 months ago) by sh002i
add check for undefiend user param (closes bug #714). use $userID for
variable containing the ID of a user (not $User, which is typically used
for a user RECORD).

Revision 2938 - Directory Listing
Modified Tue Oct 19 00:24:47 2004 UTC (15 years, 4 months ago) by dpvc
Added reduction rules to remove redundent negatives.
Override string and TeX methods that avoid redundent parentheses.

Revision 2937 - Directory Listing
Modified Tue Oct 19 00:23:01 2004 UTC (15 years, 4 months ago) by dpvc
Added "areParallel" method as a synonym for "isParallel".

Revision 2936 - Directory Listing
Modified Tue Oct 19 00:22:07 2004 UTC (15 years, 4 months ago) by dpvc
Don't promote an object unless it is a Value object.

Revision 2935 - Directory Listing
Modified Tue Oct 19 00:20:02 2004 UTC (15 years, 4 months ago) by dpvc
Prevent automatically reducing negatives in student answer, so the
sign doesn't change behind our back.

Revision 2934 - Directory Listing
Modified Tue Oct 19 00:15:54 2004 UTC (15 years, 4 months ago) by dpvc
Handle error messages better.  Produce an error if the student answer
is a constant vector.  Prevent reduction of some negatives in order to
avoid -(a+bt).  Allow students to provide answer in terms of points
rather than vectors.

Revision 2933 - Directory Listing
Modified Tue Oct 19 00:11:50 2004 UTC (15 years, 4 months ago) by dpvc
Changed the order of variables in calls to Plane() so that it
corresponds to the usage in ImplictPlane().  Also fixed a typo in
capitalization of @N.

Revision 2932 - Directory Listing
Modified Tue Oct 19 00:08:04 2004 UTC (15 years, 4 months ago) by dpvc
Updated i(), j() and k() functions to check if the Parser is loaded,
and if not, return a value that will cause perl to report a better
error than calling the parser outside of its normal context.

Since the current answer checkers call perl directly to evaluate their
expressions, when a variable is used by a student that is not a
variable used by the checker, this can cause perl to try to parse
those variables as function calls, or other perl constructs (like
matches if you use 'm' or translations if you use 'y').  This is bad
(and is not a problem with the new parser).

In particular, if the student uses 'k' in a formula for which k is not
defined, for example, perl will try to call the k() function.

Revision 2931 - Directory Listing
Modified Sun Oct 17 03:11:43 2004 UTC (15 years, 4 months ago) by gage
Changed format of run time

Revision 2930 - Directory Listing
Modified Fri Oct 15 20:35:15 2004 UTC (15 years, 4 months ago) by gage
Adding write to timing log which summarizes the time spent in this module.
This does not give detailed timing data.  It prints whether or not the timing
log is enabled in "Constants.pm".  It uses Utils::writeTimingLogEntry and
makes an entry as long as the "timing" log facility has been defined in global.conf

Revision 2929 - Directory Listing
Modified Fri Oct 15 20:33:04 2004 UTC (15 years, 4 months ago) by gage
Removed writing to Timing log from this module.

Revision 2928 - Directory Listing
Modified Fri Oct 15 19:25:24 2004 UTC (15 years, 4 months ago) by gage
fixed typo in "edit_set_for_user"  which should be "edit_set_for_users".  also
changed label to correspond.

Revision 2927 - Directory Listing
Modified Fri Oct 15 04:30:20 2004 UTC (15 years, 4 months ago) by sh002i
work on error and warning output. prettification of stack traces,
rewording of explanatory text, better logging, other stuff. a lot of
annoying crap, basically.

Revision 2926 - Directory Listing
Modified Thu Oct 14 16:56:18 2004 UTC (15 years, 4 months ago) by sh002i
applied dpvc's index patch, use FileManager instead of FileXfer, fixed
indentation.

Revision 2925 - Directory Listing
Modified Thu Oct 14 16:55:36 2004 UTC (15 years, 4 months ago) by sh002i
removed duplicated comment

Revision 2924 - Directory Listing
Modified Thu Oct 14 15:59:43 2004 UTC (15 years, 4 months ago) by sh002i
fixed instructions on customizing webwork.apache-config.

Revision 2916 - Directory Listing
Modified Wed Oct 13 18:41:07 2004 UTC (15 years, 4 months ago) by dpvc
Clear error messages before doing the answer check (this clears old
messages left over inclass this checker is called by another one,
e.g. when using UNORDERD_ANS()).

Revision 2915 - Directory Listing
Modified Wed Oct 13 03:31:17 2004 UTC (15 years, 4 months ago) by dpvc
Trap errors in functions that are not native perl functions (like
acos() and csc(), etc.).  In the past, if an error occurred within the
definition of a function, the error message that was reported was the
internal error within the definition of the function.  For example
csc(0) would report "illegal division by zero", while acos(-2) would
report "can't take sqrt of -3".  Now the errors will be "can't take
csc of 0" and "can't take acos of -2".

Revision 2914 - Directory Listing
Modified Wed Oct 13 02:41:33 2004 UTC (15 years, 4 months ago) by dpvc
Added support for useBaseTenLogs to make log() work like ln() or
log10() depending on the value in the course.conf file.

Also fixed a bug that caused the WeBWorK parameters not to be
copied into contexts by initCopy().

Revision 2913 - Directory Listing
Modified Wed Oct 13 01:55:15 2004 UTC (15 years, 4 months ago) by sh002i
optimizations in database access (makes a big difference).

My notes:

Here's the initial timing data for a set with 10 problems:

TIMING 57300 2 1097622363.881851 (16.734902) mth162: END (assumed)

$mergedRecord is never used in FieldHTML(). However, it is populated
with a merged set or problem, which requires two database calls and a
merge operation. It appears to be OK to get rid of these calls
altogether.

TIMING 57582 0 1097624803.340321 (11.219321) mth162: END (assumed)

i'm not as worried about the several DB calls in
handle_problem_numbers(), since that only happens when "Save Changes" is
clicked. not looking at those for now...

in initialize(), the global set is fetched from the database at the
beginning (and put into $setRecord). then it is fetched again in two
places, first in a conditional if the "submit_changes" param is defined,
and then in the following conditional, when "submit_changes" is defined
and there was no error. taking this out...

(those conditionals are pretty weird to begin with. i would have
expected something more like "if (submit_changes) { ... unless (error) {
... } }". probably from grafting code together?)

ok, the big one is getting pre-fetched records into FieldHTML. I added
$setRecord and $problemRecord parameters to FieldHTML (and $Set and
$Problem parameters to FieldTable to pass through to FieldHTML), and
pre-fetch GlobalProblems, UserProblems, and MergedProblems en masse
before going through the problem IDs in body().

TIMING 58456 0 1097632191.012939 (4.516615) mth162: END (assumed)

And it's only a little more than that when viewing for a particular
user:

TIMING 58453 0 1097632169.074723 (6.513201) mth162: END (assumed)

Revision 2912 - Directory Listing
Modified Wed Oct 13 01:35:51 2004 UTC (15 years, 4 months ago) by dpvc
Fixed typo in the comments.

Revision 2911 - Directory Listing
Modified Tue Oct 12 22:40:30 2004 UTC (15 years, 4 months ago) by dpvc
Updated jsMath to its latest version.  (Better support for Opera,
better support for unix, miscellaneous bug fixes.)

Revision 2910 - Directory Listing
Modified Tue Oct 12 21:35:16 2004 UTC (15 years, 4 months ago) by dpvc
Minor updates to the documentation

Revision 2909 - Directory Listing
Modified Tue Oct 12 20:49:25 2004 UTC (15 years, 4 months ago) by dpvc
In Complex context, make sqrt() and log() of negative numbers return
their complex values.  Also make ^ and ** do the same with negative
bases.  These can be controlled by setting/clearing the
"negativeIsComplex" entry for these functions and operators.

Revision 2908 - Directory Listing
Modified Tue Oct 12 20:46:43 2004 UTC (15 years, 4 months ago) by dpvc
Report errors for powers of negative numbers rather than return 'nan'.
Don't allow 'nan' to be made into a Real object.

Revision 2907 - Directory Listing
Modified Tue Oct 12 20:44:20 2004 UTC (15 years, 4 months ago) by dpvc
In StandardPrecedence mode, make the precedence of function apply
match that in use by that AlgParser.

Revision 2906 - Directory Listing
Modified Tue Oct 12 20:27:35 2004 UTC (15 years, 4 months ago) by sh002i
added link to FileManager to link menu. Link to FileXfer is still
present as well, for the time being. We may remove it soon.

Revision 2905 - Directory Listing
Modified Tue Oct 12 18:15:03 2004 UTC (15 years, 4 months ago) by gage
Added help file for file manager module

Revision 2904 - Directory Listing
Modified Tue Oct 12 18:13:58 2004 UTC (15 years, 4 months ago) by gage
Changed "refresh" to "refresh display" as name for button in
ProblemSetDetail
Added link to the
File Manager

Revision 2903 - Directory Listing
Modified Tue Oct 12 18:12:48 2004 UTC (15 years, 4 months ago) by gage
Added link to the File Manager

Revision 2902 - Directory Listing
Modified Tue Oct 12 02:30:14 2004 UTC (15 years, 4 months ago) by gage
Made changes to the way $r->param("user") is handled, so that it
is always called in a scalar context.

This avoids errors caused if user is defined more than once.

Revision 2901 - Directory Listing
Modified Tue Oct 12 01:02:36 2004 UTC (15 years, 4 months ago) by toenail
Added Mark Correct? option
Added date checking
fixed some issues with sticky values

Revision 2900 - Directory Listing
Modified Tue Oct 12 00:52:47 2004 UTC (15 years, 4 months ago) by dpvc
Don't give coordinate hints during parallel vector checks.  Also fixed
a typo.

Revision 2899 - Directory Listing
Modified Mon Oct 11 23:40:04 2004 UTC (15 years, 4 months ago) by gage
If the users status is undefined it is set to C  AND
it is now saved back to the database.

Revision 2898 - Directory Listing
Modified Mon Oct 11 23:13:53 2004 UTC (15 years, 4 months ago) by sh002i
entabed (we like real tabs)

Revision 2897 - Directory Listing
Modified Mon Oct 11 23:13:22 2004 UTC (15 years, 4 months ago) by sh002i
fixed call to start_multipart_form which caused authen params to be
included in form action.

Revision 2896 - Directory Listing
Modified Mon Oct 11 23:11:41 2004 UTC (15 years, 4 months ago) by sh002i
added davide's filemanager

Revision 2895 - Directory Listing
Modified Mon Oct 11 19:53:06 2004 UTC (15 years, 4 months ago) by gage
fixing gage specific timing log file (again)

Revision 2894 - Directory Listing
Modified Mon Oct 11 19:37:42 2004 UTC (15 years, 4 months ago) by gage
Changed error reporting when there is an error in date/time.  This

specifies what the subroutine thinks date and time are, making it
easier to discover the error in the format of the input

I also removed a line which tried to remove the "at" from a format --
such hehelpfuness being unappreciated by the unformatDateTime
subroutine.

Revision 2893 - Directory Listing
Modified Mon Oct 11 19:36:30 2004 UTC (15 years, 4 months ago) by gage
Changed error reporting when there is an error in date/time.  This
specifies what the subroutine thinks date and time are, making it
easier to discover the error in the format of the input

Revision 2892 - Directory Listing
Modified Mon Oct 11 13:32:01 2004 UTC (15 years, 4 months ago) by gage
Evaluate  $r->param("user") in a scalar context in case user has been
defined more than once.

It would also be nice to find where the double definitions are coming
from.

Revision 2891 - Directory Listing
Modified Mon Oct 11 13:30:09 2004 UTC (15 years, 4 months ago) by gage
Fixed mistake involving "at" in interpreting the date and time
string in a .def file

Revision 2890 - Directory Listing
Modified Sun Oct 10 21:45:43 2004 UTC (15 years, 4 months ago) by sh002i
support for password and permission level in classlist, bug #649. note
that passowrd is crypted!

Revision 2889 - Directory Listing
Modified Sun Oct 10 21:44:23 2004 UTC (15 years, 4 months ago) by sh002i
blah

Revision 2888 - Directory Listing
Modified Sun Oct 10 21:43:34 2004 UTC (15 years, 4 months ago) by sh002i
support for option password and permission fields, header on outgoing
classlists. part of the fix for bug 649.

Revision 2887 - Directory Listing
Modified Sun Oct 10 21:04:47 2004 UTC (15 years, 4 months ago) by sh002i
catch invalid course names in validation (bug #702). fix typo in
previous commit.

Revision 2886 - Directory Listing
Modified Sun Oct 10 20:53:19 2004 UTC (15 years, 4 months ago) by sh002i
restore course name in breadcrumbs (closed bug #701)

Revision 2885 - Directory Listing
Modified Sun Oct 10 20:48:17 2004 UTC (15 years, 4 months ago) by sh002i
added check for user ID collisions, closing bug #711.

Revision 2884 - Directory Listing
Modified Sun Oct 10 20:34:07 2004 UTC (15 years, 4 months ago) by sh002i
use WeBWorK::File::Classlist for classlist parsing and writing.

Revision 2883 - Directory Listing
Modified Sun Oct 10 20:33:51 2004 UTC (15 years, 4 months ago) by sh002i
added lowercase "a", "d", and "c" as valid statuses.

Revision 2882 - Directory Listing
Modified Sun Oct 10 20:33:18 2004 UTC (15 years, 4 months ago) by sh002i
added toHash() method to get a copy of the self hash

Revision 2881 - Directory Listing
Modified Sun Oct 10 20:32:29 2004 UTC (15 years, 4 months ago) by sh002i
use WeBWorK::File::Classlist for classlist parsing. removed old
commented-out code from before CourseManangement.pm existed.

Revision 2880 - Directory Listing
Modified Sun Oct 10 20:31:54 2004 UTC (15 years, 4 months ago) by sh002i
added WeBWorK::File::Classlist, for parsing and writing classlists.

Revision 2879 - Directory Listing
Modified Sun Oct 10 17:06:23 2004 UTC (15 years, 4 months ago) by sh002i
reorganized, added reindex() method. reindex() will regenerate indices and
report what was wrong with the old ones. it cannot deal with the case
where there are two records that have the same user ID and set ID, but it
does issue a warning in that case.

Revision 2878 - Directory Listing
Modified Sun Oct 10 17:04:55 2004 UTC (15 years, 4 months ago) by sh002i
doc fixworks now

Revision 2877 - Directory Listing
Modified Sun Oct 10 17:04:47 2004 UTC (15 years, 4 months ago) by sh002i
works now

Revision 2876 - Directory Listing
Modified Sat Oct 9 03:07:23 2004 UTC (15 years, 4 months ago) by gage
protect against the possiblity that user has been defined twice in hidden fields
 or in the search args and a hidden field.

Revision 2875 - Directory Listing
Modified Sat Oct 9 03:06:30 2004 UTC (15 years, 4 months ago) by gage
Insure that the problems score is always defined (default is 0)

Revision 2874 - Directory Listing
Modified Sat Oct 9 03:05:13 2004 UTC (15 years, 4 months ago) by gage
replace old method of evaluating variables by a safer method (no evaluation required)

This code copied from SendMail.pm changes made recently by Sam.

Revision 2873 - Directory Listing
Modified Sat Oct 9 03:03:13 2004 UTC (15 years, 4 months ago) by gage
Check that userRecord status has been properly defined.

Revision 2872 - Directory Listing
Modified Fri Oct 8 19:58:18 2004 UTC (15 years, 4 months ago) by jj
Make Try it and Edit it buttons pass along the current problem seed
value, closing bug 682.

Revision 2871 - Directory Listing
Modified Fri Oct 8 18:30:32 2004 UTC (15 years, 4 months ago) by jj
Timestamps seem to need Date::Format for time2str to be defined.

Revision 2868 - Directory Listing
Modified Thu Oct 7 23:08:13 2004 UTC (15 years, 4 months ago) by gage
Modifications to the format for error reporting.

Revision 2867 - Directory Listing
Modified Thu Oct 7 19:55:18 2004 UTC (15 years, 4 months ago) by sh002i
removed gage-specific path.

Revision 2866 - Directory Listing
Modified Thu Oct 7 02:06:25 2004 UTC (15 years, 4 months ago) by sh002i
skeleton of WW1Hash reindexing frontend

Revision 2865 - Directory Listing
Modified Thu Oct 7 01:40:47 2004 UTC (15 years, 4 months ago) by sh002i
refactored PSVN handling (sorta).
also sketch of new, better database checking code after __END_.

Revision 2864 - Directory Listing
Modified Thu Oct 7 01:39:45 2004 UTC (15 years, 4 months ago) by sh002i
eliminate false positives in hashDatabaseOK()

Revision 2863 - Directory Listing
Modified Thu Oct 7 01:23:19 2004 UTC (15 years, 4 months ago) by gage
Corrected useage statements.

Revision 2862 - Directory Listing
Modified Wed Oct 6 21:09:33 2004 UTC (15 years, 4 months ago) by gage
removed call for epsfile -- it was bogus.

Revision 2861 - Directory Listing
Modified Wed Oct 6 21:01:46 2004 UTC (15 years, 4 months ago) by gage
Added time stamp to the warning
Added time stamp to warning messages.

Revision 2860 - Directory Listing
Modified Wed Oct 6 21:00:19 2004 UTC (15 years, 4 months ago) by gage
Added time stamp to the warning messages.

Revision 2859 - Directory Listing
Modified Mon Oct 4 20:56:00 2004 UTC (15 years, 4 months ago) by toenail
if status is set but attempted is not,
sets attempted to 1

Revision 2858 - Directory Listing
Modified Mon Oct 4 18:28:16 2004 UTC (15 years, 4 months ago) by sh002i
complete rewrite of parseDateTime to close bug #693.

- using modified version of WW1's unformatDateAndTime() function for
actual parsing.
- intelligent treatment of two, three, and four digit years consistent
with Time::Local.
- attempt to interpret time zone specification using DateTime::TimeZone
and then Time::Zone. if neither succeeds, an expection is thrown.
- if timezone is not specified, $display_tz is actually used.

It never ceases to amaze me how tricky time zone handling is. It appears
that I have it right now, but please test.

Revision 2857 - Directory Listing
Modified Mon Oct 4 18:24:14 2004 UTC (15 years, 4 months ago) by sh002i
added instructions for listing all valid time zones.

Revision 2856 - Directory Listing
Modified Mon Oct 4 17:54:11 2004 UTC (15 years, 4 months ago) by sh002i
eliminated warnings in cases where status is "".

Revision 2855 - Directory Listing
Modified Sat Oct 2 11:55:31 2004 UTC (15 years, 4 months ago) by dpvc
added generic string-only context, and converted contextABCD and
contextTF to use it.

Revision 2854 - Directory Listing
Modified Thu Sep 30 14:53:15 2004 UTC (15 years, 4 months ago) by toenail
removed ability to duplicate a set in edit mode
still possible in regular viewing mode

Revision 2853 - Directory Listing
Modified Wed Sep 29 23:45:42 2004 UTC (15 years, 4 months ago) by sh002i
don't send stupid header for safari, don't set feedbackRecipients.

Revision 2852 - Directory Listing
Modified Wed Sep 29 23:38:40 2004 UTC (15 years, 4 months ago) by sh002i
make SQL comparisons case-sensitive. closes bug #679.

Revision 2851 - Directory Listing
Modified Wed Sep 29 23:37:21 2004 UTC (15 years, 4 months ago) by sh002i
protect against sql injection attacks by using "?" everywhere.

Revision 2850 - Directory Listing
Modified Wed Sep 29 22:48:08 2004 UTC (15 years, 4 months ago) by sh002i
actually set RaiseError :)

Revision 2849 - Directory Listing
Modified Wed Sep 29 21:38:06 2004 UTC (15 years, 4 months ago) by sh002i
added permissions to allow disabling of feedback, options.
submit_feedback, change_password, change_email_address

Revision 2848 - Directory Listing
Modified Wed Sep 29 18:00:42 2004 UTC (15 years, 4 months ago) by sh002i
better sql error handling. if connect_cached() fails, an exception is
thrown. both handles have RaiseError set, so subsequent errors cause
expections to be thrown too.

Revision 2847 - Directory Listing
Modified Wed Sep 29 16:49:30 2004 UTC (15 years, 4 months ago) by sh002i
moved new names of some modules to URLPath. added sp2nbsp() for link
names.

Revision 2846 - Directory Listing
Modified Wed Sep 29 16:23:58 2004 UTC (15 years, 4 months ago) by apizer
On the edit set list view, make the set_id a link so that users can see
where to edit all set data, e.g. the header file info.

Arnie

Revision 2845 - Directory Listing
Modified Wed Sep 29 16:20:02 2004 UTC (15 years, 4 months ago) by sh002i
case-insensitive sorting

Revision 2844 - Directory Listing
Modified Wed Sep 29 16:19:37 2004 UTC (15 years, 4 months ago) by sh002i
removed silly safari hack, added warning about this utility sucking.

Revision 2843 - Directory Listing
Modified Wed Sep 29 15:59:12 2004 UTC (15 years, 4 months ago) by toenail
Modified flow of verify() so that a user doesn't have to login twice
if they have a cookie with an expired key.

Revision 2842 - Directory Listing
Modified Wed Sep 29 15:47:30 2004 UTC (15 years, 4 months ago) by dpvc
Allow string constants to include spaces.

Revision 2841 - Directory Listing
Modified Wed Sep 29 15:26:28 2004 UTC (15 years, 4 months ago) by toenail
Make sure that all request param data defaults to at least ""
Fixed Try it links

Closes #695, 697

Revision 2840 - Directory Listing
Modified Wed Sep 29 14:45:58 2004 UTC (15 years, 4 months ago) by apizer
Fixed typo.

Arnie
CVS ----------------------------------------------------------------------

Revision 2839 - Directory Listing
Modified Wed Sep 29 00:37:18 2004 UTC (15 years, 4 months ago) by apizer
Make open date, etc. boxes larger to accomodate time zones.

Arnie

Revision 2838 - Directory Listing
Modified Tue Sep 28 21:07:53 2004 UTC (15 years, 4 months ago) by apizer
Increase size of boxes for editing open date, etc. so that time zones
show up.

Arnie

Revision 2837 - Directory Listing
Modified Tue Sep 28 01:23:01 2004 UTC (15 years, 4 months ago) by sh002i
added script to add indices to sql_single courses. usage:

wwaddindexing course_name

Revision 2836 - Directory Listing
Modified Mon Sep 27 19:28:36 2004 UTC (15 years, 4 months ago) by sh002i
added script to convert a course from sql to sql_single. moves sql
tables from the course's database to the database used by the sql_single
loyout. also gives instructions on how to modify the course's
course.conf file to complete the transition.

Call sql2sql_single like this, in the common case:

./sql2sql_single <course-name> webwork root <sql-root-pw>

You can easily bash script this to do mass conversions of courses:

cd /webwork/shared-courses
for course in *; do
	sql2sql_single $course webwork root <sql-root-pw>
	cd /webwork/shared-courses/$course
	sed 's/sql/sql_single/' < course.conf > course.conf.new
	mv course.conf course.conf.old
	mv course.conf.new course.conf
done

to do a subset of all courses, change the `for' line to:

for course in course1 course2 course3; do

Revision 2835 - Directory Listing
Modified Mon Sep 27 19:21:54 2004 UTC (15 years, 4 months ago) by sh002i
added dbLayoutSQLSources function to get a hash mapping DBI sources to
the username and password of the source and the tables that use the
source.

Revision 2834 - Directory Listing
Modified Mon Sep 27 19:08:47 2004 UTC (15 years, 4 months ago) by toenail
Preserves sticky values on all form submissions
Added reset form button to delete any unsaved changes
Added file error messgaes for headers and problems with
non-existant, invalid, or duplicate filenames

Revision 2833 - Directory Listing
Modified Mon Sep 27 19:05:14 2004 UTC (15 years, 4 months ago) by toenail
No longer initially sets value of textbox to that of select menu
so that sticky values are preserved.  Checks first for the select menu
default value.

Revision 2832 - Directory Listing
Modified Mon Sep 27 17:47:04 2004 UTC (15 years, 4 months ago) by dpvc
Fix problem with TeX output of implicit multiplication between
items that would put two digits next to each other (like 2 3^2).

Revision 2831 - Directory Listing
Modified Mon Sep 27 17:16:14 2004 UTC (15 years, 4 months ago) by sh002i
added hosted_courses log by default

Revision 2830 - Directory Listing
Modified Mon Sep 27 17:15:47 2004 UTC (15 years, 4 months ago) by sh002i
fixes to make setup easier.

Revision 2829 - Directory Listing
Modified Fri Sep 24 15:21:50 2004 UTC (15 years, 4 months ago) by gage
Added time zone to the format time and dates subroutine in Utils.pm

Revision 2828 - Directory Listing
Modified Fri Sep 24 12:38:43 2004 UTC (15 years, 4 months ago) by gage
Changed titles of columns to include the word edit.

Revision 2827 - Directory Listing
Modified Fri Sep 24 12:36:50 2004 UTC (15 years, 4 months ago) by gage
Changed documentation for "Hmwk sets editor"

Revision 2826 - Directory Listing
Modified Fri Sep 24 12:15:01 2004 UTC (15 years, 4 months ago) by gage
Check to see that value is defined before using pattern match

Revision 2825 - Directory Listing
Modified Thu Sep 23 22:03:03 2004 UTC (15 years, 4 months ago) by dpvc
Matching full path was not working (the match was being made
against only the file name regardless of the match flag).

Revision 2824 - Directory Listing
Modified Thu Sep 23 21:31:41 2004 UTC (15 years, 4 months ago) by dpvc
Two new Parser contexts, one for matching problems involving answers
like A, B, C and D, the other for T/F answers.  These contexts have an
advantage over the standard str_cmp() checker in that it will give
additional error messages when the student enters an unrecognized answer.

Revision 2823 - Directory Listing
Modified Thu Sep 23 21:09:14 2004 UTC (15 years, 4 months ago) by dpvc
Fixed Parser so that you can replace the Formula class as well as the
other object types.

Revision 2822 - Directory Listing
Modified Thu Sep 23 20:29:28 2004 UTC (15 years, 4 months ago) by gage
Made some of the bold face type entries on the classlist page and the
homework page.

-- Mike

Revision 2821 - Directory Listing
Modified Thu Sep 23 18:45:48 2004 UTC (15 years, 4 months ago) by sh002i
tiny doc fix -- new() takes a $dbLayout, not a $ce

Revision 2820 - Directory Listing
Modified Thu Sep 23 17:10:09 2004 UTC (15 years, 4 months ago) by gage
Added DateTime module to the list of required modules.

Revision 2819 - Directory Listing
Modified Thu Sep 23 16:53:31 2004 UTC (15 years, 4 months ago) by sh002i
cleaned up command-line scripts.
- use new hashref form of WeBWorK::CourseEnvironment constructor.
- moved PSH to lib/
- stop using FindBin in wwsh

Revision 2818 - Directory Listing
Modified Thu Sep 23 16:33:59 2004 UTC (15 years, 4 months ago) by sh002i
removed deprecated scripts

Revision 2817 - Directory Listing
Modified Thu Sep 23 13:09:33 2004 UTC (15 years, 4 months ago) by toenail
undefined value was causing unnecessary warns

Revision 2816 - Directory Listing
Modified Thu Sep 23 12:59:53 2004 UTC (15 years, 4 months ago) by toenail
Added ComboBoxes for header information
Allows user to enter a user specified value
or to select from currently existing header files

Revision 2815 - Directory Listing
Modified Thu Sep 23 12:57:45 2004 UTC (15 years, 4 months ago) by toenail
New widget for general use
Contains a textfield and dropdown menu of options
Makes use of javascript to simulate similar comboboxes from
windows/macs/etc

Revision 2814 - Directory Listing
Modified Wed Sep 22 23:29:53 2004 UTC (15 years, 5 months ago) by gage
Running

latex check_latex.tex

will check to see that the .sty files can be found.

Revision 2813 - Directory Listing
Modified Wed Sep 22 23:28:54 2004 UTC (15 years, 5 months ago) by gage
Updated set_list help file.

Revision 2812 - Directory Listing
Modified Tue Sep 21 23:27:40 2004 UTC (15 years, 5 months ago) by sh002i
pod fix

Revision 2811 - Directory Listing
Modified Tue Sep 21 20:20:25 2004 UTC (15 years, 5 months ago) by toenail
minor patch to previous update fully allows editing one set
for multiple users

Revision 2810 - Directory Listing
Modified Tue Sep 21 20:08:51 2004 UTC (15 years, 5 months ago) by toenail
Added ability to duplicate a set.
Removed header files, now viewable/editable from ProblemSetEditor
Changed links to ProblemSetDetail
Lists skipped sets when importing.

Revision 2809 - Directory Listing
Modified Tue Sep 21 20:07:48 2004 UTC (15 years, 5 months ago) by toenail
Added ability to edit Hardcopy Header

If passed make_local_copy with any true value, assumes
that the file being edited is some type of library or default file
that should not be overwritten and the Save button is greyed out.

Stopped editor from trying to edit blank files or edit directories as files.

Revision 2808 - Directory Listing
Modified Tue Sep 21 20:05:16 2004 UTC (15 years, 5 months ago) by toenail
Changed ProblemSetEditor calls to ProblemSetDetail
Added Davide Cervone's patches
   - Fixes formatting
   - Made usage more consistent
   - Added appropriate error messages

Closes #663.

Revision 2807 - Directory Listing
Modified Tue Sep 21 20:01:25 2004 UTC (15 years, 5 months ago) by toenail
Added new setCountMessage so that ProblemSetDetail can say:
"User toenail has been assigned x sets"

Revision 2806 - Directory Listing
Modified Tue Sep 21 19:59:19 2004 UTC (15 years, 5 months ago) by toenail
Changed references from ProblemSetEditor to ProblemSetDetail
Added ability to edit a set for multiple users.  Closes #646 and #662.

Revision 2805 - Directory Listing
Modified Tue Sep 21 19:55:48 2004 UTC (15 years, 5 months ago) by toenail
Changed some references from ProblemSetEditor to ProblemSetDetail

Revision 2804 - Directory Listing
Modified Tue Sep 21 19:51:45 2004 UTC (15 years, 5 months ago) by toenail
Changed instructor_set_detail from ProblemSetEditor to ProblemSetDetail
Removed instructor_problem_list
Changed some references from ProblemSetEditor to ProblemSetDetail

Revision 2803 - Directory Listing
Modified Sun Sep 19 15:11:08 2004 UTC (15 years, 5 months ago) by dpvc
The $Parser::class variable was being handled after the "use"
statements at the end, so had to put a BEGIN around it.

Revision 2802 - Directory Listing
Modified Sun Sep 19 14:43:32 2004 UTC (15 years, 5 months ago) by dpvc
Eliminated unneeded parentheses in TeX output when unary minus and
plus are used with fractions.

Revision 2801 - Directory Listing
Modified Sun Sep 19 14:41:57 2004 UTC (15 years, 5 months ago) by dpvc
More changes for the isZero and isOne checks.  (Missed this file when
I committed the others.)

Revision 2800 - Directory Listing
Modified Sun Sep 19 14:27:39 2004 UTC (15 years, 5 months ago) by dpvc
Added isZero and isOne checks for Parser::Value objects (i.e., for
constants within formulas).  These now correctly handle vector and
matrices, in particular.  The isOne and isZero checks are used in the
reduce() method to simplify formulas.

Revision 2799 - Directory Listing
Modified Sun Sep 19 11:49:32 2004 UTC (15 years, 5 months ago) by dpvc
Added a new flag to the Formula()->cmp answer checker that allows a
constant-valued formula to be evaluated and then use the checker for
the resulting type.  This is useful when you want the correct answer
for a numeric check to be shown in a symbolic form (like "pi/4")
rather than as a decimal number.  To do this, use

       Formula("pi/4")->cmp(eval=>1);

rather than Real(pi/4)->cmp, which would show the correct answer as
0.785398.  Note that Formula("pi/4")->cmp would also match against
pi/4, but it does it as a function rather than a number, so error
messages might be issued indicating that the checker is expecting a
formula that returns a number, rather than just a number; this might
be confusing to a student.  It would also accept answers like
"pi/4-x+x" as correct, whereas with eval=>1 this would produce an
error message saying that the answer was supposed to be a number not a
formula returning a number.

Similarly, if you want to show sqrt(2)/2 as the correct answer, use

     Context()->flags->set(reduceConstants=>0, reduceConstantFunctions=>0);
     Formula("sqrt(2)/2")->cmp(eval=>1);

The first line tells the parser not to automatically reduce
expressions that only involve constants, so that the value of the
formula in the second line will not be reduced to a decimal before
the cmp method is called.

Revision 2798 - Directory Listing
Modified Sun Sep 19 11:29:06 2004 UTC (15 years, 5 months ago) by dpvc
Make Formula()->eval return a Real (ie, aValue::Real object) rather
than a perl number.  That way, you can use $f->eval->cmp rather than
needing Real($f->eval)->cmp, and so on.

Also make Formula()->perl do the same, for consistency.

(This could have been accomplished by having the Parser::Number class
evaluate to a Real, but for efficiency during computation, we put
off making the Real object until the end.  It probably doesn't make
that big a difference, but every little bit helps.)

Revision 2797 - Directory Listing
Modified Sun Sep 19 01:16:10 2004 UTC (15 years, 5 months ago) by dpvc
File needed to reduction flags that was accidentally left out of the
previous commit.  Sorry!

Revision 2796 - Directory Listing
Modified Sun Sep 19 01:15:03 2004 UTC (15 years, 5 months ago) by dpvc
Added flags that control the reductions performed by
Formula()->reduce.  Each reduction operation can be individually
enabled or disabled in the context, and in the reduce() call itself.

More complex reductions need to be developed.

Revision 2795 - Directory Listing
Modified Sat Sep 18 23:16:37 2004 UTC (15 years, 5 months ago) by dpvc
Fixed typo in addParens method name.

Revision 2794 - Directory Listing
Modified Fri Sep 17 19:40:42 2004 UTC (15 years, 5 months ago) by toenail
Replaces ProblemSetEditor.pm and ProblemList.pm as primary form of editing
set/problem information.

Revision 2793 - Directory Listing
Modified Fri Sep 17 18:46:35 2004 UTC (15 years, 5 months ago) by apizer
Sort sudents by Last Name, First Name instead of bu user_id

Revision 2792 - Directory Listing
Modified Fri Sep 17 15:35:55 2004 UTC (15 years, 5 months ago) by apizer
List students by their real names (in addition to studentID).

Arnie

Revision 2791 - Directory Listing
Modified Thu Sep 16 23:43:54 2004 UTC (15 years, 5 months ago) by dpvc
Don't reduce constants in the display of student answers (so they can
tell how the parser interprets their answer).  The drawback is that
the final number is not displayed.  (We may need to add more columns
to the results display.)

Revision 2790 - Directory Listing
Modified Thu Sep 16 23:03:03 2004 UTC (15 years, 5 months ago) by dpvc
Use extra parens in the string version of the student's answer, but
not in the professor's (unless the problem sets the showExtraParens
flag).

Revision 2789 - Directory Listing
Modified Thu Sep 16 22:24:32 2004 UTC (15 years, 5 months ago) by dpvc
Added context flags to control automatic reduction of operations that
involve only constant values.  The default is to combine constants,
but this can now be disabled.

Also added a new flag to control the addition of extra parentheses
that make string values painfully unambiguous (these are for
situations that students tend to get wrong).  By default this is
turned off (so that professor answers won't contain excessive
parentheses), but the answer checker will be made to turn this on for
student answers.

Finally, when extra parens are added to formulas, they alternate
between ( ) and [ ] to make it easier to read.

Revision 2788 - Directory Listing
Modified Thu Sep 16 22:19:59 2004 UTC (15 years, 5 months ago) by dpvc
Produce an error when attempting to auto-create a formula using a
function that has been removed from the current context.

Revision 2787 - Directory Listing
Modified Thu Sep 16 19:44:44 2004 UTC (15 years, 5 months ago) by apizer
Remove extraneous evals and also clean up email if no record exists in
merge file.

Arnie

Revision 2786 - Directory Listing
Modified Thu Sep 16 18:59:01 2004 UTC (15 years, 5 months ago) by apizer
Changed substitution as suggested by Sam

Arnie

Revision 2785 - Directory Listing
Modified Thu Sep 16 17:10:02 2004 UTC (15 years, 5 months ago) by apizer
lean up test seen by students.

Arnie

Revision 2784 - Directory Listing
Modified Wed Sep 15 13:53:37 2004 UTC (15 years, 5 months ago) by apizer
Update w.r.t. sqrt, sech, csch

Arnie

Revision 2782 - Directory Listing
Modified Tue Sep 14 22:10:14 2004 UTC (15 years, 5 months ago) by sh002i
re-added use Date::Format

Revision 2781 - Directory Listing
Modified Tue Sep 14 21:36:45 2004 UTC (15 years, 5 months ago) by apizer
Fixed bug with useBaseTenLog

Arnie

Revision 2780 - Directory Listing
Modified Tue Sep 14 21:27:20 2004 UTC (15 years, 5 months ago) by apizer
Fixed bug with useBaseTenLog

Arnie

Revision 2779 - Directory Listing
Modified Tue Sep 14 18:55:58 2004 UTC (15 years, 5 months ago) by apizer
Make $COL[1], not $COL[0], the first column of the merge file.
Also stop negative indexes from cycling, e.g. $COL[-12] should
not give $COL[8] in a 10 column merge file.

Arnie

Revision 2778 - Directory Listing
Modified Mon Sep 13 19:35:12 2004 UTC (15 years, 5 months ago) by sh002i
timezone support

Revision 2777 - Directory Listing
Modified Mon Sep 13 19:34:54 2004 UTC (15 years, 5 months ago) by sh002i
disabled "sid_open", "sid_due", and "sid_answer" formats, since they
don't currenly work with timezones.

We need to find some way to get the timezone information in there
without messing up the interface. One option is to actually have the
database system aware of the timezone and propgate that information on
to the Set and UserSet Record classes. Then, add formatted pseudo-fields
to those record classes that encapsulate the date conversions. Hm, that
would be cool.

Eventually, it would be nice if the date accessors returned DateTime
objects instead of epochs, but that is for later.

Revision 2776 - Directory Listing
Modified Mon Sep 13 19:29:55 2004 UTC (15 years, 5 months ago) by sh002i
added second argument to formatDateTime(), to support timezone specified
in course environment.

Revision 2775 - Directory Listing
Modified Mon Sep 13 19:29:08 2004 UTC (15 years, 5 months ago) by sh002i
added formatDateTime and parseDateTime methods that use the timezone
from the course environment if one is not specified and call the "real"
functions in WeBWorK::Utils.

Revision 2774 - Directory Listing
Modified Mon Sep 13 17:42:53 2004 UTC (15 years, 5 months ago) by sh002i
moved "use" lines to top of file, clobbered lingering "warn". noticed by
dpvc.

Revision 2773 - Directory Listing
Modified Sun Sep 12 12:09:53 2004 UTC (15 years, 5 months ago) by dpvc
Added missing \ for apostrophes after user name.

Revision 2772 - Directory Listing
Modified Sun Sep 12 11:11:47 2004 UTC (15 years, 5 months ago) by dpvc
Make partial credit in list answer checkers be the default (now that
WeBWorK can handle this).

Revision 2771 - Directory Listing
Modified Sat Sep 11 17:11:29 2004 UTC (15 years, 5 months ago) by dpvc
Fixed a bug with constants where the values were being cached so that
changes in the context were not being reflected in the formulas that
use them.

Revision 2770 - Directory Listing
Modified Sat Sep 11 06:15:14 2004 UTC (15 years, 5 months ago) by sh002i
PRELIMINARY SUPPORT FOR TIME ZONES (towards closing bug #532).

(1) new configuration variable $siteDefaults{timezone}

Set the default timezone of courses on this server. This must be a value
valid for the TZ environment variable. See also tzset(3).

If left blank, the system timezone will be used. This is usually what
you want. You might want to set this if your server is NOT in the same
timezone as your school. If just a few courses are in a different
timezone, set this in course.conf for the affected courses instead.

(2) support for second optional $display_tz argument to formatDateTime()
and parseDateTime().

If specified, formatted string datetimes will be considered to be in
that timezone instead of the server's local timezone.


Remaining work:

find all calls to *DateTime() and add the $client_tz argument.

$client_tz is is really something that *DateTime() should be able to
grab out of $ce, but they're not a method on ContentGenerator, so we
have to pass it in. It might be worth moving them to ContentGenerator.
(Or some new subclass of ContentGenerator or something?)

Revision 2769 - Directory Listing
Modified Sat Sep 11 00:45:10 2004 UTC (15 years, 5 months ago) by sh002i
cleanup

Revision 2768 - Directory Listing
Modified Fri Sep 10 23:55:31 2004 UTC (15 years, 5 months ago) by dpvc
When creating formulas from functions, don't evaluate even if the
formula is constant.  (This makes it possible to create automatically
create formulas even if they only contain constants.)

Revision 2767 - Directory Listing
Modified Fri Sep 10 22:40:52 2004 UTC (15 years, 5 months ago) by sh002i
applied dpvc's patch to clean up the answer results table, closing bug
#635.

Revision 2766 - Directory Listing
Modified Fri Sep 10 22:15:51 2004 UTC (15 years, 5 months ago) by sh002i
applied dpvc's filtering UI cleanup patch. closes bug #660.

Revision 2765 - Directory Listing
Modified Fri Sep 10 22:09:22 2004 UTC (15 years, 5 months ago) by sh002i
added WeBWorK::Contents switch for preserving hardcopy temp files.
closes bug #633.

Revision 2764 - Directory Listing
Modified Fri Sep 10 22:03:28 2004 UTC (15 years, 5 months ago) by sh002i
new using $authz for permissions checks in hardcopy

Revision 2763 - Directory Listing
Modified Fri Sep 10 22:02:54 2004 UTC (15 years, 5 months ago) by sh002i
removed unused

Revision 2762 - Directory Listing
Modified Fri Sep 10 21:33:30 2004 UTC (15 years, 5 months ago) by sh002i
removed unused fetching and passing-around of permission level,
commented-out old versions of code. working towards closing bug #574.

Revision 2761 - Directory Listing
Modified Fri Sep 10 21:14:50 2004 UTC (15 years, 5 months ago) by sh002i
applied dpvc's partial correctness reporting patch, closing bug #634.

Revision 2760 - Directory Listing
Modified Fri Sep 10 21:03:57 2004 UTC (15 years, 5 months ago) by sh002i
added check of real user's exiting password, closing bug #625.

Revision 2759 - Directory Listing
Modified Fri Sep 10 20:24:32 2004 UTC (15 years, 5 months ago) by sh002i
rel-2-0-patches merge: removed unused professor-enumerating code, fixing
bug #638.

Revision 2757 - Directory Listing
Modified Fri Sep 10 14:50:14 2004 UTC (15 years, 5 months ago) by dpvc
No longer produces the message that there are too many answers if
hints are being shown about individual entries in a list.  (This gave
away the answer about which ones to remove.)

Revision 2756 - Directory Listing
Modified Fri Sep 10 14:48:35 2004 UTC (15 years, 5 months ago) by dpvc
Changed the error message produced for functions that have been
removed from the parser.  I hope this will be more appropriate for
students.

Revision 2755 - Directory Listing
Modified Fri Sep 10 02:35:19 2004 UTC (15 years, 5 months ago) by sh002i
replaced hand-rolled header listing code with calls to
listFilesRecursive(). Libraries defined in $courseFiles{problibs} will
not be scanned, cutting down on time to list. Closes bug #623.

Revision 2754 - Directory Listing
Modified Fri Sep 10 02:32:09 2004 UTC (15 years, 5 months ago) by sh002i
added listFilesRecursive() subroutine, some housekeeping.

Revision 2752 - Directory Listing
Modified Wed Sep 8 16:43:53 2004 UTC (15 years, 5 months ago) by toenail
Fixes minor error in last submit.  My bad.

Revision 2749 - Directory Listing
Modified Wed Sep 8 15:49:24 2004 UTC (15 years, 5 months ago) by toenail
merging changes from patches

Original message:
Status was being checked for 'C' only and counting anything else
as a dropped student.  The check now uses the more abstract siteDefaults
variable from global.conf and admits auditing students as well

Also removed redundant second status check that could never be reached.

Revision 2747 - Directory Listing
Modified Wed Sep 8 06:38:59 2004 UTC (15 years, 5 months ago) by sh002i
putPassword() and putPermissionLevel() now auto-create records that
don't exist by calling addPassword() and addPermissionLevel()
respectively. Closes bug #643.

Revision 2746 - Directory Listing
Modified Wed Sep 8 02:00:52 2004 UTC (15 years, 5 months ago) by dpvc
Fixed error where AlgParser produces \sech and \csch, which are not
defined in TeX.  This fixes bug #665.

Revision 2745 - Directory Listing
Modified Wed Sep 8 01:42:46 2004 UTC (15 years, 5 months ago) by sh002i
rolling back accidental commit.

Revision 2744 - Directory Listing
Modified Wed Sep 8 01:42:05 2004 UTC (15 years, 5 months ago) by sh002i
Added Bill's textDateTime/intDateTime routines. Closes bug #618.

Revision 2742 - Directory Listing
Modified Wed Sep 8 01:07:50 2004 UTC (15 years, 5 months ago) by sh002i
removed "use WeBWorK::Utils" (added for debugging)

Revision 2741 - Directory Listing
Modified Wed Sep 8 01:06:32 2004 UTC (15 years, 5 months ago) by sh002i
make sure this problem number exists in the hash before returning. If it
doesn't, return undef. We check "pfn$n" since the path to the problem
file is the essence of the problem, and if this doesn't exist, the
problem might as well not exist.

Revision 2739 - Directory Listing
Modified Tue Sep 7 20:20:23 2004 UTC (15 years, 5 months ago) by sh002i
reduce circumstances in which GDBM retries connecting unncessarily.
- check for unreadable and unwriteable files
- when auto-creating file by connecting read/write, only connect once.
- improved error messages.

Revision 2738 - Directory Listing
Modified Sun Sep 5 18:00:23 2004 UTC (15 years, 5 months ago) by sh002i
rel-2-0-patches merge: fixes for invalid "published" field. Rob said:

should finally fix bugs dealing with sets being created (usually from 1.9)
without a valid setting in the published field

now anyone of Problem, ProblemSet, or ProblemSets will correct this bug.

Revision 2737 - Directory Listing
Modified Sun Sep 5 14:47:24 2004 UTC (15 years, 5 months ago) by dpvc
Better authorization checks (should there be a "view_past_answers"
permission level?) and a fix for missing </TABLE> when no entries
are found.

Revision 2736 - Directory Listing
Modified Sun Sep 5 01:03:13 2004 UTC (15 years, 5 months ago) by dpvc
Changed a null character to \000 which caused the file to be
considered a binary file by CVS.  I don't know why it is there in the
first place, however.  Anyone know?

Revision 2735 - Directory Listing
Modified Sun Sep 5 00:54:31 2004 UTC (15 years, 5 months ago) by dpvc
Modified ShowAnswers.pm so that the individual answsers are colored coded to
indicate whether they are correct or not.  I also added a permission
level called "dont_log_past_answers" that is true for professors (so
the answer log won't be cluttered up with professors answers, which we
don't really care about seeing).

While I was at it, I converted ShowAnswers.pm to use the CGI package
rather than explicit HTML.

Revision 2734 - Directory Listing
Modified Sat Sep 4 23:31:46 2004 UTC (15 years, 5 months ago) by dpvc
When a pg file has auxiliary files (like .gif images), it is often
stored in a separate directory in order to keep all the files
together.  In this case, the Library Browser will show the
subdirectory as a separate entry in the problem directory list, even
though the problem is logically part of its parent directory.

This patch modified the Library Browser so that these single-pg-file
directories are merged with their parents, as long as they also
include other non-pg-files.

It also provides a method of controling the library browser on a
directory-by-directory basis using specially named files.  If a
directory contains a file named "=library-ignore", then the directory
is never shown in the directory menu.  If it contains a file called
"=library-combine-up", then its contents are considered to be part of
the parent directory, even if it has more than one pg file.  If it
contains one called "=library-no-combine", then the directory is
always listed separately in the menu, even if it has only one pg file.

Revision 2733 - Directory Listing
Modified Sat Sep 4 20:45:31 2004 UTC (15 years, 5 months ago) by dpvc
This file defined an answer checker for lists of variable names
(ordered or unordered, and optionally enclosed in parentheses).  You
can use this answer checker for questions that give a system of
equations and ask which variables are the dependent and which the
independent variables, for example.

Revision 2732 - Directory Listing
Modified Sat Sep 4 20:42:45 2004 UTC (15 years, 5 months ago) by dpvc
This file provides an answer checker that determines whether two
students answers compose to form a given function.  The student
answers are not allowed to be the identity function, or a function
that is trivially generated from the composition.

See the comments within the file for details about how to use it.

Revision 2731 - Directory Listing
Modified Sat Sep 4 20:40:43 2004 UTC (15 years, 5 months ago) by dpvc
This file defines a NumberWithUnits class for that provides an answer
checker for numbers with units.  It uses the same units package that
the standard answer checkers use, but this will eventually be replaced
by a more complete Units class within the parser itself.  The class
produces a preview string in which the units show appropriately.

Revision 2730 - Directory Listing
Modified Sat Sep 4 20:31:55 2004 UTC (15 years, 5 months ago) by dpvc
This file defines a DifferenceQuotient class that provides an answer
checker for difference quotients.  These include a variable "dx" (or a
user specified one) that can be used as part of the formula, and the
student must simplify the answer at least enough to remove the dx from
the denominator.

Revision 2729 - Directory Listing
Modified Sat Sep 4 20:29:52 2004 UTC (15 years, 5 months ago) by dpvc
This file provides some convenient tools for generating random points
and vectors that are not the zero vector, plus some other misc. utilities.

Revision 2728 - Directory Listing
Modified Sat Sep 4 20:28:33 2004 UTC (15 years, 5 months ago) by dpvc
This file defines a ParametricLine class that provides an answser
checker for lines in any dimension given parametrically.  The answer
checker will recognize the line even if the point and direction vector
used by the student are not the same as the ones used by the
professor.

See the comments within the file for examples of how to use it.

Revision 2727 - Directory Listing
Modified Sat Sep 4 20:26:23 2004 UTC (15 years, 5 months ago) by dpvc
This macro file defines an ImplicitPlane (and inplicit line) class of
Parser object that provides an answer checker for planes (or
hyperplanes in any dimension) of the form ax + by + cz = d.  Students
can provide their answer in any (linear) form that is equivalent to
this.

The class accepts several formats for specifying the correct-answer plane.

Revision 2726 - Directory Listing
Modified Sat Sep 4 20:21:32 2004 UTC (15 years, 5 months ago) by dpvc
These files provide contexts for the Parser in which only limited
operations are allowed.  The LimitedNumeric context is analogous to
strict_num_cmp().  The other contexts are similar, but for the
indicated type of answer.  In the LimitedVector context, for example,
the student can enter vectors, and can perform numeric operations
within the coordinates of the vectors, but can't perform vector
operations like vector addition or cross product.

Revision 2724 - Directory Listing
Modified Thu Sep 2 22:53:00 2004 UTC (15 years, 5 months ago) by sh002i
cleaned up mike's permission level patch to Feedback.pm:
- added receive_feedback permission (conf/global.conf.dist)
- use standard hasPermissions() function (lib/WeBWorK/ContentGenerator/Feedback.pm)
- check for undefined and empty string in permission field (lib/WeBWorK/Authz.pm)

Revision 2722 - Directory Listing
Modified Thu Sep 2 22:30:34 2004 UTC (15 years, 5 months ago) by sh002i
rel-2-0-patches merge: allow pdflatex to handle eps graphics

Revision 2719 - Directory Listing
Modified Thu Sep 2 21:21:43 2004 UTC (15 years, 5 months ago) by sh002i
formatting fix (also comitted to rel-2-0-patches)

Revision 2708 - Directory Listing
Modified Wed Sep 1 18:43:22 2004 UTC (15 years, 5 months ago) by jj
Added more units to the help file.

Revision 2704 - Directory Listing
Modified Tue Aug 31 01:15:53 2004 UTC (15 years, 5 months ago) by dpvc
The variable for printing file names in course.conf was incorrectly
set up using email addresses instead of userIDs.

Revision 2703 - Directory Listing
Modified Mon Aug 30 19:32:57 2004 UTC (15 years, 5 months ago) by toenail
fixed bad logic that caused problems if user selected
"import multiple sets" but then chose only one set
(in this case handler erroneously expected a filename)
also tweaked sorting by name to be properly alphanumeric

Revision 2702 - Directory Listing
Modified Mon Aug 30 19:22:27 2004 UTC (15 years, 5 months ago) by dpvc
Fixed a problem with the new stack traceback error trapping.  It seems
that the hardcopy generator uses the error routines to pass array
references rather than strings, so I've added a check for that in the
__DIE__ signal handler so that it won't try to add tracebacks to
those.

Revision 2701 - Directory Listing
Modified Sat Aug 28 15:53:09 2004 UTC (15 years, 5 months ago) by dpvc
Only convert (f(x))^2 to f^2(x) for specified functions f
(as marked in the Context).

Revision 2700 - Directory Listing
Modified Sat Aug 28 14:10:13 2004 UTC (15 years, 5 months ago) by jj
Changed sort of current sets to use sortByName.

Revision 2699 - Directory Listing
Modified Sat Aug 28 13:56:54 2004 UTC (15 years, 5 months ago) by dpvc
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 2698 - Directory Listing
Modified Sat Aug 28 13:52:33 2004 UTC (15 years, 5 months ago) by dpvc
Add better error reporting in PG translator.  In particular, these
changes add two new features:

	1)  produce a full stack trace when a .pg file dies, and
	2)  convert (eval nnn) references to filenames, when
	    possible, in warn and die messages while processing a
	    .pg file.

There is also a change in the webwork tree that is needed to make this
all work, so be sure to apply updates in both trees.

Revision 2697 - Directory Listing
Modified Sat Aug 28 12:43:57 2004 UTC (15 years, 5 months ago) by dpvc
Two more minor TeX improvements.

Revision 2696 - Directory Listing
Modified Sat Aug 28 12:34:56 2004 UTC (15 years, 5 months ago) by dpvc
Improved TeX and string output in a number of situations.  Improved
use of parentheses to avoid things like x+-3.  Fixed wrong parentheses
in powers.  Display (sin(x))^2 as sin^2(x) in TeX output.

Revision 2695 - Directory Listing
Modified Sat Aug 28 02:09:16 2004 UTC (15 years, 5 months ago) by jj
Sort lists of set definition files alphabetically.

Revision 2694 - Directory Listing
Modified Sat Aug 28 01:30:03 2004 UTC (15 years, 5 months ago) by sh002i
added instructions/examples for problib hash from 2-0-patches

Revision 2692 - Directory Listing
Modified Fri Aug 27 21:49:36 2004 UTC (15 years, 5 months ago) by dpvc
Use the current context if the answer doesn't have one itself (like
with Value objects).

Revision 2691 - Directory Listing
Modified Fri Aug 27 21:14:23 2004 UTC (15 years, 5 months ago) by sh002i
use "real" table names when checking names and overridden table names
when constructing sql statements

Revision 2690 - Directory Listing
Modified Fri Aug 27 21:13:22 2004 UTC (15 years, 5 months ago) by sh002i
changed default database layout to sql_single

Revision 2689 - Directory Listing
Modified Fri Aug 27 21:12:46 2004 UTC (15 years, 5 months ago) by sh002i
added sql_single layout

Revision 2688 - Directory Listing
Modified Fri Aug 27 19:42:59 2004 UTC (15 years, 5 months ago) by dpvc
Added in functMaxConstantOfIntegration support in the adaptive
parameter answer checking.  Also added a flag to the formula answer
checker that allows checking a formula up to a constant (for
integration problems).  This really just adds a new parameter to the
context and adds that to the formula, so there is nothing deep about
this.

	ANS(Formula("2x")->cmp(upToConstant=>1));

Finally, don't look for adaptive parameters if they aren't actually
used in the professor's formula (even if they are defined).

Revision 2687 - Directory Listing
Modified Fri Aug 27 00:28:27 2004 UTC (15 years, 5 months ago) by dpvc
Added ability to have linear adaptive parameters in the function
answer checker.  It only works for real-valued functions, though.
To use a parameter, use

       Context()->variables->add(a=>'Parameter');

and then use 'a' as a variable within your answer.  The student will
not be allowed to enter the parameter, but the professor will.

Note that the correct answer will show the full professor's answer,
including the parameters, even though the student can't type it.  Is
this the right behaviour?

Revision 2686 - Directory Listing
Modified Thu Aug 26 02:38:08 2004 UTC (15 years, 5 months ago) by jj
Fixed bug in computation of average number of attempts (counter was not
being reset).  Also made display of average number of attempts display
tenths (these are small numbers as it is, it emphasizes that it is an
average, and it fits well below 2 digit percentages in the same table).

Revision 2685 - Directory Listing
Modified Thu Aug 26 01:34:30 2004 UTC (15 years, 5 months ago) by jj
Fixed logic for the check/submit buttons.  Previously, if a student had 1
attempt remaining, they only got a check button.  The problem was that
can{recordAnswers} was used for both deciding record/submit and for whether
or not to produce the Submit button.  On the last submission, these are
different.  So, this adds a new field to can/must/will so that one field
says whether we can record the current attempt, and another says if we
can generate a Submit button.

Revision 2684 - Directory Listing
Modified Tue Aug 24 21:35:21 2004 UTC (15 years, 5 months ago) by dpvc
Added the makeUnion call that was removed earlier.  The AnswerChecker
for formulas sometimes called it (when the student's answer is constant).

Revision 2683 - Directory Listing
Modified Tue Aug 24 16:53:16 2004 UTC (15 years, 5 months ago) by sh002i
added code to generate indexes when creating sql and sql_single courses.

Revision 2682 - Directory Listing
Modified Tue Aug 24 03:36:54 2004 UTC (15 years, 5 months ago) by dpvc
Fixed a bug with  sin^2 x  that introduced when I adjusted the
error report for implied multiplication.

Revision 2681 - Directory Listing
Modified Tue Aug 24 03:34:47 2004 UTC (15 years, 5 months ago) by dpvc
TeX mode now adds parentheses around fractions, when needed.

Revision 2680 - Directory Listing
Modified Tue Aug 24 03:33:30 2004 UTC (15 years, 5 months ago) by dpvc
Made string function look for a string field in teh definition of the
function as an override for its name. (This way, you can make asin
appear as arcsin or even sin^(-1) if you want).

Revision 2679 - Directory Listing
Modified Tue Aug 24 03:31:47 2004 UTC (15 years, 5 months ago) by dpvc
Fixed wrong error messages when operators are undefined in a context.

Revision 2678 - Directory Listing
Modified Mon Aug 23 23:55:37 2004 UTC (15 years, 5 months ago) by dpvc
Modified the parser so that the classes for the various object
constructors are stored in the context table rather than hard-coded
into the parser.  That way, you can override the default classes with
your own.  This gives you even more complete control to modify the
parser.  (You had been able to replace the definitions of operators,
functions and list-like objects, but could not override the behaviour
of numbers, strings, variables, and so on.  Now you can.)

This effects most of the files, but only by changing the name of the
calls that create the various objects.

There are also a couple of other minor fixes.

Revision 2677 - Directory Listing
Modified Mon Aug 23 19:14:42 2004 UTC (15 years, 5 months ago) by jj
Changed the default behavior of feedback e-mail addresses to what was
probably intended.  The behavior before was by default, all feedback e-mail
was disabled.  Now, by default feedback goes to profs/tas with e-mail
addresses, or to the list of people if it is explicitly given (which can be
blank if you want to disable feedback e-mail).

Revision 2676 - Directory Listing
Modified Mon Aug 23 05:00:16 2004 UTC (15 years, 6 months ago) by dpvc
Better highlighting for syntax error involving implied
multiplication.  (No highlighted had been done in the past.)

Revision 2675 - Directory Listing
Modified Mon Aug 23 04:59:05 2004 UTC (15 years, 6 months ago) by dpvc
Get the type right when evaluating an AbsoluteValue and obtaining a
Value object.

Revision 2674 - Directory Listing
Modified Mon Aug 23 04:58:00 2004 UTC (15 years, 6 months ago) by dpvc
Remove more lines in error messages produced while evaluation student
answers.

Revision 2673 - Directory Listing
Modified Mon Aug 23 01:21:27 2004 UTC (15 years, 6 months ago) by dpvc
Moved WW-specific routines from Parser.pm to WeBWorK.pm.
Changed error reporting when the error message was not generated by
the parser directly.  (The stack trace and line number references are
removed before the error is reported.)

Revision 2672 - Directory Listing
Modified Sun Aug 22 22:46:14 2004 UTC (15 years, 6 months ago) by dpvc
Added easy calls to disable/enable collections of functions or
individual functions in the current context.  So you can say

	   Parser::Context::Functions::Disable('Trig');

to disallow the use of trig functions, or

	   Parser::Context::Functions::Disable('Trig','Numeric');
	   Parser::Context::Functions::Enable('sqrt');

to disable trig and numeric functions (like log, exp, abs, etc) but
allow sqrt.

Note that disabling sqrt() does not disable x^(1/2) (this must be done
through disabling the ^ and ** operators), and disabling abs() does
not disable |x| (which must be done by removing the '|' definition
from the Context's parens list).

Revision 2671 - Directory Listing
Modified Sun Aug 22 21:18:06 2004 UTC (15 years, 6 months ago) by dpvc
Fixed some inconsistencies between handing of matrices within the
parser and Value packages.  Added a predefined Matrix context.

Revision 2670 - Directory Listing
Modified Sun Aug 22 16:06:28 2004 UTC (15 years, 6 months ago) by dpvc
Had the default granularity the wrong direction.

Revision 2669 - Directory Listing
Modified Sun Aug 22 15:42:50 2004 UTC (15 years, 6 months ago) by dpvc
Made the granularity of the test-point intervals be a parameter that
can be set on a global or variable-by-variable basis, so this is now
controlable from the .pg file.  For example:

            Context("Numeric")->variables->are(
              k=>{limits=>[1,10], resolution=>1},
              x=>{limits=>[-2,2], granularity=>1000},
            );

will make k be a variable that will only take on integer values
between 1 and 10, and x a variable that will take on one of 1000
different values evenly spaced between -2 and 2 (so resolution is
4/1000 in this case).

These parameters can also be set for an individual formula:

           $f = Formula("k^2-1");
           $f->{resolution} = 1;
           $f->{limits} = [0,10];

Revision 2668 - Directory Listing
Modified Sun Aug 22 02:55:38 2004 UTC (15 years, 6 months ago) by dpvc
Fixed TeX output of Matrices to use \array rather than \matrix for
matrices with formulas as entries (this had already been fixed for
constant matrices).  Made intervals produce formulas when of of the
endpoints is a formula.  Removed unneeded comment.

Revision 2667 - Directory Listing
Modified Sun Aug 22 02:51:53 2004 UTC (15 years, 6 months ago) by dpvc
Added support for dimension warnings in the answer checker for
formulas that return points, vectors or matrices.

Revision 2666 - Directory Listing
Modified Sun Aug 22 00:56:32 2004 UTC (15 years, 6 months ago) by dpvc
Formulas can now be compared even if their variables are complex
numbers, or even points or vectors!  This makes it possible to ask
students for complex functions like z^2+i and so on.

You can specify limits for variables either via
Context()->variables->set(x=>{limits=>[0,1]})  (for reals) or
Context()->variables->set(z=>{limits=>[[-2,2],[0,1]]}) (for complexes).
Similarly for points and vectors (where the number of sub arrays
depends on the dimension).  You can also give the limits for a
specific formula by assigning to its ->{limits} field:

    $f = Formula("sqrt(x-10)");
    $f->{limits} = [10,12];

There are now named variable types for 'Point2D', 'Point3D',
'Vector2D' and 'Vector3D', in addition to 'Real' and 'Complex'.
You can also specify a variable type by giving an explicit instance of
a value of the given type.  E.g.

    Context()->variables->add(x=>'Real',y=>0);     # two real variables
    Context()->variables->add(z=>'Complex',w=>i);  # two complexes
    Context()->variables->add(r=>Vector(0,0,0));   # a vector in R^3
    Context()->variables->add(X=>'Vector3D');      # a vector in R^3

There still needs to be more error checking in processing
user-supplied limits, but I'm not sure how much overhead is worth it.

Revision 2665 - Directory Listing
Modified Sun Aug 22 00:41:44 2004 UTC (15 years, 6 months ago) by dpvc
Made the default context be Numeric context rather than Full context.
Since there is only one variable in this context, it will speed up
function answer checking.  It will also encourage you to choose the
correct context explicitly.

Also changed Complex context to have z as the only variable.  If you
want x and y as reals, you need to add them in by hand.  Again, this
is for efficiency in answer checking.

Revision 2664 - Directory Listing
Modified Sat Aug 21 22:02:14 2004 UTC (15 years, 6 months ago) by dpvc
Added a file to perform WeBWorK-specific modifications to the
Parser/Value packages.  (I've tried to make these independent of
WeBWorK, so you can use them in other perl code if you want to.)

The parameters for fuzzy reals and some of the other parameters now
are taken from the pg->{ansEvalDefaults} values (as defined in
global.conf or course.conf).  More still needs to be done with this,
however.

Revision 2662 - Directory Listing
Modified Sat Aug 21 19:02:30 2004 UTC (15 years, 6 months ago) by dpvc
Updated document to reflect changes in List()->cmp flags.

Revision 2661 - Directory Listing
Modified Fri Aug 20 15:56:56 2004 UTC (15 years, 6 months ago) by dpvc
A number of fixes to make handing lists work better.  In particular,
you can now specify checks for whether the right kinds of parentheses
(or none at all) are used on the student's answer.  Some of the flags
for the list checker have been changed to accommodate this.

Revision 2660 - Directory Listing
Modified Fri Aug 20 15:52:32 2004 UTC (15 years, 6 months ago) by dpvc
A number of adjustments to get negative infinities to work better.
They used to be stored as separate Parser strings, but now they are
flagged versions of a single string.

All of the problems are really due to the fact that there is no
Infinity class in the Parser (only a Value version).  That should be
changed, but will require some work, and can be put off for now.

It would be best if the classes within the two packages would match up
nearly 1-to-1, but for historical reasons, they don't.  Since the
introduction of Real, String and Infinity classes to the Value
package, The Infinity class is the one main difference between the
two, and once that is fixed, everything needs to be looked over to
check for unnecessary complications due to the historical lack of classes
in one or the other package.

Revision 2658 - Directory Listing
Modified Fri Aug 20 11:17:06 2004 UTC (15 years, 6 months ago) by dpvc
Make blank patterns be ^$ (which should never match) rather than empty
(which always matches).  this fixes a problem where if a context has
no functions, for example, the parser would attempt to create function
calls to a function named ''.

Revision 2657 - Directory Listing
Modified Fri Aug 20 11:13:51 2004 UTC (15 years, 6 months ago) by dpvc
Handle trapped error messages that are not produced by the parser
error reporter (i.e., by bugs within the parser itself).  Also added
an error if implied multiplication is attempted when the operator for
it is not defined in the current context.

Revision 2656 - Directory Listing
Modified Fri Aug 20 02:13:38 2004 UTC (15 years, 6 months ago) by dpvc
We need to protect the HTML in the professor's answer so that if it
contains <, for example, it won't disappear.

Revision 2655 - Directory Listing
Modified Fri Aug 20 02:11:50 2004 UTC (15 years, 6 months ago) by dpvc
Fixed typo.

Revision 2654 - Directory Listing
Modified Fri Aug 20 02:11:08 2004 UTC (15 years, 6 months ago) by dpvc
Avoid possible infinite recursion in promotePrecedence() when special
precedence is used.

Revision 2653 - Directory Listing
Modified Thu Aug 19 17:31:18 2004 UTC (15 years, 6 months ago) by dpvc
Fixed error with handling of +infinity and -infinity.
(They had been defined as strings, but now we can let the + and -
operators handle them).

Revision 2652 - Directory Listing
Modified Thu Aug 19 15:45:52 2004 UTC (15 years, 6 months ago) by toenail
added special handling of ' Top' directory for problem templates
now selecting top will show files in top directory not literal "Top" directory
fixes bug #630

Revision 2651 - Directory Listing
Modified Thu Aug 19 14:51:56 2004 UTC (15 years, 6 months ago) by dpvc
Improved output for this sample problem.

Revision 2650 - Directory Listing
Modified Thu Aug 19 14:23:00 2004 UTC (15 years, 6 months ago) by dpvc
Added Parser::Number::NoDecimals() function that causes the parser to
give an error message when the student types a decimal number.  This
means the student must enter fractions as fractions, or values like
sqrt(2) or pi/4 symbolically not numerically.

Revision 2649 - Directory Listing
Modified Thu Aug 19 14:19:32 2004 UTC (15 years, 6 months ago) by dpvc
Fixed an error in the generation of regexp patterns for the various
data types.

Revision 2648 - Directory Listing
Modified Thu Aug 19 12:38:47 2004 UTC (15 years, 6 months ago) by dpvc
The answer checkers now work with subclasses of Formulas that are not
part of the Value:: package tree itself (we call Value::isFormula()
rather than checking the class directly).

I also removed the various cmp_* flags that stored method names as
they ended up not needing to be used (they were intended as a means of
overriding the default method names, but subclassing turned out to be
a better approach).

I moved some initialization of the answer checker out of the anonymous
subroutine that is installed in the checker and just have that
subroutine call the correct answer's main checker (which I renamed).

Finally, I changed the student_ans value to be an HTMLized version of
the student answer, since the student could include things like < in
his answer (e.g., for vectors), in which case his whole answer might
disappear.  I wonder if this couldn't be handled better at a higher
level, as it seems wrong to make the student_ans be HTML rather than
the parsed string.  I originally thought Problem.pm could do the
protecting of HTML special characters, but this won't work without
additional changes, since some answer checkers put HTML into
student_ans to mark sytanx errors in the student answer, and you DON'T
want to protect those HTML characters.  The student_ans field is
probably being misused in this, and there might want to be another
field that gets used by Problem.pm in place of student_ans (which can
be HTML protected) when it is non-empty; say student_HTML or something
like that.  The answer checkers could use that field if it wants to
add HTML to the student answer, and student_ans otherwise, with the
assurance that it's HTML characters will be protected.  That way, if a
second answer checker calls the first (like some list checkers do),
then the second checker doesn't have to worry about removing HTML from
the student ans, and doesn't ahve to wonder whether the student_ans
actually contains an error message or syntax markings rather than the
actual student answer.

Revision 2647 - Directory Listing
Modified Thu Aug 19 12:18:56 2004 UTC (15 years, 6 months ago) by dpvc
Context() now accepts a reference to an actual Context object rather
than a name of a predefined context, and will switch to that.

Revision 2646 - Directory Listing
Modified Thu Aug 19 12:16:41 2004 UTC (15 years, 6 months ago) by dpvc
Make it possible to create subclasses of objects in the value package
that are not actually in the Value:: package tree.  This makes it
possible to have .pl files (that are run via loadMacros) that create
new Value object classes that are local to the problem rather than
global to the system.  (With mod_perl, if a .pl file added to the
Value:: tree itself, the results would be persistent, and this could
adversely affect future problems processed by the same httpd child
process.  It could lead to "redefined subroutine" errors, or worse.)
This provides a safe way to extend the parser on a problem-specific
basis.

This technique is used in the line and plane answer checkers (coming
soon), for example.  If such a checker becomes widely used, it can
always be added into the Value:: tree at a later time.

Revision 2645 - Directory Listing
Modified Thu Aug 19 12:02:15 2004 UTC (15 years, 6 months ago) by dpvc
Make sure equality always returns a defined value, and
put spaces around the equal sign in string output.

Revision 2644 - Directory Listing
Modified Thu Aug 19 12:01:12 2004 UTC (15 years, 6 months ago) by dpvc
Make sure loadMacros() doesn't try to load these files more than once.

Revision 2643 - Directory Listing
Modified Thu Aug 19 11:55:56 2004 UTC (15 years, 6 months ago) by dpvc
Use the standard precedences rather than the experimental ones by
default.  The professor will need to specificaly request the
non-standard ones, for now.

Revision 2642 - Directory Listing
Modified Wed Aug 18 22:55:41 2004 UTC (15 years, 6 months ago) by gage
Bringing Hardcopy.pm up to date on this branch.  This fix
corrects bug #636. Students can no longer print hardcopy of
hidden sets.

Revision 2640 - Directory Listing
Modified Wed Aug 18 01:42:33 2004 UTC (15 years, 6 months ago) by sh002i
added deletion code, got rid of crap.

Revision 2639 - Directory Listing
Modified Wed Aug 18 01:41:39 2004 UTC (15 years, 6 months ago) by sh002i
added ordering and descriptions for known database layouts

Revision 2638 - Directory Listing
Modified Wed Aug 18 01:40:44 2004 UTC (15 years, 6 months ago) by sh002i
added debugging header!

Revision 2637 - Directory Listing
Modified Tue Aug 17 20:17:45 2004 UTC (15 years, 6 months ago) by dpvc
Added \boldsymbol, though it is just an alias for \mathbf, which isn't
really the right thing.  But jsMath doesn't have the bold math italic
font to call on, so there is not much to do about that.

Revision 2636 - Directory Listing
Modified Tue Aug 17 18:52:10 2004 UTC (15 years, 6 months ago) by sh002i
Actually display answers of zero. showHTML() was returning an EMPTY
STRING if its argument didn't have a TRUE VALUE.

Revision 2635 - Directory Listing
Modified Tue Aug 17 18:51:46 2004 UTC (15 years, 6 months ago) by sh002i
Actually record answers of zero in the answer log. An EMPTY string was
logged if the student answer was not a TRUE VALUE. Thus, answers of zero
were not being logged (although they were still in the transaction log).

Revision 2634 - Directory Listing
Modified Tue Aug 17 15:21:58 2004 UTC (15 years, 6 months ago) by dpvc
Changed the string used for the student answer to be taken from the
unevaluated formula rather than the fully-evaluated one.  This leaves
constants unreplaced, for one thing.

Currently the parser combines constants automatically during the parse
[which should be controllable by a flag], so student answers that
produce numbers are fully evaluated at this point already, except for
constant substitution.  This could be changed so that even for
numberic results, the student sees the parsed expression (rather than
the numeric result), which might help them identify where they and the
parser differ in their interpretation.  It is still nice to see the
final computed result, however, but there is no place to show the
parsed input as well as the final result.  One solution would be to
add another column (wasting space).  Another would be to make the
value shown be "parsed-value = computed-value" when they are not the
same thing.  A bit ugly, but works within the current framework.

Revision 2633 - Directory Listing
Modified Tue Aug 17 15:13:51 2004 UTC (15 years, 6 months ago) by dpvc
Updated the parser documentation to include the new features.  In
particular, included information about the answer checkers.

Also, minor changes to some sample problems.

Revision 2632 - Directory Listing
Modified Tue Aug 17 12:05:18 2004 UTC (15 years, 6 months ago) by dpvc
Fixed typo in name of random generator.

Revision 2631 - Directory Listing
Modified Tue Aug 17 11:59:27 2004 UTC (15 years, 6 months ago) by dpvc
Switched to Interval context (this makes sure open intervals are
considered intervals rather than lists).

Revision 2630 - Directory Listing
Modified Tue Aug 17 02:05:23 2004 UTC (15 years, 6 months ago) by dpvc
New example files for the parser's function answer checker.

Revision 2629 - Directory Listing
Modified Tue Aug 17 02:01:27 2004 UTC (15 years, 6 months ago) by dpvc
Fixed a number of minor problems with creating perl functions from
formulas (this is done automatically as part of the function answer
checker, so is showing up now that I have that checker in place).

Also improved error messages in the function answer checker, and fixed
a bug when students enter a constant list or union when the answer
checker expects formulas.

Revision 2628 - Directory Listing
Modified Mon Aug 16 21:41:05 2004 UTC (15 years, 6 months ago) by dpvc
Allow parser "constants" to be (in reality) formulas.  That way, for
example, you can defined T, N and B to be the formulas for the unit
tangent, normal and binormal of a space curve (as functions of "t")
and the student can write anwers in terms of T, N and B (without
having to compute them).

You could have created FUNCTIONS T(t), N(t) and B(t), and added them
to the parser to get almost the same effect, but the students would
have had to include the "(t)".  (If you want that, go ahead and do it
that way.)

Revision 2627 - Directory Listing
Modified Mon Aug 16 20:22:16 2004 UTC (15 years, 6 months ago) by dpvc
Removed unwanted side-effects of some type-match checks, and moved the
ignoreStrings flag so that it is available for the checkers of ANY type.

Revision 2626 - Directory Listing
Modified Mon Aug 16 19:44:26 2004 UTC (15 years, 6 months ago) by dpvc
One more fix for handling intervals properly (I think it's really
right this time).  Also, named constants that end in numbers will
produce TeX output with the number as a subscript (this was already
true for variable names).

Revision 2625 - Directory Listing
Modified Mon Aug 16 18:35:12 2004 UTC (15 years, 6 months ago) by dpvc
Added string comparison to all Value object classes (to compare the
string value of an object to another string).

Overloaded perl '.' operator to do dot product when the operands are
formulas returning vectors.  (Part of the auto-generation of
formulas).

A few improvements to real and complex class output results.

Made Union class slightly more robust and removed need for makeUnion
method other than in the Union itself.

Revision 2624 - Directory Listing
Modified Mon Aug 16 13:44:45 2004 UTC (15 years, 6 months ago) by dpvc
Added support for unorderd list or formulas with partial credit.
Fixed type mismatch reporting in formula answer checker.
Fixed an error with Unions producing incorrect perl versions under
some circumstances.

Revision 2623 - Directory Listing
Modified Mon Aug 16 11:35:15 2004 UTC (15 years, 6 months ago) by dpvc
Fixed typos in Software Warning message.

Revision 2622 - Directory Listing
Modified Sun Aug 15 22:46:57 2004 UTC (15 years, 6 months ago) by dpvc
Created the first draft of the Parser's function answer checker.  Some
work still needs to be done, in particular, type mismatches are not
being reported, and lists are being processed only as ordered lists
with no partial credit.

This doesn't implement everything from fun_cmp.  In particular, there
is no support for parameter matching at the moment.  This will have to
be added, but I'm not quite sure how to do it when the function's
return value is not a real number (e.g., an interval).

On the other hand, this checker is more forgiving about domain errors:
if tries a point where the professor's function is not defined, it
ignores that one and looks for another (until it decides it can't find
one).  Once it has these points, it tries them on the student's
answer, and if the student's function is undefined, then the student
answer is wrong (since it is not defined somewhere that the
professor's funciton is).  This avoids the "Error evaluating student
function at ..." messages, which just confused most students anyway.

Revision 2621 - Directory Listing
Modified Sun Aug 15 17:05:41 2004 UTC (15 years, 6 months ago) by dpvc
Improved error messages, particularly when the student enters a
formula in an answer that should be constant, and also for incorrect
answers in lists of answers.  There are a few other miscellaneous output
improvements as well.

Revision 2620 - Directory Listing
Modified Sun Aug 15 12:02:05 2004 UTC (15 years, 6 months ago) by dpvc
Had to put back the global context variable after all.  :-(
It gets reset in Parser.pl, so it should be OK even with mod_perl.

Revision 2619 - Directory Listing
Modified Sun Aug 15 00:45:46 2004 UTC (15 years, 6 months ago) by dpvc
Modified Context() function so that it no longer uses a global package
variable for storing the user's context table.

Revision 2618 - Directory Listing
Modified Sun Aug 15 00:16:18 2004 UTC (15 years, 6 months ago) by dpvc
Added $showPartialCorrectAnswers = 1 to get hints and partial credit.

Revision 2617 - Directory Listing
Modified Sun Aug 15 00:13:38 2004 UTC (15 years, 6 months ago) by dpvc
The Union answer checker now uses the generic List checker, so that it
will be able to produce partial credit and hints about which Intervals
are correct.

Revision 2616 - Directory Listing
Modified Sat Aug 14 21:29:21 2004 UTC (15 years, 6 months ago) by dpvc
Added an equality operator (not active initially) that can be used for
things like equations of planes and so on.  I'm working on the answer
checker for that.

Revision 2615 - Directory Listing
Modified Sat Aug 14 21:27:45 2004 UTC (15 years, 6 months ago) by dpvc
*** empty log message ***

Revision 2614 - Directory Listing
Modified Sat Aug 14 19:37:49 2004 UTC (15 years, 6 months ago) by dpvc
Added functions to macro file needed for new samples.

Revision 2613 - Directory Listing
Modified Sat Aug 14 19:33:10 2004 UTC (15 years, 6 months ago) by dpvc
Updated example files to use new features of parser and its answer checkers.

Revision 2612 - Directory Listing
Modified Sat Aug 14 19:29:42 2004 UTC (15 years, 6 months ago) by dpvc
Fixed some bugs in the handle of the context in ->string and ->TeX
methods of Value objects.

Revision 2611 - Directory Listing
Modified Sat Aug 14 15:59:35 2004 UTC (15 years, 6 months ago) by dpvc
Fixed a typo in one of the parser answer checkers.  Added a line that
was incorrecctly removed in the parser.

Revision 2610 - Directory Listing
Modified Sat Aug 14 13:55:54 2004 UTC (15 years, 6 months ago) by dpvc
The class file for the Value::String object.  (Forgot to add it before
the last commit.  Sorry!)

Revision 2609 - Directory Listing
Modified Sat Aug 14 13:54:52 2004 UTC (15 years, 6 months ago) by dpvc
Added a String type to the Value package.  Mostly this is to make it
possible to generate an answer checker for it that uses the parser.
It also makes it more consistent for handling things like stringify,
especially when they are recursively called internally.

Added new default strings "NONE" and "DNE", since these get used a
lot.

Modified how the default parameters are set up for the answer
checkers, and how the answer checker reports the expected answer type
in type mismatch error messages.

Revision 2608 - Directory Listing
Modified Sat Aug 14 13:49:56 2004 UTC (15 years, 6 months ago) by dpvc
Added Infinity function (similar to i and pi) for creating infinity
constants.

Revision 2607 - Directory Listing
Modified Sat Aug 14 11:26:49 2004 UTC (15 years, 6 months ago) by dpvc
Allow unary + and - to work on infinities.

Revision 2606 - Directory Listing
Modified Sat Aug 14 11:25:47 2004 UTC (15 years, 6 months ago) by dpvc
Can now specify that the objects stringify themselfs in their TeX
forms rather than their answer-string forms.  This makes it easier to
use the objects in the text of a problem (without having to call ->TeX
explicitly each reference).

Use

       Context()->texStrings

to start outputting TeX strings, and

      Context()->normalStrings

to switch back.

Revision 2605 - Directory Listing
Modified Sat Aug 14 02:50:18 2004 UTC (15 years, 6 months ago) by dpvc
Incorporated infinities into Parser package better.  They have been
stored as String objects (with extra data) in the parser, and I've
left it that way, but now they convert to/from Vallue::Infinity
objects correctly, and these are used for generating the output.

Also added the Infinity answer checker, and adjusted the error
messages produces by type mismatches in the answer checkers and
elsewhere.

Revision 2604 - Directory Listing
Modified Fri Aug 13 23:49:16 2004 UTC (15 years, 6 months ago) by dpvc
Fixed some output issues with intervals and unions.

Revision 2603 - Directory Listing
Modified Fri Aug 13 23:01:07 2004 UTC (15 years, 6 months ago) by dpvc
Added an Infinite object class for the Value package.  Still need to
add it to the Parser package.

Revision 2602 - Directory Listing
Modified Fri Aug 13 22:57:27 2004 UTC (15 years, 6 months ago) by dpvc
Changed the way the parser checks to see if it is loaded.

Revision 2601 - Directory Listing
Modified Fri Aug 13 19:06:09 2004 UTC (15 years, 6 months ago) by dpvc
Added ability to report incorrect coordinates in point and vector
answers, and incorrect endpoints and endpoint types in intervals.
Separated these kinds of checks from the typeMatch check, where they
didn't really belong.

Added ability to specify intervals and unions as strings in Interval()
and Union(), which makes it easier to make constants of these types.

There are still problems comparing intervals that contain infinities;
I really need to make the infinity object to solve this, so have put
off trying to fix that for now.

Revision 2600 - Directory Listing
Modified Fri Aug 13 14:39:16 2004 UTC (15 years, 6 months ago) by dpvc
Handle list entries that are not Value objects better.

Revision 2599 - Directory Listing
Modified Fri Aug 13 14:19:23 2004 UTC (15 years, 6 months ago) by dpvc
The List object's answer checker is now considerably improved.  It
will allow you to specify an unorderd or ordered check, and whether to
print various kinds of hints for wrong answers.

The checker can return partial credit, but WW doesn't deal well with
this at the moment (some small changes to Problem.pm can take care of
that).  Partial credit should be based on $showPartialCorrectAnswers,
but it is disabled for now.

The list answer checker probably still needs some work, especially
with non-numeric lists.

Revision 2598 - Directory Listing
Modified Fri Aug 13 11:42:57 2004 UTC (15 years, 6 months ago) by dpvc
Removed unneeded macro file.

Revision 2597 - Directory Listing
Modified Fri Aug 13 11:38:22 2004 UTC (15 years, 6 months ago) by dpvc
Added answer checker for parallel vectors.
Added option to number checker to have it not report type mismatches
for the known strings (like 'infinity').  (Really need a class for
infinities, and a Value.pm class for strings.)

Revision 2596 - Directory Listing
Modified Thu Aug 12 23:11:32 2004 UTC (15 years, 6 months ago) by dpvc
Have parser handle infinities better.

Revision 2595 - Directory Listing
Modified Thu Aug 12 20:25:55 2004 UTC (15 years, 6 months ago) by dpvc
Updated examples and problems.

Examples were modified so that they produce better PDF files (they now
use single-column mode rather than double-column mode).

The samples were renamed so they sort better, and more were added that
show how to use the answer checkers.

Revision 2594 - Directory Listing
Modified Thu Aug 12 20:17:18 2004 UTC (15 years, 6 months ago) by dpvc
Fixes for handling intervals better.  In particular, deal better with
ambiguous situations, like (1,2) that could be a point.

You can use [a,a] to specify the single point a.  I'd like to make {a}
represent this (and maybe even {a,b,c} to form finite sets), but this
would interfere with the use of { and } as alternative parentheses.
(Does anyone really use these?)

Do we need a cross product for intervals (and sets) as a means of
representing regions in R^2 (or higher)?

Revision 2593 - Directory Listing
Modified Thu Aug 12 16:48:52 2004 UTC (15 years, 6 months ago) by dpvc
This is a preliminary attempt at adding answer checkers that use the
parser.  If you have a parser object (like a formula or a vector), you
can use the ->cmp method to get an answer checker appropriate for the
object.  For example:

	 Context('Vector');
	 $v = Vector(1,2,3);
	 #  print text of problem
	 ANS($v->cmp);

would produce an answer checker that matched against the vector <1,2,3>.
Most of the parameters are set in the Context, but additional ones can
be passed to the checker (this still needs work).

See the sample problems for more examples.

The checkers for Reals, Complexes, Points, Vectors, Matrices and
Intervals work pretty well.  The ones for List and Union objects need
more work, as they only do an ORDERED check at the moment (the student
answers must be in the same order).  This needs to be fixed.
The checker for Formula objects (which corresponds to fun_cmp) still
needs to be written.

Revision 2592 - Directory Listing
Modified Thu Aug 12 16:40:47 2004 UTC (15 years, 6 months ago) by dpvc
A number of small fixes.  Most were to fix minor bugs in string and
TeX output, particulary for the various list-based objects (like
vectors, intervals, etc.).  There were also some bug fixes in the
comparison routines.  Some additional checks were added for valid
intervals when the coordinates are formulas.

Revision 2591 - Directory Listing
Modified Wed Aug 11 22:16:14 2004 UTC (15 years, 6 months ago) by jj
Convention of null database fields being converted to blanks made
null/blank date entries for a single user appear to be overrides, which they
aren't.

Revision 2590 - Directory Listing
Modified Wed Aug 11 18:02:44 2004 UTC (15 years, 6 months ago) by dpvc
Added Real() command to create fuzzy reals.

Revision 2588 - Directory Listing
Modified Tue Aug 10 23:58:01 2004 UTC (15 years, 6 months ago) by sh002i
use database-layout-specific helper functions in
WeBWorK::Utils::CourseManagement::*.

Revision 2587 - Directory Listing
Modified Tue Aug 10 23:57:24 2004 UTC (15 years, 6 months ago) by sh002i
broke out database-layout specific code into separate classes

Revision 2586 - Directory Listing
Modified Tue Aug 10 23:55:57 2004 UTC (15 years, 6 months ago) by sh002i
added comments, backquoted table names.

Revision 2585 - Directory Listing
Modified Tue Aug 10 23:55:29 2004 UTC (15 years, 6 months ago) by sh002i
added comments

Revision 2584 - Directory Listing
Modified Tue Aug 10 15:52:05 2004 UTC (15 years, 6 months ago) by toenail
added ability to unassign selected sets from selected users

Revision 2583 - Directory Listing
Modified Tue Aug 10 11:22:19 2004 UTC (15 years, 6 months ago) by dpvc
Fixed generation of LaTeX version of sqrt(...).

Revision 2582 - Directory Listing
Modified Mon Aug 9 21:43:18 2004 UTC (15 years, 6 months ago) by dpvc
One more file needed for the examples.

Revision 2581 - Directory Listing
Modified Mon Aug 9 21:42:42 2004 UTC (15 years, 6 months ago) by dpvc
Minor updates to the parser examples (mostly to reorganize the macro
files).  Note that the sample answer checker in extensions/8-answer.pg
now handles fuzzy coordinate checks automatically, since it uses the
overloaded == that now does fuzzy checks.

Revision 2580 - Directory Listing
Modified Mon Aug 9 21:38:58 2004 UTC (15 years, 6 months ago) by dpvc
Forgot to add this file.  It implements the "fuzzy real" class.

Revision 2579 - Directory Listing
Modified Mon Aug 9 21:38:01 2004 UTC (15 years, 6 months ago) by dpvc
Significant update to new parser.

New features include:

  Better control over format of vector output (you can now
    specify ijk-format rather than <...> format)

  "Fuzzy" reals, where the relations like == return true when the
    two values are "close enough".  (This is controlable using
    parameters similar to those used in NUM_CMP).

  The fuzzy reals are now used in vectors/points/matrices/complexes/intervals
    and so on so that their relations will also be fuzzy.  E.g.,
    (1E-13,2) == (0,3) will be true, and norm(Vector(0,1E-13)) will
    equal 0.

  The two main portions of the parser (the Parser and Value packages)
    now share a common context object for configuration purposes.

Revision 2578 - Directory Listing
Modified Wed Aug 4 20:56:02 2004 UTC (15 years, 6 months ago) by dpvc
Fixed inclusion of wrong macro file in sample5.

Revision 2577 - Directory Listing
Modified Wed Aug 4 20:54:35 2004 UTC (15 years, 6 months ago) by dpvc
Added the parser to the preloaded modules list.

Revision 2576 - Directory Listing
Modified Wed Aug 4 20:52:28 2004 UTC (15 years, 6 months ago) by dpvc
Make Parser work with PGauxiliaryFunctions.pl, and add the macro files
needed to initialize the parser.

Revision 2575 - Directory Listing
Modified Wed Aug 4 20:40:00 2004 UTC (15 years, 6 months ago) by dpvc
Two more macro files needed for the Parser examples.

Revision 2574 - Directory Listing
Modified Wed Aug 4 20:23:11 2004 UTC (15 years, 6 months ago) by dpvc
Make Parser live nicely with Complex1.pm.

In particular, make the i() function determine whether it should
call the Complex::i() function or the Parser version.

Revision 2573 - Directory Listing
Modified Wed Aug 4 20:17:21 2004 UTC (15 years, 6 months ago) by dpvc
A number of small updates and corrections.  Corrected typos in the
documentation, fixed a few items in the samples, added the macros
needed by the samples.

Revision 2572 - Directory Listing
Modified Wed Aug 4 17:31:22 2004 UTC (15 years, 6 months ago) by jj
Changed "me" to this problem and fixed bug which appeared if a set_id
started with "set".

Revision 2569 - Directory Listing
Modified Sat Jul 31 02:23:09 2004 UTC (15 years, 6 months ago) by sh002i
README file for htdocs/tmp

Revision 2565 - Directory Listing
Modified Sat Jul 31 02:13:43 2004 UTC (15 years, 6 months ago) by sh002i
merged parser extension docs from rel-2-1-a1

Revision 2562 - Directory Listing
Modified Fri Jul 30 22:57:25 2004 UTC (15 years, 6 months ago) by sh002i
Merged changes from the following commit to rel-2-1-a1.

Revision 1.41.2.4, Tue Jul 27 22:36:57 2004 UTC (3 days ago) by gage
Branch: rel-2-1-a1
Changes since 1.41.2.3: +4 -2 lines

Allows .html, .gif, .png, .txt as well as .pg files to be uploaded and
downloaded from the template directory and files under it.  Still can't
upload/download to the html directory

This is not a final solution, but a hack that make workarounds for many
operations possible for those who do not have direct unix access.  It's
still too clunky, but it's a start.

Revision 2559 - Directory Listing
Modified Wed Jul 28 20:45:14 2004 UTC (15 years, 6 months ago) by sh002i
some old, old changes

Revision 2558 - Directory Listing
Modified Wed Jul 28 20:32:33 2004 UTC (15 years, 6 months ago) by sh002i
merged changes from rel-2-1-a1 -- stop using that branch.

Revision 2557 - Directory Listing
Modified Wed Jul 28 20:02:58 2004 UTC (15 years, 6 months ago) by sh002i
changes from rel-2-0-patches

Revision 2556 - Directory Listing
Modified Wed Jul 28 14:55:00 2004 UTC (15 years, 6 months ago) by apizer
Minor updates

Arnie

Revision 2553 - Directory Listing
Modified Tue Jul 27 19:02:16 2004 UTC (15 years, 6 months ago) by apizer
Better comment about debuging dvipng problems.

Arnie

Revision 2552 - Directory Listing
Modified Tue Jul 27 18:57:53 2004 UTC (15 years, 6 months ago) by apizer
change copyright date

Arnie

Revision 2551 - Directory Listing
Modified Tue Jul 27 18:50:47 2004 UTC (15 years, 6 months ago) by apizer
updating documentation

Arnie

Revision 2550 - Directory Listing
Modified Tue Jul 27 00:14:32 2004 UTC (15 years, 6 months ago) by apizer
use ww_strict::import(); as per Mike's suggestion

Arnie

Revision 2544 - Directory Listing
Modified Wed Jul 21 18:08:39 2004 UTC (15 years, 7 months ago) by apizer
initial version

Arnie

Revision 2542 - Directory Listing
Modified Tue Jul 20 23:21:40 2004 UTC (15 years, 7 months ago) by sh002i
fixed hashDatabaseOK to actually add problem records for global_user as
well as set records. this is also being committed to the rel-2-0-patches
branch.

Revision 2541 - Directory Listing
Modified Tue Jul 20 15:35:21 2004 UTC (15 years, 7 months ago) by apizer
copied dpvc's bug fix for ANS_NUM_TO_NAME.

Arnie

Revision 2540 - Directory Listing
Modified Tue Jul 20 14:45:31 2004 UTC (15 years, 7 months ago) by apizer
Small chnges

Arnie

Revision 2539 - Directory Listing
Modified Mon Jul 19 22:17:46 2004 UTC (15 years, 7 months ago) by jj
before, after, between did not cover all cases.  The choice of the marginal
cases was decided by the best behavior when displaying problems from outside
an actual problem set (in which case the dates may all equal now).

Revision 2538 - Directory Listing
Modified Mon Jul 19 19:02:12 2004 UTC (15 years, 7 months ago) by apizer
Going back to version 1.19 from PG. Newer versions cause the error
Use of uninitialized value in string eq at (eval 150) line 3457

Arnie

Revision 2537 - Directory Listing
Modified Mon Jul 19 18:25:57 2004 UTC (15 years, 7 months ago) by apizer
Hack to prevent the following error with some operating systems
Unable to create sub named "Safe::Root2::_PG_init" at /usr/local/webwork/system/courseScripts//WeBWorK/PG/Translator.pm
line 536.

Arnie

Revision 2521 - Directory Listing
Modified Fri Jul 16 18:34:46 2004 UTC (15 years, 7 months ago) by sh002i
updated release notes, updated dates in copyright notice

Revision 2520 - Directory Listing
Modified Fri Jul 16 14:27:33 2004 UTC (15 years, 7 months ago) by sh002i
tiny formatting change -- rewrapped comment.

Revision 2519 - Directory Listing
Modified Fri Jul 16 02:16:37 2004 UTC (15 years, 7 months ago) by gage
Added comment

Revision 2518 - Directory Listing
Modified Fri Jul 16 01:32:52 2004 UTC (15 years, 7 months ago) by gage
Will create the tempDirectory if it is missing.

this is useful if, for example, you switch the tmp directory from
webwork2/courses/courseName/html/tmp  to something like

/ww/htdocs/tmp/courseName

You don't want to create a courseName node for every course, you would
prefer to create only /ww/htdocs/tmp

the current version will create the node courseName if it doesn't exist
(or the name tmp in the first example) but will not create files
higher up the tree.

Revision 2516 - Directory Listing
Modified Fri Jul 16 00:59:14 2004 UTC (15 years, 7 months ago) by sh002i
set default paths to /opt/{webwork2,pg}

Revision 2515 - Directory Listing
Modified Thu Jul 15 21:22:42 2004 UTC (15 years, 7 months ago) by sh002i
YET ANOTHER CONFIG CHANGE -- PLEASE READ.

This chagne allows command-line scripts to continue to work without
defining a bunch of environment variables. Hopefully this will be the
last change...

Now only $webwork_dir is set in webwork.apache-config. That file then
uses this value to read the course environment and get the rest of the
configuration values that it needs out of global.conf. global.conf now
has variables like $webwork_url, $pg_dir, etc. at the top.

In summary:

* In httpd.conf, include webwork.apache-config.
* In webwork.apache-config set $webwork_dir to the path to webwork2.
* In global.conf, set $webwork_url, $pg_dir, $webwork_htdocs_url,
  $webwork_htdocs_dir, $webwork_courses_url, and $webwork_courses_dir.

Revision 2514 - Directory Listing
Modified Thu Jul 15 15:17:34 2004 UTC (15 years, 7 months ago) by apizer
update documentation

Arnie

Revision 2513 - Directory Listing
Modified Thu Jul 15 13:53:58 2004 UTC (15 years, 7 months ago) by apizer
new name and version of install documentation

Arnie

Revision 2512 - Directory Listing
Modified Thu Jul 15 00:13:19 2004 UTC (15 years, 7 months ago) by sh002i
fixed field name (it's ANSWER date, not close date!)

Revision 2511 - Directory Listing
Modified Wed Jul 14 01:07:55 2004 UTC (15 years, 7 months ago) by apizer
pass equation.dvi instead of equation to dvipng

Arnie

Revision 2510 - Directory Listing
Modified Wed Jul 14 00:47:55 2004 UTC (15 years, 7 months ago) by apizer
Add PG_environment{onTheFlyImageSize}

Arnie

Revision 2509 - Directory Listing
Modified Tue Jul 13 19:43:35 2004 UTC (15 years, 7 months ago) by apizer
Change init routine so that it works with Perl 5.8 and 5.6

Arnie

Revision 2508 - Directory Listing
Modified Tue Jul 13 04:24:37 2004 UTC (15 years, 7 months ago) by sh002i
rearranged to move commonly-changed values closer to the top.

Revision 2507 - Directory Listing
Modified Mon Jul 12 23:38:52 2004 UTC (15 years, 7 months ago) by sh002i
name submitAnswers button "Submit Answers for $effectiveUser" if acting
as a student. (as per jj's suggestion -- see bug #541 again.)

Revision 2506 - Directory Listing
Modified Mon Jul 12 23:37:54 2004 UTC (15 years, 7 months ago) by sh002i
fix error in last commit

Revision 2505 - Directory Listing
Modified Mon Jul 12 22:15:57 2004 UTC (15 years, 7 months ago) by sh002i
Generalized %can settings in Problem.pm with new permissions. Closes bug
#541. See said bug for more details.

Revision 2504 - Directory Listing
Modified Mon Jul 12 21:49:51 2004 UTC (15 years, 7 months ago) by sh002i
added light grey background to div.problem. helps to make it clear
what's part of the problem and what isn't. not sure if this is a good
idea UI-wise.

Revision 2503 - Directory Listing
Modified Mon Jul 12 17:55:55 2004 UTC (15 years, 7 months ago) by sh002i
fixed spacing in checkconfig message

Revision 2502 - Directory Listing
Modified Mon Jul 12 16:20:41 2004 UTC (15 years, 7 months ago) by sh002i
removed alledgedly unused variables.

Revision 2501 - Directory Listing
Modified Mon Jul 12 16:20:16 2004 UTC (15 years, 7 months ago) by sh002i
added comments on how to create an .htaccess file.

Revision 2500 - Directory Listing
Modified Mon Jul 12 16:09:52 2004 UTC (15 years, 7 months ago) by sh002i
changed default WW directory to $HOME/webwork2

Revision 2499 - Directory Listing
Modified Mon Jul 12 11:29:25 2004 UTC (15 years, 7 months ago) by lr003k
new help files

Revision 2498 - Directory Listing
Modified Mon Jul 12 04:23:00 2004 UTC (15 years, 7 months ago) by sh002i
Applied Bill Wheeler's urgency-sort patch, fixing bug #601.

Revision 2497 - Directory Listing
Modified Mon Jul 12 04:16:14 2004 UTC (15 years, 7 months ago) by sh002i
change name of htpasswd file to .htpasswd (as is typical).

Revision 2496 - Directory Listing
Modified Mon Jul 12 04:15:51 2004 UTC (15 years, 7 months ago) by sh002i
"Allow from all" for server-info/server-status in site config. People
can tighten this up by setting up authentication.

Revision 2495 - Directory Listing
Modified Mon Jul 12 04:06:46 2004 UTC (15 years, 7 months ago) by sh002i
Applied Bill Wheeler's patch to send raw TeX to client as file download.
Fixes bug #589.

Revision 2494 - Directory Listing
Modified Mon Jul 12 03:48:48 2004 UTC (15 years, 7 months ago) by sh002i
disable authentication by default, but you should enable it.

Revision 2493 - Directory Listing
Modified Mon Jul 12 02:44:03 2004 UTC (15 years, 7 months ago) by sh002i
These files are no longer used. See devel.apache-config and
devel-site.apache-config.

Revision 2492 - Directory Listing
Modified Mon Jul 12 02:43:18 2004 UTC (15 years, 7 months ago) by sh002i
DEVEL SYSTEM CONFIG CHANGES - PLEASE READ.

To complement the new Apache/WeBWorK configuration scheme, the
http-wwmp-header.conf and http-wwmp.conf files are being eliminated in
favor of a primarily Perl-based configuration scheme. This reduces
redundancy and allows both development and production system to share a
single "core" WeBWorK configuration file, webwork.apache-config.

The setup is described in the new top-level development server config
file devel.apache-config:

    This is an Apache configuration file suitable for use when doing
    development on the WeBWorK 2 system. This setup allows each
    developer to run an independent Apache server under their own UID,
    using their own working copy of the WeBWorK code. The configuration
    is split into three parts:

    The first part is a site-specific (but user-indepenent) file named
    devel-site.apache-config. It contains directives that are common to
    all development servers on the same host. The site administrator can
    chose to maintain a single copy of this file and have all developers
    reference it in a central location.

    The second part is the stock webwork.apache-config file that is used
    for normal installations. Customize this file, setting the
    $webwork_url, $webwork_dir, $pg_dir, etc. appropriatly for your
    development server.

    The third part is this file. It contains the user-specific
    directives that are specific to each developer's server.

Of the two files specific to development server configuration, only
devel-site.apache-config will require modification, and it need be
modified only once per host machine. devel.apache-config uses the UID
and GID and of the user running it, and the values set in
webwork.apache-conf, to configure itself.

wwapachectl has also been modified to refer to devel.apache-config
instead of http-wwmp.conf and streamline its configuration.

Revision 2491 - Directory Listing
Modified Mon Jul 12 02:30:32 2004 UTC (15 years, 7 months ago) by sh002i
MORE CONFIG CHANGES -- PLEASE READ.

I've changed the way WeBWorK is configured yet again. The Apache
configuration for WeBWorK is now done with <Perl> sections. This solves
the problem of "seeding" global.conf with initial values for the various
root directories and base URLs. it also eliminates redundancy in the
Apache configuration file itself.

The Apache configuration for WeBWorK is now contained in the file
conf/webwork.apache-config. This file is used both for normal systems,
where WeBWorK is integrated into the main Apache server, and development
systems, where each developer runs his or her own Apache server.

Inside webwork.apache-config, seven configuation variables are set:

     $webwork_url            The base URL handled by Apache::WeBWorK.
     $webwork_dir            The path to the base webwork2 directory.
     $pg_dir                 The path to the base pg directory.

     $webwork_htdocs_url     The base URL of the WeBWorK htdocs directory.
     $webwork_htdocs_dir     The path to the WeBWorK htdocs directory.

     $webwork_courses_url    The base URL of the WeBWorK courses directory.
     $webwork_courses_dir    The path to the WeBWorK courses directory.

These variables are used to configure the <Location>, Alias, AliasMatch,
and <Directory> directives necessary for WeBWorK operation.
$webwork_root and $pg_root are also used in "use lib" lines to add the
WeBWorK and PG lib directories to @INC.

Additionally, the above values are shared with WeBWorK via the
%WeBWorK::SeedCE hash. WeBWorK.pm passes the contents of this hash
(along with a value for "courseName") to CourseEnvironment.pm when
initializing the course environment. In turn, CourseEnvironment.pm seeds
the course environment namespace with these variables before evaluating
global.conf and course.conf.

Revision 2490 - Directory Listing
Modified Mon Jul 12 01:19:32 2004 UTC (15 years, 7 months ago) by sh002i
some changes from a while ago, never comitted.

Revision 2489 - Directory Listing
Modified Mon Jul 12 00:49:04 2004 UTC (15 years, 7 months ago) by jj
Fix error in feedback link when the server runs ssl (at least for its
standard port).

Revision 2488 - Directory Listing
Modified Sun Jul 11 21:36:26 2004 UTC (15 years, 7 months ago) by gage
Added better error messages.  Removed and extraneous slash.

Revision 2487 - Directory Listing
Modified Sun Jul 11 19:41:30 2004 UTC (15 years, 7 months ago) by gage
Restoring gif2png default directory to one appropriate to unix installations
(as opposed to macs).  Sorry about that .

Revision 2486 - Directory Listing
Modified Sat Jul 10 21:53:31 2004 UTC (15 years, 7 months ago) by gage
Modified placement of help link for instructor links.

Revision 2485 - Directory Listing
Modified Sat Jul 10 21:45:48 2004 UTC (15 years, 7 months ago) by gage
Added hook for help for instructor links.

Revision 2484 - Directory Listing
Modified Sat Jul 10 21:43:56 2004 UTC (15 years, 7 months ago) by gage
Update help files.

Revision 2483 - Directory Listing
Modified Sat Jul 10 18:17:06 2004 UTC (15 years, 7 months ago) by gage
Help for the course home page (Generated by ProblemSets.pm)

Revision 2482 - Directory Listing
Modified Sat Jul 10 18:13:59 2004 UTC (15 years, 7 months ago) by gage
Changed the way scoring files are read so that they work with files uploaded
from Macs.

Revision 2481 - Directory Listing
Modified Sat Jul 10 18:13:10 2004 UTC (15 years, 7 months ago) by gage
Added force_eoln() function for converting line endings of a string to unix line endings (\n)

Revision 2480 - Directory Listing
Modified Sat Jul 10 18:11:00 2004 UTC (15 years, 7 months ago) by gage
Added help escape handler specialized to handing a url with the
course name in the path.  The corresponding help file for this page
is course home.

Revision 2479 - Directory Listing
Modified Sat Jul 10 16:28:56 2004 UTC (15 years, 7 months ago) by sh002i
an ugly hack to convince safari to download the damn file! apparently
just sending a "Content-Disposition: attachment" header isn't enough. it
has to be a BINARY FILE! WTF! better solutions welcome.

Revision 2478 - Directory Listing
Modified Sat Jul 10 16:07:02 2004 UTC (15 years, 7 months ago) by sh002i
support incremental sending of exported databases (still slow though).

Revision 2477 - Directory Listing
Modified Sat Jul 10 16:05:51 2004 UTC (15 years, 7 months ago) by sh002i
replaced !WEBWORK_ROOT! with $webworkRoot.

Revision 2476 - Directory Listing
Modified Sat Jul 10 16:05:11 2004 UTC (15 years, 7 months ago) by sh002i
added support for writing database to stdout if filename is "-".

Revision 2475 - Directory Listing
Modified Fri Jul 9 16:48:03 2004 UTC (15 years, 7 months ago) by gage
Intial entry

Revision 2474 - Directory Listing
Modified Thu Jul 8 23:27:16 2004 UTC (15 years, 7 months ago) by gage
Handle case where setID and probNumber are undefined (e.g.
when editing course_info file.)

Revision 2473 - Directory Listing
Modified Thu Jul 8 21:38:09 2004 UTC (15 years, 7 months ago) by sh002i
Properly escape params that are carried through login process.
Fixes bug #598.

Revision 2472 - Directory Listing
Modified Thu Jul 8 18:42:01 2004 UTC (15 years, 7 months ago) by sh002i
Moved "use File::Find" to Instructor.pm, where it is used.

Revision 2470 - Directory Listing
Modified Thu Jul 8 15:53:41 2004 UTC (15 years, 7 months ago) by apizer
update copyright notice

Arnie

Revision 2469 - Directory Listing
Modified Thu Jul 8 15:29:45 2004 UTC (15 years, 7 months ago) by apizer
Create equations directory if it doesn't exist.  All directories under
tmp should be recreated if they don't exist.

Arnie

Revision 2468 - Directory Listing
Modified Thu Jul 8 15:23:28 2004 UTC (15 years, 7 months ago) by gage
Added support for modifying .pg files in the templates directory

Revision 2467 - Directory Listing
Modified Thu Jul 8 15:22:55 2004 UTC (15 years, 7 months ago) by apizer
Create equations directory if it doesn't exist.  All directories under
tmp should be recreated if they don't exist.

Arnie

Revision 2466 - Directory Listing
Modified Thu Jul 8 15:19:49 2004 UTC (15 years, 7 months ago) by gage
Added use File::Find

Revision 2465 - Directory Listing
Modified Thu Jul 8 14:53:47 2004 UTC (15 years, 7 months ago) by gage
Added routines allowing the uploading, downloading and deletion of
.pg files under the templates directory.  Links are not followed.

It's probable that more checks and user interface messages will be
needed.

Revision 2464 - Directory Listing
Modified Thu Jul 8 14:27:46 2004 UTC (15 years, 7 months ago) by apizer
initial entry

Arnie

Revision 2463 - Directory Listing
Modified Thu Jul 8 14:03:28 2004 UTC (15 years, 7 months ago) by apizer
Bring up to date

Arnie

Revision 2462 - Directory Listing
Modified Wed Jul 7 22:45:40 2004 UTC (15 years, 7 months ago) by jj
Added a space between words in message output to the screen.

Revision 2461 - Directory Listing
Modified Wed Jul 7 21:26:52 2004 UTC (15 years, 7 months ago) by apizer
Change permission of tmp files so that they can be removed.

Arnie

Revision 2460 - Directory Listing
Modified Wed Jul 7 21:13:14 2004 UTC (15 years, 7 months ago) by apizer
Make tmp files removable

Arnie

Revision 2459 - Directory Listing
Modified Wed Jul 7 20:21:21 2004 UTC (15 years, 7 months ago) by apizer
Bring ImageGenerator upto essentailly version 1.8

Arnie

Revision 2458 - Directory Listing
Modified Wed Jul 7 20:19:46 2004 UTC (15 years, 7 months ago) by apizer
change tmp directory, pass arguments to ImageGenerator.pm

Arnie

Revision 2457 - Directory Listing
Modified Wed Jul 7 18:57:15 2004 UTC (15 years, 7 months ago) by gage
Preliminary versions of help files.

Revision 2456 - Directory Listing
Modified Wed Jul 7 18:42:03 2004 UTC (15 years, 7 months ago) by gage
The bread crum path at the top leads back to the problem being edited, not to
the Instructor Tool.  This is at least reasonable behavior.

This fixes bug #596

--Mike

Revision 2455 - Directory Listing
Modified Wed Jul 7 18:15:20 2004 UTC (15 years, 7 months ago) by gage
Don't show unpublished sets in the siblings list (unless of course
you have permission to see unpublished sets.  (published == visible, unpublished == hidden)

This might be a little slow if there is a very long list of sibling sets.
Each set has to be checked to see if it is published.

Revision 2454 - Directory Listing
Modified Wed Jul 7 17:51:05 2004 UTC (15 years, 7 months ago) by apizer
use global_user for both login and studeent ID

Arnie

Revision 2453 - Directory Listing
Modified Wed Jul 7 17:22:05 2004 UTC (15 years, 7 months ago) by sh002i
set student_id == user_id for non-student users. this will help prevent
inadvertant collisions, as we're no longer making up fake student IDs.

Revision 2452 - Directory Listing
Modified Wed Jul 7 17:14:09 2004 UTC (15 years, 7 months ago) by apizer
use global_user for login and change studentID to GlobalUserID

Arnie

Revision 2451 - Directory Listing
Modified Wed Jul 7 16:28:20 2004 UTC (15 years, 7 months ago) by apizer
Add globalUser to default classlist

Arnie

Revision 2450 - Directory Listing
Modified Wed Jul 7 14:37:32 2004 UTC (15 years, 7 months ago) by gage
Changed the misnamed problem_header to hardcopy_header which is a more accurate
description of the variables use.

Hardcopy.pm now consults hardcopy_header as opposed to set_header

This addresses some of the concerns in bug #556

Revision 2449 - Directory Listing
Modified Wed Jul 7 11:35:34 2004 UTC (15 years, 7 months ago) by gage
Added

\setcounter{page}{1}%

to these two pages.

This addresses bug #593

Revision 2448 - Directory Listing
Modified Wed Jul 7 04:06:35 2004 UTC (15 years, 7 months ago) by dpvc
Updated to latest jsMath.  This one includes a fallback character
mapping for unix (though it is not perfect, it should help).  See the
jsMath home page for some information about how to install the TeX
fonts for use with unix.

Revision 2447 - Directory Listing
Modified Tue Jul 6 21:53:10 2004 UTC (15 years, 7 months ago) by gage
Added comments that show how variables in global.conf correspond
to variables defined in the the httpd.conf file.

Revision 2446 - Directory Listing
Modified Tue Jul 6 21:23:58 2004 UTC (15 years, 7 months ago) by jj
Fixed call to hasPermissions.

Revision 2445 - Directory Listing
Modified Tue Jul 6 21:21:20 2004 UTC (15 years, 7 months ago) by jj
Allow psvn to equal 0.  It could happen in situations where a problem
isn't really assigned to the person.

Revision 2444 - Directory Listing
Modified Tue Jul 6 16:12:09 2004 UTC (15 years, 7 months ago) by sh002i
changed "save options" to "apply options". fixes bug #586.

Revision 2443 - Directory Listing
Modified Tue Jul 6 15:16:51 2004 UTC (15 years, 7 months ago) by jj
Allow new option for image.  extra_html_tags are added to the img tag of the
image.  Allows you to control the vertical alignment of an image.

Revision 2442 - Directory Listing
Modified Sun Jul 4 14:04:24 2004 UTC (15 years, 7 months ago) by sh002i
fixed docs, resolving bug #588.

Revision 2441 - Directory Listing
Modified Sun Jul 4 02:08:28 2004 UTC (15 years, 7 months ago) by dpvc
URL for jsMath and asciimath was incorrectly set during the
reorganization.

Revision 2440 - Directory Listing
Modified Sat Jul 3 17:29:32 2004 UTC (15 years, 7 months ago) by sh002i
get dvipng settings from new place in CE

Revision 2439 - Directory Listing
Modified Sat Jul 3 17:29:12 2004 UTC (15 years, 7 months ago) by sh002i
formatting

Revision 2438 - Directory Listing
Modified Sat Jul 3 17:21:27 2004 UTC (15 years, 7 months ago) by sh002i
BIG CHANGES -- PLEASE READ.

- Changed the format of global.conf so that each setting is its own
statement. This makes it easier for users to override settings for a
course -- they can simply copy the single line from global.conf and
change the value. It also makes it easier to talk about individual
values in documentation.

- Commented each value with a description and advice. Finally! Yay!

- Moved the dvipng options to a new subhash of %pg. They are now in
$pg{displayModeOptions}{images}. Modified PG.pm and Problem.pm to match.

The next step is to do some organizaitonal work on this file so that the
most-chagned options are near the top.

Please tell me if you experience any problems as a result of these
changes! (Or better yet, submit at patch!)

Revision 2437 - Directory Listing
Modified Sat Jul 3 17:13:29 2004 UTC (15 years, 7 months ago) by sh002i
changed the way invalid courses are detected. $ce->{'!'} is no longer
used. also, if CE initialization throws an exception, it is caught and
labeled as a problem with CE init.

Revision 2436 - Directory Listing
Modified Fri Jul 2 20:39:12 2004 UTC (15 years, 7 months ago) by dpvc
Fixed uninitialized value.  (It comes into play when there are no
answers required, as is true for some problems in tour orientation set.)

Revision 2435 - Directory Listing
Modified Fri Jul 2 20:31:33 2004 UTC (15 years, 7 months ago) by dpvc
Fix uninitialized value.  (It comes into play if a problem doesn't
have any answer blanks.  We have these in our orientation set.)

Revision 2434 - Directory Listing
Modified Thu Jul 1 23:35:22 2004 UTC (15 years, 7 months ago) by sh002i
replaced remaining DECLINEs with explicit error messages.

Revision 2433 - Directory Listing
Modified Thu Jul 1 21:24:35 2004 UTC (15 years, 7 months ago) by sh002i
changed error output to label error as a webwork error.

Revision 2432 - Directory Listing
Modified Thu Jul 1 20:40:24 2004 UTC (15 years, 7 months ago) by sh002i
cosmetic changes to check_modules.pl

Revision 2431 - Directory Listing
Modified Thu Jul 1 20:31:13 2004 UTC (15 years, 7 months ago) by dpvc
Provide mechanism for adding extra problem library buttons
to the Library Browser.

These changes allow you to specify (via course.conf or global.conf)
that certain subdirectories of the templates directory are to have
separate buttons in the top panel of the Set Maker.  These buttons
only appear if the directories actually exist, and any other
directories are listed in the "Local Problems" button as usual.  If
the list of these directories is empty (the default), then the results
are just like they currently are, but it allows one more level of
separation of the hierarchy for those who want it.

The idea is to make symbolic links to the problem libraries from
Rochester, ASU, etc., and have separate buttons for these.  This
avoids having one monster menu with all the problems in it.  (Of
course, you could make buttons for any directories you want.)  There
are instructions in global.conf.dist that exmplain how to do configure
this.

Revision 2430 - Directory Listing
Modified Thu Jul 1 18:46:55 2004 UTC (15 years, 7 months ago) by sh002i
removed deprecated mksqldb utility. use new addcourse utility instead.

Revision 2429 - Directory Listing
Modified Thu Jul 1 16:37:39 2004 UTC (15 years, 7 months ago) by jj
Adjusted test for whether a value is really an override.  Before it was
just whether the value was defined, but now we automatically promote
undef to empty strings.

Revision 2428 - Directory Listing
Modified Wed Jun 30 20:47:29 2004 UTC (15 years, 7 months ago) by jj
Made adjustment analogous to what is in StudentProgress.  Without it,
you get "" used in addition errors.

Revision 2427 - Directory Listing
Modified Wed Jun 30 20:23:47 2004 UTC (15 years, 7 months ago) by dpvc
Fixed "last" variables that were not being passed back from
the table row routine (where they are changed).

Revision 2426 - Directory Listing
Modified Wed Jun 30 15:18:49 2004 UTC (15 years, 7 months ago) by toenail
Error.pm will now serve as 404 not found page
so far only used for bad course names
fedhecks for bad course names
should work now for ww1 courses (bug #584)

Cvs: ----------------------------------------------------------------------

Revision 2425 - Directory Listing
Modified Wed Jun 30 15:15:16 2004 UTC (15 years, 7 months ago) by toenail
fixed checks for bad course names
should work now for ww1 courses (bug #584)

Revision 2424 - Directory Listing
Modified Wed Jun 30 01:26:46 2004 UTC (15 years, 7 months ago) by sh002i
added README file mostly to prevent this directory from being pruned
when -P, -r, or -D is given.

Revision 2423 - Directory Listing
Modified Tue Jun 29 23:20:42 2004 UTC (15 years, 7 months ago) by dpvc
Updated to v1.4 of jsMath.  This includes a number of improvements
(see the jsMath home page for details).  Among these are spacing
improvements, support for more LaTeX commands (including sizing
commands like \tiny, \large, etc), better handling of unicode
characters when the TeX fonts aren't available (on the Mac), and some
speed improvement with some browsers.

Revision 2422 - Directory Listing
Modified Mon Jun 28 14:31:40 2004 UTC (15 years, 7 months ago) by jj
Improved logic from last fix - declaring problems from outside setmaker to
be invalid if they have no global problem.

Revision 2421 - Directory Listing
Modified Mon Jun 28 14:26:10 2004 UTC (15 years, 7 months ago) by jj
Fixed bug 583.

Revision 2420 - Directory Listing
Modified Sat Jun 26 21:56:44 2004 UTC (15 years, 7 months ago) by jj
Most of the work for adjusting vertical alignment of images is here.

Revision 2419 - Directory Listing
Modified Sat Jun 26 21:07:20 2004 UTC (15 years, 7 months ago) by jj
Pass more arguments to imagegenerator for image alignment.

Revision 2418 - Directory Listing
Modified Sat Jun 26 20:44:54 2004 UTC (15 years, 7 months ago) by jj
Minor additions so that ImageGenerator can get image alignment right.

Revision 2417 - Directory Listing
Modified Sat Jun 26 20:40:17 2004 UTC (15 years, 7 months ago) by jj
Added comments on how to make a mysql database for dvipng depths.

Revision 2416 - Directory Listing
Modified Sat Jun 26 16:14:26 2004 UTC (15 years, 7 months ago) by jj
Removed short-lived code for putting javascript tags into html page.

Revision 2415 - Directory Listing
Modified Sat Jun 26 16:12:16 2004 UTC (15 years, 7 months ago) by jj
Altered course in how to set vertical alignment of images, so this
undoes calls for javascript, and passes more arguments to imagegenerator
(which can be used someday soon).

Revision 2414 - Directory Listing
Modified Sat Jun 26 00:00:01 2004 UTC (15 years, 7 months ago) by jj
Added generation of javascript commands to align dvipng images, when
requested.

Revision 2413 - Directory Listing
Modified Fri Jun 25 23:56:56 2004 UTC (15 years, 7 months ago) by jj
Added variables for controlling vertical alignment of dvipng images.  You
can choose your favorite constant value like baseline or absmiddle, or give
parameters for a mysql database to hold vertical offsets for individualized
alignments.

Revision 2412 - Directory Listing
Modified Fri Jun 25 23:53:23 2004 UTC (15 years, 7 months ago) by jj
Added utility function for producing javascript commands for vertical
alignment of dvipng images.

Revision 2411 - Directory Listing
Modified Fri Jun 25 18:37:37 2004 UTC (15 years, 7 months ago) by jj
Report number of images removed, improved behavior when the user specifies
both --remove and --report, die if you don't have permissions to remove an
image, and removed comments.

Revision 2410 - Directory Listing
Modified Fri Jun 25 16:29:20 2004 UTC (15 years, 7 months ago) by jj
Added comment on how to skip the equation cache.

Revision 2409 - Directory Listing
Modified Fri Jun 25 16:27:55 2004 UTC (15 years, 7 months ago) by jj
Allow option of not using the cache.  If its path is the empty string, then
we just return the md5 hash of the latex string followed by a 1.

Revision 2408 - Directory Listing
Modified Fri Jun 25 16:23:38 2004 UTC (15 years, 7 months ago) by jj
Script for removing dvipng images matching various date criteria.

Revision 2407 - Directory Listing
Modified Fri Jun 25 15:31:21 2004 UTC (15 years, 7 months ago) by jj
Changed suggested dvipng args for versions >= 1.0 to capture vertical
alignment information.

Revision 2406 - Directory Listing
Modified Fri Jun 25 15:18:18 2004 UTC (15 years, 7 months ago) by apizer
Loas IO.pl in 3 places

Arnie

Revision 2405 - Directory Listing
Modified Fri Jun 25 15:17:52 2004 UTC (15 years, 7 months ago) by apizer
Load IO.pl.  Also log answers in show past answers only if answers are submitted
and not anonymous (i.e. don't log answers if students only previews and don't log
questionnaire responses).

Arnie

Revision 2404 - Directory Listing
Modified Fri Jun 25 15:15:17 2004 UTC (15 years, 7 months ago) by apizer
Add PG_environment{mailSmtpSender}

Arnie

Revision 2403 - Directory Listing
Modified Fri Jun 25 15:02:09 2004 UTC (15 years, 7 months ago) by apizer
slight changes

Arnie

Revision 2402 - Directory Listing
Modified Fri Jun 25 14:54:55 2004 UTC (15 years, 7 months ago) by apizer
Transfering files from pg directory back into courseScripts

Arnie

Revision 2401 - Directory Listing
Modified Fri Jun 25 14:39:34 2004 UTC (15 years, 7 months ago) by apizer
Transfering files from pg directory back into courseScripts

Arnie

Revision 2400 - Directory Listing
Modified Fri Jun 25 12:32:14 2004 UTC (15 years, 7 months ago) by dpvc
Fixed error in ANS_NUM_TO_NAME.

Revision 2398 - Directory Listing
Modified Fri Jun 25 00:09:18 2004 UTC (15 years, 7 months ago) by toenail
added permissions checks
fixed bad logic on bad set/problem in URL as professor
minor cosmetic changes

Revision 2397 - Directory Listing
Modified Fri Jun 25 00:08:46 2004 UTC (15 years, 7 months ago) by toenail
added permissions checks

Revision 2396 - Directory Listing
Modified Thu Jun 24 22:07:22 2004 UTC (15 years, 7 months ago) by dpvc
Moved the <BR> in std_print_q from the beginning of a line to the end
of a line.  This prevents unexpected initial blank lines.

Revision 2395 - Directory Listing
Modified Thu Jun 24 21:10:50 2004 UTC (15 years, 7 months ago) by dpvc
Make the spacing a little smaller, and make a break above the rule
more desirable, while disallowing one after the rule.

Revision 2394 - Directory Listing
Modified Thu Jun 24 21:06:22 2004 UTC (15 years, 7 months ago) by dpvc
Moved problem-separation snippet to ABOVE the problem (to get the
line above the first problem and simultaneously avoid having to check
for being the last problem).

Also put the correct answers in verbatim mode to avoid having to make
and-hoc adjustments to the answer string (the result will be exactly
what the instructor typed, no matter what).

This also avoids a problem when the correct answer begins with "[",
where LaTeX would think this was part of an optional parameter to
\item and either eat the answer (up to the "]") or fail to run
entirely (if the answer were "[1,infinity)" for example).

If you don't like the verbatim, you can take it out, but then add {}
or \relax after the \item to avoid this problem.

Revision 2393 - Directory Listing
Modified Thu Jun 24 21:01:23 2004 UTC (15 years, 7 months ago) by dpvc
Removed the experimental Parser-based implementations of i(), j() and k().
(sorry about that).

Revision 2392 - Directory Listing
Modified Thu Jun 24 21:00:26 2004 UTC (15 years, 7 months ago) by dpvc
Removed skip and rule from problem header generated in TeX mode here,
and let the snippets handle it (they were producing redundent rules).

Also removed some unwanted spaces in htmllink().

(Accidentally committed experimental change to dangerousMacros.pl, and
don't know how to prevent it at this point, so I'll commit a change
back to the original in a moment.)

Revision 2391 - Directory Listing
Modified Thu Jun 24 20:54:52 2004 UTC (15 years, 7 months ago) by sh002i
exported database now has content type "application/xml".,

Revision 2390 - Directory Listing
Modified Thu Jun 24 20:54:19 2004 UTC (15 years, 7 months ago) by sh002i
removed incorrect "$r->status(OK)" line from reply_with_file. also
removed unused REPORT_BUGS_URL constant and reformatted remaining
constants.

Revision 2389 - Directory Listing
Modified Thu Jun 24 18:13:33 2004 UTC (15 years, 7 months ago) by dpvc
Removed extra spaces from around dvipng images.

(These can cause bad line breaks, e.g. between mathematics and the
punctuation that follows.)

Revision 2388 - Directory Listing
Modified Thu Jun 24 18:08:43 2004 UTC (15 years, 7 months ago) by dpvc
Added default from, reply-to and subject values.

The subject probably needs improvement, but will do for now.

Revision 2387 - Directory Listing
Modified Thu Jun 24 18:07:13 2004 UTC (15 years, 7 months ago) by dpvc
Avoid error messages for problem values that are blank.

Revision 2385 - Directory Listing
Modified Thu Jun 24 17:44:16 2004 UTC (15 years, 7 months ago) by sh002i
handle PRINT_FILE_NAMES_FOR.

Revision 2384 - Directory Listing
Modified Thu Jun 24 17:43:32 2004 UTC (15 years, 7 months ago) by sh002i
email handling. add email to user record, allowedRecipients, and
feedbackRecipients. Add userIDs of all added users to
PRINT_FILE_NAMES_FOR.

Revision 2383 - Directory Listing
Modified Thu Jun 24 17:22:44 2004 UTC (15 years, 7 months ago) by sh002i
put helpMacro with the macros, use CE bugReporter URL.

Revision 2382 - Directory Listing
Modified Thu Jun 24 17:22:02 2004 UTC (15 years, 7 months ago) by sh002i
indentation fix

Revision 2381 - Directory Listing
Modified Thu Jun 24 17:21:23 2004 UTC (15 years, 7 months ago) by sh002i
added bugReporter URL

Revision 2380 - Directory Listing
Modified Thu Jun 24 16:59:30 2004 UTC (15 years, 7 months ago) by sh002i
cosmetic changes

Revision 2379 - Directory Listing
Modified Wed Jun 23 23:11:03 2004 UTC (15 years, 7 months ago) by sh002i
improved error handling, made SQL statements more robust.

Revision 2378 - Directory Listing
Modified Wed Jun 23 23:10:44 2004 UTC (15 years, 7 months ago) by sh002i
cleaned up form layout and improved error handling. also, instead of
having a separate set of field
for the "admin user", implemented an option to "add the WeBWorK
administrators to the new course".

Revision 2377 - Directory Listing
Modified Wed Jun 23 23:09:45 2004 UTC (15 years, 7 months ago) by sh002i
no change

Revision 2376 - Directory Listing
Modified Wed Jun 23 21:04:17 2004 UTC (15 years, 8 months ago) by toenail
added permissions for
viewing multiple sets
viewing unpublished sets
viewing unopened sets
viewing answers before the answer date

Revision 2375 - Directory Listing
Modified Wed Jun 23 20:45:01 2004 UTC (15 years, 8 months ago) by toenail
fail on bad course names

Revision 2374 - Directory Listing
Modified Wed Jun 23 19:20:20 2004 UTC (15 years, 8 months ago) by sh002i
made SQL statements more robust (fixes #577), improved error handling.

Revision 2373 - Directory Listing
Modified Wed Jun 23 19:19:32 2004 UTC (15 years, 8 months ago) by sh002i
added check for a course already existing

Revision 2372 - Directory Listing
Modified Wed Jun 23 19:19:02 2004 UTC (15 years, 8 months ago) by sh002i
added QuellSubroutineOutput to WeBWorK::Debug

Revision 2371 - Directory Listing
Modified Wed Jun 23 01:19:56 2004 UTC (15 years, 8 months ago) by sh002i
moved DISPLAY_MODE_FAILOVER to PGbasicmacros

Revision 2370 - Directory Listing
Modified Wed Jun 23 01:19:15 2004 UTC (15 years, 8 months ago) by sh002i
moved DISPLAY_MODE_FAILOVER into this file

Revision 2369 - Directory Listing
Modified Wed Jun 23 01:18:58 2004 UTC (15 years, 8 months ago) by sh002i
ImageGenerator is now using WeBWorK::Constants

Revision 2368 - Directory Listing
Modified Wed Jun 23 00:37:41 2004 UTC (15 years, 8 months ago) by sh002i
now using WeBWorK::Debug instead of built-in debug() function.

Revision 2367 - Directory Listing
Modified Wed Jun 23 00:37:18 2004 UTC (15 years, 8 months ago) by sh002i
This module provides the function debug(). It conveniently writes
debugging output to STDERR or a logfile (if the $Logfile constant is
non-empty). It can be turned on and off with the $Enabled constnat.

This module should be used in place of warn() for any debugging output.
warn() should only be used for non-fatal errors that we want the user to
see, not informational status messages.

Revision 2366 - Directory Listing
Modified Wed Jun 23 00:33:41 2004 UTC (15 years, 8 months ago) by sh002i
updated timing to use $Enabled and $Logfile constants.

Revision 2365 - Directory Listing
Modified Wed Jun 23 00:33:05 2004 UTC (15 years, 8 months ago) by sh002i
preliminary Constants module. Currently holds configuration constants
for WeBWorK::Debug, WeBWorK::Timing, and WeBWorK::PG::ImageGenerator. It
is loaded by WeBWorK.pm.

I'm taking suggestions for what additional items to add to it.

Revision 2364 - Directory Listing
Modified Tue Jun 22 19:13:58 2004 UTC (15 years, 8 months ago) by apizer
Fix things so that jsMath and asciiMath work

Arnie

Revision 2363 - Directory Listing
Modified Tue Jun 22 18:03:07 2004 UTC (15 years, 8 months ago) by jj
When using the imageCache (which is always), put images into subdirectories
based on the first two characters of their md5 hash.

Revision 2362 - Directory Listing
Modified Tue Jun 22 17:13:46 2004 UTC (15 years, 8 months ago) by sh002i
added stub for new constants file

Revision 2361 - Directory Listing
Modified Tue Jun 22 17:01:31 2004 UTC (15 years, 8 months ago) by sh002i
TODO: write this, use it for info boxes

Revision 2360 - Directory Listing
Modified Tue Jun 22 16:59:53 2004 UTC (15 years, 8 months ago) by sh002i
a comment

Revision 2359 - Directory Listing
Modified Tue Jun 22 16:55:13 2004 UTC (15 years, 8 months ago) by sh002i
not used anymore

Revision 2358 - Directory Listing
Modified Mon Jun 21 22:40:43 2004 UTC (15 years, 8 months ago) by apizer
add jsmath and asciiMathML modes to WW1.9

Arnie

Revision 2357 - Directory Listing
Modified Mon Jun 21 22:38:50 2004 UTC (15 years, 8 months ago) by apizer
removed unused subroutine html_top which caused warning message

Arnie

Revision 2356 - Directory Listing
Modified Mon Jun 21 20:11:58 2004 UTC (15 years, 8 months ago) by toenail
fixed permission check

Revision 2355 - Directory Listing
Modified Mon Jun 21 19:51:49 2004 UTC (15 years, 8 months ago) by toenail
redid permissions checks

stopped professor from deleting or altering own record
(to avoid accidentally locking oneself out of a course)

Added column for login status

Revision 2354 - Directory Listing
Modified Mon Jun 21 19:07:08 2004 UTC (15 years, 8 months ago) by gage
Changing cosmetics in code (PG.pm) and the listing of links
(ContentGenerator)

Revision 2353 - Directory Listing
Modified Sat Jun 19 16:57:36 2004 UTC (15 years, 8 months ago) by gage
This is a working version of the daemon

Revision 2352 - Directory Listing
Modified Fri Jun 18 21:27:56 2004 UTC (15 years, 8 months ago) by toenail
replaced bad use of next with an if-else block

Revision 2351 - Directory Listing
Modified Fri Jun 18 20:48:46 2004 UTC (15 years, 8 months ago) by toenail
added export functionality with new export mode
redid permissions checks with hash
took out links for users that don't have permissions to view the linked pages

Revision 2350 - Directory Listing
Modified Fri Jun 18 18:52:22 2004 UTC (15 years, 8 months ago) by apizer
Fixed bug that logged answers when students were just previewing.
Also fixed strange behavior involving previewing and sticcky answers

Arnie

Revision 2349 - Directory Listing
Modified Fri Jun 18 14:11:28 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks
removed unnecssary code/comments
fixed minor bug on invalid problem

Revision 2348 - Directory Listing
Modified Thu Jun 17 20:11:17 2004 UTC (15 years, 8 months ago) by sh002i
optimized the hell out of the database checking code

Revision 2347 - Directory Listing
Modified Thu Jun 17 20:10:58 2004 UTC (15 years, 8 months ago) by sh002i
added getAllPSVNs() method

Revision 2346 - Directory Listing
Modified Thu Jun 17 20:10:18 2004 UTC (15 years, 8 months ago) by sh002i
moved creating of timing object up so we can use it sooner

Revision 2345 - Directory Listing
Modified Thu Jun 17 20:02:12 2004 UTC (15 years, 8 months ago) by apizer
Changed pacckage name from strict to ww_strict per Sam's suggestion
to prevent redefining warnings.

Arnie

Revision 2342 - Directory Listing
Modified Thu Jun 17 18:12:56 2004 UTC (15 years, 8 months ago) by toenail
removed accidental submission of OptionList (not yet ready for use)

Revision 2341 - Directory Listing
Modified Thu Jun 17 17:40:51 2004 UTC (15 years, 8 months ago) by sh002i
re-added case for "edit_set_for_user", accidentally removed in last
revision.

Revision 2340 - Directory Listing
Modified Thu Jun 17 16:52:24 2004 UTC (15 years, 8 months ago) by gage
A better fix for the "add user" link problem.

this still calls AddUser module.  That will soon
be replaced by a call to UserList module once
Robert is done with his work.

--Mike

Revision 2339 - Directory Listing
Modified Thu Jun 17 16:36:32 2004 UTC (15 years, 8 months ago) by gage
Replaced hardwiring of mth143b by courseName in "add user" link.

this piece of code still needs work.  It should be a button not a link.

Revision 2338 - Directory Listing
Modified Thu Jun 17 14:35:05 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

it may be necessary to give someone (like a TA) that does not have
the ability to assign sets, the ability to view how sets/users are
assigned for troubleshooting purposes but for now, they cannot

Revision 2330 - Directory Listing
Modified Wed Jun 16 18:26:59 2004 UTC (15 years, 8 months ago) by toenail
added countUserSets method

Revision 2329 - Directory Listing
Modified Wed Jun 16 18:21:10 2004 UTC (15 years, 8 months ago) by gage
Searches for some of the executables such as dvipng and tth as well

Revision 2328 - Directory Listing
Modified Wed Jun 16 17:13:28 2004 UTC (15 years, 8 months ago) by sh002i
check for both definedness and non-emptiness when merging fields.

Revision 2327 - Directory Listing
Modified Wed Jun 16 16:56:51 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2326 - Directory Listing
Modified Wed Jun 16 15:22:08 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2325 - Directory Listing
Modified Wed Jun 16 02:13:44 2004 UTC (15 years, 8 months ago) by gage
Added permission level for reporting bugs.

Revision 2324 - Directory Listing
Modified Wed Jun 16 02:00:35 2004 UTC (15 years, 8 months ago) by gage
Updated ur.template to go with changes in "link"

Revision 2323 - Directory Listing
Modified Wed Jun 16 01:59:14 2004 UTC (15 years, 8 months ago) by gage
My latest effort at a list of links.  The "Add User" function can be accessed
from the Instructor Tools page or from the Class List Editor page

Revision 2322 - Directory Listing
Modified Wed Jun 16 01:58:03 2004 UTC (15 years, 8 months ago) by gage
First and last names of new instructor as inserted in the new course.

The list of courses one can use as a template is not alphabetized.

Revision 2321 - Directory Listing
Modified Wed Jun 16 01:27:07 2004 UTC (15 years, 8 months ago) by gage
Added hack for allowing exporting of set definition files.

If there is a conflict the earlier files are backed up.  So set 0 is
always exported to set0.def  and a previous set0.def file moves to
set0.def.bak.    There is only one backup.

The messages need work and the utilities, particularly saveProblem should be
moved to the Utils files.

--Mike

Revision 2320 - Directory Listing
Modified Tue Jun 15 20:43:53 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2319 - Directory Listing
Modified Tue Jun 15 18:55:26 2004 UTC (15 years, 8 months ago) by sh002i
getMerged* now use the global value when a field is empty ("") rather
than when a field is undefined.

Revision 2318 - Directory Listing
Modified Tue Jun 15 18:53:51 2004 UTC (15 years, 8 months ago) by sh002i
promote undefined values to "" in gets() and getAll().

Revision 2317 - Directory Listing
Modified Tue Jun 15 18:47:07 2004 UTC (15 years, 8 months ago) by sh002i
promote undefined values to "" in hash2record().

Revision 2316 - Directory Listing
Modified Tue Jun 15 15:23:52 2004 UTC (15 years, 8 months ago) by lr003k
new help file

Revision 2315 - Directory Listing
Modified Tue Jun 15 14:55:04 2004 UTC (15 years, 8 months ago) by sh002i
fixed reference to $webworkURL in comments at top of file.

Revision 2314 - Directory Listing
Modified Tue Jun 15 14:46:37 2004 UTC (15 years, 8 months ago) by gage
Closed up the two lines of instruction at the top of the page
Added a link to "Add users".  will eventually modify this to
a button so that it matches the rest of the page.

Revision 2313 - Directory Listing
Modified Mon Jun 14 22:59:22 2004 UTC (15 years, 8 months ago) by sh002i
added database checking logic. if database is not ok, CG is set to
FixDB.

Revision 2312 - Directory Listing
Modified Mon Jun 14 22:58:55 2004 UTC (15 years, 8 months ago) by sh002i
added hashDatabaseOK() function to check and repair hash-based databases
from webwork 1. can add global user and assign sets to global user.

Revision 2311 - Directory Listing
Modified Mon Jun 14 22:56:42 2004 UTC (15 years, 8 months ago) by sh002i
this module summarizes database problems and gives professors a chance
to fix them.

Revision 2310 - Directory Listing
Modified Mon Jun 14 22:55:52 2004 UTC (15 years, 8 months ago) by sh002i
updated instructions on how to set the database layout in course.conf.

Revision 2309 - Directory Listing
Modified Mon Jun 14 22:55:05 2004 UTC (15 years, 8 months ago) by sh002i
added fix_course_databases capability

Revision 2308 - Directory Listing
Modified Mon Jun 14 22:18:16 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2307 - Directory Listing
Modified Mon Jun 14 22:00:49 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2306 - Directory Listing
Modified Mon Jun 14 21:41:15 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks
newly formatted for readability

Revision 2305 - Directory Listing
Modified Mon Jun 14 20:58:17 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2304 - Directory Listing
Modified Mon Jun 14 20:30:30 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2303 - Directory Listing
Modified Mon Jun 14 20:23:32 2004 UTC (15 years, 8 months ago) by toenail
added permissions checks

Revision 2302 - Directory Listing
Modified Mon Jun 14 19:51:09 2004 UTC (15 years, 8 months ago) by toenail
added permission checks

Revision 2301 - Directory Listing
Modified Mon Jun 14 18:04:33 2004 UTC (15 years, 8 months ago) by toenail
added authorization checks

Revision 2300 - Directory Listing
Modified Sun Jun 13 01:30:23 2004 UTC (15 years, 8 months ago) by gage
Make comparison of first
and last names fail silently if they don't exist.


Changed the formatting of the add course form

Revision 2299 - Directory Listing
Modified Sun Jun 13 01:29:03 2004 UTC (15 years, 8 months ago) by gage
Changed the formatting of the add course form

Revision 2297 - Directory Listing
Modified Sun Jun 13 00:20:39 2004 UTC (15 years, 8 months ago) by gage
Adding documentation for new Parser

Revision 2293 - Directory Listing
Modified Fri Jun 11 16:44:38 2004 UTC (15 years, 8 months ago) by dpvc
Added a few more macros to jsMath, and increased the font size a little.

Revision 2292 - Directory Listing
Modified Fri Jun 11 16:40:44 2004 UTC (15 years, 8 months ago) by dpvc
Fixed a bug in jsMath mode where it would not display < (when it looked like
part of a tag).

Also, removed unwanted spaced around input box.

Revision 2291 - Directory Listing
Modified Fri Jun 11 15:47:01 2004 UTC (15 years, 8 months ago) by jj
When editting a problem, you now have the option of adding it to an
existing set.

Revision 2290 - Directory Listing
Modified Fri Jun 11 15:05:16 2004 UTC (15 years, 8 months ago) by toenail
changed problem header to paper header
fixed minor bug in importing a set

Revision 2289 - Directory Listing
Modified Fri Jun 11 14:38:58 2004 UTC (15 years, 8 months ago) by toenail
fixed bad comparison that failed on set named '0'

Revision 2288 - Directory Listing
Modified Thu Jun 10 16:30:46 2004 UTC (15 years, 8 months ago) by toenail
reworked error messages

Revision 2287 - Directory Listing
Modified Thu Jun 10 14:19:23 2004 UTC (15 years, 8 months ago) by lr003k
added a constant displayModeFailover to the global environment to make webwork 1.9 work with changes to pgbasicmacros.

Revision 2286 - Directory Listing
Modified Wed Jun 9 21:41:30 2004 UTC (15 years, 8 months ago) by toenail
new icon for editing users/sets

Revision 2285 - Directory Listing
Modified Wed Jun 9 21:40:36 2004 UTC (15 years, 8 months ago) by toenail
minor UI tweaks
added icon for editing sets/users

Revision 2284 - Directory Listing
Modified Wed Jun 9 02:57:15 2004 UTC (15 years, 8 months ago) by jj
Use new utility function for adding problems to a set (when importing a set).

Revision 2283 - Directory Listing
Modified Wed Jun 9 02:51:57 2004 UTC (15 years, 8 months ago) by jj
Make use of new utility function for adding a problem to a set.

Revision 2282 - Directory Listing
Modified Wed Jun 9 02:51:30 2004 UTC (15 years, 8 months ago) by jj
Added a utility function for adding a problem to a set, to be called from
several instructor modules.

Revision 2281 - Directory Listing
Modified Tue Jun 8 20:03:10 2004 UTC (15 years, 8 months ago) by sh002i
changed default globalUserID to "global_user"

Revision 2280 - Directory Listing
Modified Tue Jun 8 19:11:39 2004 UTC (15 years, 8 months ago) by toenail
upped viewing threshold to 50
made new/imported sets default to unpublished

Revision 2279 - Directory Listing
Modified Tue Jun 8 17:13:45 2004 UTC (15 years, 8 months ago) by toenail
removed ability to delete "visible" users
change red background to ResultsWithError class
CVS ----------------------------------------------------------------------

Revision 2278 - Directory Listing
Modified Tue Jun 8 17:07:33 2004 UTC (15 years, 8 months ago) by toenail
changed visable to visible. Closes #554.

Revision 2277 - Directory Listing
Modified Tue Jun 8 02:06:32 2004 UTC (15 years, 8 months ago) by sh002i
Reformatted the FUNCTION_CMP subroutine to make it more readable. Also,
one functional change:

< (defined ($inputs_ref->{$prev_ans_label} and $inputs_ref->{$prev_ans_label} =~/\S/) )
> (defined $inputs_ref->{$prev_ans_label} and $inputs_ref->{$prev_ans_label} =~/\S/)

I think the latter was what was intended.

Revision 2276 - Directory Listing
Modified Tue Jun 8 01:10:27 2004 UTC (15 years, 8 months ago) by sh002i
added check for well-formed course IDs. closes bug #504.

Revision 2275 - Directory Listing
Modified Tue Jun 8 00:04:45 2004 UTC (15 years, 8 months ago) by sh002i
removed debug output. fixes bug #542.

Revision 2274 - Directory Listing
Modified Mon Jun 7 23:53:45 2004 UTC (15 years, 8 months ago) by sh002i
got rid of remaining calls to "wwerror". Fixes bug #530.

Revision 2273 - Directory Listing
Modified Mon Jun 7 23:00:01 2004 UTC (15 years, 8 months ago) by sh002i
added README file mostly to prevent this directory from being pruned
when -P, -r, or -D is given.

Revision 2272 - Directory Listing
Modified Mon Jun 7 20:38:01 2004 UTC (15 years, 8 months ago) by toenail
added scoring ability
fixed permission tests

Revision 2271 - Directory Listing
Modified Mon Jun 7 19:34:36 2004 UTC (15 years, 8 months ago) by jj
Set names might contain underscores, so they need to be protected in hardcopy
output.

Revision 2270 - Directory Listing
Modified Mon Jun 7 11:52:47 2004 UTC (15 years, 8 months ago) by dpvc
Removed redundant HTML_jsMath check.

Revision 2269 - Directory Listing
Modified Mon Jun 7 02:50:52 2004 UTC (15 years, 8 months ago) by jj
Added success message when creating a new set.  Also,
added requested feature - when creating a new set, allow the user to assign
it to themselves.  This is done through javascript.  Only users with js
turned on get it, but it is kind of a frill.  Non-js users see just the old
behavior.

Revision 2268 - Directory Listing
Modified Mon Jun 7 02:13:27 2004 UTC (15 years, 8 months ago) by sh002i
Added timeout alarm (currently set to 5 munites). Fixes bug #511.

Revision 2267 - Directory Listing
Modified Mon Jun 7 01:34:34 2004 UTC (15 years, 8 months ago) by dpvc
Added jsMath support to these files.

Basically, HTML_jsMath should do whatever HTML_dpng mode does.  I simply included
it HTML_jsMath every time HTML_dpng appeared.

Revision 2266 - Directory Listing
Modified Mon Jun 7 01:31:33 2004 UTC (15 years, 8 months ago) by dpvc
Added more LaTeX commands to jsMath.

In particular:
   \begin{array}...\end{array}
   \begin{cases}...\end{cases}
   \sqrt[n]{...}
   \mathbb{...}

and a few other ones to avoid error messages.

Revision 2265 - Directory Listing
Modified Mon Jun 7 00:23:00 2004 UTC (15 years, 8 months ago) by sh002i
changed erronious == to eq. fixes bug #546.

Revision 2264 - Directory Listing
Modified Sun Jun 6 21:03:54 2004 UTC (15 years, 8 months ago) by jj
Changed Current Set to Target Set (hopefully more intuitive), and changed Top
to My Problems, also hopefully more intuitive for non-unix users.

Revision 2263 - Directory Listing
Modified Sun Jun 6 03:04:27 2004 UTC (15 years, 8 months ago) by gage
Changed question mark image.
It's smaller now.

Revision 2262 - Directory Listing
Modified Sun Jun 6 02:50:24 2004 UTC (15 years, 8 months ago) by gage
Default for help symbol when there is no helpfile present.

Revision 2261 - Directory Listing
Modified Sun Jun 6 02:49:11 2004 UTC (15 years, 8 months ago) by gage
Tweaked the position of the help question mark.  Better default
addresses for link.

Revision 2260 - Directory Listing
Modified Sun Jun 6 02:48:00 2004 UTC (15 years, 8 months ago) by gage
More tweaking for the position of the help question mark.

This is much better.  It now has default names equal to the
title page name, lower case, spaces replaced by under bars.

Revision 2259 - Directory Listing
Modified Sun Jun 6 00:22:28 2004 UTC (15 years, 8 months ago) by gage
Image for help link.

Revision 2258 - Directory Listing
Modified Sun Jun 6 00:21:50 2004 UTC (15 years, 8 months ago) by gage
Add minimal support for a help symbol to appear on each page.

Revision 2257 - Directory Listing
Modified Sun Jun 6 00:21:26 2004 UTC (15 years, 8 months ago) by gage
Added minimal version of a help symbol that will appear on each page.

The CSS at the top of the page needs work, so that not so much space is used.

Revision 2256 - Directory Listing
Modified Sun Jun 6 00:20:14 2004 UTC (15 years, 8 months ago) by gage
Added comments -- should we enter the contact person as a student in the admin class
so that we can use the email facility to contact people hosted on this server?

Revision 2255 - Directory Listing
Modified Sat Jun 5 19:20:13 2004 UTC (15 years, 8 months ago) by gage
If there is an error, other than "course exists" then the directory tree
is cleared.  This corrects a behavior in which the creation of the new
course would fail half way through, but the directory tree would remain
-- this made it appear as if the course existed.

-- This fix is still somewhat fragile.

Revision 2254 - Directory Listing
Modified Sat Jun 5 19:18:37 2004 UTC (15 years, 8 months ago) by gage
Changed the layout of the form so that optional items are listed last.

Revision 2253 - Directory Listing
Modified Sat Jun 5 16:13:33 2004 UTC (15 years, 8 months ago) by jj
Allow on-the-fly graphics in jsmath and asciimath modes.

Revision 2252 - Directory Listing
Modified Fri Jun 4 23:21:48 2004 UTC (15 years, 8 months ago) by jj
Allow students to check answers between the due date and the answer date.  This doesn't let them see the correct answers, but it does let them enter values to see if those are right without recording them.

Revision 2251 - Directory Listing
Modified Fri Jun 4 21:40:07 2004 UTC (15 years, 8 months ago) by jj
Fixed bug 545.  Make Problem.pm preserve its state of problem seed when that value was being overridden.

Revision 2250 - Directory Listing
Modified Fri Jun 4 19:10:30 2004 UTC (15 years, 8 months ago) by jj
Fixed the following bug: if you change a student's status on a problem to 1 and give them a correct attempt, but then go to the stats page or student progress page, you won't see the change.  The reason is that those pages check "attempted" which cannot be changed through this page directly.  Now this page updates attemted fields based on if (correct+incorrect attempts) > 0.

Revision 2249 - Directory Listing
Modified Thu Jun 3 21:20:07 2004 UTC (15 years, 8 months ago) by toenail
minor changes to UI

Revision 2248 - Directory Listing
Modified Thu Jun 3 19:58:00 2004 UTC (15 years, 8 months ago) by toenail
rewrote much of the HTML code
changed table layout

Revision 2247 - Directory Listing
Modified Thu Jun 3 19:38:45 2004 UTC (15 years, 8 months ago) by toenail
fixed code order to avoid invalid call to published field
on a non-existant set
Fixes #543.

Revision 2246 - Directory Listing
Modified Thu Jun 3 18:54:51 2004 UTC (15 years, 8 months ago) by toenail
complete rewrite based on UserList
next step is to abstract similarities

Revision 2245 - Directory Listing
Modified Wed Jun 2 23:32:56 2004 UTC (15 years, 8 months ago) by jj
Made the list of problems more readable by using center alignment in the columns.

Revision 2244 - Directory Listing
Modified Wed Jun 2 20:28:23 2004 UTC (15 years, 8 months ago) by toenail
fixed display of published/unpublished text

Revision 2243 - Directory Listing
Modified Wed Jun 2 20:18:48 2004 UTC (15 years, 8 months ago) by jj
Fixed bug which caused some debug output to always appear.

Revision 2242 - Directory Listing
Modified Wed Jun 2 18:21:38 2004 UTC (15 years, 8 months ago) by gage
Changed formatting of the "Add course" sub page.

When a new course is created the course name, id, institution and so forth
are logged in hosted_courses.log in admin/logs

This logging facility must be defined in the admin/course.conf file.

--Mike

Revision 2241 - Directory Listing
Modified Wed Jun 2 14:54:26 2004 UTC (15 years, 8 months ago) by gage
Rearranged stats table.  "good" results are now always to the right
(high scores, low number of attempts).

Use dashes when numbers are repeated in order to prevent confusion.

Revision 2240 - Directory Listing
Modified Tue Jun 1 15:06:23 2004 UTC (15 years, 8 months ago) by gage
This is currently a version of ShowAnswers.pm  the plan is to evolve this
so that one can view the Past answers log from a variety of views.

--Mike

Revision 2239 - Directory Listing
Modified Tue Jun 1 14:50:38 2004 UTC (15 years, 8 months ago) by gage
I don't think that anything has changed with this submission.  I'm overriding
a binary temp file.

--Mike

Revision 2238 - Directory Listing
Modified Tue Jun 1 14:44:17 2004 UTC (15 years, 8 months ago) by gage
Added hooks for Preflight

-- Mike

Revision 2237 - Directory Listing
Modified Tue Jun 1 14:42:26 2004 UTC (15 years, 8 months ago) by jj
Command line script to set a password, analogous to the WW 1 script.  The name is slightly different in case you need both available.

Revision 2236 - Directory Listing
Modified Mon May 31 16:59:17 2004 UTC (15 years, 8 months ago) by jj
When viewing a users problem, the rendered versions have the right seed, etc.

Revision 2235 - Directory Listing
Modified Mon May 31 16:49:04 2004 UTC (15 years, 8 months ago) by jj
Allow optional argument of the set (which better be real).

Revision 2234 - Directory Listing
Modified Mon May 31 16:35:00 2004 UTC (15 years, 8 months ago) by jj
Added support for initial problem number to renderProblems, and better support for controlling the problem seed.

Revision 2233 - Directory Listing
Modified Mon May 31 16:02:28 2004 UTC (15 years, 8 months ago) by jj
Just realigned some code and took out a couple commented lines.

Revision 2232 - Directory Listing
Modified Mon May 31 15:44:43 2004 UTC (15 years, 8 months ago) by jj
Re-use on-the-fly graphs, unless problem seed has change, source file has changed, or the problem is being rendered without being part of a real set.

Revision 2231 - Directory Listing
Modified Mon May 31 04:17:59 2004 UTC (15 years, 8 months ago) by jj
When viewing a problem which isn't really part of a set (e.g., out of SetMaker), make the display mode option buttons work.

Revision 2230 - Directory Listing
Modified Mon May 31 02:20:27 2004 UTC (15 years, 8 months ago) by jj
Changed "Act on" button to say "Update" in bold.  Also, added mark all button.  Also, added clear all marks button.  Also, "Add me" checkboxes are now sticky, unless you update and they are added.  Then you get an additional message by the add box.  Mayble we should flip the css class of the "Add me" line too to signal who was added.  Hidme boxes aren't sticky since their problems usually get hidden anyway.

Revision 2229 - Directory Listing
Modified Mon May 31 02:06:57 2004 UTC (15 years, 8 months ago) by jj
Javascript close buttons for these files; hidden if the user has js turned off.

Revision 2228 - Directory Listing
Modified Sun May 30 02:35:06 2004 UTC (15 years, 8 months ago) by jj
Make the message blank when the user doesn't want problems rendered.  Different modules may want different messages anyway.

Revision 2227 - Directory Listing
Modified Sun May 30 02:33:25 2004 UTC (15 years, 8 months ago) by jj
Give the user a choice of which mode to use in displaying problems.  Defaults to none.

Revision 2226 - Directory Listing
Modified Fri May 28 23:16:27 2004 UTC (15 years, 8 months ago) by jj
Changed calls to renderProblems to match the new interface.

Revision 2225 - Directory Listing
Modified Fri May 28 23:15:44 2004 UTC (15 years, 8 months ago) by jj
Added two more controls next to View Problems: choice of display mode, which includes none for those who don't like to see their problems displayed, and one to choose how many problems you get at once.  Also, problems who's rendering cause an error get their message displayed with ResultsWithError.

Revision 2224 - Directory Listing
Modified Fri May 28 23:13:14 2004 UTC (15 years, 8 months ago) by jj
Changed interface to renderProblems to be key=>value pairs to make it easier to extend options.  New option is displayMode, which is allowed to be 'None' if you don't really want the problems rendered.

Revision 2223 - Directory Listing
Modified Fri May 28 15:54:25 2004 UTC (15 years, 8 months ago) by jj
Made StudentProgress follow the implicit convention set by things like Set Assigner and Set Maker; to use spaces between words.

Revision 2222 - Directory Listing
Modified Fri May 28 15:32:35 2004 UTC (15 years, 8 months ago) by jj
Try to work around IE bug: on left panel lines wrapped at every space.  Those spaces are converted to non-breaking spaces.  Ugly, but IE on windows is one of the most common browsers.

Revision 2221 - Directory Listing
Modified Fri May 28 14:55:01 2004 UTC (15 years, 8 months ago) by jj
Only provide radio buttons for different modes if the site is configured to
use more than one mode.

Revision 2220 - Directory Listing
Modified Thu May 27 22:28:21 2004 UTC (15 years, 8 months ago) by jj
Filename extension of .pg should only be forced for problem files.

Revision 2219 - Directory Listing
Modified Thu May 27 17:04:40 2004 UTC (15 years, 8 months ago) by jj
If the user does a save as and forgets the .pg, we help them out and append it to the file name.

Revision 2218 - Directory Listing
Modified Thu May 27 03:48:04 2004 UTC (15 years, 8 months ago) by jj
Get mode list from variable set in global.conf.

Revision 2217 - Directory Listing
Modified Thu May 27 01:34:22 2004 UTC (15 years, 8 months ago) by jj
Made a loop of loading special environment variables.  As a side effect, this makes the default size of on-the-fly graphics visible.

Revision 2216 - Directory Listing
Modified Mon May 24 21:28:42 2004 UTC (15 years, 8 months ago) by jj
Add configuration variable for the default size of on-the-fly graphs.  Didn't really change hardcopySetHeader.

Revision 2215 - Directory Listing
Modified Mon May 24 21:24:41 2004 UTC (15 years, 8 months ago) by jj
Allow default size of on the fly graphics to be set in global.conf, and make pop-ups of those graphs have windows closer to the size of the graph.  Also, pop-ups always make a new window - important for problems which make you compare two or more popped up graphs.

Revision 2214 - Directory Listing
Modified Mon May 24 20:43:05 2004 UTC (15 years, 8 months ago) by apizer
Allready done so this should fail

Arnie

Revision 2213 - Directory Listing
Modified Mon May 24 20:41:10 2004 UTC (15 years, 8 months ago) by apizer
change message to visable to students, etc

Arnie

Revision 2212 - Directory Listing
Modified Mon May 24 20:36:25 2004 UTC (15 years, 8 months ago) by apizer
Change message to visable to students, etc.

Arnie

Revision 2211 - Directory Listing
Modified Mon May 24 20:19:08 2004 UTC (15 years, 8 months ago) by toenail
displayMode is not preserved in the sibling links

Revision 2210 - Directory Listing
Modified Mon May 24 19:39:30 2004 UTC (15 years, 8 months ago) by toenail
added buttons for "Publish Selected" and "Unpublished Selected"

Revision 2209 - Directory Listing
Modified Mon May 24 18:25:07 2004 UTC (15 years, 8 months ago) by sh002i
removed vestigal libraryRoot line

Revision 2208 - Directory Listing
Modified Mon May 24 18:16:34 2004 UTC (15 years, 8 months ago) by sh002i
PLEASE UPDATE wwapachectl FROM wwapachectl.dist!
added warnings if config files are older than distribution versions.

Revision 2207 - Directory Listing
Modified Mon May 24 18:05:26 2004 UTC (15 years, 8 months ago) by mschmitt
Edited Labels to make clear that "All students" meant all students in the course,
not all students shown after filtering.  This should eventually be fixed so that
"All students" only refers to those who pass the filtering.

Revision 2206 - Directory Listing
Modified Mon May 24 17:51:44 2004 UTC (15 years, 8 months ago) by jj
Made on the fly graph names use problem seed rather than psvn.  It is a better identifier for pages like SetMaker.  Also made image names workable for set names containing periods (for the day when set names are free to contain periods).

Revision 2205 - Directory Listing
Modified Mon May 24 16:05:10 2004 UTC (15 years, 8 months ago) by toenail
the published field is always defined but is empty if not yet set to 1 or 0
now if the published field is empty it is set to 1
this change can be undone once all sets have a published field set to 1 or 0

Revision 2204 - Directory Listing
Modified Mon May 24 15:35:43 2004 UTC (15 years, 8 months ago) by mschmitt
Updated to autofilter using CE viewable_sections and viewable_recitations
Defaults to show all users if values are not defined

Revision 2203 - Directory Listing
Modified Mon May 24 15:32:11 2004 UTC (15 years, 8 months ago) by mschmitt
Updated to allow record filtering when selecting students

Revision 2202 - Directory Listing
Modified Mon May 24 15:30:34 2004 UTC (15 years, 8 months ago) by mschmitt
Cleaned up some UI issues.  Added message for recitation/section <none>

Revision 2201 - Directory Listing
Modified Mon May 24 02:32:45 2004 UTC (15 years, 9 months ago) by dpvc
update to asciimath for MSIE.

Revision 2200 - Directory Listing
Modified Mon May 24 02:01:25 2004 UTC (15 years, 9 months ago) by dpvc
More files for asciimath rendering.

Revision 2199 - Directory Listing
Modified Mon May 24 01:59:53 2004 UTC (15 years, 9 months ago) by dpvc
Support for asciimath.

Added preliminary support for asciimath rendering.  You must use a
MathML-enabled browser.

Revision 2198 - Directory Listing
Modified Mon May 24 01:51:13 2004 UTC (15 years, 9 months ago) by mschmitt
Tweak to make filters fail gracefully

Revision 2197 - Directory Listing
Modified Mon May 24 01:49:26 2004 UTC (15 years, 9 months ago) by apizer
Allow sorting on allrelevany columns (added recitation and user_id).

Arnie

Revision 2196 - Directory Listing
Modified Mon May 24 01:43:36 2004 UTC (15 years, 9 months ago) by mschmitt
Updated to work with filters in scrolling lists

Revision 2195 - Directory Listing
Modified Mon May 24 01:34:51 2004 UTC (15 years, 9 months ago) by mschmitt
Additionaly tweaks to fail gracefully

Revision 2194 - Directory Listing
Modified Mon May 24 01:27:48 2004 UTC (15 years, 9 months ago) by mschmitt
Edited so that filters fail gracefully

Revision 2193 - Directory Listing
Modified Mon May 24 01:05:03 2004 UTC (15 years, 9 months ago) by sh002i
failover data now passed in via %envir.

Revision 2192 - Directory Listing
Modified Mon May 24 01:03:05 2004 UTC (15 years, 9 months ago) by sh002i
display mode handling improved.
allowed display modes can now be specified via global.conf.
failover data used by the PG system now comes from PG.pm.

Revision 2191 - Directory Listing
Modified Mon May 24 00:39:18 2004 UTC (15 years, 9 months ago) by mschmitt
Corrected typo in pre-screening for filter

Revision 2190 - Directory Listing
Modified Mon May 24 00:22:52 2004 UTC (15 years, 9 months ago) by dpvc
jsMath update for MSIE.

Attempted to make jsMathe work better with MSIE on the PC.  There was a
problem with finding the fonts that this should fix.  Still doesn't work
with Opera, however, so more to come.

Revision 2189 - Directory Listing
Modified Sun May 23 23:59:41 2004 UTC (15 years, 9 months ago) by sh002i
delete course improvements. can now have blank sql password and leave
database name blank for default value.

Revision 2188 - Directory Listing
Modified Sun May 23 23:40:24 2004 UTC (15 years, 9 months ago) by sh002i
copy symlinks in templates directory

Revision 2187 - Directory Listing
Modified Sun May 23 23:37:40 2004 UTC (15 years, 9 months ago) by mschmitt
Updated for filtering of scrolling lists

Revision 2186 - Directory Listing
Modified Sun May 23 23:35:42 2004 UTC (15 years, 9 months ago) by mschmitt
Updated to allow simple filtering of scrolling lists

Revision 2185 - Directory Listing
Modified Sun May 23 23:27:30 2004 UTC (15 years, 9 months ago) by apizer
Fixed bug in previous version

Arnie

Revision 2184 - Directory Listing
Modified Sun May 23 23:20:31 2004 UTC (15 years, 9 months ago) by mschmitt
File of Utilities to allow filtering of users in Instructor Tools

Revision 2183 - Directory Listing
Modified Sun May 23 23:18:27 2004 UTC (15 years, 9 months ago) by apizer
Doubled the length of the save as textfield box.

Arnie

Revision 2182 - Directory Listing
Modified Sun May 23 23:17:23 2004 UTC (15 years, 9 months ago) by gage
Added comments to setHeader.pg.  This is now the default set header
for both the screen and hardcopy output.

Revision 2181 - Directory Listing
Modified Sun May 23 19:54:53 2004 UTC (15 years, 9 months ago) by sh002i
IMPORTANT: changes to wwapachectl.dist -- update local copy!
added umask handling. if you're sharing courses with other users (as we
are on snoop and devel) uncomment the new "umask" line.

Revision 2180 - Directory Listing
Modified Sun May 23 19:41:23 2004 UTC (15 years, 9 months ago) by dpvc
Improvement to jsMath in SetMaker.

I made the code a little more robust (I hope).  It doesn't work real
well with MSIE on the Mac, but jsMath never really did.

Revision 2179 - Directory Listing
Modified Sun May 23 19:17:07 2004 UTC (15 years, 9 months ago) by dpvc
Fix for jsMath to work better with SetMaker.

Added code to prevent reloading jsMath for each problem, and for
making it process the SetMaker page asynchronously rather than
all of it before the page is displayed.  Still needs some work, but
is OK for now.

Revision 2178 - Directory Listing
Modified Sun May 23 18:51:47 2004 UTC (15 years, 9 months ago) by gage
This fixes bug #510 in which sets which have no defined published state are now assumed to be published
when viewed from the problemSets page.

Revision 2177 - Directory Listing
Modified Sun May 23 18:28:44 2004 UTC (15 years, 9 months ago) by sh002i
added comments re: valid %options

Revision 2176 - Directory Listing
Modified Sun May 23 18:27:37 2004 UTC (15 years, 9 months ago) by gage
Sorry about that.  These files have been removed.

Revision 2175 - Directory Listing
Modified Sun May 23 18:15:12 2004 UTC (15 years, 9 months ago) by gage
Adding this stub (developed by Bill Ziemer) to keep compile time errors from
occuring.

Revision 2174 - Directory Listing
Modified Sun May 23 01:38:16 2004 UTC (15 years, 9 months ago) by gage
Added support for library.
Added support for jsMath

Revision 2173 - Directory Listing
Modified Sun May 23 01:33:22 2004 UTC (15 years, 9 months ago) by jj
Added helpLink for standard help pages in pg files.

Revision 2172 - Directory Listing
Modified Sun May 23 01:32:38 2004 UTC (15 years, 9 months ago) by jj
Allow helpLink to work in pg files.

Revision 2171 - Directory Listing
Modified Sun May 23 01:17:42 2004 UTC (15 years, 9 months ago) by gage
Allow jsMath to generate answer previews if that is the displayMode chosen.

Revision 2170 - Directory Listing
Modified Sun May 23 01:15:28 2004 UTC (15 years, 9 months ago) by jj
For helpLink in pg problems.

Revision 2169 - Directory Listing
Modified Sun May 23 01:09:48 2004 UTC (15 years, 9 months ago) by apizer
Cleaned up script

Arnie

Revision 2168 - Directory Listing
Modified Sun May 23 01:03:17 2004 UTC (15 years, 9 months ago) by jj
Added some help files to be called from pg problems.

Revision 2167 - Directory Listing
Modified Sat May 22 22:32:43 2004 UTC (15 years, 9 months ago) by gage
Moved be_strict after package main;

Revision 2166 - Directory Listing
Modified Sat May 22 22:16:20 2004 UTC (15 years, 9 months ago) by dpvc
Files needed for jsMath display mode.

Revision 2165 - Directory Listing
Modified Sat May 22 22:10:38 2004 UTC (15 years, 9 months ago) by dpvc
Added jsMath JavaScript files for HTML_jsMath display mode.

Revision 2164 - Directory Listing
Modified Sat May 22 22:10:30 2004 UTC (15 years, 9 months ago) by gage
Moving ww_strict.pm forward to 5.8.3 compatible version
with require Carp; commented out

Revision 2163 - Directory Listing
Modified Sat May 22 21:34:58 2004 UTC (15 years, 9 months ago) by gage
Moved ww_strict.pm back to be identical with strict.pm from perl 5.6

Revision 2162 - Directory Listing
Modified Sat May 22 21:25:14 2004 UTC (15 years, 9 months ago) by apizer
Added paths to Student Progress

Revision 2161 - Directory Listing
Modified Sat May 22 21:24:42 2004 UTC (15 years, 9 months ago) by apizer
Added Student Progress section

Revision 2160 - Directory Listing
Modified Sat May 22 21:23:51 2004 UTC (15 years, 9 months ago) by apizer
Updated to make set names into active links

Revision 2159 - Directory Listing
Modified Sat May 22 21:22:18 2004 UTC (15 years, 9 months ago) by apizer
New File to split Statistics page in two.

Revision 2158 - Directory Listing
Modified Sat May 22 20:48:51 2004 UTC (15 years, 9 months ago) by gage
We are now using ww_strict.pm instead of strict.pm in be_strict;

Revision 2157 - Directory Listing
Modified Sat May 22 20:46:20 2004 UTC (15 years, 9 months ago) by gage
We are using our own version of strict.pm that has a require Carp;  commented out.
This is included in be_strict which is used to implement strict within PG macro files
which need to be evaluted inside the Safe compartment

Revision 2156 - Directory Listing
Modified Sat May 22 19:01:37 2004 UTC (15 years, 9 months ago) by jjholt
Don't put answers in the answer log if the problem has not been assigned
to the user.

Revision 2155 - Directory Listing
Modified Sat May 22 18:04:23 2004 UTC (15 years, 9 months ago) by jj
Moved nicestring to PGbasicmacros.

Revision 2154 - Directory Listing
Modified Sat May 22 16:46:03 2004 UTC (15 years, 9 months ago) by jj
Fixed bug which came up when adding problems located at the top of the
templates directory.

Revision 2153 - Directory Listing
Modified Sat May 22 15:53:00 2004 UTC (15 years, 9 months ago) by gage
Removed warning messages.  The macroDirectory and courseScripts directory are now defined from the %envir
variable which is shared directly with the new Safe compartment rather than via calls to $main::macroDirectory
which seemed to be unstable in some instances.  I've left the FIXME sign in place just in case there
are still problems.

Revision 2152 - Directory Listing
Modified Sat May 22 01:50:35 2004 UTC (15 years, 9 months ago) by jj
Put addbadmessage in Contentgenerator (to go with addgoodmessage),
and use it in SetMaker.

Revision 2151 - Directory Listing
Modified Sat May 22 01:23:17 2004 UTC (15 years, 9 months ago) by gage
Roll back the previous changes.  They were added to HEAD instead of to the experimental branch.

Revision 2150 - Directory Listing
Modified Sat May 22 01:19:11 2004 UTC (15 years, 9 months ago) by gage
Experimental refactorization of answer evaluators will take place on this branch.

Revision 2148 - Directory Listing
Modified Sat May 22 01:08:09 2004 UTC (15 years, 9 months ago) by sh002i
added ability to import the contents of another course's templates
directory when creating a new course. this is supported in bin/addcourse
with the --templates-from=COURSEID switch and in the web interface with
an additional form field.

Revision 2147 - Directory Listing
Modified Sat May 22 00:38:44 2004 UTC (15 years, 9 months ago) by sh002i
fixed typo: addgoodmsg -> addgoodmessage.

Revision 2146 - Directory Listing
Modified Sat May 22 00:10:46 2004 UTC (15 years, 9 months ago) by sh002i
moved %problemLibrary to its own section below database options.

Revision 2144 - Directory Listing
Modified Fri May 21 23:58:13 2004 UTC (15 years, 9 months ago) by apizer
Removed old commented out code dealing with PGsort.

Arnie

Revision 2143 - Directory Listing
Modified Fri May 21 23:56:48 2004 UTC (15 years, 9 months ago) by apizer
Use the new PGsort which uses a true/false compare (e.g. < or lt )
rather than a -1,0,1 compare (e.g. <=> or cmp ).

Arnie

Revision 2142 - Directory Listing
Modified Fri May 21 23:54:00 2004 UTC (15 years, 9 months ago) by apizer
Replaced PGsort with a version that uses quick sort.  This fixes the
problem the old PGsort had with Perl compiled with ithreads.

Arnie

Revision 2141 - Directory Listing
Modified Fri May 21 23:41:49 2004 UTC (15 years, 9 months ago) by jj
Extricating the problem library from DB structure, part III.

Revision 2140 - Directory Listing
Modified Fri May 21 23:38:53 2004 UTC (15 years, 9 months ago) by jj
Extricating Problem Library from DB structure, part II.

Revision 2139 - Directory Listing
Modified Fri May 21 23:37:37 2004 UTC (15 years, 9 months ago) by jj
Extracting problem library from DB structure, part I.

Revision 2138 - Directory Listing
Modified Fri May 21 20:55:38 2004 UTC (15 years, 9 months ago) by sh002i
added missing "use" line.
"use WeBWorK::CourseEnvironment".

Revision 2137 - Directory Listing
Modified Fri May 21 20:48:21 2004 UTC (15 years, 9 months ago) by gage
Include cryptPassword in the functions exported from Utils.

Revision 2135 - Directory Listing
Modified Fri May 21 01:34:28 2004 UTC (15 years, 9 months ago) by sh002i
Modified DVIPNG_ARGS to work with dvipng >= 1.0.

Revision 2134 - Directory Listing
Modified Thu May 20 21:47:05 2004 UTC (15 years, 9 months ago) by toenail
can't save as with specifying a filename
changed some warns to addmessage()

Revision 2133 - Directory Listing
Modified Thu May 20 21:25:20 2004 UTC (15 years, 9 months ago) by jj
*** empty log message ***

Revision 2132 - Directory Listing
Modified Wed May 19 22:19:49 2004 UTC (15 years, 9 months ago) by gage
These files run Image_and_Cursor, a lite applet designed by Frank Wattenberg
It can be used in PG problems.

Revision 2131 - Directory Listing
Modified Wed May 19 22:18:22 2004 UTC (15 years, 9 months ago) by gage
These are applets that can be used in writing PG problems.  These two were written by David Eck

Revision 2130 - Directory Listing
Modified Wed May 19 18:24:50 2004 UTC (15 years, 9 months ago) by toenail
fixed bug in saving default set header, no more "Use System Default" files
closes #500
replace submission_error() with addmessage()

Revision 2129 - Directory Listing
Modified Tue May 18 18:51:05 2004 UTC (15 years, 9 months ago) by jj
Hopefully moved published to the right place.

Revision 2128 - Directory Listing
Modified Tue May 18 18:39:40 2004 UTC (15 years, 9 months ago) by toenail
fixed incorrect handling of default set header

Revision 2127 - Directory Listing
Modified Tue May 18 18:22:25 2004 UTC (15 years, 9 months ago) by toenail
added "Use System Default" to dropdown list of set headers
Fixes bug #492.

Revision 2126 - Directory Listing
Modified Tue May 18 05:19:33 2004 UTC (15 years, 9 months ago) by jj
On refresh, make source file path relative to the templates directory.  This
is needed to match the behavior of alias on static gif files.

Revision 2125 - Directory Listing
Modified Mon May 17 18:57:42 2004 UTC (15 years, 9 months ago) by jj
Set the published field when faking a problem set.

Revision 2124 - Directory Listing
Modified Mon May 17 16:41:07 2004 UTC (15 years, 9 months ago) by jj
Improved psvn kludge by using the full mysql statement from mksqldb.  Fixes
the original version of bug 495.

Revision 2123 - Directory Listing
Modified Mon May 17 15:39:35 2004 UTC (15 years, 9 months ago) by jj
If there is an admin course, make it appear only once.

Revision 2122 - Directory Listing
Modified Mon May 17 05:06:36 2004 UTC (15 years, 9 months ago) by jj
Made regular expression for set names match that of in DB.pm (meant allowing
hyphens).

Revision 2120 - Directory Listing
Modified Sun May 16 23:36:28 2004 UTC (15 years, 9 months ago) by sh002i
updated for PR4

Revision 2119 - Directory Listing
Modified Sun May 16 23:33:00 2004 UTC (15 years, 9 months ago) by sh002i
changed default courseURLroot to /webwork2_course_files

Revision 2118 - Directory Listing
Modified Sun May 16 23:31:11 2004 UTC (15 years, 9 months ago) by sh002i
removed unused code

Revision 2117 - Directory Listing
Modified Sat May 15 19:13:43 2004 UTC (15 years, 9 months ago) by jj
Changed "success problems added" from resultwitherror to resultwithouterrer.

Revision 2116 - Directory Listing
Modified Sat May 15 19:10:18 2004 UTC (15 years, 9 months ago) by jj
Lots of addmessage()s added, including success for adding problems.  This may
close bug 485.

Revision 2115 - Directory Listing
Modified Sat May 15 17:42:07 2004 UTC (15 years, 9 months ago) by jj
Reorganized to use addmessage for messages.  Also minor cleanups of
variable names, and better handling when there are no pg files under
templates.

Revision 2114 - Directory Listing
Modified Fri May 14 22:03:54 2004 UTC (15 years, 9 months ago) by toenail
fixed error with problems that don't yet exist

Revision 2113 - Directory Listing
Modified Fri May 14 21:20:56 2004 UTC (15 years, 9 months ago) by jj
Fixed bug 485.  The problem occured because with a gdbm database, the global_user is used for both global information, and appears as a user.  We have to avoid modifying its information twice.  This seems to work, but the "right" fix is probably to work on the database code.  With a gdbm database, the global_user should be filtered out of calls dealing with users and only be used on calls about global information.  That would mimic the sql behavior better.  It would also supress the global_user from appearing in user lists (which I think would be better).

Revision 2112 - Directory Listing
Modified Fri May 14 20:49:21 2004 UTC (15 years, 9 months ago) by jj
When a new set is created, it is automatically selected.  This partially
resolves bug 485.

Revision 2111 - Directory Listing
Modified Fri May 14 18:31:12 2004 UTC (15 years, 9 months ago) by toenail
added siteDefaults hash to store other site specific information
includes a hash for several possible values of a users status field

Revision 2110 - Directory Listing
Modified Fri May 14 18:29:35 2004 UTC (15 years, 9 months ago) by toenail
added div classes for Published, Unpublished, Audit, Drop, Enrolled

Revision 2109 - Directory Listing
Modified Fri May 14 18:26:11 2004 UTC (15 years, 9 months ago) by toenail
added text classes for students with status Audit, Drop, Enrolled

Revision 2108 - Directory Listing
Modified Fri May 14 18:23:21 2004 UTC (15 years, 9 months ago) by toenail
changed assignSetToAllUsers to ignore users with dropped status

Revision 2107 - Directory Listing
Modified Thu May 13 21:35:48 2004 UTC (15 years, 9 months ago) by sh002i
added classlist file containing a single "admin" user

Revision 2106 - Directory Listing
Modified Thu May 13 21:14:56 2004 UTC (15 years, 9 months ago) by sh002i
removed sql exec warnings

Revision 2105 - Directory Listing
Modified Thu May 13 21:14:25 2004 UTC (15 years, 9 months ago) by sh002i
comments

Revision 2104 - Directory Listing
Modified Thu May 13 20:49:18 2004 UTC (15 years, 9 months ago) by sh002i
several changes towards closing bug #481. (1) removed database "multiple
source" warnings. (2) if sql database name is blank, "webwork_$courseID"
is used. (3) removed sql execution warnings. (4) allowed blank sql admin
password.

Revision 2103 - Directory Listing
Modified Thu May 13 20:42:35 2004 UTC (15 years, 9 months ago) by toenail
added pop up list of set header files
fixed false successful save message

Revision 2102 - Directory Listing
Modified Thu May 13 20:39:19 2004 UTC (15 years, 9 months ago) by sh002i
create "psvn" field as "INT AUTO_INCREMENT"

Revision 2101 - Directory Listing
Modified Thu May 13 20:12:11 2004 UTC (15 years, 9 months ago) by sh002i
add global user record to new courses

Revision 2100 - Directory Listing
Modified Thu May 13 19:58:32 2004 UTC (15 years, 9 months ago) by sh002i
separate link for course management

Revision 2099 - Directory Listing
Modified Thu May 13 18:38:19 2004 UTC (15 years, 9 months ago) by toenail
added "This problem does not count towards your grade." messages if
the weight of a problem has been set to 0.  Fixes #464.

Revision 2098 - Directory Listing
Modified Thu May 13 18:28:42 2004 UTC (15 years, 9 months ago) by gage
Defined $WeBWorK:;timer again for use in debugging code
$timerON =0   by default in WeBWorK.pm
and
 the timing log $TIMING_LOG  is initially set to the empty string which
implies STDERR

Revision 2097 - Directory Listing
Modified Thu May 13 16:02:55 2004 UTC (15 years, 9 months ago) by toenail
added functionality for published/unpublished

Revision 2096 - Directory Listing
Modified Thu May 13 13:44:28 2004 UTC (15 years, 9 months ago) by gage
This checks for modules known to be needed by WeBWorK.
The list of modules is supplied in the DATA section of
the script.

Revision 2095 - Directory Listing
Modified Wed May 12 14:36:43 2004 UTC (15 years, 9 months ago) by toenail
addmessage() used for success messages

Revision 2094 - Directory Listing
Modified Wed May 12 14:29:36 2004 UTC (15 years, 9 months ago) by toenail
now passes success/failure messages to Problem.pm

Revision 2093 - Directory Listing
Modified Wed May 12 14:28:43 2004 UTC (15 years, 9 months ago) by toenail
added processing of sucess/failure messages from PGProblemEditor.pm

Revision 2092 - Directory Listing
Modified Tue May 11 21:38:15 2004 UTC (15 years, 9 months ago) by toenail
changed submitError to addmessage()

Revision 2091 - Directory Listing
Modified Tue May 11 21:31:04 2004 UTC (15 years, 9 months ago) by toenail
changed submitError to addmessage()

Revision 2090 - Directory Listing
Modified Tue May 11 21:05:25 2004 UTC (15 years, 9 months ago) by toenail
changed submitError to addmessaage()

Revision 2089 - Directory Listing
Modified Tue May 11 21:03:09 2004 UTC (15 years, 9 months ago) by toenail
changed all submitError to addmessage()

Revision 2088 - Directory Listing
Modified Tue May 11 20:51:42 2004 UTC (15 years, 9 months ago) by toenail
uses addmessage() instead of submitError

Revision 2087 - Directory Listing
Modified Tue May 11 20:47:44 2004 UTC (15 years, 9 months ago) by toenail
changed all submitError to use addmessage() instead

Revision 2086 - Directory Listing
Modified Tue May 11 20:19:38 2004 UTC (15 years, 9 months ago) by toenail
changed addmessage() to replace submitError

Revision 2085 - Directory Listing
Modified Tue May 11 20:13:22 2004 UTC (15 years, 9 months ago) by toenail
changed submitError to addmessage()

Revision 2084 - Directory Listing
Modified Tue May 11 19:56:27 2004 UTC (15 years, 9 months ago) by toenail
dded use of addmessage() instead of warn and submitError

Revision 2083 - Directory Listing
Modified Tue May 11 19:18:02 2004 UTC (15 years, 9 months ago) by sh002i
set lockdir

Revision 2082 - Directory Listing
Modified Tue May 11 19:07:54 2004 UTC (15 years, 9 months ago) by gage
Added surePathToFile utility  called as
surePathToFile  start_directory   path

(the path can be the full path including the start_directory segment)
If the start_directory is the tmp directory then one has the effect of
surePathToTmpFile  defined in IO.pl

Revision 2081 - Directory Listing
Modified Tue May 11 19:06:23 2004 UTC (15 years, 9 months ago) by gage
Added a surePathToFile call when saving a .pg problem.  Now they can be saved in
a new directory.  This is a partial solution to having a read only library.
More to come.

Revision 2080 - Directory Listing
Modified Tue May 11 16:27:20 2004 UTC (15 years, 9 months ago) by toenail
replaced error processing with call to addmessage()

Revision 2079 - Directory Listing
Modified Tue May 11 16:11:49 2004 UTC (15 years, 9 months ago) by toenail
replace submitError with addmessage() call

Revision 2078 - Directory Listing
Modified Mon May 10 04:55:15 2004 UTC (15 years, 9 months ago) by sh002i
done with this

Revision 2077 - Directory Listing
Modified Mon May 10 04:52:51 2004 UTC (15 years, 9 months ago) by sh002i
test of activitymail diff functionality

Revision 2076 - Directory Listing
Modified Mon May 10 04:52:12 2004 UTC (15 years, 9 months ago) by sh002i
added diffs to cvs mails.

Revision 2075 - Directory Listing
Modified Mon May 10 04:51:12 2004 UTC (15 years, 9 months ago) by sh002i
another annoying text of the new cvs mail logging script. cool, the first
sentence of the log message becomes the subject of the email!

Revision 2074 - Directory Listing
Modified Mon May 10 04:50:11 2004 UTC (15 years, 9 months ago) by sh002i
added -p switch. ("add the name of the CVS module to the message subject")

Revision 2073 - Directory Listing
Modified Mon May 10 04:46:58 2004 UTC (15 years, 9 months ago) by sh002i
removed some text

Revision 2072 - Directory Listing
Modified Mon May 10 04:46:42 2004 UTC (15 years, 9 months ago) by sh002i
quoting...

Revision 2071 - Directory Listing
Modified Mon May 10 04:45:35 2004 UTC (15 years, 9 months ago) by sh002i
quoting issues

Revision 2070 - Directory Listing
Modified Mon May 10 04:44:54 2004 UTC (15 years, 9 months ago) by sh002i
more text

Revision 2069 - Directory Listing
Modified Mon May 10 04:44:40 2004 UTC (15 years, 9 months ago) by sh002i
added quoting

Revision 2068 - Directory Listing
Modified Mon May 10 04:40:54 2004 UTC (15 years, 9 months ago) by sh002i
added text

Revision 2067 - Directory Listing
Modified Mon May 10 04:40:43 2004 UTC (15 years, 9 months ago) by sh002i
fixed path to activitymail

Revision 2066 - Directory Listing
Modified Mon May 10 04:40:31 2004 UTC (15 years, 9 months ago) by sh002i
changed test-file

Revision 2065 - Directory Listing
Modified Mon May 10 04:39:55 2004 UTC (15 years, 9 months ago) by sh002i
added test_file.

Revision 2064 - Directory Listing
Modified Mon May 10 04:39:12 2004 UTC (15 years, 9 months ago) by sh002i
installed activitymail cvs logging

Revision 2063 - Directory Listing
Modified Mon May 10 03:22:44 2004 UTC (15 years, 9 months ago) by gage
Added sibling links for the Statistics page.

Revision 2062 - Directory Listing
Modified Sun May 9 17:47:35 2004 UTC (15 years, 9 months ago) by gage
Formatted the "PREVIEW ONLY" and "Not Recorded" messages as
'ResultsWithError' to insure that students don't accidently think
they have submitted their answers.

Revision 2061 - Directory Listing
Modified Sun May 9 17:45:41 2004 UTC (15 years, 9 months ago) by gage
Modifications to PGbasicmacros and PGanswermacros which check whether a function answer
is the same as the function answer submitted previously.  Gives warning message
if the same incorrect answers is submitted twice in a row.  The functions must
both compile in order to recognize that they are the same answer.  Two syntactically
incorrect entries will not be recognized as equivalent, even if they are in some sense.

Revision 2060 - Directory Listing
Modified Sun May 9 17:43:32 2004 UTC (15 years, 9 months ago) by gage
Cosmetic fixes to code layout.

Revision 2059 - Directory Listing
Modified Sun May 9 14:52:21 2004 UTC (15 years, 9 months ago) by jj
Fix bug: use of an undefined value.

Revision 2058 - Directory Listing
Modified Sun May 9 01:10:30 2004 UTC (15 years, 9 months ago) by gage
Added average number incorrect answers.  This closes bug number 264

Tweaked a few more user interface parameters.

Revision 2057 - Directory Listing
Modified Sat May 8 22:53:03 2004 UTC (15 years, 9 months ago) by gage
Preliminary changes that may eventually allow us to solve the be_strict problem for 5.8.0

Revision 2056 - Directory Listing
Modified Sat May 8 22:51:38 2004 UTC (15 years, 9 months ago) by gage
Updating answer evaluators in PGanswermacros.pl

Beginning to include code that will allow us to
check whether the current answer is the same
as the one submitted previously.

Revision 2055 - Directory Listing
Modified Sat May 8 20:31:28 2004 UTC (15 years, 9 months ago) by gage
Cleared commented out code in Stats.pm

Fixed error arising when no scoring files were checked.
Nows gives a more useful message.
This fixes #379

Revision 2054 - Directory Listing
Modified Sat May 8 19:35:21 2004 UTC (15 years, 9 months ago) by jj
Doing 'Save as' on a problem pops up a new PGProblemEditor window.  Now
the new window contains the newly saved file.  Also modified the name of
the target window since targets aren't supposed to start with _ (except
for the special reserved ones), and so that editting in the new window
and clicking on a button like Refresh will open yet another window.

Revision 2053 - Directory Listing
Modified Sat May 8 19:27:32 2004 UTC (15 years, 9 months ago) by gage
Added safety switch for unassigning sets.  This closes bug number #403

Added some messages reporting action taken.

Revision 2052 - Directory Listing
Modified Sat May 8 18:02:21 2004 UTC (15 years, 9 months ago) by gage
Added a message field at the bottom of the page.

This will catch result messages issued in the body of the page

It's not as quite as eye catching to have the message at the bottom, but it's better than nothing.

Errors issued during the initialization stage appear at both the top and the bottom of the screen.

--Mike

Revision 2051 - Directory Listing
Modified Sat May 8 17:59:13 2004 UTC (15 years, 9 months ago) by gage
More user interface work on SendMai.pm

Resolved bug #390  Now we simply report the number of students
to which we have attempted to send email, rather than list the email addresses.

Revision 2050 - Directory Listing
Modified Sat May 8 17:19:58 2004 UTC (15 years, 9 months ago) by gage
Modified user interface for choosing message to preview.

Unresolved is the issue of bringing the preview up in a new window.

Revision 2049 - Directory Listing
Modified Sat May 8 16:48:43 2004 UTC (15 years, 9 months ago) by gage
Modifications to remove extraneous error messages.

This resolves bug 410

Revision 2048 - Directory Listing
Modified Sat May 8 15:49:48 2004 UTC (15 years, 9 months ago) by gage
Sort sets by alphabetical order for the SetsAssignedToUser page.
Corrected typo on Stats.pm

Revision 2047 - Directory Listing
Modified Sat May 8 02:20:59 2004 UTC (15 years, 9 months ago) by gage
Fixed minor bug which occured when no student had yet tried the problem.

Revision 2046 - Directory Listing
Modified Sat May 8 02:03:19 2004 UTC (15 years, 9 months ago) by gage
References to problems in the statistics are linked so that you
can view the problems if you wish. Use right click to see them in a new window.

Revision 2045 - Directory Listing
Modified Sat May 8 02:01:13 2004 UTC (15 years, 9 months ago) by gage
Sort the courseIDs in the scrolling lists.

Revision 2044 - Directory Listing
Modified Fri May 7 23:14:05 2004 UTC (15 years, 9 months ago) by sh002i
changed it to sort by due date as well as showing due date

Revision 2043 - Directory Listing
Modified Fri May 7 23:13:44 2004 UTC (15 years, 9 months ago) by sh002i
ripped out the rest of the skeleton

Revision 2042 - Directory Listing
Modified Fri May 7 22:26:49 2004 UTC (15 years, 9 months ago) by gage
Fixed typo where a hash was initialized using an anonymous hash reference.

Revision 2041 - Directory Listing
Modified Fri May 7 21:49:48 2004 UTC (15 years, 9 months ago) by sh002i
fixed bug #472

Revision 2040 - Directory Listing
Modified Fri May 7 21:04:07 2004 UTC (15 years, 9 months ago) by jj
Fixed bug in logic of when to show Edit it link.

Revision 2039 - Directory Listing
Modified Fri May 7 20:59:30 2004 UTC (15 years, 9 months ago) by jj
Changed urlpath->new to urlpath->newFromModule.  Also added check for when
using the problem library, that the Library directory exists, and if not,
try to fix it ourselves.

Revision 2038 - Directory Listing
Modified Fri May 7 20:09:01 2004 UTC (15 years, 9 months ago) by jj
If the instructor sets the set header file to a file which doesn't
exist, then we copy the default to that file.  Having no set header
is an error, and it is easier to edit something than it is to start
from scratch.  Also, balanced the size of the two buttons on the page.

Revision 2037 - Directory Listing
Modified Fri May 7 20:01:04 2004 UTC (15 years, 9 months ago) by sh002i
(1) listTables() reports names of supported tables. (2) dbExport() warns
when given invalid table names.

Revision 2036 - Directory Listing
Modified Fri May 7 19:05:45 2004 UTC (15 years, 9 months ago) by sh002i
usage message prints supported tables

Revision 2035 - Directory Listing
Modified Fri May 7 18:49:40 2004 UTC (15 years, 9 months ago) by sh002i
failure messages now given with addmessage() -- fixes bug #447 (sort of)

Revision 2034 - Directory Listing
Modified Fri May 7 18:47:23 2004 UTC (15 years, 9 months ago) by sh002i
changed name of self-field used to hold the text for the message()
escape to "status_message" to avoid collisions with existing use of
"message" in CGs.

We should consider forming some kind of policy for this stuff. Maybe all
the fields that WeBWorK::ContentGenerator uses should be prefixed with
"CG_" or something. Thoughts?

Perl 6 would make this much nicer.

Revision 2033 - Directory Listing
Modified Fri May 7 18:45:33 2004 UTC (15 years, 9 months ago) by sh002i
fixed some small formatting thingies

Revision 2032 - Directory Listing
Modified Fri May 7 18:27:50 2004 UTC (15 years, 9 months ago) by jj
Make editing a file which doesn't exist stop being an error.   This gives
a way to create course info files and new set headers.

Revision 2031 - Directory Listing
Modified Fri May 7 18:21:34 2004 UTC (15 years, 9 months ago) by sh002i
use reply_with_file() instead of $self->{sendFile}

Revision 2030 - Directory Listing
Modified Fri May 7 18:21:19 2004 UTC (15 years, 9 months ago) by sh002i
(1) removed "sendFile" mechanism -- use reply_with_file() instead
(2) moved addmessage, reply_with_{file,redirect} to a separate section
in the file, for data modifiers.

Revision 2029 - Directory Listing
Modified Fri May 7 18:18:54 2004 UTC (15 years, 9 months ago) by jj
Nicer titles, especially for set header and course info editting.

Revision 2028 - Directory Listing
Modified Fri May 7 14:13:40 2004 UTC (15 years, 9 months ago) by gage
Added message escape.

Revision 2027 - Directory Listing
Modified Fri May 7 14:13:03 2004 UTC (15 years, 9 months ago) by gage
Added support for "create_and_delete_courses" privileges.  currently set to professor.

Revision 2026 - Directory Listing
Modified Fri May 7 14:12:20 2004 UTC (15 years, 9 months ago) by gage
Only someone with professor privileges can use CourseAdministration.pm

Revision 2025 - Directory Listing
Modified Fri May 7 13:47:59 2004 UTC (15 years, 9 months ago) by gage
sort the courses before you print them.

Revision 2024 - Directory Listing
Modified Fri May 7 06:07:58 2004 UTC (15 years, 9 months ago) by jj
Fixed bug #477 and similar problems when there are no local sets; fixed bug
where top level local files were not detected, made "Edit it" link come back
if you are not looking at a library file, and floated "Try it" and "Edit it"
to the right.

Revision 2023 - Directory Listing
Modified Fri May 7 04:28:54 2004 UTC (15 years, 9 months ago) by jj
If there is more than one mysql source (which there is now thanks to
ProblemLibrary), then we look for the most commonly used source.  Fixed
a bug in this counting part.

Revision 2022 - Directory Listing
Modified Fri May 7 00:55:08 2004 UTC (15 years, 9 months ago) by gage
Removed debugging code

Revision 2021 - Directory Listing
Modified Thu May 6 23:20:49 2004 UTC (15 years, 9 months ago) by jj
Removed edit it links.

Revision 2020 - Directory Listing
Modified Thu May 6 22:46:13 2004 UTC (15 years, 9 months ago) by jj
Added support for instructors to view/test problems which are not part
of any set.

Revision 2019 - Directory Listing
Modified Thu May 6 22:44:14 2004 UTC (15 years, 9 months ago) by sh002i
assign new users their student id as a password

Revision 2018 - Directory Listing
Modified Thu May 6 22:19:53 2004 UTC (15 years, 9 months ago) by gage
Changed look of Instructor page

Revision 2017 - Directory Listing
Modified Thu May 6 22:17:36 2004 UTC (15 years, 9 months ago) by gage
Changed user interface on the instructors page.

Buttons are now shorter.

--Mike

Revision 2016 - Directory Listing
Modified Thu May 6 21:53:41 2004 UTC (15 years, 9 months ago) by jj
Added support for editting problems which are not presented as being
part of a real set.

Revision 2015 - Directory Listing
Modified Thu May 6 21:38:58 2004 UTC (15 years, 9 months ago) by jj
Commented out features which are not used yet in the problem library.
Uncommented Try it and Edit it links.

Revision 2014 - Directory Listing
Modified Thu May 6 20:31:50 2004 UTC (15 years, 9 months ago) by toenail
fixed bad links for invalid sets and problems

Revision 2013 - Directory Listing
Modified Thu May 6 20:21:48 2004 UTC (15 years, 9 months ago) by toenail
added message() as a more general message handler than submiterror()
addmessage() helper method for concatenating messages

Revision 2012 - Directory Listing
Modified Thu May 6 20:20:00 2004 UTC (15 years, 9 months ago) by toenail
added error checking for invalid set numbers

Revision 2011 - Directory Listing
Modified Thu May 6 20:19:39 2004 UTC (15 years, 9 months ago) by toenail
added error checking for invalid set and problem numbers

Revision 2010 - Directory Listing
Modified Thu May 6 18:41:25 2004 UTC (15 years, 9 months ago) by toenail
added height constraint to top panel so that it wouldn't extend down

Revision 2009 - Directory Listing
Modified Thu May 6 13:17:16 2004 UTC (15 years, 9 months ago) by gage
Fixed call for adding users which was issuing an incorrect url.
This squashes bug #473

Revision 2008 - Directory Listing
Modified Thu May 6 03:01:22 2004 UTC (15 years, 9 months ago) by jj
Initial import.

Revision 2007 - Directory Listing
Modified Wed May 5 22:38:24 2004 UTC (15 years, 9 months ago) by sh002i
course deletion script

Revision 2006 - Directory Listing
Modified Wed May 5 22:02:50 2004 UTC (15 years, 9 months ago) by sh002i
now uses CoureManagement backend

Revision 2005 - Directory Listing
Modified Wed May 5 22:02:30 2004 UTC (15 years, 9 months ago) by sh002i
documentation fix

Revision 2004 - Directory Listing
Modified Wed May 5 22:02:12 2004 UTC (15 years, 9 months ago) by sh002i
globalUserID is actually used in addCourse

Revision 2003 - Directory Listing
Modified Wed May 5 22:01:48 2004 UTC (15 years, 9 months ago) by sh002i
runtime_use now gives an error message if it is passed an empty string
or an undefined value

Revision 2002 - Directory Listing
Modified Wed May 5 16:04:48 2004 UTC (15 years, 9 months ago) by jj
Removed hard-wired path.

Revision 2001 - Directory Listing
Modified Wed May 5 01:53:51 2004 UTC (15 years, 9 months ago) by gage
re-fixed getRecord subroutine to properly handle blank fields at the end
of lines. (Adding a delimiter is not enough, perl deletes all terminal
blank elements at the end of a list -- as far as I can determine.) One
needs to add "$delimeter___" so that the last field is non-blank.

This appears to fix bug #471

Revision 2000 - Directory Listing
Modified Wed May 5 00:53:13 2004 UTC (15 years, 9 months ago) by sh002i
added support for upload/download/delete of scoring files

Revision 1999 - Directory Listing
Modified Tue May 4 20:19:07 2004 UTC (15 years, 9 months ago) by jj
When listing problems, show a rendered version.  Also, when dealing with the global data, reorganize where the data is shown.

Revision 1998 - Directory Listing
Modified Tue May 4 16:03:09 2004 UTC (15 years, 9 months ago) by jj
Add link to set maker in the instructor tools part of left panel.  Also
added hr above Instructor Tools.

Revision 1997 - Directory Listing
Modified Tue May 4 15:16:58 2004 UTC (15 years, 9 months ago) by toenail
In user-specific override mode, dates are not directly editable
Fixes Bug #456.

Revision 1996 - Directory Listing
Modified Tue May 4 14:44:58 2004 UTC (15 years, 9 months ago) by toenail
cosmetic change to title to include user name

Revision 1995 - Directory Listing
Modified Mon May 3 20:56:06 2004 UTC (15 years, 9 months ago) by jj
Added entries for SetMaker.

Revision 1994 - Directory Listing
Modified Mon May 3 20:47:23 2004 UTC (15 years, 9 months ago) by jj
Initial import.

Revision 1993 - Directory Listing
Modified Mon May 3 20:44:24 2004 UTC (15 years, 9 months ago) by jj
Initial import.  This may not be the right destination, especially as its
database methods become more integrated with the ones already in WeBWorK.

Revision 1992 - Directory Listing
Modified Mon May 3 20:39:16 2004 UTC (15 years, 9 months ago) by jj
Added entries related to the problem library.

Revision 1990 - Directory Listing
Modified Mon May 3 18:01:35 2004 UTC (15 years, 9 months ago) by jj
Provide a place to set the location of the top of the problem library.

Revision 1989 - Directory Listing
Modified Sun May 2 19:55:15 2004 UTC (15 years, 9 months ago) by jj
Added new class for problems rendered out of context (i.e., away from Problem.pm).

Revision 1988 - Directory Listing
Modified Sun May 2 19:50:37 2004 UTC (15 years, 9 months ago) by jj
Initial import.  Lets you render a problem which is not part of anything.

Revision 1987 - Directory Listing
Modified Thu Apr 29 23:33:36 2004 UTC (15 years, 9 months ago) by sh002i
removed debugging output

Revision 1986 - Directory Listing
Modified Thu Apr 29 23:33:26 2004 UTC (15 years, 9 months ago) by sh002i
cleaned up, added documentation, added "replace" functionality

Revision 1985 - Directory Listing
Modified Thu Apr 29 22:22:33 2004 UTC (15 years, 9 months ago) by sh002i
implemented import and export, fixed some bugs

Revision 1984 - Directory Listing
Modified Thu Apr 29 22:20:36 2004 UTC (15 years, 9 months ago) by sh002i
reply_with_file(): fixed bugs, added "delete_after" option

Revision 1983 - Directory Listing
Modified Thu Apr 29 16:29:30 2004 UTC (15 years, 9 months ago) by gage
Added some code so that you don't get a warning message if the scoring
file doesn't exist.

Revision 1982 - Directory Listing
Modified Wed Apr 28 16:03:21 2004 UTC (15 years, 9 months ago) by gage
Removed warning messages.

Revision 1981 - Directory Listing
Modified Wed Apr 28 15:52:15 2004 UTC (15 years, 9 months ago) by gage
fixed error in ur.template (the submit error hook)

Revision 1980 - Directory Listing
Modified Wed Apr 28 15:51:25 2004 UTC (15 years, 9 months ago) by gage
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 1979 - Directory Listing
Modified Tue Apr 27 23:30:03 2004 UTC (15 years, 9 months ago) by jj
Made field for name of exported problem set wider, to be the same width as for the
header file.

Revision 1978 - Directory Listing
Modified Tue Apr 27 14:23:45 2004 UTC (15 years, 9 months ago) by jj
Removed implicit assumption that when exporting a set, a set definition file
for it already existed.

Revision 1977 - Directory Listing
Modified Tue Apr 27 03:38:15 2004 UTC (15 years, 9 months ago) by sh002i
database import and export support

Revision 1976 - Directory Listing
Modified Tue Apr 27 03:37:56 2004 UTC (15 years, 9 months ago) by sh002i
return auto-created permission level records

Revision 1975 - Directory Listing
Modified Tue Apr 27 03:37:33 2004 UTC (15 years, 9 months ago) by sh002i
import support, error reporting

Revision 1974 - Directory Listing
Modified Tue Apr 27 02:45:14 2004 UTC (15 years, 9 months ago) by sh002i
nbsp doesn't barf on undefined values anymore

Revision 1973 - Directory Listing
Modified Tue Apr 27 02:10:56 2004 UTC (15 years, 9 months ago) by sh002i
allowed for undefined values in section and recitation

Revision 1972 - Directory Listing
Modified Tue Apr 27 02:10:33 2004 UTC (15 years, 9 months ago) by sh002i
added idsToString to ouput a concise string identifier for a record

Revision 1971 - Directory Listing
Modified Sun Apr 25 16:27:15 2004 UTC (15 years, 9 months ago) by sh002i
wwdb is now for database import and export

Revision 1970 - Directory Listing
Modified Sun Apr 25 01:20:40 2004 UTC (15 years, 9 months ago) by gage
Corrected a calculation that allowed for division by zero if no student had tried a problem.

This squashes bug 460

Revision 1969 - Directory Listing
Modified Thu Apr 22 22:17:17 2004 UTC (15 years, 10 months ago) by gage
Making this header file more compatible as well.

Revision 1968 - Directory Listing
Modified Thu Apr 22 22:15:09 2004 UTC (15 years, 10 months ago) by gage
Further modifications for the header file.

Revision 1967 - Directory Listing
Modified Thu Apr 22 21:02:07 2004 UTC (15 years, 10 months ago) by gage
Limited size of info panel to 30% so that sets with long names
display better.

Revision 1966 - Directory Listing
Modified Thu Apr 22 20:47:24 2004 UTC (15 years, 10 months ago) by gage
I made modifications to these files so that they will work with both
hardcopy and on the screen.  (The two files are currently identical.)

I think they provide a better model than the previous versions.

Revision 1965 - Directory Listing
Modified Thu Apr 22 17:37:05 2004 UTC (15 years, 10 months ago) by jj
Added defaultDisplayMatrixStyle from webwork 1, which lets people control
if they have parens or square brackets on the outsides of their matricies.
It is not really an answer evaluator variable, but it is put there since
that works and putting it with options doesn't.

Revision 1964 - Directory Listing
Modified Thu Apr 22 14:39:28 2004 UTC (15 years, 10 months ago) by jj
Added convention to beginproblem that point value of "" means that we don't
print the point value at all.  It will also supress printing of the filename
if someone is supposed to have filenames printed, which is appropriate for
the one known time this convention is used.

Revision 1963 - Directory Listing
Modified Tue Apr 20 20:17:46 2004 UTC (15 years, 10 months ago) by gage
Made a small change to the subroutine problemListRow which now handles
the case where the problem status has not been defined as a number.

Revision 1962 - Directory Listing
Modified Tue Apr 13 14:36:40 2004 UTC (15 years, 10 months ago) by sh002i
quoted hash keys with colons in them.

Revision 1961 - Directory Listing
Modified Sat Apr 10 17:22:01 2004 UTC (15 years, 10 months ago) by sh002i
changed ServerName to devel.webwork...

Revision 1960 - Directory Listing
Modified Fri Apr 9 20:19:25 2004 UTC (15 years, 10 months ago) by sh002i
fixed interface to not be so sucky, added delete function.

Revision 1959 - Directory Listing
Modified Fri Apr 9 20:18:51 2004 UTC (15 years, 10 months ago) by sh002i
finished, deleteCourse, added listCourses.

Revision 1958 - Directory Listing
Modified Fri Apr 9 20:18:29 2004 UTC (15 years, 10 months ago) by sh002i
now uses listCourses

Revision 1957 - Directory Listing
Modified Fri Apr 9 20:18:01 2004 UTC (15 years, 10 months ago) by sh002i
added pg root directory variable.

Revision 1956 - Directory Listing
Modified Wed Apr 7 22:18:46 2004 UTC (15 years, 10 months ago) by gage
Corrected typo in defining
class.

Revision 1955 - Directory Listing
Modified Wed Apr 7 22:13:01 2004 UTC (15 years, 10 months ago) by gage
Added colors to the "answers correct" and "answers incorrect" statements.

They are assigned to the class div.ResultsWithError and div.ResultsWithoutError

Revision 1954 - Directory Listing
Modified Wed Apr 7 02:17:34 2004 UTC (15 years, 10 months ago) by gage
Fixed url so that it points to the time and date page for editing the
 set data for the student

Revision 1953 - Directory Listing
Modified Wed Apr 7 01:17:58 2004 UTC (15 years, 10 months ago) by gage
Fixed problem where a success message was issued even when
a mail merge file was not correctly saved.

Also made cosmetic modifications to the error message format
so that it doesn't look as frightening and the important
error message is highlited more than the boiler plate message

Revision 1952 - Directory Listing
Modified Wed Apr 7 00:13:37 2004 UTC (15 years, 10 months ago) by gage
Made changes in wording about open date.  This foxes bug 429
(assuming that it really needed to be fixed).

Revision 1951 - Directory Listing
Modified Tue Apr 6 01:58:25 2004 UTC (15 years, 10 months ago) by gage
Fixed link for edit button on ProblemSetList page.
This squashes bug #446

Revision 1950 - Directory Listing
Modified Mon Apr 5 20:52:54 2004 UTC (15 years, 10 months ago) by gage
Fixed a line return that was causing troubles one webwork, but not on
webwork3.  "<br>\n" produced two line breaks within <pre> on webwork,
but only one on webwork3,  "\n" produced no line breaks on webwork3
and one on webwork.

It seems safest to go with "<br>" which seems to produce a single line
break on each machine.

Revision 1949 - Directory Listing
Modified Mon Apr 5 20:21:48 2004 UTC (15 years, 10 months ago) by jj
Siblings were mislabeled as "Problem Sets", when they are a list of
individual problems.

Revision 1948 - Directory Listing
Modified Mon Apr 5 20:16:41 2004 UTC (15 years, 10 months ago) by gage
Fixed spacing in preview of merge file data

Revision 1947 - Directory Listing
Modified Mon Apr 5 19:33:03 2004 UTC (15 years, 10 months ago) by gage
Fixed errors in creating urls. (It is important to set authen=>0
when creating links for forms -- they already contain hidden
authentication variables.

Revision 1946 - Directory Listing
Modified Mon Apr 5 18:01:09 2004 UTC (15 years, 10 months ago) by gage
Added item for printing timestamp at the bottom of the page.

Revision 1945 - Directory Listing
Modified Mon Apr 5 03:58:30 2004 UTC (15 years, 10 months ago) by sh002i
preliminary web-based course creation support

try it -- create a course called "admin" the usual way and then visit it
in your browser.

Revision 1944 - Directory Listing
Modified Mon Apr 5 03:56:16 2004 UTC (15 years, 10 months ago) by sh002i
css fix

Revision 1943 - Directory Listing
Modified Sun Apr 4 20:05:34 2004 UTC (15 years, 10 months ago) by jj
Synched with ASU version.  Defunct functions deleted, new functions added,
and documentation added.

Revision 1942 - Directory Listing
Modified Sun Apr 4 17:08:45 2004 UTC (15 years, 10 months ago) by jj
Added timestamp to contentgenerator.  The format string can be passed to
it by the style parameter.

Revision 1941 - Directory Listing
Modified Sun Apr 4 15:56:59 2004 UTC (15 years, 10 months ago) by jj
WW 2 didn't like the top line.  Inserting a comment seems to fix it.  Also
corrected a typo.

Revision 1940 - Directory Listing
Modified Sun Apr 4 15:19:57 2004 UTC (15 years, 10 months ago) by jj
Improved display of multiple checkbox answers when displayed on the web
page (replacing null characters with commas).

Revision 1939 - Directory Listing
Modified Sun Apr 4 15:18:25 2004 UTC (15 years, 10 months ago) by jj
On a multiple checkbox question, the different checked boxes are separated
by ^@ in the log file.  They don't look nice on a web page, show they are
now switched to commas in showHTML.

Revision 1938 - Directory Listing
Modified Sun Apr 4 04:00:10 2004 UTC (15 years, 10 months ago) by gage
More changes in construction of urls.

Changed parameter acquistion in ShowAnswers

Revision 1937 - Directory Listing
Modified Sun Apr 4 03:59:33 2004 UTC (15 years, 10 months ago) by gage
More changes in construction of urls.

Changed the form calling ShowAnswers

Revision 1935 - Directory Listing
Modified Sun Apr 4 03:58:47 2004 UTC (15 years, 10 months ago) by gage
Made more changes allowing the conversion of urls

Revision 1934 - Directory Listing
Modified Sat Apr 3 16:24:42 2004 UTC (15 years, 10 months ago) by gage
Updated these files to generate urls from urlpath.

Revision 1933 - Directory Listing
Modified Sat Apr 3 16:24:18 2004 UTC (15 years, 10 months ago) by gage
Updating cgs to use urlpath

Revision 1932 - Directory Listing
Modified Sat Apr 3 15:44:55 2004 UTC (15 years, 10 months ago) by jj
Added support for useBaseTenLog for ww2.

Revision 1931 - Directory Listing
Modified Sun Mar 28 04:46:30 2004 UTC (15 years, 10 months ago) by gage
Converting to using URLPath

Revision 1930 - Directory Listing
Modified Sun Mar 28 04:46:13 2004 UTC (15 years, 10 months ago) by gage
Converting to using URLPath.pm
Some difficulties with constructing path to
SetsAssignedToUsers.pm in ProblemSetEditor.pm

Revision 1929 - Directory Listing
Modified Sun Mar 28 03:26:55 2004 UTC (15 years, 10 months ago) by gage
most files are now updated -- remains to use URLpath to construct paths in
the instructor files.

Revision 1928 - Directory Listing
Modified Sun Mar 28 03:25:47 2004 UTC (15 years, 10 months ago) by gage
Cleanup -- moving toward using the Apache:Request object and URLpath.

It remains to use URLpath to construct new paths in these files.

Revision 1927 - Directory Listing
Modified Thu Mar 25 00:28:04 2004 UTC (15 years, 10 months ago) by sh002i
Added a new numeric "published" field to Set and UserSet record classes,
WW1Hash (with field name "publ"), and mksqldb.

Modified WW1Hash to promote fields that did not exist in the database to
the empty string, to deal with sets that do not have a "published"
field.

Revision 1926 - Directory Listing
Modified Thu Mar 25 00:27:56 2004 UTC (15 years, 10 months ago) by sh002i
Added a new numeric "published" field to Set and UserSet record classes,
WW1Hash (with field name "publ"), and mksqldb.

Revision 1925 - Directory Listing
Modified Wed Mar 24 15:59:02 2004 UTC (15 years, 10 months ago) by sh002i
added this

Revision 1924 - Directory Listing
Modified Tue Mar 23 22:59:53 2004 UTC (15 years, 11 months ago) by sh002i
urlpath/systemlink upgrades
LOTS of cleanup (but it still needs more)

Revision 1923 - Directory Listing
Modified Tue Mar 23 22:59:21 2004 UTC (15 years, 11 months ago) by sh002i
support for previewing temp files

Revision 1922 - Directory Listing
Modified Tue Mar 23 22:58:10 2004 UTC (15 years, 11 months ago) by sh002i
title improvements

Revision 1921 - Directory Listing
Modified Tue Mar 23 04:20:56 2004 UTC (15 years, 11 months ago) by sh002i
added programmatic format support

Revision 1920 - Directory Listing
Modified Tue Mar 23 01:55:14 2004 UTC (15 years, 11 months ago) by sh002i
rewritten:

* no duplicated code (no copy-n-paste)
* error messages if the wrong objects are selected
* uses $self->reply_with_redirect()
* uses ScrollingRecordList
* more descriptive button names, values

Revision 1919 - Directory Listing
Modified Tue Mar 23 01:48:27 2004 UTC (15 years, 11 months ago) by sh002i
removed test

Revision 1918 - Directory Listing
Modified Tue Mar 23 01:48:07 2004 UTC (15 years, 11 months ago) by sh002i
added "Add Users" and "Set Assigner" links

Revision 1917 - Directory Listing
Modified Tue Mar 23 01:15:58 2004 UTC (15 years, 11 months ago) by sh002i
urlpath/request/systemlink updates

Revision 1916 - Directory Listing
Modified Tue Mar 23 01:11:59 2004 UTC (15 years, 11 months ago) by sh002i
removed appendixes, deny access if not has permission

Revision 1915 - Directory Listing
Modified Tue Mar 23 01:11:18 2004 UTC (15 years, 11 months ago) by sh002i
now using new urlpath stuff, etc.

Revision 1914 - Directory Listing
Modified Tue Mar 23 01:10:51 2004 UTC (15 years, 11 months ago) by sh002i
new interface to systemLink

Revision 1913 - Directory Listing
Modified Tue Mar 23 01:10:14 2004 UTC (15 years, 11 months ago) by sh002i
removed appendix

Revision 1912 - Directory Listing
Modified Tue Mar 23 01:09:26 2004 UTC (15 years, 11 months ago) by sh002i
fixed hierarchy problems with statistics and user detail.

Revision 1911 - Directory Listing
Modified Tue Mar 23 01:08:41 2004 UTC (15 years, 11 months ago) by sh002i
* systemLink changes: params can either specify param names in a list
(in which case all param values will be taken from the request) or
specify param names and values in a hash (in which case only undefined
values will be taken from the request). multiple values can be specified
for the same param by using an arrayref.

* added $self->reply_with_file() and $self->reply_with_redirect: these
can be called from pre_header_initialize to direct the CG to either send
a file or a location header. $self->{sendFile} and $self->{noContent},
as well as sending your own redirect headers, are now deprecated!

Revision 1910 - Directory Listing
Modified Tue Mar 23 01:04:02 2004 UTC (15 years, 11 months ago) by sh002i
handle undef CG result

Revision 1909 - Directory Listing
Modified Tue Mar 23 01:03:40 2004 UTC (15 years, 11 months ago) by sh002i
added ButtonRow class, child of FormLayout -- appropriate for your
centered submit button!

Revision 1908 - Directory Listing
Modified Fri Mar 19 21:56:35 2004 UTC (15 years, 11 months ago) by sh002i
URLpath compliance, some cleaning up of code. much more cleanup remains.

Revision 1907 - Directory Listing
Modified Fri Mar 19 21:56:10 2004 UTC (15 years, 11 months ago) by sh002i
the info box is no longer floating,

Revision 1906 - Directory Listing
Modified Fri Mar 19 21:54:45 2004 UTC (15 years, 11 months ago) by sh002i
fixed stupid errors in generated course.conf file.

Revision 1905 - Directory Listing
Modified Thu Mar 18 21:08:04 2004 UTC (15 years, 11 months ago) by sh002i
if $field is undefined in sortByname, the items are treated as strings
instead of objects.

Revision 1904 - Directory Listing
Modified Wed Mar 17 08:18:29 2004 UTC (15 years, 11 months ago) by sh002i
fixed FormLayout style

Revision 1903 - Directory Listing
Modified Wed Mar 17 08:17:52 2004 UTC (15 years, 11 months ago) by sh002i
URLPath conversion, cosmetic changes, work on info box UI

Revision 1902 - Directory Listing
Modified Wed Mar 17 08:17:19 2004 UTC (15 years, 11 months ago) by sh002i
URLPath conversion

Revision 1901 - Directory Listing
Modified Wed Mar 17 08:16:35 2004 UTC (15 years, 11 months ago) by sh002i
URLPath conversion, cosmetic changes.

Revision 1900 - Directory Listing
Modified Wed Mar 17 08:16:13 2004 UTC (15 years, 11 months ago) by sh002i
added dequote() function from cookbook

Revision 1899 - Directory Listing
Modified Wed Mar 17 08:15:51 2004 UTC (15 years, 11 months ago) by sh002i
fixed a path

Revision 1898 - Directory Listing
Modified Wed Mar 17 08:15:31 2004 UTC (15 years, 11 months ago) by sh002i
added note to remind me to change the way systemLink() works

Revision 1897 - Directory Listing
Modified Wed Mar 17 03:38:29 2004 UTC (15 years, 11 months ago) by sh002i
tentative solution to two of Frank Wolf's problems:

On Tue, 16 Mar 2004, Frank Wolfs, Physics and Astronomy, U of R wrote:

> This one works for a pdf file that is based on a set without graphics,
> but it does not solve the problem with viewing the graphics in problem
> sets or making a pdf for a set with graphics.  For example viewing a set
> with a gif file gives me the following error:
>
> [Tue Mar 16 22:11:59 2004] [error] [client 208.186.61.178] File does not
> exist:
> /home/apache/htdocs/home/webwork/courses/phy121s04/html/CAPA_Graphics/Gtype20$
>
> When I try to make a pdf file I get the following error for the same
> problem:
>
> ! Could not open file
> /home/webwork/courses/phy121s04/htmlCAPA_Graphics/Gtype20
> /prob01.eps, ignoring it.
>
> Note: for the fig, the path is correct after /home/apache/htdocs, while
> for the pes file, there is a / missing between html and CAPA_Graphics.

Revision 1896 - Directory Listing
Modified Wed Mar 17 00:45:28 2004 UTC (15 years, 11 months ago) by gage
Changed the naming of arrays from ArRaY[0,0,0] to ArRaY__0:0:0:__

This involved changes in PG.pl and PGmorematrixmacros (ans_array_filter)

Made other cosmetic fixes to code.  Added names to many filters to help with
debugging.  It seems to work for now.

Revision 1895 - Directory Listing
Modified Tue Mar 16 20:00:23 2004 UTC (15 years, 11 months ago) by sh002i
disabled param munging -- this will prevent destruction of params with
':' and ',' in their names. closes bug #431.

Revision 1894 - Directory Listing
Modified Mon Mar 15 23:04:00 2004 UTC (15 years, 11 months ago) by sh002i
updated for new request format and URLpath

Revision 1893 - Directory Listing
Modified Mon Mar 15 23:03:46 2004 UTC (15 years, 11 months ago) by sh002i
fix in systemLink logic

Revision 1892 - Directory Listing
Modified Mon Mar 15 22:33:22 2004 UTC (15 years, 11 months ago) by sh002i
upgraded request usage.
i'm delaying changing how paths are generated until i do something about
what a mess this module is in other ways.

Revision 1891 - Directory Listing
Modified Mon Mar 15 22:29:54 2004 UTC (15 years, 11 months ago) by sh002i
comments

Revision 1890 - Directory Listing
Modified Mon Mar 15 22:24:02 2004 UTC (15 years, 11 months ago) by sh002i
made hardcopy_preselect_set a child of hardcopy (as it should be)

Revision 1889 - Directory Listing
Modified Mon Mar 15 21:35:12 2004 UTC (15 years, 11 months ago) by sh002i
conformance with unified request object, etc.
SMALL formatting cleanups.
this module needs some work, and there is stuff to factor out -- there
is a lot of copy-n-paste from other modules.

Revision 1888 - Directory Listing
Modified Mon Mar 15 21:13:06 2004 UTC (15 years, 11 months ago) by sh002i
nothing

Revision 1887 - Directory Listing
Modified Mon Mar 15 21:12:48 2004 UTC (15 years, 11 months ago) by sh002i
Welcome to the ContentGenerator skeleton!

This module is designed to help you in creating subclasses of
WeBWorK::ContentGenerator. Follow the instructions marked "SKEL" below
to create your very own module.

When you've finished, I recommend you do some cleanup. These modules are
much easier to maintain if they doesn't contain "vestigal" garbage code.
Remove the "SKEL" comments and anything else that that you're not using
in your module.

Revision 1886 - Directory Listing
Modified Mon Mar 15 20:26:12 2004 UTC (15 years, 11 months ago) by sh002i
removed unused WeBWorK::Constants

Revision 1885 - Directory Listing
Modified Mon Mar 15 20:17:35 2004 UTC (15 years, 11 months ago) by sh002i
Authen and Authz are now passed only a WeBWorK::Request.

Revision 1884 - Directory Listing
Modified Mon Mar 15 20:17:14 2004 UTC (15 years, 11 months ago) by sh002i
disabled debugging output

Revision 1883 - Directory Listing
Modified Mon Mar 15 04:10:36 2004 UTC (15 years, 11 months ago) by sh002i
urls are now generated with URLpath and systemLink

Revision 1882 - Directory Listing
Modified Mon Mar 15 04:09:56 2004 UTC (15 years, 11 months ago) by sh002i
changed interface for systemLink to be more regular. you can now specify
a list of parameters to attach to the URL and a list of alternate values
for any parameter.

cosmetic changes.

Revision 1881 - Directory Listing
Modified Mon Mar 15 03:50:05 2004 UTC (15 years, 11 months ago) by gage
I have made changes to the list of problems that uses the full path
instead of the relative call used previously.  Hope this will fix
the error described below.   I don't know whether this is the proper
fix or whether something fancier using urlPath is appropriate.


There is an error with the links for Set 7.
Clicking on problems in the
problem set will not link to the selected problem- it will link to the
problem set of the same number. (i.e. Selecting problem #2 will link
me to
Homework set #2 instead)


--Mike

Revision 1880 - Directory Listing
Modified Mon Mar 15 03:18:15 2004 UTC (15 years, 11 months ago) by sh002i
all template escapes now use CGI::Pretty for better readability. (feel
free to convert other content generators -- replace "use CGI" with "use
CGI::Pretty.

all template escapes now print output directly instead of returning
things. (good for pipelining!)

Revision 1879 - Directory Listing
Modified Mon Mar 15 02:25:11 2004 UTC (15 years, 11 months ago) by sh002i
removed old dispatch() function, renamed dispatch_new() -> dispatch(),
added upload handling code (from old dispatch function).

Revision 1878 - Directory Listing
Modified Sat Mar 13 05:09:20 2004 UTC (15 years, 11 months ago) by gage
Temporary fix for problem with hardcopy.

	#my $singleSet = $r->urlpath->args("setID");
	my $singleSet;  #FIXME trace down how sets are being passed to hardcopy.


$singleSet was receiving  the notion 1/8
@sets was getting the correct value of the number of the set.
Looks like $singleSet is receivinv a hash??

The calling code needs to be checked over and reconciled with the responding code.

Revision 1877 - Directory Listing
Modified Thu Mar 11 03:27:11 2004 UTC (15 years, 11 months ago) by sh002i
updated to use the "unified request" object.
this file needs quite a bit of refactoring (along with Problem.pm).

Revision 1876 - Directory Listing
Modified Thu Mar 11 03:19:34 2004 UTC (15 years, 11 months ago) by sh002i
updated to use the "unified request" object.
removed unused variables and subroutines.
fixed some style problems.

Revision 1875 - Directory Listing
Modified Thu Mar 11 03:15:03 2004 UTC (15 years, 11 months ago) by sh002i
updated to use the "unified request" object.
removed unused variables and subroutines.

Revision 1874 - Directory Listing
Modified Thu Mar 11 03:10:06 2004 UTC (15 years, 11 months ago) by sh002i
removed incorrect code from Feedback.pm, as well as several unused
variables, closing Bug #427. updated to use the "unified request"
object.

Revision 1873 - Directory Listing
Modified Thu Mar 11 03:07:46 2004 UTC (15 years, 11 months ago) by sh002i
finished extensive documentation and reorganzied file. this should be
much more usable now. also, the templater is now called from the new
content() method (instead of having special logic in go()).

Revision 1872 - Directory Listing
Modified Wed Mar 10 16:00:16 2004 UTC (15 years, 11 months ago) by sh002i
removed outdated documentation about manually creating course.conf file.

Revision 1871 - Directory Listing
Modified Wed Mar 10 02:51:57 2004 UTC (15 years, 11 months ago) by sh002i
i hate it when i think i've tested something, and it turns out i didn't.

Revision 1870 - Directory Listing
Modified Wed Mar 10 02:31:05 2004 UTC (15 years, 11 months ago) by sh002i
templating code from ContentGenerator.pm is now here.

Revision 1869 - Directory Listing
Modified Wed Mar 10 02:30:32 2004 UTC (15 years, 11 months ago) by sh002i
removed templating code. (it's now in lib/WeBWorK/Template.pm.)
small fixes in links().
$ce/$db/$authz now taken from $r instead of from $self in many methods.
loginstatus() now uses urlpath.
CSS-ization.

Revision 1868 - Directory Listing
Modified Wed Mar 10 02:26:26 2004 UTC (15 years, 11 months ago) by sh002i
formatting improvements: template now uses tabs, just like everything
else. should be easier to edit in the future.

Revision 1867 - Directory Listing
Modified Tue Mar 9 15:50:03 2004 UTC (15 years, 11 months ago) by sh002i
disabled path() and title() so implementations in superclass will be
used instead.

Revision 1866 - Directory Listing
Modified Tue Mar 9 15:49:28 2004 UTC (15 years, 11 months ago) by sh002i
Added systemLink() method to take a URLPath and tack on the location
prefix and the authen args (if desired). Allows one to override any of
the authen args with new values (i.e. for changing effectiveUser).

Reimplemented links() using URLPaths and calls to systemLink() as a
test. Also, the output is now styled as nested unordered lists in the
class LinkMenu (see stylesheet).

Revision 1865 - Directory Listing
Modified Tue Mar 9 15:42:37 2004 UTC (15 years, 11 months ago) by sh002i
put "grades" in alphabetical order. added newFromModule for creating a
URLPath to a particular module with particular args. reorganized the
code somewhat. constructors now throw an exception if they can't find an
appropriate path type.

Revision 1864 - Directory Listing
Modified Tue Mar 9 15:40:18 2004 UTC (15 years, 11 months ago) by sh002i
more work on stylesheet

Revision 1863 - Directory Listing
Modified Sun Mar 7 02:29:25 2004 UTC (15 years, 11 months ago) by gage
Added a primitive file reading capability to Grader.pm.

Now you can attach the message from an email file
called   report_grades.msg   in the email directory which is  merged with the
file report_grades_data.csv  in the scoring directory.

there is a lot of code borrowed from SendMail and from Instructor which can be factored out.

It provides a primitive version of a feature that has been requested --
to report exam scores as well as webwork scores.

Revision 1862 - Directory Listing
Modified Sat Mar 6 21:49:48 2004 UTC (15 years, 11 months ago) by sh002i
disabled path and title methods.

Revision 1861 - Directory Listing
Modified Sat Mar 6 21:49:32 2004 UTC (15 years, 11 months ago) by sh002i
added documentation, added support for a new "textonly" argument to the
"path" macro.

Revision 1860 - Directory Listing
Modified Sat Mar 6 21:47:05 2004 UTC (15 years, 11 months ago) by sh002i
the document title is now calculated using the "path" macro

Revision 1859 - Directory Listing
Modified Sat Mar 6 21:41:44 2004 UTC (15 years, 11 months ago) by gage
Use the student stat table in Grader to produce student detailed stats in Stats.pm.

Commented out, but did not yet remove Stats.pm code for this function.

Revision 1858 - Directory Listing
Modified Sat Mar 6 18:50:31 2004 UTC (15 years, 11 months ago) by gage
Added support for the new module Grades.pm which supports student grades

Also changed ProblemSets.pm so that it welcomes the effectiveUser rather than the user.

Revision 1857 - Directory Listing
Modified Sat Mar 6 18:50:00 2004 UTC (15 years, 11 months ago) by gage
Added support for the new module Grades.pm which supports student grades

Revision 1856 - Directory Listing
Modified Sat Mar 6 17:36:29 2004 UTC (15 years, 11 months ago) by gage
*** empty log message ***

Revision 1855 - Directory Listing
Modified Sat Mar 6 17:35:27 2004 UTC (15 years, 11 months ago) by gage
Allow at most two digit
numbers

Revision 1854 - Directory Listing
Modified Sat Mar 6 17:32:36 2004 UTC (15 years, 11 months ago) by gage
Removed unneeded
formatting code

Revision 1853 - Directory Listing
Modified Sat Mar 6 17:29:07 2004 UTC (15 years, 11 months ago) by gage
another typo

Revision 1852 - Directory Listing
Modified Sat Mar 6 17:25:32 2004 UTC (15 years, 11 months ago) by gage
Fixed threeSpaceFill
routine to work with
strings.

Revision 1851 - Directory Listing
Modified Sat Mar 6 17:21:22 2004 UTC (15 years, 11 months ago) by gage
typo

Revision 1850 - Directory Listing
Modified Sat Mar 6 17:16:00 2004 UTC (15 years, 11 months ago) by gage
Make the percentages more accurate by dividing by the number of students who attempt the problem.

Revision 1849 - Directory Listing
Modified Sat Mar 6 16:04:06 2004 UTC (15 years, 11 months ago) by gage
need to calculate this
value as well.  oops.

Revision 1848 - Directory Listing
Modified Sat Mar 6 16:02:17 2004 UTC (15 years, 11 months ago) by gage
Added 0 bracket to
number of attempts.

Revision 1847 - Directory Listing
Modified Sat Mar 6 15:55:07 2004 UTC (15 years, 11 months ago) by gage
Added more statistics on how students are doing.

There is still a lot o code to be cleaned up.

Once the calculation and the display are better separated it will be easier to
create statistics that count studnets appropriately.  e.g. dropped stduents and professors aren't counted.

Revision 1846 - Directory Listing
Modified Sat Mar 6 00:48:16 2004 UTC (15 years, 11 months ago) by gage
Changes to the ways links are constructed on this, the front page,
of WeBWorK.  I believe this is where links missing webwork2 or missing
the course name started to appear.  In fact I'm surprised it worked at
all.

the current patches are hacks.  This page needs to be adapted to
URLpath.
It would be a good script to do next.

--Mike

Revision 1845 - Directory Listing
Modified Fri Mar 5 05:43:09 2004 UTC (15 years, 11 months ago) by gage
Added timing
y

Revision 1844 - Directory Listing
Modified Fri Mar 5 05:03:44 2004 UTC (15 years, 11 months ago) by gage
Has only one subroutine at the moment
update_global_user   creates a global user if none existed before and assigns
all existing sets to the global user.

Revision 1843 - Directory Listing
Modified Fri Mar 5 05:01:37 2004 UTC (15 years, 11 months ago) by gage
Some cosmetic changes in the table

Added a safety switch for deleting sets.

Added a call to Compatibility::update_global_user  to fill in
global_user records if no globa_user has yet been assigned.

Revision 1842 - Directory Listing
Modified Fri Mar 5 04:16:19 2004 UTC (15 years, 11 months ago) by sh002i
added URLPath and Request, for dispatch_new

Revision 1841 - Directory Listing
Modified Thu Mar 4 21:05:58 2004 UTC (15 years, 11 months ago) by sh002i
changed template escape handler functions to grab data from $r->urlpath
instead of @_ for compatability with dispatch_new.

Revision 1840 - Directory Listing
Modified Thu Mar 4 21:05:04 2004 UTC (15 years, 11 months ago) by sh002i
removed debugging warning, added class="ScrollingRecordList"

Revision 1839 - Directory Listing
Modified Thu Mar 4 21:04:02 2004 UTC (15 years, 11 months ago) by sh002i
assignment functions now return a list of errors that occured during
assignment. these are, for example, used in Assigner.pm to display
errors.

Revision 1838 - Directory Listing
Modified Thu Mar 4 21:03:04 2004 UTC (15 years, 11 months ago) by sh002i
changed constructor to work with dispatch_new

Revision 1837 - Directory Listing
Modified Thu Mar 4 21:02:27 2004 UTC (15 years, 11 months ago) by sh002i
calls dispatch_new instead of dispatch. removed entire "Call Stack" from
error output, since it doesn't work right.

Revision 1836 - Directory Listing
Modified Thu Mar 4 21:00:51 2004 UTC (15 years, 11 months ago) by sh002i
added dispatch_new function. w00t!

Revision 1835 - Directory Listing
Modified Thu Mar 4 21:00:21 2004 UTC (15 years, 11 months ago) by sh002i
fixed some indentation problems (oddly, this file is indented with
spaces, one space per indent level) and reformatted some of the shorter
CSS rules to fit on one line.

added styles for "new standard classes" FormLayout, ResultsWithError,
and ResultsWithoutError.

added styles for ScrollingListRecord widget.

Revision 1834 - Directory Listing
Modified Thu Mar 4 17:41:06 2004 UTC (15 years, 11 months ago) by gage
Added comments

Revision 1833 - Directory Listing
Modified Thu Mar 4 17:40:04 2004 UTC (15 years, 11 months ago) by gage
Rolled back previous addition of the due date.

The due date can be specified in the setHeader message.  It does not
need to be hard coded into ProblemSet.pm

--Mike

Revision 1832 - Directory Listing
Modified Thu Mar 4 17:34:00 2004 UTC (15 years, 11 months ago) by gage
Make sure that screenSetHeader.pg will work with both html and hardcopy
output.

This fixes bug #426

Revision 1831 - Directory Listing
Modified Thu Mar 4 13:06:32 2004 UTC (15 years, 11 months ago) by gage
Changed documentation spacing

Revision 1830 - Directory Listing
Modified Thu Mar 4 04:43:44 2004 UTC (15 years, 11 months ago) by gage
Changed the text of this file so that it doesn't bomb when used with hard copy

Revision 1829 - Directory Listing
Modified Thu Mar 4 04:36:08 2004 UTC (15 years, 11 months ago) by gage
Cleaning up commented out code.

Added a "due date is...." message to the top of the ProblemSet page.

Revision 1828 - Directory Listing
Modified Wed Mar 3 20:16:35 2004 UTC (15 years, 11 months ago) by sh002i
UI cleanup

Revision 1827 - Directory Listing
Modified Mon Mar 1 06:35:00 2004 UTC (15 years, 11 months ago) by sh002i
WeBWorK::HTML::ScrollingRecordList - HTML widget for a scrolling list of
records. uses FormatRecords and SortRecords. see sample usage in
Assigner.pm.

Revision 1826 - Directory Listing
Modified Mon Mar 1 06:33:45 2004 UTC (15 years, 11 months ago) by sh002i
refinements

Revision 1825 - Directory Listing
Modified Mon Mar 1 06:33:34 2004 UTC (15 years, 11 months ago) by sh002i
implemented UI using ScrollingRecordList

Revision 1824 - Directory Listing
Modified Mon Mar 1 03:52:43 2004 UTC (15 years, 11 months ago) by sh002i
added documentation

Revision 1823 - Directory Listing
Modified Mon Mar 1 00:49:25 2004 UTC (15 years, 11 months ago) by sh002i
Added utility modules for sorting lists of records and formatting
records as strings (WeBWorK::Utils::SortRecords and ::FormatRecords,
respectively).

These modules are important because they not only know how to sort or
format records, they can also be queried for a list of sorts or formats
suitable for display, i.e. in popup menus near the list of records.

These modules are being used as the basis for a module which
encapsulates a "record list" widget.

Revision 1822 - Directory Listing
Modified Fri Feb 27 19:01:40 2004 UTC (15 years, 11 months ago) by sh002i
changed default courseURLRoot to /webwork2_courses/$courseName to
correspond to the latest ApacheSetup instructions.

Revision 1821 - Directory Listing
Modified Sat Feb 21 10:15:58 2004 UTC (16 years ago) by toenail
Changed parameter calls to Error.pm, now sent using $r

Revision 1820 - Directory Listing
Modified Sat Feb 21 10:13:23 2004 UTC (16 years ago) by toenail
Eliminated direct parameter calls, error message now passed through $r

Revision 1819 - Directory Listing
Modified Thu Feb 19 22:47:02 2004 UTC (16 years ago) by gage
Roll back previous changes.  The user_id is no longer listed in the
scoring files.   sorry about that.

--Mike

Revision 1818 - Directory Listing
Modified Thu Feb 19 22:21:30 2004 UTC (16 years ago) by gage
Added user_id (the login id) to the list in scoring.

Revision 1817 - Directory Listing
Modified Wed Feb 18 18:25:25 2004 UTC (16 years ago) by sh002i
removed local copy of ImageGenerator -- the system now uses the one from
PG.

Revision 1815 - Directory Listing
Modified Wed Feb 18 05:47:33 2004 UTC (16 years ago) by sh002i
added $Global::equationURL and $Global::equationCacheDirectory settings

Revision 1814 - Directory Listing
Modified Wed Feb 18 05:47:19 2004 UTC (16 years ago) by sh002i
use new $Global::equationURL and $Global::equationCacheDirectory
settings instead of hardcoding "equations/"

Revision 1813 - Directory Listing
Modified Wed Feb 18 05:35:46 2004 UTC (16 years ago) by sh002i
removed code that monkeys with the pg directory. It is a SHARED resource
and should not be modified by the likes of WW1.

Revision 1812 - Directory Listing
Modified Mon Feb 16 20:34:01 2004 UTC (16 years ago) by gage
This is a new attempt to fix the problem that there was no
preview string if the units were incorrect.  The previous fix
caused difficulties if strings were entered for numerical answers.

The new code has been added to the subroutine fix_answers_for_display
which already performed answer cleanup of various kinds.

Revision 1811 - Directory Listing
Modified Mon Feb 16 03:37:02 2004 UTC (16 years ago) by gage
Added nbsp method to
ContentGenerator.pm

Revision 1810 - Directory Listing
Modified Mon Feb 16 03:16:50 2004 UTC (16 years ago) by gage
Added at table of
statistical results when
viewing the statistics
for a given set.
--Mike

Revision 1809 - Directory Listing
Modified Mon Feb 16 01:20:43 2004 UTC (16 years ago) by gage
Fixed ordering problem with problems in a given set.  This squashes bug #405.
Also made a few clean up efforts on the code.

--Mike

Revision 1807 - Directory Listing
Modified Sat Feb 14 04:24:16 2004 UTC (16 years ago) by sh002i
release notes updated

Revision 1806 - Directory Listing
Modified Sat Feb 14 04:07:37 2004 UTC (16 years ago) by sh002i
a few more fixes

Revision 1805 - Directory Listing
Modified Sat Feb 14 00:56:00 2004 UTC (16 years ago) by sh002i
addcourse improvements:

FIXED: we should create a stub course.conf with dbLayout set and "other things
FIXED: you might want to change" commented out. then we can kill the "don't
FIXED: forget to set dbLayout to "sql" in course.conf!" message.

FIXED: setting global user ID in new courses:

FIXED: add a --global-user switch to addcourse to override that value
FIXED: (and add the override to course.conf)
FIXED: warn if the file specified by --users doesn't contain a user with the global user ID

Revision 1804 - Directory Listing
Modified Sat Feb 14 00:55:17 2004 UTC (16 years ago) by sh002i
added slowness warning

Revision 1803 - Directory Listing
Modified Sat Feb 14 00:54:56 2004 UTC (16 years ago) by sh002i
added "Home" content generator to give a list of courses

Revision 1802 - Directory Listing
Modified Sat Feb 14 00:54:13 2004 UTC (16 years ago) by sh002i
added global_user

Revision 1801 - Directory Listing
Modified Sat Feb 14 00:54:02 2004 UTC (16 years ago) by sh002i
clarity changes, changed default oldProf URL, added $dbLayoutName
setting for addcourse, default dbLayout is gdbm

Revision 1800 - Directory Listing
Modified Sat Feb 14 00:53:17 2004 UTC (16 years ago) by sh002i
improved documentation on globalUserID, changed default to "global_user"

Revision 1799 - Directory Listing
Modified Thu Feb 12 21:38:24 2004 UTC (16 years ago) by toenail
added nbsp() subroutine to clean up table appearance
this could still possibly be added to contentgenerator.pm

Revision 1798 - Directory Listing
Modified Thu Feb 12 20:55:10 2004 UTC (16 years ago) by toenail
added <pre> tags so the viewed message is the same as in the submitted email

Revision 1797 - Directory Listing
Modified Thu Feb 12 20:26:26 2004 UTC (16 years ago) by toenail
Reordered pre-filters in NUM_CMP to allow for latex previews of answers with no units

Revision 1796 - Directory Listing
Modified Thu Feb 12 19:23:43 2004 UTC (16 years ago) by toenail
fixed incorrect error message parsing by Instructor/Index.pm

Revision 1795 - Directory Listing
Modified Thu Feb 12 19:22:50 2004 UTC (16 years ago) by toenail
fixed incorrect error handling by Instructor/Index.pm

Revision 1794 - Directory Listing
Modified Thu Feb 12 14:36:56 2004 UTC (16 years ago) by gage
replaced previous file which had a gremlin somewhere

Revision 1793 - Directory Listing
Modified Thu Feb 12 14:33:07 2004 UTC (16 years ago) by gage
Changed addresses to login_info.txt and course_info.txt

These files must be in the template directory.

Revision 1792 - Directory Listing
Modified Thu Feb 12 14:26:18 2004 UTC (16 years ago) by gage
Commented out extra brace which kept this from compiling. :-)
--Mike

Revision 1791 - Directory Listing
Modified Thu Feb 12 14:23:36 2004 UTC (16 years ago) by gage
Added RECORD_FORM_DATA for making sticky form data which
is not specifically related to answers.

Revision 1790 - Directory Listing
Modified Thu Feb 12 04:26:51 2004 UTC (16 years ago) by sh002i
added timing code

Revision 1789 - Directory Listing
Modified Thu Feb 12 04:26:17 2004 UTC (16 years ago) by sh002i
removed /test

Revision 1788 - Directory Listing
Modified Thu Feb 12 04:26:04 2004 UTC (16 years ago) by sh002i
better placeholder page

Revision 1787 - Directory Listing
Modified Thu Feb 12 04:25:47 2004 UTC (16 years ago) by sh002i
strings containing email addresses are now single-quoted
globalUserID is now "globaluser"

Revision 1786 - Directory Listing
Modified Mon Feb 9 18:59:32 2004 UTC (16 years ago) by sh002i
Removed changes made in last revision. (whoops)

Revision 1785 - Directory Listing
Modified Mon Feb 9 17:18:39 2004 UTC (16 years ago) by gage
Modifications to checkbox_cmp to include preview_latex_string.

this completes the squashing of bug #400

Revision 1784 - Directory Listing
Modified Mon Feb 9 17:09:06 2004 UTC (16 years ago) by gage
Made changes to the check box macros so that they will remain
sticky when more than one check box is checked.
Involves splitting a null separated string ( or perhaps converting
a reference to an array).  uses a new subroutine contained_in(elem,
array_or_arrray_ref_or_null_separated_string)

this resolves part of bug #400

--Mike

Revision 1783 - Directory Listing
Modified Fri Feb 6 18:01:51 2004 UTC (16 years ago) by sh002i
shows user-specific due date if overridden. closes bug #394.

Revision 1782 - Directory Listing
Modified Fri Feb 6 17:37:11 2004 UTC (16 years ago) by sh002i
removed the "delete visible users" option, changed "show users selected
below" to "show users checked below".

Revision 1781 - Directory Listing
Modified Fri Feb 6 17:27:07 2004 UTC (16 years ago) by sh002i
dispatcher can now handle multiple slashes.

Revision 1780 - Directory Listing
Modified Fri Feb 6 02:55:55 2004 UTC (16 years ago) by gage
Corrected format of one line.

--Mike

Revision 1779 - Directory Listing
Modified Fri Feb 6 02:52:42 2004 UTC (16 years ago) by gage
Allow a 256 error from dvipng.  This seems to be necessary on webwork.math.rochester.edu, so I'm commiting
it to the CVS as well to keep the two systems in sync.

--Mike

Revision 1778 - Directory Listing
Modified Thu Feb 5 19:15:16 2004 UTC (16 years ago) by sh002i
added unrestricted_load() for IO.pl, bringing compatibility with the
PG system in CVS.

Revision 1777 - Directory Listing
Modified Thu Feb 5 00:05:11 2004 UTC (16 years ago) by sh002i
Closes bugs #345 and #293. From bugzilla: "This should work now. The
docs for Apache::Cookie claim that the module will accept relative
expiration dates such as "+30D" and "+1H", but apparently, this causes
the expiration date to be set to "now", which Galeon apparently didn't
mind but caused Safari and MSIE to throw the cookie away."

Revision 1776 - Directory Listing
Modified Wed Feb 4 13:22:56 2004 UTC (16 years ago) by gage
Fixed flaw in the previous correction meant to protect against
undefined student answers.

Revision 1775 - Directory Listing
Modified Wed Feb 4 00:32:12 2004 UTC (16 years ago) by gage
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 1774 - Directory Listing
Modified Tue Feb 3 01:22:00 2004 UTC (16 years ago) by gage
A method for displaying equations using dvipng which
can be used by students to enter symbolic data in
answers.  This is very much experimental still.

--Mike

Revision 1773 - Directory Listing
Modified Tue Feb 3 00:53:31 2004 UTC (16 years ago) by gage
Corrected sorting by user_id.  Code now works correctly.  Before the sorting for this case was occuring by accident
with the SQL database.

Made changes to the interface in SendMail.  The radio buttons are now horizontal to match the
radio buttons on the Instructor::Index page.  Changed Id to Login to make the sorting parameter clearer.

changed the format of the popmenu on the Instructor::Index page to match the format used on the SendMail page.

Revision 1772 - Directory Listing
Modified Tue Feb 3 00:49:19 2004 UTC (16 years ago) by sh002i
getAll works for problem as well as problem_user

Revision 1771 - Directory Listing
Modified Mon Feb 2 23:12:06 2004 UTC (16 years ago) by sh002i
Implemented the getAll method, to allow fast access to all problems in a
set. This speeds up Stats immensely.

Revision 1770 - Directory Listing
Modified Mon Feb 2 23:11:13 2004 UTC (16 years ago) by sh002i
Changed the code that retrieves all problem records for a set. Now, the
only call made (per set) is getAllUserProblems(). The extraneous call to
listUserProblems() has been removed.

Revision 1769 - Directory Listing
Modified Sat Jan 31 14:47:44 2004 UTC (16 years ago) by gage
Replaced "getuserProblems by getAllUserProblems when printing statistics for a single user (many sets)
The time when from 178 to 35 using GDBM.  It went from 15sec to 16sec (on a different course)
when using sql.

--Mike

Revision 1768 - Directory Listing
Modified Sat Jan 31 14:46:18 2004 UTC (16 years ago) by gage
Changed the size of the font for printing out the results of the scoring file.

This file needs to be reviewed carefully.  There is a lot of crufty code.
The use of s{tyle=>'.....'  should be replaced by items in the template in
this file and throughout the Instructor modules.

Revision 1767 - Directory Listing
Modified Sat Jan 31 04:28:48 2004 UTC (16 years ago) by gage
Added tweak to handle
case where set is not
defined when acting as
student.

Revision 1766 - Directory Listing
Modified Sat Jan 31 04:08:57 2004 UTC (16 years ago) by gage
Made major modifications to user interface on Instructor/Index page.

Added use of getAllUserProblems in main loop for Stats.pm problems when displaying
statistics for a given set.  This speeds GDBM from 8 sec to 2.  SQL stays at around 22-23 seconds.

Also addded code to sort_method which checks that the number of attempts has been defined.
If not it returns 0.

--Mike

Revision 1765 - Directory Listing
Modified Fri Jan 30 18:04:37 2004 UTC (16 years ago) by jj
Fix bug from last fix, and a second bug caused by $Global::htmlModeDefault
being accidentally called $Global::htmldisplayModeDefault in this file.

Revision 1764 - Directory Listing
Modified Fri Jan 30 15:28:46 2004 UTC (16 years ago) by jj
Some sites use only one display mode.  In that case, the "choice of one"
display mode should not be displayed.

Revision 1763 - Directory Listing
Modified Wed Jan 28 21:56:26 2004 UTC (16 years ago) by toenail
Content Generator to create an error message while still logging the user in.

Revision 1762 - Directory Listing
Modified Wed Jan 28 04:04:47 2004 UTC (16 years ago) by gage
Corrected formatting showing the due date if it has been over-ridden.

Revision 1761 - Directory Listing
Modified Wed Jan 28 03:41:31 2004 UTC (16 years ago) by gage
Added the due date when the problem has been assigned.

Revision 1760 - Directory Listing
Modified Wed Jan 28 03:31:44 2004 UTC (16 years ago) by gage
Changed "open date" to "due date"  when

Revision 1759 - Directory Listing
Modified Mon Jan 26 16:59:30 2004 UTC (16 years ago) by gage
Minor change to the definition of the timer

Revision 1758 - Directory Listing
Modified Mon Jan 26 16:36:29 2004 UTC (16 years ago) by jj
If LaTeX formula ends in a backslash after removing training spaces,
then we removed too much space, so we add a space to the end of it so
it ends '\ \)'.

Revision 1757 - Directory Listing
Modified Sun Jan 25 20:04:20 2004 UTC (16 years ago) by gage
Checked to make sure parameter is
defined before using it.

Revision 1756 - Directory Listing
Modified Sun Jan 25 20:00:14 2004 UTC (16 years ago) by gage
Removed extraneous warning message

Revision 1755 - Directory Listing
Modified Sun Jan 25 19:56:09 2004 UTC (16 years ago) by gage
Check that arguments have been
defined at line 417

Revision 1754 - Directory Listing
Modified Sun Jan 25 19:46:54 2004 UTC (16 years ago) by gage
Added ability to change the number of entry rows on the Addusers.pm page.
Minor modification to multiple=> to conform to bbedit's version of correct html

Revision 1753 - Directory Listing
Modified Sun Jan 25 19:46:11 2004 UTC (16 years ago) by gage
Cosmetic modification changed "edit set" to "edit sets"

Revision 1752 - Directory Listing
Modified Sun Jan 25 18:46:56 2004 UTC (16 years ago) by gage
Changed parsehilight to put
colored box around error.

Revision 1751 - Directory Listing
Modified Sun Jan 25 18:46:29 2004 UTC (16 years ago) by gage
course_info and login_info paths
are now defined relative to the
templates directory for safety.

Revision 1750 - Directory Listing
Modified Sun Jan 25 18:20:14 2004 UTC (16 years ago) by gage
Added rudimentary "Save as" function.  This duplicates
WW1.9 save as , but does not provide any extra functionality.


The following problems remain:

The redirect does not yet work correctly.  I believe the desired behavior is to view the
new saved problem from the editor.  There is no easy way to view the new problem
or whatever until the problem has been assigned to globalUser in the set.

Revision 1749 - Directory Listing
Modified Sun Jan 25 18:17:31 2004 UTC (16 years ago) by gage
Cosmetic change   changed "edit" to "edit sets" for clarity in link name.

Revision 1748 - Directory Listing
Modified Sun Jan 25 18:16:27 2004 UTC (16 years ago) by gage
Cosmetic change textfield to text to correct an error in html output.

Revision 1747 - Directory Listing
Modified Sun Jan 25 15:53:23 2004 UTC (16 years ago) by gage
Made modifications to PG problem editor to allow editing of course_info.

Future plans include allowing editing of login_info by the site manager (but not
by the course instructors).

All files to be edited must lie under the templates directory (for safety reasons.)

There are still issues with adequate warnings for saving files when permissions are not correctly set.

There is not yet a save as button.
--Mike

Revision 1746 - Directory Listing
Modified Fri Jan 23 23:01:49 2004 UTC (16 years ago) by sh002i
Only collect nonempty user IDs for assigning. Closes bug #373

Revision 1745 - Directory Listing
Modified Fri Jan 23 22:04:20 2004 UTC (16 years ago) by gage
Removed warning if a single tie fails.  If many ties fail
then the processes dies with a message of how many ties
were attempted.
--Mike

Revision 1744 - Directory Listing
Modified Fri Jan 23 21:46:37 2004 UTC (16 years ago) by gage
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 1743 - Directory Listing
Modified Fri Jan 23 21:04:05 2004 UTC (16 years ago) by sh002i
added the option to assign sets to newly-created users.

Revision 1742 - Directory Listing
Modified Fri Jan 23 21:03:08 2004 UTC (16 years ago) by sh002i
fixed a bug in assignSetsToUsers

Revision 1741 - Directory Listing
Modified Fri Jan 23 21:02:22 2004 UTC (16 years ago) by sh002i
moved logout button to be in loginstatus escape.

Revision 1740 - Directory Listing
Modified Fri Jan 23 20:23:37 2004 UTC (16 years ago) by gage
Changed orange hilighting to a yellow box by replacing
color : by background-color:

Revision 1739 - Directory Listing
Modified Fri Jan 23 16:49:09 2004 UTC (16 years, 1 month ago) by sh002i
moved Assigner to UsersAssignedToSet. created new Assigner module, and
wired it to /$courseID/instructor/assigner/. It doesn't do anything yet,
but it will allow the assignment of multiple sets to multiple users, all
in one shot.

Revision 1738 - Directory Listing
Modified Fri Jan 23 13:13:53 2004 UTC (16 years, 1 month ago) by gage
Problem marked correct only if score is 1.  Previously any
score above 0 was marked correct.

Revision 1737 - Directory Listing
Modified Fri Jan 23 13:12:45 2004 UTC (16 years, 1 month ago) by gage
Added CSS class parsehighlite to mark the error
in a string.

Revision 1736 - Directory Listing
Modified Thu Jan 22 00:25:17 2004 UTC (16 years, 1 month ago) by gage
Made modifications to header that make it clearer how to edit all
sets for one user.

--Mike

Revision 1735 - Directory Listing
Modified Wed Jan 21 20:53:32 2004 UTC (16 years, 1 month ago) by sh002i
added more timing messages.

Revision 1734 - Directory Listing
Modified Wed Jan 21 20:53:18 2004 UTC (16 years, 1 month ago) by sh002i
Cleaned up, documented, and optimized assignment methods.
Added assignSetsToUsers() and unassignSetsFromUsers() methods.

Revision 1733 - Directory Listing
Modified Wed Jan 21 19:57:05 2004 UTC (16 years, 1 month ago) by sh002i
added some timing code

Revision 1732 - Directory Listing
Modified Wed Jan 21 19:55:54 2004 UTC (16 years, 1 month ago) by sh002i
changed text of link to instructor tools. (it is considered bad style to
label links "Link to ...")

Revision 1731 - Directory Listing
Modified Wed Jan 21 19:47:38 2004 UTC (16 years, 1 month ago) by sh002i
improved the formatting of error messages slightly.

Revision 1730 - Directory Listing
Modified Wed Jan 21 01:16:15 2004 UTC (16 years, 1 month ago) by gage
Mail merge does not report error when the merge file selected is "None".

--Mike

Revision 1729 - Directory Listing
Modified Wed Jan 21 00:31:51 2004 UTC (16 years, 1 month ago) by gage
Changed warning message for unassign all on the Assigner page.
This closes bug number 352

--Mike

Revision 1728 - Directory Listing
Modified Wed Jan 21 00:17:23 2004 UTC (16 years, 1 month ago) by gage
Corrected link to file transfer page.  This squashes bug #346

Revision 1727 - Directory Listing
Modified Tue Jan 20 18:56:03 2004 UTC (16 years, 1 month ago) by gage
Edited headers for the problem set list page.
--Mike

Revision 1726 - Directory Listing
Modified Mon Jan 19 04:26:45 2004 UTC (16 years, 1 month ago) by gage
Modified the reading of set definition files
slightly to deal with the case where
some values haven't been defined.
--Mike

Revision 1725 - Directory Listing
Modified Mon Jan 19 04:23:42 2004 UTC (16 years, 1 month ago) by gage
Put "guest user" button in a separate form.

Despite the fact that it was the second button
a return (in most browsers) would trigger
the practice login rather than the standard one,
much to the users surprise.
--Mike

Revision 1724 - Directory Listing
Modified Sun Jan 18 03:39:06 2004 UTC (16 years, 1 month ago) by gage
Fixed some errors in my first fix for Authen.pm
The goal is to make sure that the existance of a users
record and of a users status is checked before it is used.

Authen.pm could use some cleaning up.  Probably best to do this
when thinking about how one would plug this into LDAP or to
moodle's authenticator.

Revision 1723 - Directory Listing
Modified Sun Jan 18 00:12:30 2004 UTC (16 years, 1 month ago) by gage
Placed the link to subpages back on top of the quick link tools, at least for now.
The quick link tools need to be presented better.
-- Mike

Revision 1722 - Directory Listing
Modified Sun Jan 18 00:11:13 2004 UTC (16 years, 1 month ago) by gage
A link to the instructor tools is placed prominately at the top of the page.
It is identical to the link to instructor tools on the left.
This responds to bug #325, but may not close it completely.

Revision 1721 - Directory Listing
Modified Sun Jan 18 00:04:59 2004 UTC (16 years, 1 month ago) by gage
If the users status has not been defined it is set to 'C'.
I'm not sure why the status might be undefined, but this seems
to be the least damaging assumption.

A warning is issued.

Revision 1720 - Directory Listing
Modified Sat Jan 17 19:30:22 2004 UTC (16 years, 1 month ago) by gage
Can now sort recipient list by section and rectation.  A few other user interface
cosmetics added.  This should close bug 309

Revision 1719 - Directory Listing
Modified Sat Jan 17 17:05:53 2004 UTC (16 years, 1 month ago) by gage
Users who have been dropped from the course can not login with a password.

this addresses bug: 301

Revision 1718 - Directory Listing
Modified Sat Jan 17 16:38:40 2004 UTC (16 years, 1 month ago) by gage
Colorized responses to changing passwords.  Red for things which don't work
and green for those that did.
--Mike

Revision 1717 - Directory Listing
Modified Sat Jan 17 16:29:52 2004 UTC (16 years, 1 month ago) by gage
Cosmetic modifications to the user interface.  Made "instructor tools" and
"problem sets" larger in the left margin.

This addressed bug 323 but may not solve it.

Revision 1716 - Directory Listing
Modified Fri Jan 16 04:15:46 2004 UTC (16 years, 1 month ago) by gage
Modified layout of the Instructor/Index.pm module.

Revision 1715 - Directory Listing
Modified Fri Jan 16 01:14:49 2004 UTC (16 years, 1 month ago) by gage
Cosmetic tweak to title.  Added the course name.

Revision 1714 - Directory Listing
Modified Fri Jan 16 00:43:06 2004 UTC (16 years, 1 month ago) by gage
Added a larger title to this page.

Revision 1713 - Directory Listing
Modified Fri Jan 16 00:42:38 2004 UTC (16 years, 1 month ago) by gage
Added some cosmetic tweaks to these pages.

Revision 1712 - Directory Listing
Modified Thu Jan 15 22:45:34 2004 UTC (16 years, 1 month ago) by gage
Added warnings to Assigner so that folks don't unassign students
by accident.

You can now select the number of users you would like to add.

You still cannot immediately assign sets to students, but there
is written warning about this.

Revision 1711 - Directory Listing
Modified Thu Jan 15 19:42:44 2004 UTC (16 years, 1 month ago) by gage
Add users will now handle 5 users at once.

Add a device for allowing this number to change.

The userlist pop-down now defaults to add users with matching ids.

--Mike

Revision 1710 - Directory Listing
Modified Tue Jan 6 14:04:34 2004 UTC (16 years, 1 month ago) by apizer
fixed bug in call to Romberg routine.  Romberg now requires parameters
of the form "level => 8".  This was fixed previously I thought. Not sure
how the fix was lost.

Arnie

Revision 1708 - Directory Listing
Modified Mon Jan 5 13:51:51 2004 UTC (16 years, 1 month ago) by gage
removed <xml? line from the top of the file that is giving
the newest msie headaches.  The line is from bbedit and gives
info on the character set begin used.  msie tries to interpret
it as xml and gets confused.  Other browsers, including msie on
the mac ignore it.

--Mike

Revision 1707 - Directory Listing
Modified Mon Jan 5 06:56:45 2004 UTC (16 years, 1 month ago) by sh002i
fixed a mispelling

Revision 1706 - Directory Listing
Modified Mon Jan 5 06:55:38 2004 UTC (16 years, 1 month ago) by sh002i
changed copyright dates to 2000-2004

Revision 1705 - Directory Listing
Modified Mon Jan 5 01:40:43 2004 UTC (16 years, 1 month ago) by sh002i
dumped from wiki

Revision 1704 - Directory Listing
Modified Mon Jan 5 01:06:06 2004 UTC (16 years, 1 month ago) by sh002i
removed some rochester-specific stuff. in particular, this should
prevent our SMTP server from getting hammered by lazy sites.

Revision 1703 - Directory Listing
Modified Mon Jan 5 01:02:41 2004 UTC (16 years, 1 month ago) by sh002i
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 1702 - Directory Listing
Modified Mon Jan 5 00:48:33 2004 UTC (16 years, 1 month ago) by sh002i
added checkboxes to the import forms to allow user to deicde whether to
assign a set to all users or not.

Revision 1701 - Directory Listing
Modified Mon Jan 5 00:11:07 2004 UTC (16 years, 1 month ago) by sh002i
removed junk

Revision 1700 - Directory Listing
Modified Mon Jan 5 00:10:18 2004 UTC (16 years, 1 month ago) by sh002i
fixed a syntax error

Revision 1699 - Directory Listing
Modified Sun Jan 4 08:18:20 2004 UTC (16 years, 1 month ago) by sh002i
added default classlist file

Revision 1698 - Directory Listing
Modified Sun Jan 4 07:20:33 2004 UTC (16 years, 1 month ago) by sh002i
improved documentation in database.conf.dist and addcourse. added
mksqldb utility.

Revision 1697 - Directory Listing
Modified Sat Jan 3 21:00:28 2004 UTC (16 years, 1 month ago) by sh002i
changed calls to WeBWorK::DB::new, removed obsolete config files

Revision 1696 - Directory Listing
Modified Sat Jan 3 20:07:03 2004 UTC (16 years, 1 month ago) by sh002i
UPDATE YOUR CONFIG FILES! (global.conf.dist, database.conf.dist)

Made changes to support the storage of multiple database layouts in a
single course environment. Database layouts are now stored in a hash
named %dbLayouts in database.conf, and the default layout is aliased to
*dbLayout (see comments in database.conf.dist and global.conf.dist)
sql.conf and gdbm.conf are no longer used.

Support the selection of a specific database layout when instantiating
WeBWorK::DB. WeBWorK::DB now takes a reference to a database layout
rather than an entire course environment.

All calls to WeBWorK::DB::new were updated to pass the correct argument.

Revision 1695 - Directory Listing
Modified Sat Jan 3 19:58:15 2004 UTC (16 years, 1 month ago) by sh002i
cleaned up error reporting in the include() function. sadly, it still
doesn't work as expected (see FIXME in the source)

Revision 1694 - Directory Listing
Modified Sat Jan 3 17:12:55 2004 UTC (16 years, 1 month ago) by gage
Modified line at 344 to check whether $key is defined.
If $key was not defined then there was a reported error
in defining $unusedCookieMatched.

--Mike

Revision 1693 - Directory Listing
Modified Wed Dec 31 03:28:13 2003 UTC (16 years, 1 month ago) by gage
made changes in checking for permissionLevel so that zero
was recognized as a legitimate level.
--Mike

Revision 1692 - Directory Listing
Modified Sun Dec 28 22:33:33 2003 UTC (16 years, 1 month ago) by gage
Added AliasMatch redirect for webwork2_files so that it doesn't have to be
configured separately.

--Mike

Revision 1691 - Directory Listing
Modified Sun Dec 28 21:02:49 2003 UTC (16 years, 1 month ago) by gage
More checking for incomplete records.  This time for entries in
@userRecords

--Mike

Revision 1690 - Directory Listing
Modified Sun Dec 28 19:46:57 2003 UTC (16 years, 1 month ago) by gage
Zeroed the variable storing the responses to questionnaires.  Should
fix the error on questionnaires revealed by the persistance of mod_perl
modules.

Changed warning message in dangerousMacros.pl to more accurately describe
what is wrong when the gif2eps script cannot be executed.  (Based on actual
experience running a course on webwork.math.rochester.edu -- I couldn't remember
what my own warning message implied.)
--Mike

Revision 1689 - Directory Listing
Modified Sat Dec 27 21:41:56 2003 UTC (16 years, 1 month ago) by sh002i
added missing POD =back directive

Revision 1688 - Directory Listing
Modified Sat Dec 27 21:34:04 2003 UTC (16 years, 1 month ago) by gage
Added error messages that should make it easier to tell if
certain directories have not been created. Also checks that
files are actually created and written at each step of the process.
--Mike

Revision 1687 - Directory Listing
Modified Fri Dec 26 15:00:02 2003 UTC (16 years, 1 month ago) by gage
Modified print out so that the problem totals and index totals
have %4.1f format.  The field width is 4 and the number of decimal points is 1.
This closes bug #284
--Mike

Revision 1686 - Directory Listing
Modified Fri Dec 26 01:29:14 2003 UTC (16 years, 1 month ago) by gage
Added error checking to insure that the open_date, due_date and answer_date
are in correct order.

This closes bug #73
--Mike

Revision 1685 - Directory Listing
Modified Thu Dec 25 04:17:18 2003 UTC (16 years, 1 month ago) by sh002i
We now send a cookie if any of these conditions are met:
(a) a cookie was used for authentication
(b) a cookie was sent but not used for authentication, and the credentials
used for authentication were the same as those in the cookie
(c) the user asked to have a cookie sent and is not a guest user.

Now whenever we're not sending a "real" cookie, we send a cookie
with no user or key data that expires "one day ago".

Revision 1684 - Directory Listing
Modified Wed Dec 24 00:59:25 2003 UTC (16 years, 2 months ago) by sh002i
added automatic guest logins:

With the presence of a "login_practice_user" paramter, Authen.pm will
log the user in using the first unused practice user account. Login.pm
now displays a "Guest Login" button that sends the above parameter, but
only when the course has practice users. Currently, cookies are not sent
for practice users.

Revision 1683 - Directory Listing
Modified Tue Dec 23 06:03:33 2003 UTC (16 years, 2 months ago) by sh002i
added cookie support for authenticaion. the "WeBWorKAuthentication"
cookie is used to retrieve the "user" and "key" parameters. the cookie
is sent if a "send_cookie" parameter is present, and persists for 30
days unless canceled by an explicit "logout".

Revision 1682 - Directory Listing
Modified Tue Dec 23 05:25:09 2003 UTC (16 years, 2 months ago) by sh002i
small amount of cleanup (to prepare for cookie patch)

Revision 1681 - Directory Listing
Modified Thu Dec 18 23:15:34 2003 UTC (16 years, 2 months ago) by sh002i
- Assigner and SetsAssignedToUser now refuse to unassign sets from the
GlobalTableEmulator's "global user". Closes bug #283.
- New "unassign from all users" button in Assigner.
- Cosmetic changes to path() and title() in several modules.

Revision 1680 - Directory Listing
Modified Thu Dec 18 03:37:33 2003 UTC (16 years, 2 months ago) by sh002i
Multiple users with the same student ID no longer clobber each other.
(The users are still sorted by student ID.) Closes bug #285.

Revision 1679 - Directory Listing
Modified Thu Dec 18 03:02:19 2003 UTC (16 years, 2 months ago) by sh002i
add explicit "view" and "edit" links, closing bug #275

Revision 1678 - Directory Listing
Modified Thu Dec 18 02:35:29 2003 UTC (16 years, 2 months ago) by sh002i
(possible) fix for bug #286

Revision 1677 - Directory Listing
Modified Thu Dec 18 02:18:37 2003 UTC (16 years, 2 months ago) by sh002i
users are now skipped if they don't have an email address.

Revision 1676 - Directory Listing
Modified Wed Dec 17 23:14:13 2003 UTC (16 years, 2 months ago) by sh002i
moved a comment

Revision 1675 - Directory Listing
Modified Wed Dec 17 21:45:17 2003 UTC (16 years, 2 months ago) by sh002i
I wrote a really great log message, and then I lost it.
So now I'm a little pissed off.

Added code to pre-fetch users, global problems and user problems outside
of the main processing loop of scoreSet(). This allows the use of
getAllGlobalProblems() and getAllUserProblems(), which is much more
efficient than what was being done before:

For a course with 154 problems in 9 sets, all of which are assigned to
all users, scoring all sets with "IncludeIndex" and "Record Scores for
Single Sets" took the following times:

Original code: 34.07 sec
     New code:  8.68 sec

This is around four times as fast.

I initially attemped to rewrite the main loop to allow the use of
getAll*Problems(), but this proved to be time consuming and error prone.
I eventually decided to leave the main loop alone, except to replace the
DB calls inside it with accesses to pre-fetched records.

Revision 1674 - Directory Listing
Modified Wed Dec 17 21:24:38 2003 UTC (16 years, 2 months ago) by sh002i
additional comments in source code

Revision 1673 - Directory Listing
Modified Wed Dec 17 21:24:06 2003 UTC (16 years, 2 months ago) by sh002i
getAll() now returns problems in the order that they are specified in
the database, instead of in order by problem ID. This is the behavior of
gets() as well.

Revision 1672 - Directory Listing
Modified Wed Dec 17 20:21:15 2003 UTC (16 years, 2 months ago) by sh002i
added "getAllGlobalProblems", similar to "getAllUserProblems".

Revision 1671 - Directory Listing
Modified Wed Dec 17 19:04:58 2003 UTC (16 years, 2 months ago) by apizer
scoreMessaage no longer prints to STDERR, only to log file.  For some reason
printing to STDERR really slowed things down on some systems.

Arnie

Revision 1670 - Directory Listing
Modified Sat Dec 13 01:44:48 2003 UTC (16 years, 2 months ago) by gage
Fixing cosmetic error at line 68 -- replaced @result[0] by
$result[0];
--Mike

Revision 1669 - Directory Listing
Modified Sat Dec 13 01:30:20 2003 UTC (16 years, 2 months ago) by sh002i
fixed stupid bug (#292)

Revision 1668 - Directory Listing
Modified Fri Dec 12 20:23:27 2003 UTC (16 years, 2 months ago) by sh002i
Added DB: getAllUserProblems; WW1Hash: getAll, getAllNoFilter;
GlobalTableEmulator: getAll.

Together, these functions allow efficient access to all problems in a
given set.

Revision 1667 - Directory Listing
Modified Fri Dec 12 02:24:30 2003 UTC (16 years, 2 months ago) by gage
As best I can determine all "get" commands to the database are now
checked and appropriate action (usually "die") is taken if no
object is returned.

One exception.  The multiple "gets"  such as getGlobalSets(@setNames)
are not checked -- if a given setName is not found is an empty object
returned? in the list or is nothing returned?

--Mike

Revision 1666 - Directory Listing
Modified Thu Dec 11 22:04:08 2003 UTC (16 years, 2 months ago) by gage
removed <?xml   header from template which was confusing IE6 (but not
IE on the mac or mozilla etc.  apparently they ignore
<?xml version="1.0" encoding="utf-8"?>
at the beginning of a file.

--Mike

Revision 1665 - Directory Listing
Modified Wed Dec 10 18:50:36 2003 UTC (16 years, 2 months ago) by gage
Changed the way timing marks are implemented.  They are made if a
timer has been defined for the file.
--Mike

Revision 1664 - Directory Listing
Modified Tue Dec 9 02:42:28 2003 UTC (16 years, 2 months ago) by sh002i
added "count" methods to the rest of the schemas. updated documentation.

Revision 1663 - Directory Listing
Modified Tue Dec 9 01:12:32 2003 UTC (16 years, 2 months ago) by sh002i
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 1662 - Directory Listing
Modified Mon Dec 8 23:45:07 2003 UTC (16 years, 2 months ago) by sh002i
playing with header formats

Revision 1661 - Directory Listing
Modified Mon Dec 8 23:07:46 2003 UTC (16 years, 2 months ago) by sh002i
Implemented a schema-level "count" function in the WW1Hash schema.
Added countSetUsers and countProblemUsers to DB.
Replaced SCALAR calls to listSetUsers with calls to countSetUsers.
Update Schema documentation.

The immediate advantage of this is to make ProblemSetList MUCH faster.

Revision 1660 - Directory Listing
Modified Fri Dec 5 00:01:40 2003 UTC (16 years, 2 months ago) by sh002i
implemented an "Import Multiple Sets" feature.

Revision 1659 - Directory Listing
Modified Thu Dec 4 20:23:51 2003 UTC (16 years, 2 months ago) by sh002i
typo

Revision 1658 - Directory Listing
Modified Thu Dec 4 20:23:25 2003 UTC (16 years, 2 months ago) by sh002i
squashed some instances of the "0 is not a true value" bug that keeps
creeping in.

Revision 1657 - Directory Listing
Modified Thu Dec 4 18:31:55 2003 UTC (16 years, 2 months ago) by sh002i
removed debugging statements

Revision 1656 - Directory Listing
Modified Thu Dec 4 06:19:17 2003 UTC (16 years, 2 months ago) by sh002i
reduced number of return points

Revision 1655 - Directory Listing
Modified Thu Dec 4 06:17:32 2003 UTC (16 years, 2 months ago) by sh002i
databases are not created on first read

Revision 1654 - Directory Listing
Modified Thu Dec 4 06:17:08 2003 UTC (16 years, 2 months ago) by sh002i
fixed password creation

Revision 1653 - Directory Listing
Modified Thu Dec 4 06:03:25 2003 UTC (16 years, 2 months ago) by sh002i
addcourse - add a course

addcourse [--users=FILE [--professors=USERID[,USERID]...] ]
[--templates=DIR] COURSEID

Add a course to the courses directory. The required directories will be
created. Optionally, a database can be populated with users and the
F<templates> directory can be populated with the contents of another
directory. Also, one or more users can be granted professor privileges.

Revision 1652 - Directory Listing
Modified Wed Dec 3 20:32:50 2003 UTC (16 years, 2 months ago) by sh002i
added getsNoFilter, which will return a list of set or problem records
without filtering out global data first. (used by getMergedSets)

Revision 1651 - Directory Listing
Modified Wed Dec 3 20:31:49 2003 UTC (16 years, 2 months ago) by sh002i
fixed timers

Revision 1650 - Directory Listing
Modified Wed Dec 3 20:31:30 2003 UTC (16 years, 2 months ago) by sh002i
cleanup

Revision 1649 - Directory Listing
Modified Wed Dec 3 20:30:31 2003 UTC (16 years, 2 months ago) by sh002i
finally committing "terrible GDBM hack": if WW1Hash and
GlobalTableEmuator are being used, a schema-specific optimization is
enabled in getMergedSets.

Revision 1648 - Directory Listing
Modified Wed Dec 3 20:27:02 2003 UTC (16 years, 2 months ago) by sh002i
formatting

Revision 1647 - Directory Listing
Modified Tue Dec 2 16:42:53 2003 UTC (16 years, 2 months ago) by sh002i
removed old version of module from beneath __END__.

Revision 1646 - Directory Listing
Modified Tue Dec 2 16:41:16 2003 UTC (16 years, 2 months ago) by sh002i
removed "use HTML::Entities", as it is not being used (commented out)
and no other modules use it.

Revision 1645 - Directory Listing
Modified Fri Nov 21 03:59:27 2003 UTC (16 years, 3 months ago) by sh002i
complains about there being a user-specific record but no global record,
but returns the user record unmodified instead if failing.

Revision 1644 - Directory Listing
Modified Thu Nov 20 02:28:25 2003 UTC (16 years, 3 months ago) by sh002i
http-wwmp.conf.dist no longer includes
/usr/local/etc/apache/httpd-wwmp-header.conf, but includes instead each
user's copy.

Revision 1643 - Directory Listing
Modified Thu Nov 20 01:38:46 2003 UTC (16 years, 3 months ago) by sh002i
this file has been superceded by information in the WeBWorK Wiki:
http://devel.webwork.rochester.edu/twiki/bin/view/Webwork/ApacheSetup

Revision 1642 - Directory Listing
Modified Wed Nov 19 23:08:02 2003 UTC (16 years, 3 months ago) by sh002i
implemented assignAllSetsToUser and unassignAllSetsFromUser

Revision 1641 - Directory Listing
Modified Wed Nov 19 22:55:58 2003 UTC (16 years, 3 months ago) by sh002i
plural get methods no longer require an argument. that way, one can pass
an empty list to them and get an empty list back.

Revision 1640 - Directory Listing
Modified Wed Nov 19 19:06:42 2003 UTC (16 years, 3 months ago) by sh002i
added "Act As" link, user ID now links to "sets assigned to user"

Revision 1639 - Directory Listing
Modified Wed Nov 19 18:48:57 2003 UTC (16 years, 3 months ago) by gage
Made minor modifications so that GatewayQuiz would run again.  It hadn't
been tested for months and other parts of the system had moved on.
This is still very much a mockup for delivering gateway quizzes.
--Mike

Revision 1638 - Directory Listing
Modified Wed Nov 19 18:46:53 2003 UTC (16 years, 3 months ago) by sh002i
added script to generate HTML documentation from library POD

Revision 1637 - Directory Listing
Modified Wed Nov 19 18:45:12 2003 UTC (16 years, 3 months ago) by sh002i
added documentation for "gets"

Revision 1636 - Directory Listing
Modified Wed Nov 19 18:44:47 2003 UTC (16 years, 3 months ago) by sh002i
added code to check for undef return values from DB "get" calls.

Revision 1635 - Directory Listing
Modified Wed Nov 19 18:42:42 2003 UTC (16 years, 3 months ago) by sh002i
getPassword[s] and getPermissionLevel[s] now auto-create missing
records.

Revision 1634 - Directory Listing
Modified Wed Nov 19 18:41:51 2003 UTC (16 years, 3 months ago) by sh002i
fixed some formatting and #if nesting.

Revision 1633 - Directory Listing
Modified Mon Nov 10 05:05:21 2003 UTC (16 years, 3 months ago) by sh002i
changed defualt globalUserID to "professor". See bug #273.

Revision 1632 - Directory Listing
Modified Mon Nov 10 04:11:56 2003 UTC (16 years, 3 months ago) by gage
Adding timing code for ProblemSets and for Stats.pm
--Mike

Revision 1631 - Directory Listing
Modified Sun Nov 9 23:21:34 2003 UTC (16 years, 3 months ago) by gage
Removed references to ScoringTotals.pm   These capabilities
are handled by Scoring.pm
--Mike

Revision 1630 - Directory Listing
Modified Sun Nov 9 23:21:24 2003 UTC (16 years, 3 months ago) by gage
Removed references to ScoringTotals.pm   These capabilities
are handled by Scoring.pm
--Mike

Revision 1629 - Directory Listing
Modified Sun Nov 9 22:44:28 2003 UTC (16 years, 3 months ago) by gage
changed getMergedProblems to getUserProblems.  This seems to
have speeded things up somewhat.
--Mike

Revision 1628 - Directory Listing
Modified Sun Nov 9 21:29:48 2003 UTC (16 years, 3 months ago) by gage
Added timing code that measures how long it takes to get given
problem data for all users.  It's too long.

--Mike

Revision 1627 - Directory Listing
Modified Sat Nov 8 02:54:56 2003 UTC (16 years, 3 months ago) by sh002i
this module allows you to change which sets are assigned to a given
user. it is not yet accessible via the WW UI, but you can access it with
a URI like "/webwork2/$courseID/instructor/users/$userID/sets/"

Revision 1626 - Directory Listing
Modified Sat Nov 8 02:53:41 2003 UTC (16 years, 3 months ago) by sh002i
changed the name of the module in the path.

Revision 1625 - Directory Listing
Modified Sat Nov 8 02:53:15 2003 UTC (16 years, 3 months ago) by sh002i
There shall be ONE empty line between each subroutine. Not five, not
zero!

Revision 1624 - Directory Listing
Modified Sat Nov 8 02:52:35 2003 UTC (16 years, 3 months ago) by sh002i
I wasn't using WeBWorK::PG here, but it was getting loaded anyway
before I changed the way the dispatcher loads things.

Revision 1623 - Directory Listing
Modified Sat Nov 8 02:51:34 2003 UTC (16 years, 3 months ago) by sh002i