Release notes for WeBWorK 2.4.5
WeBWorK Online Homework Delivery System Version 2.4.5.x Copyright 2000-2007, The WeBWorK Project All rights reserved. Details ------- Release date: 2008 ?? July CVS tag: rel-2-4-5 (.1)? CVS branch: rel-2-4-patches (the rel-2-4-dev branch will no longer being kept up to date)
Contents
Changes since 2.4.1
New features and important changes
- BEGIN_HINT/END_HINT, BEGIN_SOLUTION/END_SOLUTION now work like BEGIN_TEXT/END_TEXT. Hints are shown after a certain number of tries, and solutions are shown after the answers available date.
- Calculator like syntax can now be used to create TeX code in BEGIN_TEXT/END_TEXT blocks:
`(x^2-3x+5)/(x^2-5)`
- context parameters are now inherited. The following sets the relative tolerance of $x to 1 per cent. (See details in next
section)
$x = Real(1)=>with(tolerance=>.01); $y = sin($x); # $y will also have tolerance set to .01.
- answerHints.pl This file implements a postfilter for AnswerEvaluators that allows you to specify answer hint messages to use when specific answers or sets of answers are given by the student. You can use specific constants or a perl subroutine to determine which answers to respond to. You can also specify a score to use when the answers are triggered, and whether to replace existing messages or not. See the comments in the file for more details.
- new contexts
- contextLimitedPowers.pl See the comments in the POD documentation for more details.
- contextScientificNotation.pl New context.
- changes in existing contexts
- When context flag (ijkAnyDimension is set to 1 then i+2*j will equal <1,2> even though i and j are vectors in 3-space. The value of ijkAnyDimension is 1 by default. This eliminates the need for the Vector2D context.
- Diagnostics works in the Complex context (for plotting real valued functions)
$formula->cmp(diagnostics=>1);
- Point context no longer includes vector operations
- In "Interval" context, allow interval data to be given in more forms (eg, (a,b,"(",")") in addition to ("(",a,b,")"), since that is the order that the value() method returns the data.)
- Memory leak in Formula fixed. (since revision 1.59) (See details in next section.)
- improved differentiation of log() and abs()
- Patched bug in NumberWithUnits
- Fix loadMacros() and alias() so that they find auxiliary files even when the .pg file is in templates/tmpEdit.
- Fixed bad behavior of the Library Browser (SetMaker) when two auxiliary files in different subdirectories had the same name.
- plot_functions uses MathObjects behind the scenes as well as the . There are still some conflicts between MathObjects and Matrix types so include MathObjects explicitly with PGgraphicmacros.pl if you want to use MathObjects
Technical changes
- pg
- lib
- inheriting context parameters.
- lib
The make() method now inherits all the settings of the parent object, so that flags set by the user (e.g., tolerances, periods, and so on) will be passed on as new objects are created. For example, in $x = Real(1)=>with(tolerance=>.0001); $y = sin($x); $y will also have tolerance set to .0001. This also applies to binary operations, where the result will now inherit all the values of either operand, with the left-hand operand taking precedence when they both have a flag set but to different values. This is a significant change, and there may be unforeseen side effects that I'll have to take care of as they appear. It passes my test suite, however, so I'm hoping they will be limited.
- memory leak
Formula objects and Context objects contain reference loops, which prevent them from being freed properly by perl when they are no longer needed. This is a source of an important memory leak in WeBWorK. The problem has been fixed by using Scalar::Util::weaken for these recursive references, so these objects can be freed properly when they go out of scope. This should cause an improvement in the memory usage of the httpd child processes.
doc
WeBWorK2
Upgrade instructions
Upgrading from 2.4.1
-------------------- Before beginning, back up your WeBWorK database and course directories. To update WeBWorK to exactly 2.4.5, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-5 To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and includes bug fixes and new features before they are officially released, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-patches Merge changes from global.conf.dist, database.conf.dist, and webwork.apache-config (if you are using Apache 1) or webwork.apache2-config (if you are using Apache 2) into your configuration files. If you are using the National Problem Library, re-run bin/NPL-update to update the database format to the latest version. (You may want to update the library files from the cvs before you do this.) No database changes occurred between 2.4.1 and 2.4.5, so running bin/wwdb_upgrade is not necessary.
Upgrading from 2.4.0
-------------------- Before beginning, back up your WeBWorK database and course directories. To update WeBWorK to exactly 2.4.1, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-1 To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and includes bug fixes and new features before they are officially released, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-dev If you are using the National Problem Library, re-run bin/NPL-update to update the database format to the latest version. No database changes occurred between 2.4.0 and 2.4.1, so running bin/wwdb_upgrade is not necessary. No configuration file changes occurred between
Upgrading from 2.3.x
-------------------- Before beginning, back up your WeBWorK database and course directories. To update WeBWorK to exactly 2.4.1, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-1 To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and includes bug fixes and new features before they are officially released, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-dev Merge changes from global.conf.dist, database.conf.dist, and webwork.apache-config (if you are using Apache 1) or webwork.apache2-config (if you are using Apache 2) into your configuration files. Run bin/wwdb_upgrade -v to upgrade your database. If you receive errors about modelCourse it is OK to go on -- modelCourse is not a real course. If you are using the National Problem Library, the loadDB2 script in the database_problems directory has been replaced with a new bin/NPL-update script in the main webwork2 distribution. The problem library metadata is now stored within the main webwork database. Run bin/NPL-update to load the problem metadata into the its new location. It is safe to remove the separate ProblemLibrary database.
Upgrading from 2.2.x
-------------------- Make sure you are using the sql_single database layout for all the courses you wish to continue to use. After you upgrade, courses using other database layouts will be inaccessible. Move non-sql_single courses out of your courses directory. The standard directory layout of WeBWorK has changed since 2.2.x. We now suggest that you place the webwork2 directory, as well as the pg, courses, and libraries, directories in /opt/webwork rather than in /opt. To update WeBWorK to exactly 2.4.1, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-1 To update WeBWorK to the "tip" of the 2.4.x branch, which is mostly stable and includes bug fixes and new features before they are officially released, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-dev Merge changes from global.conf.dist, database.conf.dist, and webwork.apache-config into your configuration files. Run bin/wwdb_check -v to verify that your database is up-to-date for version 2.3.0 (the first version that included automated database upgrades). Then run bin/wwdb_upgrade -v to upgrade to bring your database up-to-date for version 2.4.1. Getting help ------------ The best place to get support is in the WeBWorK discussion forums located at: http://webwork.maa.org/moodle/course/view.php?id=2 To report bugs: http://bugs.webwork.rochester.edu/ Lots of WeBWorK documentation: http://webwork.maa.org/wiki/