Release notes for WeBWorK 2.4.7

From WeBWorK_wiki
Jump to navigation Jump to search
                                     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)


Changes between 2.4.5 and 2.4.7

Configuration files

There are very few changes to the configuration files global.conf.dist, database.conf.dist and webwork.apache-config.dist so the upgrade from WeBWorK 2.4.7 should be fairly painless.

Changes in administration operations

The archive and unarchiving process has been made more robust. The integrity of the database structure is checked before archiving and when unarchiving a course. This makes it possible to unarchive courses that were archived using previous versions of WeBWorK. If a new field has been added to the schema for a course table the field is automatically added with blank data as the course is unarchived.

One visible aspect of this change is that the CourseAdministration page checks course integrity and prints out information on the correctness of the database and directory structure. Some missing temporary (tmp) directories are automatically created during this check to prevent spurious error messages. Archiving a course with minor integrity problems will allow the administrator to update the courses so that they are compatible with the latest version of WeBWorK. Major integrity problems will need to be fixed from the unix command line.

There are some annoyances in the current implementation. The integrity checks slow down the loading of the CourseAdministration page if there are many courses on the server, particularly if the courses are old and fail the integrity check. The user interface for this will be worked on for future releases. Meantime update those old courses. :-)

Extensions to "Email the instructor"

Modifications to Gateway quizzes

Gavin LaRose has continued to make the performance of gateway quizzes more robust. See Gateway Tests and Quizzes for instructions on how to use WeBWork for gateway testing.

Minor changes

  • FileManager will allow commas in directory names
  • Periods in set names are automatically converted to _ when printing hardcopy to avoid incompatibility with TeX. Still it is probably wise to limit set names characters to letters, numbers and underbars to avoid conflicts with auxiliary tools such as TeX, and mySQL.

PG language enhancements

  • New [Category:Applets Applet macros]:
  • WWPlot's lineTo() accepts linewidth and "dashed" options
  • New contexts:
    • Fraction -- maintains rational numbers
    • Ordering -- for handling ordered lists of letters like "D > A = C > B" in answers
  • "Problem source" instructions -- allows placement of a "Problem source" button in questions -- used for demonstrating how WeBWorK questions are coded.

Changes between 2.4.1 and 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.

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

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

File changes

PG File changes

 changed files
 	AnswerChecker.pm
 	Applet.pm - part of new Applet API
 	AppletObjects.pl - part of new Applet API
 	compoundProblem.pl - still under construction
 	contextPiecewiseFunction.pl
 	contextString.pl 
 	dangerousMacros.pl (replaces . by _ in set names to avoid Latex graphics problems)
 	Formula.pm --bug fixes
 	Function.pm --bug fixes
 	Matrix.pm --bug fixes
 	Parser.pm
 	parserRadioButtons.pl - bug fixes
 	PGbasicmacros.pl  --Hints always print for instructors
 	PGgraphmacros.pl -- Efficiency improvements
 	Translator.pm  -- improve error reporting
 	WeBWorK.pm  -Added a routine to trap errors in a function call.
 	WWPlot.pm (access to gd's dashed lines and thickness options added to lineTo command
 
 new files
 	contextFraction.pl
 	contextOrdering.pl -New Context for handling ordered lists of letters like "D > A = C > B".
 	problemPanic.pl
 	source.pl - used to display a "Problem source" button on the page -- useful mainly for demonstrating WW

WeBWorK File changes

 changed files
   GatewayQuiz.pm
   Hardcopy.pm
   Login.pm
   Problem.pm
   ProblemSet.pm
   ProblemSets.pm 
   Schema.pm
   FileManager.pm  
   Index.pm
   PGProblemEditor.pm
   ProblemSetDetail.pm
   SetMaker.pm 
   Stats.pm
   StudentProgress.pm
   UserDetail.pm
   WebworkSOAP.pm
   math/system.template
   Std.pm
   UserSetLocations.pm
   ur/system.template
   CourseManagement.pm
   DBUpgrade.pm
   Tasks.pm
   Authz.pm
   Constants.pm
   ContentGenerator.pm
   DB.pm
   PG.pm
   URLPath.pm
 minor changes
   helpFiles/InstructorPGProblemEditor.html
   helpFiles/InstructorUserList.html
   helpFiles/Units.html
   setOrientation/parserOrientation.pl
   setOrientation/prob06.pg
   setOrientation/prob10.pg
 jsMath changes
   easy/load.js
   extensions/AMSmath.js
   extensions/autobold.js
   extensions/bbox.js
   extensions/HTML.js
   jsMath/jsMath.js
   uncompressed/jsMath.js
   plugins/autoload.js
   plugins/smallFonts.js
   plugins/spriteImageFonts.js
   plugins/tex2math.js  
 
 new files
   Base64.js
   CourseIntegrityCheck.pm
   docs/UsingParser.pod
   eqn-number.js
   Installing-WeBWorK.xml
   integrity_check.pl
   math2.css
   show-source.cgi
   union.css
   ww_applet_support.js  -- part of new applet API

Upgrading from old versions of WeBWorK

Release notes for WeBWorK 2.4.5