Difference between revisions of "Release notes for WeBWorK 2.4.9"
Line 166: | Line 166: | ||
* 7/21/2010 bugfix to ww_applet_support.js |
* 7/21/2010 bugfix to ww_applet_support.js |
||
* 9/27/2010 make modifications that allow gateway quizzes to be generated and taken from moodle |
* 9/27/2010 make modifications that allow gateway quizzes to be generated and taken from moodle |
||
+ | |||
+ | == Gotchya's == |
||
+ | * If you edit a student from the classlist page then their status may be reset to guest (the lowest -5) because the student status of |
||
+ | 0 is incorrectly read as blank. The correct workaround for this "feature" depends on which version of CGI.pm is being used. The changes are around line 1514 of UserList.pm. The changes work for 3.42 but the original line on 1514 works with CGI 3.49 and the change doesn't |
||
+ | appear to. This is recognized as a problem by CGI.pm maintainers and we don't yet have code that will work with both versions of CGI.pm |
||
+ | 1514 default => $default, |
||
+ | changes to |
||
+ | 1514 -default => [$default], # force default of 0 to be a selector value (instead of |
||
+ | 1515 # being considered as a null -- now works with CGI 3.42 |
||
+ | |||
+ | * There is a bug in the way mysql flags work. Changes may need to be made for the version used on your server. (The change is |
||
+ | in Schema/NewSQL/Std.pm) and involves the flags: --defaults-extra-file and --defaults-file which are used to retrieve temporarily cached |
||
+ | credentials for accessing mysql.) |
||
[[Release_notes_for_WeBWorK_2.4.7]] and previously. |
[[Release_notes_for_WeBWorK_2.4.7]] and previously. |
Revision as of 14:13, 11 October 2010
WeBWorK Online Homework Delivery System Version 2.4.9 Copyright 2000-2010, The WeBWorK Project All rights reserved. Details ------- Release date: 2010 November 15 SVN tag: rel-2-4-9 SVN url/branch: http://svn.webwork.maa.org/system/trunk module Modules: webwork2 pg
Contents
- 1 We have switched to using SVN instead of CVS for this and all future updates
- 2 Changes between 2.4.7 and 2.4.9
- 2.1 Changes in Configuration files
- 2.2 Changes in site administration operations
- 2.3 Changes to course administration
- 2.4 Extensions to "Email the instructor"
- 2.5 Extended and (more) Unified Naming conventions
- 2.6 New Help Files for students
- 2.7 Tool tips for previewing answers
- 2.8 NPL additions
- 2.9 Support for show source button
- 2.10 PG language enhancements
- 2.11 Applets
- 2.12 BEGIN_PGML/END_PGML
- 2.13 PG changes "under the hood"
- 3 Moodle wwassignment changes
- 4 Independent editor features
- 5 Bug fixes
- 6 Gotchya's
- 7 Upgrade instructions
- 8 File changes
- 9 Upgrading from old versions of WeBWorK
We have switched to using SVN instead of CVS for this and all future updates
Except Moodle module updates which will remain CVS while the other components remain CVS.
Changes between 2.4.7 and 2.4.9
Changes in Configuration files
It is important to compare the global.conf.dist files with global.conf (and similarly database.conf.dist and database.conf and webwork.apache2-conf.dist and webwork.apache2-conf ). The differences that you recognize as being made to accomodate local settings (e.g. location of standard unix tools, or preferences on how webwork behaves) should be preserved in global.conf. New lines appearing in global.conf.dist should probably be transferred over. This is especially true of new permission lines and of new module lines
Here are some of the significant sections of global.conf that have been changed. (This also gives a good overview of what has changed since rel-2-4-7. ) You can get full report of all changes by using the SVN diff facility and comparing the current version with the version from June 2009 when rel-2-4-7 was released.
http://http://webwork.maa.org/viewvc/system/trunk/webwork2/conf/global.conf.dist?r1=6441&r2=6073
- Control of WeBWorK's email feedback system is enhanced. It is possible to redirect the email to be sent to a url for posting. It is also possible to replace the email form itself with an external url. (Constructed for use by MathNerds)
- All urls refering to webwork.rochester.edu machines have been changed to webwork.maa.org machines.
- Controls for MathJax (the new upgraded jsMath) have been added in several sections. You can allow the user to chose between jsMath, MathJax and images when viewing equations.
- The timezone is initialized to America/New_York by default instead of to blank.
- The moodle authen configuration has been removed -- it is no longer used in moodle/webwork installations
- There are additional configuration options when using LDAP directly with WeBWorK. (thanks to Mark Hamrick and Jason Aubrey).
- "report_bugs" permission defaults to ta now rather than to student.
- "download_hardcopy_view_errors" has been added and set to "professor".
- The paths to many macro libraries in the NationalProblemLibrary have been added by default. This will lead to fewer surprises when a question written at another school appears not to work because it can't find the appropriate macros.
- More URLS have been added to the search paths for applets, including geogebra.
- The default positions of the CAPA libraries have been changed.
- Added the capability to define problemDefaults for max_attempts and value on a course basis from the web using the Course Configuration page or site wide using global.conf.
- Controls for the reducedScoringPeriod have been added. (Less credit if the student hands homework in late.)
- Can specify defaultDisplayMatrixStyle in ansEvalDefaults.
- IMPORTANT. The "List" module's name has been changed to "ChoiceList" to avoid confusion with the MathObjects "List" object. List is called by Math, Multiple and several other modules but is seldom called directly except in macro files. The macrofiles in the NPL (especially Union) have been modified to accommodate this change. This change will break questions that called List directly but that seems to be a rare occurence.
- The modules PGcore, PGalias, PGresource PGloadfiles PGanswergroup, PGresponsegroup, Tie::IxHash have been added. This is the beginning of a major upgrade to the internals of the PG language. It will not affect most users, but it may affect questions or macros that use the lowest level internal functions designed for matching answer blanks with answer evaluators. The macros in the NPL have been modified to accommodate these changes.
- Added the module CanvasApplet which implements HTML5 techniques for inputting a graph.
- Added -d flag to lwp-request to reduce overhead when checking urls with checkurl
Changes in site administration operations
We continue to make incremental changes to increase the power of administering WeBWorK from the web instead of from the command line. 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.
- The automatic integrity checking of each course when the admin homepage loads has been discontinued. The integrity is now checked only when you choose the "Upgrade Course" tab. This speeds up loading of the admin site when there are many courses on the site.
- You will need to upgrade each active course when upgrading from 2.4.9 to 2.4.7 since the reducedScoringPeriod feature has added extra fields to the database.
- The Upgrade Course allows one to select multiple courses for upgrading. The course's integrity -- the agreement between the courses data structure in the database and the datastructure defined in database.conf -- is analyzed as well as the existence and permissions set for the various directories in the course. Simple and safe fixes can then be performed by clicking the upgrade course button. More complicated fixes must still be performed from the command line since a bad fix is usually worse than no fix at all.
- Multiple courses can be selected for archiving. Each one is screened and approved individually but the list of courses to work on is selected at the start. There is a known bug in the process which stops work on the remaining list of archive courses if one declines to archive one of them.
- An instructor can archive their own course from the File Manager page. This allows them to back up courses and save them for a later semester. The integrity of the course is automatically checked and updated if necessary (and possible). There is no opportunity to decide not to update. Only administrators with command line access can unarchive a course.
- The Upgrade Course facility means that the command line module DBupgrade.pm is no longer used for upgrades. It might be needed if one is sequentially updating a release that is more than 3 years old.
- It is possible to access the integrity subroutines from the command line and to build custom command line scripts which batch process the archiving, upgrading and unarchiving of courses. -- for details see the forum and the wiki -- for descriptions of how this has been done at individual sites. These scripts usually need to be modified for use at a new site, but they provide a starting point.
Other:
- Removed the possibility of selecting moodle_sql which is now obsolete. Only one schema: sql_single is currently being used.
Changes to course administration
- Added buttons (javaScript) to select all or unselect all on the classlist and homework set editor pages
Extensions to "Email the instructor"
- The standard behavior of the "Email the instructor" button remains the same. Pressing the button brings up a form which the student fills out and submits. The contents is emailed to the appropriate instructors determined by the settings made in Course Configuration. Other settings such determining the email target for a given section are set in global.conf.
- If $courseURLs{feedbackURL} is not empty then the form filled out by the student is submitted to that URL for processing. For example this could be used to submit the email for posting to a joint Moodle wiki where the message could be viewed and replied to by the entire class.
- If $courseURLs{feedbackFormURL] is not empty then the button calls up the form supplied by that URL. For example this could be used to call up the welcome form for a tutoring site (such as MathNerds).
Extended and (more) Unified Naming conventions
- Set names can contain alphanumeric characters, hyphens(-), underbars(_), periods(.), and commas(.), colons (:), and slashes(/).
- User names can contain alphanumeric characters, hyphens(-), underbars(_), periods(.), and at signs(@). This allows the use of most email addresses as login user_id's. For safety the at sign, comma and period are converted to underbars when labeling on-the-fly graphs.
- Problem_id's can contain only numbers
- IP's (used in proctored gateway quizzes) can contain alphanumeric characters, hyphens(-), underbars(_), periods(.), commas(.), colons (:), and slashes(/).
- 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.
- Image names can contain underbars
In conjunction with this a centralized macro in DB.pm check_user_id is called to make sure that user names conform to the standards above. This is also done when uploading classlists. It is hoped that this will eliminate a bug where bad characters were entered with a student's login ID which made it difficult to change the student's name or remove them from the database.
New Help Files for students
Tool tips for previewing answers
NPL additions
- CAPA
- FortLewis
- LoyolaChicago
- Michigan (from HughesHallet)
- bug fixes and updates (thanks to Spyro Roubos)
Support for show source button
PG language enhancements
New and changed contexts
New macro files
Applets
Geogebra
Draw graph inputs
BEGIN_PGML/END_PGML
PG changes "under the hood"
Potential changes needed to adjust to new basic structure of PG
- Use ANS_NUM_TO_NAME(1) macro instead of calling AnSwEr1 directly (the label might change)
- New [Category:Applets Applet macros]:
- basic Applets API and demo links,
- POD documentation: Applet.pm, AppletObjects.pl
- details for constructing WeBWorK compatible FlashApplets
- basic information for JavaApplets
- 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.
Moodle wwassignment changes
Independent editor features
Bug fixes
- 8/29/09 fixed bug in hardcopy preventing printing when no set was selected.
- 9/24/09 fixed bug in CourseIntegrityCheck that confused msql tables of math101 and math101_fall09
- 9/30/2009 First of changes working around bugs in CGI.pm that handle student permissions badly -- in pop up menus because they have permission level 0. This might require tweaking depending on the copy of CGI.pm used on your machine.
- 1/23/2010 second attempt to fix the CGI bug.
- 12/16/2009 Fixed major security hole -- only files below templates directory should be accessible from the homework set detail page (described in ProblemSetDetail.pm ).
- 11/4/09 fixed bug in useBaseTenLog
- 1/11/2010 Fix bug that gave error message when problem had not been assigned to any user.
- 1/11/2010 Give more reasonable warning message if timezone is not correctly defined.
- 5/13/2010 fixed mysqldump bug that affects archiving. (changes in Schema/NewSQL/Std.pm) - work around for non-documented behavior of --defaults-file and --defaults-extra-file flags in calling mysql from the command line. This may need to be adjusted on different servers.
- 5/14/2010 fixed typo in num_sort
- 5/18/2010 insure that hardcopy error files can be read by the instructor from the web.
- 6/8/2010 NPL update fix (from Gavin)
- 7/20/ update findAppletCodebase (in PGalias.pm)
- 7/21/2010 bugfix to ww_applet_support.js
- 9/27/2010 make modifications that allow gateway quizzes to be generated and taken from moodle
Gotchya's
- If you edit a student from the classlist page then their status may be reset to guest (the lowest -5) because the student status of
0 is incorrectly read as blank. The correct workaround for this "feature" depends on which version of CGI.pm is being used. The changes are around line 1514 of UserList.pm. The changes work for 3.42 but the original line on 1514 works with CGI 3.49 and the change doesn't appear to. This is recognized as a problem by CGI.pm maintainers and we don't yet have code that will work with both versions of CGI.pm
1514 default => $default, changes to 1514 -default => [$default], # force default of 0 to be a selector value (instead of 1515 # being considered as a null -- now works with CGI 3.42
- There is a bug in the way mysql flags work. Changes may need to be made for the version used on your server. (The change is
in Schema/NewSQL/Std.pm) and involves the flags: --defaults-extra-file and --defaults-file which are used to retrieve temporarily cached credentials for accessing mysql.)
Release_notes_for_WeBWorK_2.4.7 and previously.
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
- 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
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