Difference between revisions of "Release notes for WeBWorK 2.11"

From WeBWorK_wiki
Jump to navigation Jump to search
(Created page with " <pre> WeBWorK Online Homework Delivery System ...")
 
Line 18: Line 18:
   
 
=== Cautions ===
 
=== Cautions ===
{{Warning | A number of new modules have been added since version 2.10, as well as significant database upgrades. 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.:}}
+
{{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 ===
 
=== Upgrade Instructions ===
Line 27: Line 27:
 
on each directory (assuming that origin is your remote name for the openwebwork repo).
 
on each directory (assuming that origin is your remote name for the openwebwork repo).
   
2) There were a number of new perl modules added for 2.10. Run <code>check_modules.pl</code> and look for missing modules. They may include
+
2) Depending on your system there may be new perl modules added for 2.11. Run <code>check_modules.pl</code> 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
  +
<pre>
  +
# 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;
   
3) There were a couple of new LaTeX packages added for 2.10. Change to a writeable directory outside the webwork2 directory (like ~) Run <code>pdflatex /opt/webwork/webwork2/bin/check_latex.tex</code> and look for missing packages. Added packages include
 
  +
# This will enable the slightly fancier PG problem editor 3
  +
#$showeditors{pgproblemeditor3} = 1;
   
4) Check localOverrides.conf.dist and look for changes to add to the existing localOverrides.conf. They may include
 
  +
# This will turn off ww3 (if you are on the ww3 branch)
  +
#$showeditors{ww3} = 0;
  +
</pre>
   
5) Check site-conf.dist and look for changes to add to the existing site.conf. They may include paths for the following external programs
 
  +
- 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
  +
<pre>
  +
# 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',
  +
];
  +
</pre>
   
  +
- 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
  +
<pre>
  +
# 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;
  +
</pre>
   
6) Run the <code>upgrade_admin_db.pl</code> command from webwork2/bin to upgrade your admin course database.
 
  +
5) Check site-conf.dist and look for changes to add to the existing site.conf. Things to look for include:
{{Warning | You will not be able to access the admin course until you perform this step.}}
 
  +
- Specifying if tls is allowed when sending email. This is enabled via
  +
<pre>
  +
$tls_allowed = 1;
  +
</pre>
  +
- 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
  +
<pre>
  +
$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 ";
  +
</pre>
  +
  +
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.
  +
<pre>
  +
PerlChildInitHandler "sub { srand }"
  +
</pre>
  +
- The code which overrides the administrator email using the variable mentioned in the previous section. The code looks like
  +
<pre>
  +
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};
  +
}
  +
</pre>
  +
- 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 <code>apachectl graceful</code> or similar command.)
 
7) restart the webserver. (with <code>apachectl graceful</code> or similar command.)
   
8) Log into the admin course and upgrade the databases for all of your courses.
+
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
 
9) Download the latest version of the OPL using
Line 51: Line 106:
 
=== Primary Changes ===
 
=== Primary Changes ===
   
 
  +
1. *Just-In-Time Assignments*
   
 
=== Smaller Changes ===
 
=== Smaller Changes ===

Revision as of 18:30, 11 December 2015

                                     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 

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.