Release notes for WeBWorK 2.11
WeBWorK Online Homework Delivery System Version 2.11 Copyright 2000-2016, The WeBWorK Project All rights reserved. Details ------- Release date: January, 2016 Github repository: https://github.com/openwebwork Modules: webwork2 pg
Contents
Cautions
Warning : | There are significant database upgrades since 2.10, as well as potential new modules. There are also changes to the configuration files which will need to be integrated into your existing configurations. The process for upgrading to 2.11 is described below.: |
Upgrade Instructions
1) Go to /opt/webwork/webwork2
, /opt/webwork/pg
and run
git pull origin master
on each directory (assuming that origin is your remote name for the openwebwork repo).
2) Depending on your system there may be new perl modules added for 2.11. Run check_modules.pl
and look for missing modules. They may include:
- LWP::Protocol::https (version > 6.06)
- Class::Accessor
An outdated LWP::Protocol::https module can keep your system from running correctly if you are using https.
4) Check localOverrides.conf.dist and look for changes to add to the existing localOverrides.conf. There are a couple of important things here that will negatively affect your system if you don't deal with them.
- The show editors hash should be *removed*. If it is not removed then there will be minor annoyances (e.g. the link to the problem set detail page that appears when you are looking at a homework set will not appear). Instead of redefining this hash, overrides should be made to the hash elements individually. For example
# These will enable the versions of the problem set detail page and library browser page # that do not use the xmlrpc pathway #$showeditors{problemsetdetail1} = 1; #$showeditors{librarybrowsernojs} = 1; # This will enable the slightly fancier PG problem editor 3 #$showeditors{pgproblemeditor3} = 1; # This will turn off ww3 (if you are on the ww3 branch) #$showeditors{ww3} = 0;
- While this does not appear by default in localOverrides.conf.dist, something you may want to modify using localOverrides.conf is the variable controlling which files users with professor privilege can access. For security reasons default only users with admin privilege will be able to access course.conf using the File Manager. The variable you would change is
# For safety reasons these course specific files cannot be edited from the File Manager except # by an administrator. These are paths relative to the course directory. $uneditableCourseFiles = ['simple.conf', 'course.conf', ];
- Options which control if the homework sets editor will look for set .def files in places other than templates. In can search in subfolders of templates or even the OPL. The options are
# Searching for set.def files to import # Uncomment below so that when the homework sets editor searches for set def # files, it searches beyond templates; it can search deeper subfolders of # templates, and optionally also descend into Library #$options{setDefSearchDepth}=4; #search down 4 levels #$options{useOPLdefFiles}=1;
5) Check site-conf.dist and look for changes to add to the existing site.conf. Things to look for include:
- Specifying if tls is allowed when sending email. This is enabled via
$tls_allowed = 1;
- Specifying an email address to display when apache has problems with webwork pages, assuming you don't want to use the default apache admin email. This is done via
$webwork_server_admin_email =''; <pre> * Specifying a default timeout for the checkurl command. This is done via <pre> $externalPrograms{checkurl} = "/usr/bin/lwp-request -d -t 40 -mHEAD ";
6) Check your apache configuration dist file and look for changes to add to the existing apache configuration file. Things to look for include
- A line which ensures that each apache child process has a different random number seed. The main impact this has is that without the following line practice users are not shuffled randomly.
PerlChildInitHandler "sub { srand }"
- The code which overrides the administrator email using the variable mentioned in the previous section. The code looks like
my $webwork_server_admin_email = $ce->{webwork_server_admin_email}; if ($webwork_server_admin_email) { $webwork_server_admin_email = $ce->{webwork_server_admin_email}; warn "set email from site.conf"; } else { $webwork_server_admin_email= $ENV{SERVER_ADMIN}; }
- Optional code to make use of the opaque server interface with Moodle.
- Optional code to improve performance by using mod_expires.
7) restart the webserver. (with apachectl graceful
or similar command.)
8) Log into the admin course and upgrade the databases for all of your courses. Your server will not be functional until you perform this step.
9) Download the latest version of the OPL using
cd /opt/webwork/libraries/webwork-open-problem-library
git pull origin
OPL-update
Primary Changes
1. *Just-In-Time Assignments*
Smaller Changes
Installer
The ww_install installer has been updated to support version 2.10. It has been tested on Ubuntu 14.04, Debian 7, CentOs 7, and Fedora 20. Note: ww_install also installs the components necessary to switch your installation to the develop branch without installing new software. (It has trouble installing the Template perl package on CentOS 7. This doesn't prevent you from using release 2.10.)
Supported Distributions and Features
The following are the distributions and features that are officially still supported. You still can use WeBWorK on whatever you like, of course. In particular if you install WeBWorK on a very recent version of Ubuntu or Fedora and have problems let us know.
- Ubuntu LTS 14.04
- Debian 7
- CentOs 7
- Fedora 20
Note: There is currently a bug which prevents installation on Fedora 21. There is no package which provides the pnmtops
program and this causes the installation to fail.
What could possibly go wrong?
- You can get a warning when trying to log into the admin course: You will need to run
upgrade_admin_db.pl
. You will also need to upgrade all of your other course. - The library browser may stop responding. When you select a subject the chapter list may not populate. You should look in your apache error log to see what errors pop up. There are a couple of different things that can cause older systems to fail when upgraded. Chief among these seems to be having outdated or incompatible SOAP modules.
- You can't get the update notifier to work: You need to update both the localOverrides.conf and the site.conf configuration files with the latest additions to get the update notifier to work.
- You can't get hardcopies to work: You will need to install the latest LaTeX packages, including path.sty. This can be a challenge on CentOS 7 because there is no native package that provides it. You can manually download and install the Fedora version and it will work.
- Remember to update the OPL and run OPL-update.