Release notes for WeBWorK 2.7

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.

Release/2.7 has been superseded by release/2.8 which is the current master branch.

See more recent notes in Category:Release_Notes

or go to: Release_notes_for_WeBWorK_2.8

                         Online Homework Delivery System                        
                                  Version 2.7                               

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


Release date: June 2013

Github repository:
Modules:    webwork2   pg

Release/2.7 was earlier called release


Warning : Because new tables and fields have been added for the essayQuestion feature upgrading from ww2.5.1.1 or release/2.6 (the "master branch" up until this time) will require:
  • Moving the current database.conf to (assuming you have made no changes to your local database.conf version which is usually the case)
  • Upgrading the tables by visiting the admin page -- which will also create showPastAnswers table
    • This replaces the showPastAnswers logs and also supports the essayQuestion feature.
  • To use these instructions your server will require at least perl version 5.10.x (5.12.x would be better, 5.18 is the current version) to run weBWorK release/2.7. Type perl --version on the command line of your server to check.
  • For those running perl 5.8.x (e.g. RHEL5 systems) we will have a legacy distribution that will run on your operating system. We can't make any guarantees about how much longer we can continue to support perl 5.8.x. (Contact Mike Gage gage at

What's new?

  • EssayAnswers
  • MathAchievements
  • new support for compoundProblem questions macros/
  • Slide open/closed Hints and Solutions (knowls). See the configuration notes to customize their behavior.
  • Tabbed editors: Classlist2, HomeworkEditor2, PGProblemEditor2.
    • HomeworkEditor2 has a dateTimePicker for choosing open and due dates from a calendar.
  • Faster library browser.
  • One page Problem editing and viewing: Use PGProblemEditor3 and math4 theme.
  • Themes
    • Drag and drop themes: -- just place a new theme in the htdocs/theme directory and it becomes available to all courses.
    • Themes are chosen on the Course Configuration page
    • New theme math4: (bootstrap themes)
    • Updated theme math3
  • New Languages
    • Language files are being maintained at Transifex
    • The language for a course is chosen on the CourseConfiguration page
    • New languages can be added by adding a .po or .mo file to lib/WeBWorK/Localization
    • Roughly 80% of the strings in webwork2 have been marked for translation. There is still more to do and help is welcome.
  • New student equation editors
    • DragMath (a java app) and MathView (an HTML5 app -- works on ipads)
    • Enable these for an individual course on the CourseConfiguration page, tab: PG display
  • Version tagging
    • The current theme, webwork2 version and pg version are displayed at the foot of most webwork pages for easy reference.


  • Messages are scrubbed to reduce the possibility of cross site scripting (XSS).
  • Regular releases will be numbered 2.5, 2.6, 2.7,... 2.10. We're building toward release/3.x and a major advance in the responsiveness of the instructor interface.
    • [Complete list] of webwork2 commits between tag WeBWorK-2.6+ and tag WeBWorK-2.7
    • [Complete list] of pg commits between the tag PG-2.5.1+ and tag PG-2.7

Quick install

If you are already using the software from then the upgrade is quite simple:

Update WeBWorK and pg

 cd /opt/webwork/webwork2 
 git branch
   * master 
    .... perhaps other branches
 git checkout master     # switch to master branch if you aren't there already 
                         # * indicates current branch
 git pull                # pull down software updates
  • Move database.conf out of the way
 cd /opt/webwork/webwork2/conf
 mv database.conf
  • Run and update CPAN modules if needed.
  • Update pg
 cd /opt/webwork/pg
 git branch
 git checkout master
 git pull

Update modelCourse and Library

  • Update /opt/webwork/courses/modelCourse
 cd /opt/webwork
 mv courses/modelCourse modelCourse.old       # save current model courses 
 ln -s webwork2/courses.dist/modelCourse courses/modelCourse
  • This links courses/modelCourse to the latest distributed version of modelCourse. This means that new courses created from modelCourse will have new resources, such as those needed for the MathAchievements feature.
  • Create a link to the library from webwork2/courses.dist/modelCourse/templates/Library to the NPL or OPL. Something like
 cd /opt/webwork/webwork2/courses.dist/modelCourse/templates  
 ln -s /opt/webwork/libraries/webwork-open-problem-library/OpenProblemLibrary Library
    • Use the full path to the library as illustrated above.
    • Alternatively you can visit the LibraryBrowser each you create a new course and the link will be created for you. You will need to visit the library browser page first before you will be able to view any of the homework problems since otherwise the link will not exist and Library problems will not be found.
  • Update library's collection of problems
 cd /opt/webwork/libraries/webwork-open-problem-library
 git pull 
  • Update library database
 cd /opt/webwork/webwork2/bin
 ./OPL-update           # update the database indexing the OPL
  • Restart webserver.
  • Go to admin course, click on the "upgrade courses" tab and update the course databases.
  • Once you have checked that everything still works you might like to visit webwork2/conf/ and compare localOverrides.conf and localOverrides.conf.dist. There might be some new features that you will want to enable.

Revert to 2.6

 cd /opt/webwork/webwork2
 git checkout WeBWorK-2.6+
 cd /opt/webwork/pg
 git checkout PG-2.6+
  • Restart your apache server
  • This moves you back to the point just before release/2.7 was merged into the master branch

What could possibly go wrong?

  • Everyone's environment is different, and everyone sometimes misses a step in the instructions so things might not always work the first time.
  • Don't panic!

1. On restarting the server you might get a (very long) error message saying something like: "HTML::Scrubber not found after looking in ......". This happens if a new CPAN module is used which is not immediately available on your system. This can be installed with

  sudo cpan HTML::Scrubber 
  • If you have not updated for some time there might be several CPAN modules that need to be added.

2a. Perhaps things seem to work at first but then fail when trying to enter a problem set with some information about "missing fields in table". This usually indicates that your course(s) has an out-of-date database. (This error will not happen with a freshly built course, only one that was built with a previous version of WW.)

    • Check that the file database.conf has been moved out of the way (see above) so that the new database.conf.dist file is used for accessing the database.
    • Sign into WeBWorK from the web and go to the admin page. The url will be something like:
    • Select the "upgrade courses" tab
    • Follow the instructions and upgrade the course that triggered the error (and any other courses that you expect to continue to use. You will be presented with a page where you can select which courses should be upgraded, followed by another page that informs you what database changes will be made, and then a page reporting the changes that have been made.

2b. If the database error is not resolved then it may be that the database for the problem library is not up-up-to date.

    • Check that you have set the problemLibrary{version} to "2.5" in localOverrides.conf if you are now using the webwork-open-problem-library. (Version "2.0" corresponds to the old NationalProblemLibrary)
    • Check that you ran OPL-update AFTER changing the settings above to update the library database.

3. If you have many "unable to read problem file" errors, all of them containing the initial path "Library/....." then the most likely cause is that the link to the OPL is not pointing to the right place or does not exist at all.

    • Try viewing the problem from Library Browser (1). If this fixes the problem this means that the link was missing from your course, but has now been set properly by the Library Browser.
    • If this does not fix the problem then most likely the Library link was set incorrectly (perhaps it was unarchived from a machine with a different directory structure, or a previous library version). With command line access the link myCourse/templates/Library can be checked and reset to point to the correct location. (See instructions above for setting the link in modelCourse.) If you don't have command line access then consult your site administrator.

Switching from SVN to Github

If you have been using software from the SVN (or CVS) and this will be the first time using software from the current github/openwebwork site then follow these Github instructions to set up your new webwork installation.

The initial setup takes a little more time to do safely (so that you can back out if needed) but once it is done you will be able to follow the sequence above for subsequent upgrades. Reediting configuration files will be come a rare, possibly non-existent practice.