Release notes for WeBWorK 2.5.0

From WeBWorK_wiki
Jump to navigation Jump to search
This article has been retained as a historical document. It is not up-to-date and the formatting may be lacking. Use the information herein with caution.

See more recent notes in Category:Release_Notes

                         Online Homework Delivery System                        
                                  Version 2.5.0                                

                    Copyright 2000-2011, The WeBWorK Project                    
                              All rights reserved.                              


Release date: July 12, 2011
SVN tag: rel-2-5-0 
SVN url/branch:  module
Modules:    webwork2   pg

 IMPORTANT!! Be sure to inspect changes in the configuration files when upgrading to this release.
 VERY IMPORTANT!!  Transfer changes from database.conf.dist to your database.conf file.  
     In particular there are changes in the schema for "depths", "set", "set_user".
     In most cases you can simply copy the new database.conf.dist file 
     to your database.conf file (unless you have made local changes, which is rare).
     Without these changes you will get errors regarding "visible" and "published" 
     for older courses and can add extraneous fields to your course database.
     Transfer changes from global.conf.dist to global.conf.  In particular the term "unpublished" in the 
     configuration file has been replaced by "hidden" and "published" by "visible" to correspond to 
     common usage presented to the user. To get a complete list of changes to global.conf.dist since
     release 2.4.9  use the command below in the webwork/conf directory
     svn diff -r 6641       global.conf.dist
 ALWAYS check the error log  (often at   webwork/webwork2/logs/error_log )  when something goes wrong
       --- there may be extra error information there.
       An alternate location is /var/log/apache/error_log
 Run webwork2/bin/ to check that all CPAN modules are installed.  UUID::Tiny is required for this release.
 After upgrading, log in to the admin "course" and select "Upgrade courses" to see if the databases for the courses need upgrading.

Latest News

  • July 7, 2011 -- as of a few days ago the "trunk" version at coincides with the release described here. It is a stable release and is currently being used on to host courses.

New features for 2.5.0

  • The new Library Browser 2 with drag and drop capabilities -- try it out -- will still need some graphic design tweaks. The basic search feature works, but the advanced search features are not yet ready. (The buttons are there but they don't work yet.)
  • This is a good time to make user interface (UI) suggestions about the library browsers since development is continuing with the results due for version 2.5.1
  • When creating a new homework set from the library, from scratch or when importing it from a set definition file, the set is automatically assigned to the instructor creating it. You are no longer asked for permission. This prevents other extraneous errors that would sometimes occur later if the set is viewed before being assigned to someone.
  • Correct and incorrect answers are now color coded! The answer box borders are highlighted with red and green colors.

New features for PG 2.5.0

  • Updated and its POD documentation. (thanks to Paul Pearson)
    • Completely redone: POD documentation added, help documents now appear as a mask over the current page rather than in a separate window, all help documents are contained in macro file so no external files need to be maintained, detects whether log=ln or log=logten and delivers appropriate help message, allows for custom help documents using text specified in the PG file (no external files needed).
  • add three new specialized macro packages (Davide Cervone)
    • and its supporting file are used for PGML
    • the is a proof of concept for allowing student written feedback.
  • Matrix MathObjects now have the calculational abilities of the "RealMatrix" objects. In particular one can take determinants and calculate LR decompositions. Macros which depend on these objects work but are still being updated to take full advantage of the new capabilities. There should no longer be any need to call RealMatrix objects directly (via the command "new Matrix;") (Davide Cervone)
  • Known bug: color coding of answer blanks in matrices works only for the first answer blank -- this will be fixed as soon as possible.
  • Updates to macros for chemical formulae. (Davide Cervone)
  • Three simple set header files created in modelCourse (Arnie Pizer)
    • webwork2/courses.dist/modelCourse/templates/
    • webwork2/courses.dist/modelCourse/templates/
    • webwork2/courses.dist/modelCourse/templates/
  • added AddToTexPreamble($str ) to PGbasicmacros to allow short macro definitions (see POD docs)
for example: addToTeXPreamble("\newcommand{\myVec}[1]{\vec{#1}} ");
Defines \myVec  for all the equations in the file. 
You can change the vector notation for an entire PG question by changing just this line.
For consistent behavior with hardcopy place this macro before any text is generated for
the question.
This should work for short TeX macro definitions such as the one above.  It is very likely
to break if you try to use it for complicated TeX commands.  YMMV.
Lines such as 
AddToTeXPreamble("\\newcommand{\\myVec}[1]{ \\overrightarrow{#1}  }" );
are best  added in so that the style of \myVec for writing vectors
is determined for the whole course.
If you define this the statement in two problems in the same set you will get 
a TeX "redefine error" when printing hard copies.
When you place this macro in remember to use double backslashes because it is a .pl file.
In .pg files use single backslashes. This is in accordance with the usual rules for backslash
in PG.
  • added POD docs to on how to set up a "See Problem Source" button

  • added iframe command to PGbasicmacros
iframe($url, height=>' ', width=>' ', id=>' ', name=>' ' )
                # insert the web page referenced by $url in a space defined by height and width
                # if the webpage contains a form then this must be inserted between
                # BEGIN_POST_HEADER_TEXT/END_POST_HEADER_TEXT  to avoid having one 
                # form(from the webpage) inside another (the defining form for the problem
    • A wide variety of google widgets, youtube videos, and other online resources can be imbedded using this macro. In HTML mode it creates an iframe, in TeX mode it prints the url.

National Problem Library

  • Many, many bug fixes for individual problems. Too numerous to mention. (thanks Gavin larose, John Jones and many other

Under the hood

  • The names "published" and "unpublished" have been changed to "visible" and "hidden" throughout the code. Having the terms in the application code different than those presented to the user was eventually going to cause trouble (when the original programmers moved on :-) )
  • Removed some causes of the "non-numeric compare" error in
  • Error message for DateTime errors made slightly more user friendly.
  • Resolved issues with ip_mask in
  • Applied Kevan Carstensen's patch for more granular LDAP failover (bug #1926)
  • MathJax has been updated. Our svn update pulls the latest updates from the MathJax central site.
  • added to PGbasicmarocs
    • refreshEquations(1);
Prevents equations generated in "image mode" from being cached.  
This can be useful for debugging.
It has no effect in the other modes.
  • updated checkProblems so that they can be used to check the NationalProblemLibrary; updated renderProblem_rawoutput to use (see webwork2/clients/README for details)
  • added POST_HEADER_TEXT();
    • Places text in the body of the HTML page but before the form which defines the PG question proper. This allows you to place any HTML content at the top of the problem, including content (such as a form) which cannot be placed inside a form. This can be used in conjunction with the <iframe> HTML command to embed other HTML pages within a PG problem.
  • updates to functionality (John Jones)
  • fixed bug in routine which archives a single course (accessed from the File Manager -- left column of links)

Potential Gotchya's

  • The RFT5746 warning message -- not all servers are up to date with a patch that fixes this exploit. Some of the newer browsers display this message. I've been mislead into thinking that it was the cause of a more serious browser hang problem when in fact the message is only a warning. It is a security error so the maintainer of the apache server should install patches to fix it.
  • After updating your software via svn go to the admin page and update at least one course. This insures that the "depths" table and the "locations_address" table are created properly.
  • If your browser hangs or seems to be behaving in a funny way when using library browser 2 you may need to do "shift reload" on your browser a few times to get rid of cached javaScripts which are causing trouble. Did you remember to update database.conf from database.conf.dist??
  • If your browser hangs try to see if it work in other browsers. For example while library browser 2 will work with the newest versions of FireFox 3 and the brand new Firefox 4 it will hang on older Firefox 3 browsers. It uses a structure called "formData" which the older browsers don't support. One tweak that will be done for version 2.5.1 is to make the library browser 2 either work or fail more gracefully on these older browsers.