Difference between revisions of "Release notes for WeBWorK 2.4.7"
Line 48: | Line 48: | ||
* added "print_path_to_problem" permission level (default professor). If the user has a permissions above this level the "path to file" string is displayed with each question so that you know the path to the file that needs to be edited to change the question. |
* added "print_path_to_problem" permission level (default professor). If the user has a permissions above this level the "path to file" string is displayed with each question so that you know the path to the file that needs to be edited to change the question. |
||
− | === |
+ | === File changes === |
− | * inheriting context parameters. |
||
+ | changed files |
||
− | The make() method now inherits all the settings of the parent object, |
||
+ | AnswerChecker.pm |
||
− | so that flags set by the user (e.g., tolerances, periods, and so on) |
||
+ | Applet.pm |
||
− | will be passed on as new objects are created. For example, in |
||
+ | AppletObjects.pl |
||
− | |||
+ | Complex.pm |
||
− | $x = Real(1)->with(tolerance=>.0001); |
||
+ | compountProblem.pl |
||
− | $y = sin($x); |
||
+ | Context.pm |
||
− | |||
+ | contextCurrency.pl |
||
− | $y will also have tolerance set to .0001. |
||
+ | contextInequalities.pl |
||
− | |||
+ | contextLimitedPolynomial.pl |
||
− | This also applies to binary operations, where the result will now |
||
+ | contextPiecewiseFunction.pl |
||
− | inherit all the values of either operand, with the left-hand operand |
||
+ | contextString.pl |
||
− | taking precedence when they both have a flag set but to different |
||
+ | dangerousMacros.pl (replaces . by _ in set names to avoid Latex graphics problems) |
||
− | values. |
||
+ | Formula.pm |
||
− | |||
+ | Function.pm |
||
− | This is a significant change, and there may be unforeseen side effects |
||
+ | IO.pm |
||
− | that I'll have to take care of as they appear. It passes my test |
||
+ | LimitedNumeric.pm |
||
− | suite, however, so I'm hoping they will be limited. |
||
+ | Matrix.pm |
||
− | * memory leak |
||
+ | Parser.pm |
||
− | |||
+ | parserAutoStrings.pl |
||
− | Formula objects and Context objects contain reference loops, which |
||
+ | parserFormulaUpToConstant.pl |
||
− | prevent them from being freed properly by perl when they are no longer |
||
+ | parserImplicitEquation.pl |
||
− | needed. This is a source of an important memory leak in WeBWorK. The |
||
+ | parserMultiPart.pl |
||
− | problem has been fixed by using Scalar::Util::weaken for these |
||
+ | parserPopUp.pl |
||
− | recursive references, so these objects can be freed properly when they |
||
+ | parserRadioButtons.pl |
||
− | go out of scope. This should cause an improvement in the memory usage |
||
+ | PGasu.pl |
||
− | of the httpd child processes. |
||
+ | PGbasicmacos.pl |
||
+ | PGgraphmacros.pl |
||
+ | Translator.pm |
||
+ | Union.pm |
||
+ | Value.pm |
||
+ | Parser/Value.pm |
||
+ | WeBWorK.pm |
||
+ | WWPlot (access to gd's dashed lines and thickness options added to lineTo command |
||
+ | |||
+ | new files |
||
+ | contextFraction.pl |
||
+ | contextOrdering.pl |
||
+ | problemPanic.pl |
||
+ | source.pl |
||
== Upgrade instructions == |
== Upgrade instructions == |
Revision as of 09:28, 26 June 2009
WeBWorK Online Homework Delivery System Version 2.4.7 Copyright 2000-2009, The WeBWorK Project All rights reserved. Details ------- Release date: 2009 June 28 CVS tag: rel-2-4-7 CVS branch: rel-2-4-patches (the rel-2-4-dev branch will no longer be kept up to date)
Contents
Changes since 2.4.5
New features and important changes
- Registration "feature". In an effort to find out how many WeBWorK servers are being actively used we have added a registration message and button which appears when you log in to the "admin" course to administrate your server. The "registration button" formats an email message which you can fill out send. At that point another button appears which allows you to declare that you have sent the message (whether you have or not :-) ) and the message disappears and will not appear again until the next major version. Please help out by registering any servers on which you host active courses. You need not register development or experimental servers which are not being used for instruction. (We now return you to your regular programming :-) )
- 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 by using backticks:
`(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 POD documentation for more details.
- contexts -- new and changed
- new contextLimitedPowers.pl See the comments in the POD documentation for more details.
- new contextScientificNotation.pl Real() can create ScientificNotation objects.
- changed Vector2D context no longer needed: 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.
- changed Point context no longer includes vector operations. Students cannot use vector operations in constructing answers when in Point context. Use "Vector" context if you wish to allow their use.
- changed 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.)
- new problemPreserveAnswers.pl Allows $ and other special characters to be preserved in student's answers. This is a temporary fix (see POD documentation in file).
- new problemRandomize.pl - Reseed a problem so that students can do additional versions for more practice.
- changed Diagnostics can now be used in the Complex context (for plotting real valued functions)
$formula->cmp(diagnostics=>1);
This is used mainly for debugging when a student's answer is not being evaluated correctly. The diagnostics flag prints a graph of the function being evaluated enabling the instructor to determine if there might be points where round-off errors or other numerical problems might be causing the mis-evaluation.
- 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 but does not automatically load the file MathObjects.pl. (This is because there are still some conflicts between MathObjects and Matrix types and automatically including MathObjects can cause difficulties.) You will need to load both PGgraphmacros.pl and MathObjects.pl to use "plot_functions". This annoyance will be removed as we reconcile MathObjects, the old RealMatrix objects and GraphObjects.
- added "print_path_to_problem" permission level (default professor). If the user has a permissions above this level the "path to file" string is displayed with each question so that you know the path to the file that needs to be edited to change the question.
File changes
changed files AnswerChecker.pm Applet.pm AppletObjects.pl Complex.pm compountProblem.pl Context.pm contextCurrency.pl contextInequalities.pl contextLimitedPolynomial.pl contextPiecewiseFunction.pl contextString.pl dangerousMacros.pl (replaces . by _ in set names to avoid Latex graphics problems) Formula.pm Function.pm IO.pm LimitedNumeric.pm Matrix.pm Parser.pm parserAutoStrings.pl parserFormulaUpToConstant.pl parserImplicitEquation.pl parserMultiPart.pl parserPopUp.pl parserRadioButtons.pl PGasu.pl PGbasicmacos.pl PGgraphmacros.pl Translator.pm Union.pm Value.pm Parser/Value.pm WeBWorK.pm WWPlot (access to gd's dashed lines and thickness options added to lineTo command new files contextFraction.pl contextOrdering.pl problemPanic.pl source.pl
Upgrade instructions
Upgrading from 2.4.5
1. Before beginning, back up your WeBWorK database and course directories.
2. If you have been updating WeBWorK on the rel-2-4-patches
branch then using the cvs update
command then you can simply update in order to get the 2.4.7 release. This will also work if you installed 2.4.5 from a tarball, since the CVS directory files are automatically set to update from the rel-2-4-patches repository.
cd /opt/webwork/pg cvs status
will return information indicating the current release you are using: rel-2-4-5 or rel-2-4-patches
cd /opt/webwork/pg cvs update -dP
should update your system to rel-2-4-patches, which at this release date is the same as rel-2-4-7, but makes it easy to acquire minor bug fixes that are added tot he rel-2-4-7 distribution.
To check that the update has worked use
cd /opt/webwork/pg cvs status
again and check the the release branch is now rel-2-4-patches.
If your current installation is an earlier release, or if the cvs update is not updating to rel-2-4-patches use
cd /opt/webwork/pg cvs update -dP -r rel-2-4-patches
After updating the pg
directory successfully update the webwork2
directory
cd /opt/webwork/webwork2 cvs update -dP
etc.
3. 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. See below for list of changes.
4. 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.)
5. No database changes occurred between 2.4.5 and 2.4.7, so running bin/wwdb_upgrade is not necessary unless you are updating from a version of WeBWorK earlier than 2.4.1
- Changes in global.conf.dist from Release 2.4.5 to 2.4.7
- Changes in webwork.apache-config.dist from Release 2.4.5 to 2.4.7
- Changes in database.conf.dist from Release 2.4.5 to 2.4.7
Upgrading from 2.4.1
-------------------- 1. Before beginning, back up your WeBWorK database and course directories. 2. Recommended: Update WeBWorK to the "tip" of the 2.4.x branch. rel-2-4-patches is our stable release that will also include bug fixes and "safe" new features before they are included in the next official release. To obtain this version and subsequently to update the version to include the latest bug fixes and features, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-patches cd /opt/webwork/pg cvs -q up -dP -rrel-2-4-patches ---------------------------------------------------------------- (the option below is not yet available -- should be released by July 14, 2008) 2alt. To update WeBWorK to exactly 2.4.5, use the following commands: cd /opt/webwork/webwork2 cvs -q up -dP -rrel-2-4-5 cd /opt/webwork/pg cvs -q up -dP -rrel-2-4-5 This version will remain unchanged and will not include periodic updates for bug fixes. ---------------------------------------------------------------- 3. 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. See below for list of changes. 4. 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.) 5. No database changes occurred between 2.4.1 and 2.4.5, so running bin/wwdb_upgrade is not necessary unless you are updating from a version of WeBWorK earlier than 2.4.1
- Changes in global.conf.dist from Release 2.4.1 to 2.4.5
- Changes in webwork.apache-config.dist from Release 2.4.1 to 2.4.5
- Changes in database.conf.dist from Release 2.4.1 to 2.4.5
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/